3

私のサイトのマスター XSLT テンプレートには、次のものがあります。

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

上記のマスター スタイルシートをインポートする別のページには、JavaScript を挿入するテンプレートがあります。

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

上記のテンプレートを持たないページでは、dataノードのコンテンツはデフォルトのテンプレートに従って出力されます。

page-scriptsモードに一致する空白のテンプレートを用意することなく、これを回避するにはどうすればよいでしょうか?

4

2 に答える 2

3

上記のテンプレートを持たないページでは、データノードの内容はデフォルトのテンプレートに従って出力されます。

ページ スクリプト モードに一致する空白のテンプレートを使用せずに、これを回避するにはどうすればよいでしょうか?

XSLT 組み込みテンプレートが選択されて実行されるのを防ぐ方法はありません。オーバーライドする以外の方法はありません。

適切な解決策は、「空の」オーバーライド テンプレートを「マスター」スタイルシート自体に配置することです。これにより、インポートするスタイルシートにそのようなテンプレートを追加する必要がなくなります。

于 2012-06-12T14:22:16.493 に答える
2

申し訳ありませんが、ここで答えを見つけました。

<xsl:template match="*" mode="page-scripts"/>デフォルトのテンプレートをオーバーライドするには、マスター スタイルシートを挿入する必要がありました。

于 2012-06-12T14:23:12.297 に答える