Технология XSLT

Валиков Алексей Н.

Приложение 2

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

 

 

Обозначения

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

□ attribute

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

□ attribute

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

□ attribute=" строка "

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

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

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

□ attribute="yes" | "no"

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

□ attribute={ "yes" | "no" }

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

□ 

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

□ 

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

□ 

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

□ 

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

 

Элементы

В табл. П2.1 приведены описания основных элементов XSLT.

Таблица П2.1 . Описание основных элементов XSLT

Элемент Описание
<xsl:apply-imports/> Инструкция. Применяет шаблонные правила, которые содержатся в импортированных преобразованиях
<xsl:apply-templates select=" выражение " mode=" режим "> <!-- Содержимое: несколько элементов xsl:sort или xsl:with-param --> </xsl:apply-templates> Инструкция. Применяет шаблонные правила к множеству узлов, возвращаемому выражением, записанным в атрибуте select . •  select — содержит выражение, возвращающее множество узлов для обработки; •  mode — указывает режим, в котором должны применяться шаблоны
<xsl:attribute name ="{ имя }" Инструкция. Создает в выходящем документе узел атрибута. •   name — определяет имя атрибута; •  namespace — URI пространства имен создаваемого атрибута
namespace="{ пространство имен }"> <!-- Содержимое: шаблон --> </xsl:attribute>
<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=" токен " encodings=" строка " 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 — публичный идентификатор типа документа; •  doctype-system — системный идентификатор типа документа; •  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=" паттерн " namе=" имя " priority=" число " modе=" имя "> <!-- Содержимое: несколько элементов 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 . Если элемент при этом пуст, значением параметра является пустая строка

 

Атрибуты

Сведения об атрибутах XSLT представлены в табл. П2.2.

Таблица П2.2 . Атрибуты XSLT

Атрибут Назначение
xsl:version Указывает версию языка в случае использования упрощенного синтаксиса записи преобразований
xsl:exclude-result-prefixes Перечисляет префиксы пространств имен, которые должны быть исключены в данном элементе
xsl:extension-elements-prefixes Перечисляет префиксы пространств имен, которые используются в элементах расширения
xsl:use-attribute-sets Перечисляет названия именованных наборов атрибутов, которые следует включить в данный элемент на выходе