5 Розширювана мова стилевих специфікацій XSL
XSL-таблиці стилів: відображення XML-документа
Основи використання XSL-таблиць стилів
XSL-таблиця стилів (eXtensible Stylesheet Language - розширювана мова таблиць стилів) зв'язується з XML-документом і повідомляє браузеру, як відображати дані XML. XSL дозволяє відкривати XML-документ безпосередньо в браузері без посередництва HTML-сторінки. XSL дозволяє здійснювати відбір і сортування даних XML при їх відображенні, надає доступ до всіх компонентів XML (елементам, атрибутам, коментарям та інструкцій по обробці), дає можливість включати в таблицю стилів сценарії. Існують два основні кроки для відображення XML-документа при використанні XSL-таблиці стилів: Створення файлу XSL-таблиці стилів. XSL є додатком XML, тобто XSL-таблиця являє собою коректно сформований XML-документ, який відповідає правилам XSL. Зв'язування XSL-таблиці стилів з XML-документом. У XML-документ включається інструкція по обробці xml-stylesheet, яка має наступну форму запису:
<? xml-stylesheet type = "text / xsl" href = xslFileURL?> Тут "xslFileURL" - URL файлу XSL-таблиці стилів. Якщо ви використовуєте повний (не відносний) URL, таблиця стилів повинна розміщуватися в тому ж домені, що й сам XML-документ. Інструкція по обробці xml-stylesheet додається в пролог XML-документа слідом за оголошенням XML. Якщо ви пов'язуєте з XML-документом більше однієї XSL-таблиці стилів, браузер використовує першу таблицю і ігнорує всі інші. Якщо ви пов'язуєте з XML-документом одночасно CSS-таблицю і XSL-таблицю стилів, браузер використовує тільки XSL-таблицю стилів. Якщо XML-документ не пов'язаний ні з CSS-таблицею, ні з XSL-таблицею стилів, Internet Explorer відобразить документ за допомогою вбудованої XSL-таблиці, яка використовується за замовчуванням. Ця таблиця розташована на вашому локальному комп'ютері за такою адресою:
res :/ / msxml3.dll/defaultss.xsl
Ви можете переглянути цю таблицю, ввівши зазначений URL в адресний рядок браузера Internet Explorer. XSL-таблиця включає один або кілька шаблонів, кожний з яких містить інформацію для відображення певної гілки елементів у XML-документі. XSL-таблиця повинна мати кореневий елемент xsl: stylesheet, що містить всі шаблони і має наступну форму запису:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<! - Один або декілька елементів шаблонів ... ->
</ Xsl: stylesheet> Елемент xsl: stylesheet служить не лише сховищем всіх інших елементів, але також ідентифікує документ як XSL-таблицю стилів. Всі XSL-елементи належать простору імен xsl - тобто ім'я кожного елемента випереджається префіксом xsl. Це простір імен визначено в початковому тегу елемента xsl: stylesheet. Шаблони мають наступну форму:
<xsl:template match="/">
<! - Дочірні елементи ... ->
</ Xsl: template>
Браузер використовує кожен шаблон для відображення певної гілки елементів в ієрархії XML-документа. Атрибут match шаблону вказує на певну гілку і аналогічний селектору в правилі CSS. Значення атрибута match називається зразком (pattern). Зразок у наведеному вище прикладі ("/") представляє "елемент", для якого є дочірнім кореневий елемент XML-документа (тобто представляє "сам" XML-документ). Цей шаблон буде таким чином служити для відображення всього документа XML. Кожна XSL-таблиця стилів повинна містити один і тільки один шаблон із зразком "/". Ви також можете включити один або кілька додаткових шаблонів для відображення певних підлеглих гілок XML-документа. Шаблон може містити два види XML-елементів: XML-елементи, що представляють HTML-розмітку, наприклад: