xsl:mode¶
Позволяет определить свойства режима.
Доступно в XSLT 3.0. Начиная с Saxon 9.8, доступен во всех редакциях. Реализовано в Saxon-PE и Saxon-EE начиная с Saxon 9.6.
- Категория: declaration
- Содержимое: нет
- Допустимые родительские элементы:
xsl:package
;xsl:stylesheet
;xsl:transform
Атрибуты¶
name?
- eqname
- Определяет имя этого режима; если опущено, элемент описывает свойства безымянного режима.
streamable?
- boolean
- Значение yes указывает, что правила шаблонов, использующие этот режим, должны быть способны оцениваться в потоковом режиме. Это накладывает ограничения на содержание шаблонных правил. Требуется Saxon-EE.
use-accumulators?
- tokens
- Имеет значение только в том случае, если этот режим является начальным режимом преобразования. Определяет набор аккумуляторов, которые применимы к документам, содержащим узлы в начальном выборе соответствия. Доступно начиная с версии Saxon 9.7.0.10.
on-no-match?
"deep-copy" | "shallow-copy" | "deep-skip" | "shallow-skip" | "text-only-copy" | "fail"
- Указывает, какое действие предпринимается, когда узел, обрабатываемый
xsl:apply-templates
в этом режиме, не соответствует ни одному правилу шаблона. Значение по умолчанию -text-only-copy
. Допустимыми значениями являются: -
text-only-copy
: поведение XSLT 2.0 (для элементов: применение шаблонов к дочерним элементам; для текстовых узлов: копирование текстового узла на выход)
-
shallow-copy
: вызов "шаблона идентичности", который копирует узел элемента и применяет шаблоны к его атрибутам и дочерним элементам
-
deep-copy
: вызовxsl:copy-of
-
shallow-skip
: игнорирует этот узел, применяет шаблоны к его атрибутам и дочерним узлам
-
deep-skip
: игнорирует этот узел и всех его потомков
-
fail
: сообщает о динамической ошибке
on-multiple-match?
"use-last" | "fail"
- Указывает, какие действия предпринимаются, когда узел, обрабатываемый
xsl:apply-templates
в этом режиме, соответствует более чем одному правилу шаблона (с одинаковым старшинством и приоритетом). Возможны следующие значения:fail
, указывающее на то, что сообщается о динамической ошибке, илиuse-last
(по умолчанию), указывающее на то, что выбирается правило шаблона, появляющееся последним в порядке следования документов. warning-on-no-match?
- boolean
- Значение yes вызывает предупреждение во время выполнения, когда узлу не соответствует ни одно из правил шаблона. По умолчанию для Saxon используется значение
no
. warning-on-multiple-match?
- boolean
- Значение yes вызывает предупреждение во время выполнения, когда узел соответствует нескольким правилам шаблона. По умолчанию для Saxon используется значение
yes
. typed?
- boolean |
"strict" | "lax" | "unspecified"
- Сообщает процессору, должны ли узлы, обрабатываемые правилами шаблонов в этом режиме, быть типизированными или нетипизированными. По умолчанию используется
unspecified
, что не накладывает никаких ограничений на узлы. visibility?
"public" | "private" | "final"
- Определяет потенциальную видимость компонента, соответствующего данному режиму; по умолчанию
private
. saxon:trace?
- boolean
- Вызывает трассировку всех правил шаблонов, выполняемых в данном режиме, показывая узлы, выбранные
xsl:apply-templates
, и правила, использованные для их обработки.
Подробности¶
Объявление xsl:mode
является новым в XSLT 3.0. Ранее режимы объявлялись неявно путем ссылки на них в атрибуте mode в xsl:template
или xsl:apply-templates
.
Элемент всегда появляется как дочерний элемент xsl:stylesheet
(или xsl:transform
), и он пуст (не имеет детей).