Книга: XSLT
Пространство имен XSL
Пространство имен XSL
Заметьте, что элементы XSLT, такие как <xsl:stylesheet>
, используют префикс пространства имен (namespace) xsl
, который теперь, после стандартизации XSLT, всегда установлен в «http://www.w3.org/1999/XSL/Transform». Это пространство имен обычно устанавливается с атрибутом xmlns
(это не атрибут XSL, а, скорее, атрибут любого элемента XML) в корневом элементе таблицы стилей, <xsl:stylesheet>
:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
.
.
.
Таблицы стилей XSL используют свое собственное пространство имен, чтобы избежать конфликта с другими используемыми в таблице элементами. Например, вам может потребоваться указать, какая таблица стилей использовалась для преобразования документа; в таком случае вы можете создать свой собственный элемент <stylesheet>
— это не создает проблемы, поскольку новый элемент не будет конфликтовать с элементом XSL <xsl:stylesheet>
.
В таблицах стилей для элементов XSLT обычно используется префикс пространства имен xsl
. Формально можно использовать для элементов XSLT любой префикс пространства имен (или даже вообще никакого), но практически повсюду применяется xsl
, поскольку это пространство имен фигурирует в рекомендации XSLT.
На практике это означает, что все элементы XSLT, с которыми мы станем работать, будут начинаться с префикса пространства имен xsl, как в <xsl:stylesheet>
. Следовательно, надо начинать таблицу стилей XSLT с элемента <xsl:stylesheet>
. (Есть одно исключение: в «упрощенных» таблицах стилей этот элемент опускается, как мы увидим позже в этой главе.)
Как и любое другое приложение XML, XSLT имеет хорошо разработанный набор правил допустимости таблицы стилей XSLT. W3C даже определил для XSLT псевдо-DTD, где перечислены все правила синтаксиса, — эти объявления DTD приведены в приложении А, которое послужит вам хорошим справочником в случае затруднений с синтаксисом XSLT. Как показано в приложении А, элемент <xsl:stylesheet>
может содержать несколько других элементов 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:element
- Пространство имен XSLT
- Элемент xsl:namespace-alias
- Элементы xsl:stylesheet и xsl:transform
- Узлы пространств имен
- Применение оси namespace
- Ширина и глубина ассортимента
- Категорийный менеджмент. Курс управления ассортиментом в рознице
- Имена индексов ограничений
- Пример применения метода «пять почему»
- Имена объектов длиной 68 символов
- Ценовая сегментация ассортимента