<transaction>
<itemConfirmation>
<catalogueItemConfirmationState>
<catalogueItemConfirmationStateCode>REVIEW</catalogueItemConfirmationStateCode>
</catalogueItemConfirmationState>
<catalogueItemReference>
//some data
</catalogueItemReference>
</itemConfirmation>
</transaction>
をそのノード値の一部を変更することによって、私はトランザクションがcatalogueItemReferenceが含まれている場合にのみ、私はcatalogueItemConfirmationStateCodeの値を変更したいremoveEmptyTransactionテンプレート に渡していますトランザクションノードを変数をコピーしますを作成し、出力にトランザクションノード全体をコピーします。これらは複数のトランザクションノードで、catalogueItemReferenceオプションです。は、XSLTテンプレートを使用して
<xsl:template name="removeEmptyTransaction">
<xsl:param name="eachTransactionElement"/>
<xsl:copy-of select="$eachTransactionElement"/>
</xsl:template>
、まあ...
ご回答ありがとうございます。問題は複数の場所からremoveEmptyTransactionを呼び出すことです。 'eachTransactionElement'はトランザクション全体を含む変数で、私は操作後に最後に出力にコピーしたいと思います。テンプレートを書くべき場所を教えてください。 –
なぜ名前付きテンプレートを使用する必要があるのでしょうか?すべて。単にそのテンプレートに 'transaction'要素を変換させたい場合は、提案された方法を使用し、指定されたテンプレートをパラメータで呼び出すのではなく、必要なものだけを使用するだけです。 ' ' –
ありがとうございました。回答ありがとうございます。トランザクションの要素はソースXMLからではありません.XSLTで生成されています。一致条件を追加するにはどうすればよいですか? –