в, внесення змін і необхідних доповнень до розмітку. Його можна застосовувати для перетворення XML-коду в відформатований HTML-код, що легко сприймається людиною. Можна також перетворити XML-документ в простий текст або в іншій XML-документ зі зміненою структурою або навіть в документ JavaScript. Мова XSLT забезпечує доступ до вмісту XML-документів, а також застосовується для створення нових документів на їх основі. У силу викладених причин варто зайнятися вивченням мови XSL.
Найчастіше виконується перетворення XML-документів в HTML-документи, саме ця операція розглядається в прикладах даної глави.
Для виконання XSLT-перетворення використовуються два документа: преутворений документ і таблиця стилів, визначальна саме перетворення. В даному випадку йдеться про XML-документах.
2. Структура XML-документа
Хоча XML, сильно відрізняється за своїми можливостями і призначенню від мови гіпертекстової розмітки, обидві ці мови є підмножинами SGML, і, отже, успадковують його базові принципи.
Найпростіший XML-документ може виглядати так:
lt;? xml version= 1.0 ? gt;
lt; list_of_items gt;
lt; item id= 1 gt;
lt; first/ gt; Перший lt;/item gt;
lt; item id= 2 gt; Другий lt; sub_item gt; підпункт 1 lt;/sub_item gt;
lt;/item gt; lt; item id= 3 gt; Третій lt;/item gt;
lt; item id= 4 gt; lt; last/ gt; Останній lt;/item gt;
lt;/list_of_items gt;
Цей документ дуже схожий на звичайну HTML-сторінку. Так само, як і в HTML, інструкції, укладені в кутові дужки називаються тегами і служать для розмітки основного тексту документа. У XML існують відкриваючі, закриваючі і порожні теги (в HTML поняття порожнього тега теж існує, але спеціального його позначення не потрібно).
Тіло документа XML складається з елементів розмітки (markup) і безпосередньо вмісту документа - даних (content). XML - теги призначені для визначення елементів документа, їхніх атрибутів і інших конструкцій мови.
Будь XML-документ повинен завжди починатися з інструкції lt;? xml? gt ;, усередині якої також можн?? задавати номер версії мови, номер кодової сторінки й інші параметри, необхідні програмі-аналізатору в процесі розбору документа.
У загальному випадку XML-документи повинні задовольняти наступним вимогам:
· У заголовку документа поміщається оголошення XML, у якому вказується мова розмітки документа, номер його версії і додаткова інформація;
· Кожен відкриваючий тег, що визначає деяку область даних у документі обов'язково повинен мати закриваючий тег;
· У XML враховується регістр символів;
· Всі значення атрибутів, використовуваних у визначенні тегів, повинні бути укладені в лапки;
· Вкладеність тегів в XML строго контролюється, тому необхідно стежити за порядком проходження відкривають і закривають тегів;
· Вся інформація, розташовується між початковим і кінцевими тегами, розглядається в XML як дані, і тому враховуються всі символи форматування (тобто прогалини, переклади рядків, табуляції не ігнорує, як в HTML).
Якщо XML-документ не порушує приведені правила, то він називається формально-правильним і всі аналізатори, призначені для розбору XML- документів, зможуть працювати з ним коректно. Однак крім перевірки на формальну відповідність граматиці мови, у документі можуть бути присутніми засоби контролю над вмістом документа, за дотриманням правил, що визначають необхідні співвідношень між елементами і формують структуру документа. Для того, щоб забезпечити перевірку коректності XML- документів, необхідно використовувати аналізатори, що роблять таку перевірку і називаються верифікованими. На сьогоднішній день існує два способи контролю правильності XML-документа: DTD - визначення (Document Type Definition) і схеми даних (Semantic Schema). На відміну від SGML, визначення DTD-правил в XML не є необхідністю.
2.1 Конструкції мови
Вміст XML-документа являє собою набір елементів, секцій CDATA, директив аналізатора, коментарів, спецсимволів, текстових даних.
. 2 Елементи даних
Елемент - це структурна одиниця XML-документа. Вкладаючи слово rose в в теги lt; flower gt; lt;/flower gt; , Ми визначаємо непустий елемент, названий lt; flower gt ;, вмістом якого є rose. У загальному випадку в якості вмісту елементів можуть виступати як просто ...