我的 xslt 中有一个看起来像这样的变量。
<xsl:variable name="metadata">
<Metadata>
<xsl:apply-templates select="..." />
</Metadata>
</xsl:variable>
之后,我尝试将元数据 xml 作为 xsl:attribute 添加到另一个节点。我尝试了value-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>
不能在“属性”类型的节点内构造“元素”类型的项目。
这是相当直截了当的,但由于某种原因,我认为它会自动转义该元素。
顺便说一句,我正在使用 xslt 1.0。
有任何想法吗?
谢谢