Приложение П2. Краткий справочник элементов и атрибутов XSLT

[xsl:apply-imports] [xsl:apply-templates] [xsl:attribute] [xsl:attribute-set] [xsl:call-template] [xsl:choose] [xsl:comment] [xsl:copy] [xsl:copy-of] [xsl:decimal-format] [xsl:element] [xsl:fallback] [xsl:for-each] [xsl:if] [xsl:import] [xsl:include] [xsl:key] [xsl:message] [xsl:namespace-alias] [xsl:number] [xsl:otherwise] [xsl:output] [xsl:param] [xsl:preserve-space] [xsl:processing-instruction] [xsl:sort] [xsl:strip-space] [xsl:stylesheet] [xsl:template] [xsl:text] [xsl:transform] [xsl:value-of] [xsl:variable] [xsl:when] [xsl:with-param] [Обозначения]

Элементы

<xsl:apply-imports/>

Инструкция.

Применяет шаблонные правила, которые содержатся в импортированных преобразованиях.


<xsl:apply-templates
  select="выражение"
  mode="режим">
<--
несколько элементов xsl:sort или xsl:with-param
-->
</xsl:apply-templates>

Инструкция.

Применяет шаблонные правила к множеству узлов, возвращаемому выражением, записанным в атрибуте select.

select

содержит выражение, возвращающее множество узлов для обработки

mode

указывает режим, в котором должны применяться шаблоны


<xsl:attribute
  name="{имя}"
  namespace="{пространство имён}">
<--
шаблон
-->
</xsl:attribute>

Инструкция.

Создаёт в выходящем документе узел атрибута.

name

определяет имя атрибута

namespace

URI пространства имён создаваемого атрибута


<xsl:attribute-set
  name="имя"
  use-attribute-sets="имена">
<--
несколько элементов xsl:attribute
-->
</xsl:attribute-set>

Элемент верхнего уровня.

Определяет именованный набор атрибутов.

name

содержит имя набора атрибутов

use-attribute-sets

перечисляет через пробелы имена наборов атрибутов, которые следует включить определяемый набор


<xsl:call-template
  name="имя">
<--
несколько элементов xsl:with-param
-->
</xsl:call-template>

Инструкция.

Вызов именованного шаблона.

name

имя вызываемого шаблона


<xsl:choose>
<--
один или более элемент xsl:when, опциональный элемент xsl:otherwise
-->
</xsl:choose>

Инструкция.

Выполняет содержимое одного из субэлементов в зависимости от условий.


<xsl:comment>
<--
шаблон
-->
</xsl:comment>

Инструкция.

Создаёт в выходящем документе узел комментария.


<xsl:copy
  use-attribute-sets="имена">
<--
шаблон
-->
</xsl:copy>

Инструкция.

Создаёт в выходящем документе копию текущего узла. Копии дочерних узлов не создаются.

use-attribute-sets

перечисляет именованные наборы атрибутов, которые следует добавить в создаваемый узел


<xsl:copy-of
  select="выражение"/>

Инструкция.

Копирует в выходящий документ результат вычисления выражения.

select

содержит выражение, результат которого нужно скопировать


<xsl:decimal-format
  name="имя"
  decimal-separator="символ"
  grouping-separator="символ"
  infinity="строка"
  minus-sign="символ"
  NaN="строка"
  percent="символ"
  per-mille="символ"
  zero-digit="символ"
  digit="символ"
  pattern-separator="символ"/>

Элемент верхнего уровня.

Определяет именованный набор параметров для формата числа.

name

имя. Если name отсутствует, формат числа определяется по умолчанию

decimal-separator

символ, разделяющий целую и дробную часть

grouping-separator

символ, разделяющий группы цифр целой части числа

infinity

строка, соответствующая бесконечности

minus-sign

символ отрицания

NaN

строка, соответствующая не-числу

percent

символ процента

per-mille

символ промилле

zero-digit

символ нуля

digit

символ, помечающий позицию необязательной цифры

pattern-separator

символ, разделяющий положительный и отрицательный образцы форматирования


<xsl:element
  name="{имя}"
  namespace="{пространствоимён}"
  use-attribute-sets="имена">
<--
шаблон
-->
</xsl:element>

Инструкция.

Создаёт в выходящем документе элемент.

name

имя элемента

namespace

URI пространства имён создаваемого элемента

use-attribute-sets

перечисляет имена наборов атрибутов, которые надо включить в создаваемый элемент


<xsl:fallback>
<--
шаблон
-->
</xsl:fallback>

Инструкция.

Выполняется при невозможности выполнить родительскую инструкцию.


