Есть ли способ написать XSL 1.0
шаблон, который соответствует во всех
режимы
Да, для этого нужно следовать этим двум правилам :
Напишите свой шаблон без атрибута режима .
Внутри смоделированных шаблонов есть инструкция <xsl:apply-templates>
без атрибута режима , в результате чего шаблон из 1. выше будет выбран для обработки
Это следует непосредственно из спецификации XSLT 1.0 , , которая гласит :
Если элемент xsl:apply-templates
имеет
mode
атрибут, тогда он применяется только
к этим правилам шаблона из
xsl:template
элементов, которые имеют mode
атрибут с тем же значением; если
xsl:apply-templates
элемент не
иметь атрибут mode
, то он применяется
только к тем шаблонным правилам из
xsl:template
элементов, которые не имеют
атрибут mode
.
Подводя итог : набор шаблонов, каждый в отдельном режиме, может по-прежнему выдавать <xsl:apply-templates>
таким образом (как описано выше), так что один и тот же конкретный, единственный шаблон будет выбран для обработки в каждый случай.