Шрифт:
Заметьте, однако, что этот пример работоспособен только в XSLT 1.1.
На момент написания книги в одном процессоре XSLT элемент
Элемент <xsl:namespace-alias>: генерация таблиц стилей
Одна из основных задач XSLT состоит в преобразовании одних таблиц стилей в другие, хотя на первый взгляд это может быть неочевидно. Например, вам может потребоваться обработать длинные правила, которые нужно настроить непосредственно перед обработкой документов. И, как вы знаете, первоначально XSLT был представлен прежде всего для облегчения создания таблиц стилей объектов форматирования.
Но это порождает проблему: если вы обрабатываете таблицу стилей, полную таких элементов, как
Тут на помощь приходит элемент
•
•
Следующий пример пояснит сказанное. Представьте, что вам нужно создать такую таблицу стилей:
Заметьте, что здесь много элементов XSLT с префиксом «xsl», — значит, если вы попытаетесь создать их при помощи XSLT-преобразования, процессор XSLT попытается выполнить эти элементы. Чтобы избежать такой ситуации, я задал им новый префикс пространства имен, «xslt». Ниже показано, как это выглядит в таблице стилей, производящей предыдущую таблицу стилей (листинг 9.4). Заметьте, что нижеследующая таблица стилей просто выбирает корневой элемент исходного документа, чтобы она могла начать работать; она не использует исходный документ ни для каких других целей.