XSLT
Шрифт:
В таблицах стилей для элементов XSLT обычно используется префикс пространства имен
На практике это означает, что все элементы XSLT, с которыми мы станем работать, будут начинаться с префикса пространства имен xsl, как в
Как и любое другое приложение XML, XSLT имеет хорошо разработанный набор правил допустимости таблицы стилей XSLT. W3C даже определил для XSLT псевдо-DTD, где перечислены все правила синтаксиса, — эти объявления DTD приведены в приложении А, которое послужит вам хорошим справочником в случае затруднений с синтаксисом XSLT. Как показано в приложении А, элемент
ОБРАБОТКА ПРОСТРАНСТВ ИМЕН ПО УМОЛЧАНИЮ
Работа с пространствами имен может оказаться не слишком простой. Например, иногда присваивают пространство имен по умолчанию всему элементу <xsl:stylesheet>, как в <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="mydefault">, ожидая, что <xsl:template match="mysymbol"> выберет mysymbol в пространстве имен "mydefault" исходного документа. Однако это не будет работать. Обработка пространств имен по умолчанию, как в таком случае, — одна из проблем, которую призван решить XSLT 2.0.
Элементы таблиц стилей высокого уровня
В XSL определен ряд элементов высокого уровня, которые могут быть прямыми дочерними элементами
•
•
•
•
•
•
•
•
•
•
•
•
Рабочий проект XSLT 1.1 добавляет еще один элемент высокого уровня:
•
В книге мы поработаем со всеми этими официальными элементами XSLT высокого уровня.
Заметьте, что, в дополнение ко всем элементам высокого уровня, вы можете также повсюду использовать обычные комментарии XML, поскольку таблицы стилей XSLT являются также документами XML:
В дополнение к официальным элементам высокого уровня, некоторые процессоры XSLT определяют свои собственные элементы высокого уровня, использующие пространства имен, отличающиеся от пространства имен XSL. Функциональность таких элементов полностью определяется разработчиком процессора XSLT.
Вы также можете определять
собственные элементы высокого уровня, называемые «элементами высокого уровня, определенными пользователем». Эти элементы должны иметь пространство имен, отличное от XSL и элементов, определенных разработчиком процессора. Процессор XSLT игнорирует определенные пользователем элементы высокого уровня; но, поскольку вы способны сами получить доступ ко всему документу при помощи функции документа (как мы увидим в главе 8), вы можете самостоятельно работать с этими элементами.Из всех элементов высокого уровня самым популярным является элемент
Создание шаблонов и работа с ними — суть XSLT, и сейчас мы рассмотрим этот элемент, продолжая создавать таблицу
Элемент <xsl:template>
Шаблоны XSL позволяют задать способ выполнения вашего преобразования. Каждый элемент
•
•
•
•
Каждый такой элемент
Тела шаблонов
Шаблоны формируются по жестко заданным правилам. Они способны содержать элементы
Инструкции XSLT
В теле шаблона может присутствовать ряд элементов XSLT, называемых инструкциями:
•