Перейти к содержанию

xsl:mode

Позволяет определить свойства режима.

Доступно в XSLT 3.0. Начиная с Saxon 9.8, доступен во всех редакциях. Реализовано в Saxon-PE и Saxon-EE начиная с Saxon 9.6.

Атрибуты

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: вызов "шаблона идентичности", который копирует узел элемента и применяет шаблоны к его атрибутам и дочерним элементам
  • 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), и он пуст (не имеет детей).

Ссылки

См. также

Комментарии