使用XSLT/XPath,我如何匹配null命名空间中的任何元素?

Dan*_*idy 6 xml xslt xpath

<xsl:template match="foo">
Run Code Online (Sandbox Code Playgroud)

匹配null命名空间中的foo元素.

<xsl:template match="*">
Run Code Online (Sandbox Code Playgroud)

匹配任何命名空间中的任何元素

我试过了:

xmlns:null=""
...
<xsl:template match="null:*">
Run Code Online (Sandbox Code Playgroud)

但为null命名空间声明前缀是违法的.

那么如何在null命名空间中匹配元素与任何名称?

Jef*_*tes 5

你可以尝试:

<xsl:template match='*[namespace-uri() = ""]'>
Run Code Online (Sandbox Code Playgroud)

如果节点集为空或没有名称空间URI,则namespace-uri函数返回一个空字符串,这应该达到您想要的效果.