Візуальне представлення XML-документів та таблиці стилів XSL
Основна ідея таблиць стилів полягає у зіставленні кожному елементу документа правила, що визначає спосіб візуалізації. Цей принцип вже використовується в CSS (Cascading Style Sheets – каскадних стильових таблицях) – рекомендації W3C для оформлення документів HTML. Однак CSS не можна було пристосувати для визначення правил візуалізації документів XML, оскільки CSS орієнтовані на статичний набір тегів HTML і не підходять для опису правил виведення додатків XML, що динамічно визначаються. Тому потрібно було розробити нову мову. Цією мовою став XSL (eXtensible Style Language - мова стилів, що розширюється), який є додатком XML і спеціально призначений для формування правил візуалізації XML-документів.
XSL-документ являє собою сукупність правил побудови, кожне з яких виділено в окремий блок, обмежений тегами та . Правила визначають шаблони, якими кожному елементу XML ставиться у відповідність послідовність HTML- тегов, тобто. всередині них містяться інструкції, що визначають елементи XML-документа та теги форматування, які застосовуються до них.
Елементи XML, до яких застосовуватиметься форматування, позначаються в XSL дескриптором ;. Для вказівки елемента з конкретною назвою (назва елемента визначається тэгами, що його позначають), тобто. визначення класу елемента, можна використовувати атрибутtype =" "
Ось приклад найпростішого XSL-документа, що визначає форматування для фрагментаrose:
Якщо в одному правилі використовується кілька разів, то інструкції з форматування будуть поширені на всі XML-елементи, що описуються всередині нього, тобто.можна задавати єдиний шаблон форматування для кількох елементів одночасно:
Розбір будь-якого XSL-документа завжди починається з правила для кореневого елемента, в якому визначається область всього XML документа, що розбирається, і тому теги форматування, поміщені сюди, будуть діяти на весь документ в цілому. Для позначення кореневого правила необхідно включити до нього елемент.
Дочірні елементи в XML-документі завжди знаходяться всередині області, яка визначається тегами батьківського по відношенню до них елемента. Для того, щоб точно вказати місце розташування оброблюваного елемента в дереві XML, XSL використовується додатковий тег ;. За допомогою нього можна вказати, які елементи повинні передувати поточному, а які слідувати після нього.
Щодо і в правилах також можуть використовуватися спеціальні елементи, за допомогою яких можна уточнювати характеристики оброблюваних елементів, задаючи різні інструкції форматування для однакових елементів з різними атрибутами. Вказані впараметриnameіvalueвизначають атрибут XML, який повинен мати поточний оброблюваний елемент.
Всі елементи XSL-інструкцій використовують простір імен xsl:, щоб можна було відрізняти їх від реальних елементів шаблонів, що визначаються в таблиці стилів. Цей простір імен визначено у таблиці стилів XSL на Web-сторінці http://www. w3c.org/1999/XSL/Trans form.
Кожен XSLT-файл повинен містити кореневий елемент (або кореневий елемент - обидва елементи в специфікації W3C трактуються як синоніми). елементами або елементами з інших просторів імен, якщо вце потреба. Всі разом вони використовуються як шаблони при перетворенні форматованих XML-даних у форматовані та візуалізовані HTML-мул та XHTML-дані.