<xsl:for-each
  select="выражение">
<--
несколько элементов xsl:sort, шаблон
-->
</xsl:for-each>

Инструкция.

Выполняет содержащийся шаблон для каждого из узлов множества.

select

содержит выражение, возвращающее перебираемое множество узлов


<xsl:if
  test="выражение">
<--
шаблон
-->
</xsl:if>

Инструкция.

Выполняет или не выполняет дочерний шаблон в зависимости от заданного условия.

test

содержит выражение проверяемого условия


<xsl:import
  href="URI"/>

Элемент верхнего уровня.

Импортирует указанный шаблон.

href

URI импортируемого шаблона


<xsl:include
  href="URI"/>

Элемент верхнего уровня.

Включает указанный шаблон.

href

URI включаемого шаблона


<xsl:key
  name="имя"
  match="паттерн"
  use="выражение"/>

Элемент верхнего уровня.

Определяет именованный ключ.

name

имя ключа

match

выбирает узлы, для которых будут определяться значения ключа

use

выражение, значение которого будет значением ключа для каждого из узлов


<xsl:message
  terminate="yes"|"no">
<--
шаблон
-->
</xsl:message>

Инструкция.

Указывает процессору на то, что нужно вывести сообщение.

terminate

определяет, следует ли прервать обработку после вывода сообщения или нет


<xsl:namespace-alias
  stylesheet-prefix="префикс"|"#default"
  result-prefix="префикс"|"#default"/>

Элемент верхнего уровня.

Определяет псевдоним для префикса.

stylesheet-prefix

префикс в преобразовании

result-prefix

префикс в результирующем документе


<xsl:number
  level="single"|"multiple"|"any"
  count="паттерн"
  from="паттерн"
  value="выражение"
  format="{строка}"
  lang="{токен}"
  letter-value={"alphabetic"|"traditional"}
  grouping-separator="{символ}"
  grouping-size="{число}"/>

Инструкция.

Выводит номер в соответствии с заданными критериями.

level

на каких уровнях нумеровать узлы

count

какие узлы учитывать при нумерации

from

в какой части документа нумеровать узлы

value

выражение, вычисляющее номер

format

форматирующая строка номера

lang

язык для алфавитных последовательностей

letter-value

алфавитная или традиционная нумерация

grouping-separator

разделяющий символ групп цифр номера

grouping-size

количество цифр в группах цифр номера


<xsl:otherwise>
<--
шаблон
-->
</xsl:otherwise>

Субэлемент элемента xsl:choose.

Выполняется в элементе xsl:choose, если ни одно из других условий не верно.


<xsl:output
  method="xml"|"html"|"text"|"префикс:имя"
  version="токен"
  encoding="строка"
  omit-xml-declaration="yes"|"no"
  standalone="yes"|"no"
  doctype-public="строка"
  doctype-system="строка"
  cdata-section-elements="имена"
  indent="yes"|"no"
  media-type="строка"/>

Элемент верхнего уровня.

Определяет параметры вывода результирующего документа.

method

метод сериализации

version

версия языка сериализации

encoding

кодировка выходящего документа

omit-xml-declaration

опустить декларацию XML

standalone

самостоятельный или несамостоятельный документ

doctype-public

публичный идентификатор типа документа

doctypre-public

системный идентификатор типа документа

cdata-section-elements

элементы, содержимое которых следует выводить как секции CDATA

indent

индентация (вывод отступов)

media-type

медиа-тип


<xsl:param
  name="имя"
  select="выражение">
<--
шаблон
-->
</xsl:param>

Инструкция, элемент верхнего уровня.

Определяет параметр преобразования или шаблонного правила.

name

имя параметра

select

выражение, задающее значение параметра


<xsl:preserve-space
  elements="токены"/>

Элемент верхнего уровня.

Определяет элементы входящего документа, в которых следует сохранять текстовые узлы, содержащие только пробельные символы.

elements

перечисляет элементы, в которых пробельные символы должны быть сохранены


<xsl:processing-instruction
  name="{имя}">
<--
шаблон
-->
</xsl:processing-instruction>

Инструкция.

Создаёт узел инструкции по обработке.

name

определяет имя целевого приложения создаваемой инструкции


<xsl:sort
  select="выражение"
  lang="{токен}"
  data-type={"text"|"number"|"префикс:имя"}
  order={"ascending"|"descending"}
  case-order={"upper-first"|"lower-first"}/>

Субэлемент элементов xsl:apply-templates и xsl:for-each.

select

выражения для сортировки

lang

язык сортировки

data-type

тип данных сортировки

order

порядок сортировки

