【发布时间】:2012-09-21 15:07:07
【问题描述】:
我的 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>
“元素”类型的项目不能在“属性”类型的节点中构造。
这很简单,但出于某种原因,我认为它会自动转义该元素。
顺便说一下,我使用的是 xslt 1.0。
有什么想法吗?
谢谢
【问题讨论】:
-
fahed,您可能会发现这个答案很有用——它展示了如何将 any XML 文档序列化为属性:stackoverflow.com/a/11623265/36305