例として、次のような XML があります。
<root>
<field1>test</field1>
<f2>t2</f2>
<f2>t3</f2>
</root>
XSLT で変換したいが、出力の 2 番目の f2 要素を抑制したい - ソースの 2 番目の f2 要素が処理されたときに、出力に f2 要素が既に存在するかどうかを確認するには、テンプレート内をどのように確認すればよいですか? 現在、私の XSLT は次のようになっています。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no" omit-xml-declaration="yes" standalone="no" />
<xsl:template match="/">
<xsl:for-each select="./root">
<output>
<xsl:apply-templates />
</output>
</xsl:for-each>
</xsl:template>
<xsl:template match="*" >
<xsl:element name="{name(.)}">
<xsl:value-of select="." />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
テンプレートの xsl:element について何らかのチェックを行う必要があると思いますが、出力ドキュメントを調べて、要素が既に存在するかどうかを確認する方法がわかりません。
編集: pre タグを忘れました。コードが表示されるはずです!