case-order

упорядоченность строчных и прописных букв


<xsl:strip-space
  elements="токены"/>

Элемент верхнего уровня.

Определяет элементы входящего документа, в которых следует удалять текстовые узлы, содержащие только пробельные символы.

elements

перечисляет элементы, в которых пробельные символы должны быть удалены


<xsl:stylesheet
  id="идентификатор"
  extension-element-prefixes="префиксы"
  exclude-result-prefixes="префиксы"
  version="число">
<--
несколько элементов xsl:import, элементы верхнего уровня
-->
</xsl:stylesheet>

Корневой элемент преобразования.

id

идентификатор преобразования

extension-element-prefixes

префиксы элементов расширения

exclude-result-prefixes

префиксы, не включаемые в выходящий документ

version

версия языка XSLT


<xsl:template
  match="паттерн"
  name="имя"
  priority="число"
  mode="имя">
<--
несколько элементов xsl:param, шаблон
-->
</xsl:template>

Элемент верхнего уровня.

Определяет шаблонное правило.

match

содержит паттерн, которому должны удовлетворять узлы, обрабатываемые данным шаблоном

name

имя шаблона

priority

приоритет шаблона

mode

режим шаблона


<xsl:text
  disable-output-escaping="yes"|"no">
<--
символьные данные
-->
</xsl:text>

Инструкция.

Создаёт в выходящем документе текстовый узел. Пробельные символы, находящиеся внутри xsl:text не удаляются.

disable-output-escaping

определяет, должны ли в выходящем документе особые символы этого текстового узла заменяться на сущности


<xsl:transform
  id="идентификатор"
  extension-element-prefixes="префиксы"
  exclude-result-prefixes="префиксы"
  version="число">
<--
несколько элементов xsl:import, элементы верхнего уровня
-->
</xsl:transform>

Корневой документ преобразования.

Псевдоним элемента xsl:stylesheet.


<xsl:value-of
  select="выражение"
  disable-output-escaping="yes"|"no"/>

Инструкция.

Создаёт в выходящем документе текстовый узел, содержащий результат вычисления выражения, приведённый к строке.

select

содержит вычисляемое выражение

disable-output-escaping

определяет, должны ли в выходящем документе особые символы этого текстового узла заменяться на сущности


<xsl:variable
  name="имя"
  select="выражение">
<--
шаблон
-->
</xsl:variable>

Инструкция, элемент верхнего уровня.

Создаёт глобальную или локальную переменную. Значение переменной не может быть изменено.

name

задаёт имя определяемой переменной

select

задаёт значение определяемой переменной


<xsl:when
  test="выражение">
<--
шаблон
-->
</xsl:when>

Субэлемент элемента xsl:choose.

Выполняется один из вариантов в блоке xsl:choose в зависимости от условия.

test

задаёт выражение логического условия


<xsl:with-param
  name="имя"
  select="выражение">
<--
шаблон
-->
</xsl:with-param>

Субэлемент элементов xsl:apply-templates, xsl:call-template.

Задаёт значение одного параметра при вызове параметризованного шаблона.

name

имя параметра

select

выражение, значение которого должно быть передано как параметр

В случае если атрибут select не определён, значением передаваемого параметра является дерево, полученное в результате выполнения содержимого xsl:with-param

Если элемент при этом пуст, значением параметра является пустая строка


Атрибуты

xsl:version

Указывает версию языка в случае использования упрощённого синтаксиса записи преобразований

xsl:exclude-result-prefixes

Перечисляет префиксы пространств имён, которые должны быть исключены в данном элементе.

xsl:extension-elements-prefixes

Перечисляет префиксы пространств имён, которые используются в элементах расширения

xsl:use-attribute-sets

Перечисляет названия именованных наборов атрибутов, которые следует включить в данный элемент на выходе

Обозначения

attribute

обязательный атрибут

attribute

необязательный атрибут

attribute="строка"

атрибут со строковым параметром

attribute="{строка}"

атрибут со строковым параметром, значение которого является шаблоном значения атрибута

attribute="yes"|"no"

атрибут с вариантами значений

attribute={"yes"|"no"}

атрибут с вариантами значений, которые могут быть заданы шаблонами значений атрибутов

<-- шаблон -->

содержимым элемента является шаблон

<-- несколько элементов xsl:import ... -->

элемент содержит последовательность из нуля или более элементов xsl:import

<-- один или более элемент xsl:when ... -->

элемент содержит последовательность из одного или более элементов xsl:when

<-- ... опциональный элемент xsl:otherwise -->

элемент содержит элемент xsl:otherwise, который может быть пропущен