通过xpath选择xmlns属性的别名

时间:2014-12-30 12:32:12

标签: xml xpath

说我有xml的xmlns:alias属性:

我需要从所需的命名空间中选择别名吗?

<exmpletag
    xmlns:x="http://www.someurl.url"
>
<sometags/>
<exmpletag>

如何从x代码中选择exmpletag

1 个答案:

答案 0 :(得分:1)

假设当前上下文(.)是exmpletag元素,您应该能够这样做:

local-name(namespace::*[. = 'http://www.someurl.url'])


用法示例:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes"/>

    <xsl:template match="exmpletag">
      <xsl:value-of select="local-name(namespace::*[. = 'http://www.someurl.url'])"/>
    </xsl:template>
</xsl:stylesheet>

在样本XML上运行时的输出(在将其修复为格式良好之后):

x

我会提供一个xsltcake示例,但该网站现在似乎已关闭。