xsl:templatesおよびxsl:call-templateタグに問題があります。おそらくそれは理解の欠如ですが、ここで私がしようとしていることは...xsltを使用してxsltをcsvファイルに変換する
「/ *」に一致するテンプレートがあり、必要な囲みテンプレート内から他のテンプレートを呼び出す必要がある他のドキュメントのコンテキスト、これを行う最も効率的な方法は何ですか?
<xsl:template match="/*">
<xsl:call-template name="header">
<xsl:with-param name="headerContext" select="./[1]"/>
</xsl:call-template>
<xsl:call-template name="body">
<xsl:with-param name="bodyContext" select="*/*/[1]"/>
</xsl:call-template>
<xsl:template>
私はXSL使用しています:私は、囲むテンプレートから=「/ *」のマッチを上書きすることができるようにヘッダとボディのテンプレートを呼び出すときと-PARAMを、私はこれを行うとき、出力がめちゃくちゃます。上記の例のように、メインテンプレートから両方を呼び出すと、 "ヘッダー"テンプレートの呼び出しをコメントアウトすると、本体テンプレートが正しく動作し、逆も同様です。ヘッダーテンプレートとボディテンプレートはドキュメントのさまざまな部分を選択する必要があります。そのためw0th-paramを使用することにしましたが、それは機能しているとは思われません。
代わりにapply-templatesを使用する必要がありますか?
「彼らはどんなやり方で奇妙に振る舞うのですか?また、選択式には、最終的なロケーションステップでノードテストがありません。 –
この情報から問題を診断することはできません。しかし、はい、あなたはこの種のもののためにapply-templatesを使う方が良いでしょう。 –