цифікації будемо використовувати елементи lt; specification gt; і lt;/specification gt ;. Дані, що відносяться до штампу специфікації, обмежимо за допомогою тега lt; stamp/ gt ;. Розмітимо вміст елемента lt; stamp/ gt; за допомогою наступних атрибутів: OBOZNACHENIE, NAIMENOVANIE_1, NAIMENOVANIE_2, NAIMENOVANIE_3, NAIMENOVANIE_4, NAIMENOVANIE_5, RAZRABOTAL, PROVERIL, N_KONTROL, UTVERDIL, NAZVANIE_ORGANIZACII_1, NAZVANIE_ORGANIZACII_2, PERVICH_PRIM, kline_before, kline_after, kpage. Відповідні значення атрибутів представлені в таблиці 3.1. Найменування розбивається, залежно від довжини, на деяку кількість рядків (не більш 5). Атрибут NAZVANIE_ORGANIZACII_2 може бути відсутнім, якщо назва організації складається з одного рядка.
Таблиця 3.1 - Атрибути елемента lt; stamp/ gt;
Атрибут ЗначеніеOBOZNACHENIEОбозначеніеNAIMENOVANIE_1Наіменованіе, рядок 1NAIMENOVANIE_2Наіменованіе, рядок 2NAIMENOVANIE_3Наіменованіе, рядок 3NAIMENOVANIE_4Наіменованіе, рядок 4NAIMENOVANIE_5Наіменованіе, рядок 5Атрібут ЗначениеRAZRABOTALРазработалPROVERILПроверилN_KONTROLНормоконтролерUTVERDILУтвердилNAZVANIE_ORGANIZACII_1Название організації, 1 NAZVANIE_ORGANIZACII_2Названіе організації, 2PERVICH_PRIMПервічная пріменяемостьkline_beforeОтступ перед разделомkline_afterОтступ після разделаKpageКолічество сторінок в документі
Розділ позначимо за допомогою тега lt; section/ gt ;. До даного елементу відноситься тільки одне поле даних «найменування», позначимо його наступним чином s_NAIMENOVANIE. Символ s на початку імені описуваного елемента служить для ідентифікації цього атрибута, як атрибуту відноситься до тегу lt; section/ gt;.
Для виділення даних, що відносяться до рядка, будемо використовувати тег lt; line/ gt ;. Відповідні значення атрибутів представлені в таблиці 3.2. Примітка може бути представлено у вигляді одного рядка (атрибут PRIMECHANIE), а може бути розбите на два рядки (PRIMECHANIE_1 і PRIMECHANIE_2, відповідно).
Таблиця 3.2 - Атрибути елемента lt; line/ gt;
АтрібутЗначеніеFORMФорматZONEЗона POZICIAПозицияOBOZNACHENIEОбозначениеNAIMENOVANIEНаименованиеАтрибутЗначениеKOL-VO_0Количество 0KOL-VO_NКолічество NPRIMECHANIEПрімечаніеPRIMECHANIE_1Прімечаніе, рядок 1PRIMECHANIE_2Прімечаніе, рядок 2
Уявімо розроблену інформаційну структуру даних у вигляді дерева XML. Застосуємо всі позначені раніше теги і атрибути. У результаті отримаємо наступний документ.
lt;? xml version= 1.0 encoding= UTF - 8 ? gt;
lt; specification gt;
lt; stamp OBOZNACHENIE= СПЕЦИФІКАЦІЯ NAIMENOVANIE_1= NAIMENOVANIE_2= NAIMENOVANIE_3= Разгонщик NAIMENOVANIE_4= NAIMENOVANIE_5= RAZRABOTAL= Кобильська PROVERIL= Гундорова N_KONTROL= Качанов UTVERDIL= Кравець _ORGANIZACII_1= ВГТУ, ФАЕМ NAZVANIE_ORGANIZACII_2= ВМ - 022 _PRIM= _before= 2 kline_after= 1 kpage= 3 / gt;
lt; section s_NAIMENOVANIE= Документація / gt;
lt; line FORM= ZONE= POZICIA= OBOZNACHENIE= Р35-1.00.000 СБ NAIMENOVANIE= Складальний креслення KOL-VO_0= PRIMECHANIE= PRIMECHANIE_1= PRIMECHANIE_2= / gt;
... lt;! - Деяка кількість елементів lt; line .../ gt;- gt;
lt; line FORM= ZONE= POZICIA= OBOZNACHENIE= Р35-1.00.000 МЧ NAIMENOVANIE= Монтажний креслення KOL-VO_0= PRIMECHANIE= PRIMECHANIE_1= примітка PRIMECHANIE_2= / gt;
lt; section s_NAIMENOVANIE= Складальні одиниці / gt;
lt; line FORM= ZONE= POZICIA= 1 OBOZNACHENIE= Р34-1.05.000 NAIMENOVANIE= Підйомник KOL-VO_0= 1 PRIMECHANIE= PRIMECHANIE_1= PRIMECHANIE_2= / gt;
lt; line FORM= ZONE= POZICIA= 2 OBOZNACHENIE= Р35-1.01.003 NAIMENOVANIE= Гідроциліндр KOL-VO_0= 3 PRIMECHANIE= PRIMECHANIE_1= PRIMECHANIE_2= / gt;
lt;/specification gt;
Для наочності тут представлений невеликий документ, що не відображає всі дані специфікації, але демонструє її представлення у вигляді xml-документа. Порожні атрибути (атрибути, що не містять даних, наприклад FORM= ) можуть бути відсутні, вони представлені в даному прикладі для відображення всієї інформаційної структури xml-файла.
. 2 Застосування XSLT-інструкцій для розробки шаблону XSL
Застосування XSLT-інструкцій обумовлено необхідністю вибірки даних з xml-файлу. Для їх використання в шаблоні XML необхідно вказати простір імен, а саме: lt; xsl: stylesheet version= 1.0 xmlns: xsl= # justify gt; Для установки відповідності з кореневим вузлом xml-документа і створення відповідного шаблону використовується елемент lt; xsl: temp...