XSLT | страница 53



Элементы буквального результата

Если элемент в теле шаблона не является инструкцией XSL или элементом расширения, процессор XSLT должен рассматривать его в качестве элемента буквального результата. Это означает, что элемент должен трактоваться буквально и копироваться в результирующее дерево (то есть копироваться в выходное дерево, созданное процессором XSLT).

Например, в следующем теле шаблона элемент > является элементом буквального результата, который будет скопирован в выходной документ:

>

> RADIUS

>

Элементы буквального результата могут сами по себе иметь содержимое, которое затем трактуется как еще одно тело шаблона и разбирается процессором XSLT. Позже в настоящей главе мы посмотрим, как работает этот механизм.

Элементы буквального результата могут также обладать атрибутами, которые интерпретируются процессором XSLT. Например, при помощи атрибута >version можно указать, что все элементы XSLT внутри элемента буквального результата должны быть элементами XSLT версии 1.0:

>

> RADIUS

>

В следующем списке перечислены все возможные атрибуты элемента буквального результата:

• Attribute Value Templates, шаблон значений атрибута (необязательный). Любые выражения XPath в фигурных скобках вычисляются, и результат в виде строкового значения копируется в атрибут в результирующем дереве. Устанавливается в шаблон значений атрибута (см. главу 3);

• >xsl:exclude-result-prefixes (необязательный). Определяет, какие пространства имен не будут скопированы в результирующее дерево. Принимает значения списка префиксов пространств имен, разделенных символами- разделителями;

• >xsl:extension-element-prefixes (необязательный). Заставляет процессор XSLT трактовать дочерние элементы элемента буквального результата в перечисленных пространствах имен как элементы расширения, а не элементы буквального результата;

• >xsl:use-attribute-sets (необязательный). Атрибуты в перечисленных наборах атрибутов добавляются в элемент буквального результата и копируются в результирующее дерево. Принимает значение списка >QName, идентифицирующих поименованные элементы >;

• >xsl:version (необязательный). Устанавливает версию элементов XSL в элементе буквального результата. Принимает численное значение.

Теперь можно начать работать с этой информацией.

Совпадающие элементы в шаблонах

Для указания того, с каким узлом или узлами вы хотите работать в шаблоне, в XSLT имеются разнообразные способы поиска или выбора узлов. Следует установить атрибут