ікації цього атрибута, як атрибуту відноситься до тегу 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 raquo ;? 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-файла.
3.2 Застосування XSLT-інструкцій для розробки шаблону XSL
Застосування XSLT-інструкцій обумовлено необхідністю вибірки даних з xml-файлу. Для їх використання в шаблоні XML необхідно вказати простір імен, а саме: lt; xsl: stylesheet version= 1.0 xmlns: xsl= # justify gt; Для установки відповідності з кореневим вузлом xml-документа і створення відповідного шаблону використовується елемент lt; xsl: template gt; з атрибутом match, що вказує на кореневий елемент. Записується наступним чином: lt; xsl: template match= specification gt; lt;/xsl: template gt ;. Об'єкт specification - це назва кореневого елемента (тега) преутвореного xml-файлу. У тому випадку, якщо в якості першого вузла необхідно вибрати не кореневий елемент, вказується шлях до цього елементу. Приміром, значення атрибута match= specification/table" вказує, що в якості превью вузла обраний тег table. Шлях до елементу вказується через символ /.
Для отримання даних, що відносяться до певного елемента документа формату XML, необхідно іспользовть lt; xsl: value-of gt; з трабутом select, що містить ім'я виділяється елемента, або шлях до німу. Наприклад, select= stamp/@ RAZRABOTAL raquo ;. При цьому не вказується раніше пройдений шлях. Тоесть, якщо тег з ім'ям stamp знаходиться наступним, за ієрархією, за елементом specification, а останній був вибраний за допомогою xsl: template, то в атрибуті select (елементу xsl: value-of), шлях вказується, починаючи з вибраного раніше елемента (в даному випадку specification) НЕ включно. Якщо виділяються дані належать атрибуту елемента, при записі шляху його ім'я вказується зі знаком @ на початку.
Елемент xsl: template і входить у нього шаблон застосовуються тільки по відношенню до кореневого вузла, або до вузла, з якого починається перетворення. Можна також застосовувати шаблон до дочірніх елементам вузла, з яким встановлено відповідність. У цих цілях застосовується елемент lt; xsl: apply-templates gt ;. У що належить йому атрибуті math в...