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 ファイルを挿入します。
私がやろうとしているのは、これら 2 つのドキュメントをさらに別の 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でそれを行う方法と、それを行うことができるかどうかはわかりません。
手伝ってくれてありがとう!
PS 申し訳ありませんが、私は本当にこのサイトのフォーマット規則を理解しようとしていますが、単に理解できません:( gggrrr