2012-06-12 4 views
2

В шаблоне мастер XSLT моего сайта у меня есть:Только применяя шаблон XSLT, если шаблон с заданным режимом существует

<xsl:apply-templates select="/data" mode="page-scripts"/> 

На другой странице, которая импортирует выше мастер-таблицы стилей, у меня есть шаблон, который вставляет некоторые JavaScript:

<xsl:template match="/data" mode="page-scripts"> 
    <!-- JavaScript --> 
</xsl:template> 

на страницах, которые не имеют выше шаблон, содержимое data узла выводится в соответствии с шаблоном по умолчанию.

Что было бы хорошим способом избежать этого, не имея пустого шаблона, который соответствует режиму page-scripts?

ответ

3

На страницах, которые не имеют вышеуказанного шаблона, содержимое данных узел выводится в соответствии с шаблоном по умолчанию.

Что было бы хорошим способом избежать этого без необходимости иметь пустой шаблон , соответствующий режиму страниц-скриптов?

Невозможно исключить возможность выбора встроенных шаблонов XSLT для выполнения, за исключением их переопределения.

Хорошим решением является размещение «чистого» переопределяющего шаблона в «самой мастерской» таблице стилей, что позволяет избежать необходимости добавлять любые такие шаблоны в любом из импортирующих таблиц стилей.

1

Извините, я только что нашел ответ here.

Мне нужно было положить <xsl:template match="*" mode="page-scripts"/> в мою таблицу стилей мастера, чтобы переопределить шаблон по умолчанию.

Смежные вопросы