私は XSLT にかなり慣れていないので、XSLT について無知であることをお許しください。
saxon xslt 2.0 の使用: 適用時に次のように見える xsl:variable から単一の要素を取得しようとしています<xsl:copy-of select="$type">
。
<type>
<label>Book</label>
<id>book</id>
</type>
id 要素のみにアクセスしようとしています-私は試みました:
<xsl:copy-of select="$type/id">
<xsl:copy-of select="$type[2]">
<xsl:value-of select="$type/id">
<xsl:value-of select="$type[2]">
これといくつかのバリエーションも試してみました
<xsl:value-of select="$type[name()='id']"/>
そして、データ型を変更してみました
<xsl:variable name="type" as="element">
XSLT 2.0 では node-set() 操作は適用されないようです。
xsl:variable 要素に適切にアクセスする方法の詳細な説明を求めていますが、これをすべて間違って使用していることがわかれば、もっと良い方法があります。あなたの洞察と努力に感謝します。
@martin-honnen 追加時:
<xsl:variable name="test1">
<type>
<label>Book</label>
<id>book</id>
</type>
</xsl:variable>
<TEST1><xsl:copy-of select="$test1/type/id"/></TEST1>
<xsl:variable name="test2" as="element()">
<type>
<label>Book</label>
<id>book</id>
</type>
</xsl:variable>
<TEST2><xsl:copy-of select="$test2/id"/></TEST2>
私は結果を得る:
<TEST1/>
<TEST2/>