XSL排除不起作用

时间:2015-11-04 12:39:36

标签: xml xslt

我有一个符合以下要求的XSL转换: 镜像完全相同的XML,不包括DocumentList元素。

以下是我的代码。我得到了这个解决方案: xslt match all nodes except a specific one

我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />

<xsl:template match="@*|node()[not(self::DocumentList)]" name="identity">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
 </xsl:copy>
</xsl:template>

<!-- overwrite the default template -->
<xsl:template match="DocumentList">
</xsl:template>

</xsl:stylesheet>

当我运行转换时,会显示包含所有元素的相同xml。因此,我的问题是,我是否需要在match =&#34;中指定路径? ?有什么想念她?

我的源XML确实有其他名称空间,我在样式表元素中声明了这些名称空间,但是为了隐私,这里没有重现。

1 个答案:

答案 0 :(得分:0)

道歉 - 这是一个纳姆空间问题。我别名我的默认命名空间,它工作。 即 而不是xmlns =“默认命名空间url” 我使用xmlns:x =“default namespace url”

谢谢, 艾哈迈德