У меня есть интересный вопрос об импорте / включении XSLT.
У меня есть 2 XSLT-файла с тем же правилом.
Квитанция XSLT: (запускается сама по себе)
<xsl:template match="Booking" mode="extraStyle">
<link rel="stylesheet" href="../css/receipt.css" type="text/css" media="screen"/>
</xsl:template>
EmailCommon XSLT: (служит библиотекой шаблонов для электронной почты, не запускается сам по себе)
<xsl:template match="Booking" mode="extraStyle">
<link rel="stylesheet" href="../css/email.css" type="text/css" media="screen"/>
</xsl:template>
Чтобы в зависимости от типа документа я вставлял правильные файлы CSS.
Я пытаюсь включить эти два документа в еще один XSLT:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
exclude-result-prefixes="msxsl"
version="1.0">
<xsl:include href="receipt.xsl"/>
<xsl:include href="email.xsl"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
Тем не менее, поскольку правила одинаковы в обеих включенных таблицах стилей, сводится к правилу «последний в первом», и в итоге я включаю только email.css.
Мне было интересно, можно ли сделать что-нибудь умное в этом случае?
Единственное, о чем я думал, это использовать другой режим, но тогда он не был бы настолько интуитивно понятным, как сбор кода всех идентичных правил. Не знаю, как и вообще можно ли это сделать в XSLT.
Спасибо за помощь!
P.S. Извините, я действительно пытаюсь понять правила форматирования на этом сайте, но я просто не могу :( gggrrr