XSLT:根据命名空间uri复制节点的所有子节点

时间:2013-03-08 18:13:09

标签: xml xslt dynamic matching

我是XSLT的新手,我需要使用它进行一些转换。我想了解的是如何在xml文档中复制特定元素的子元素。

这个元素是动态的,但我知道它的命名空间的uri。有没有一种方法可以根据我拥有的uri匹配这个元素,然后将所有子元素复制到一起?

由于

1 个答案:

答案 0 :(得分:1)

xsl:copy-of元素可用于将节点集复制到结果树。

例如,要将foo命名空间中的子节点复制到结果中,您可以使用以下内容:

<xsl:copy-of xmlns:ns="foo" select="ns:*"/>

另请参阅用于复制当前节点的xsl:copy元素。


已编辑添加:如果仅在运行时知道命名空间,请参阅namespace-uri XPath函数。

例如,如果您的变量$uri包含名称空间URI,则上述内容的等价物如下:

<xsl:copy-of select="*[namespace-uri() = $uri]"/>