Обозначения
Ниже перечислены обозначения, используемые в данной книге.
□ 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 | Перечисляет названия именованных наборов атрибутов, которые следует включить в данный элемент на выходе |