xsltに次のような変数があります。
<xsl:variable name="metadata">
<Metadata>
<xsl:apply-templates select="..." />
</Metadata>
</xsl:variable>
その後、メタデータxmlをxsl:attributeとして別のノードに追加しようとしています。value-of、copy-ofを試しましたが、機能しませんでした。copy-ofを使用すると、以下のエラーが発生しました。
<OtherNode>
<xsl:attribute name="someAttr">
<!-- I tried these and neither worked -->
<xsl:value-of select="$metadata" /> <!-- Empty -->
<xsl:copy-of select="$metadata" /> <!-- Error -->
</xsl:attribute>
</OtherNode>
タイプ「要素」のアイテムは、タイプ「属性」のノード内に構築できません。
それはかなり簡単ですが、何らかの理由で、自動的に要素をエスケープすると思いました。
ちなみに私はxslt1.0を使用しています。
何か案は?
ありがとう