在namespace :: xpath函数xslt中给出条件

时间:2016-04-20 11:04:54

标签: xslt xpath xslt-1.0

我正在尝试使用以下代码将文档的所有xsl命名空间复制到根文档:

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

这完全没问题。但是,我不希望将命名空间xxx复制为表达式中给出的,但这不会发生。甚至xxx与其他名称空间一起被复制。我想阻止xxx被复制。怎么做?

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

如果要排除具有给定前缀的名称空间,请执行此操作

<xsl:copy-of select="//namespace::*[name() != 'xxx']" />

但是,如果要排除具有给定命名空间uri的命名空间,请执行此操作

<xsl:copy-of select="//namespace::*[. != 'xxx']" />