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), и он пуст (не имеет детей).