Java 具有名称空间的XSLT属性
如果之前有类似我的答案,请提前道歉,但我已经检查过,没有找到这个简单问题的确切答案:Java 具有名称空间的XSLT属性,java,xml,xslt,xml-namespaces,Java,Xml,Xslt,Xml Namespaces,如果之前有类似我的答案,请提前道歉,但我已经检查过,没有找到这个简单问题的确切答案: <self-uri xlink:href="http://www.harmreductionjournal.com/content/1/1/5"> 我在处理过程中迭代了属性值 xlink:href: http://www.harmreductionjournal.com/content/1/1/5 我的问题很简单:如何获得具有名称空间的atribute的值?我的理解是,它应该是这样工作的 如果你
<self-uri xlink:href="http://www.harmreductionjournal.com/content/1/1/5">
我在处理过程中迭代了属性值
xlink:href: http://www.harmreductionjournal.com/content/1/1/5
我的问题很简单:如何获得具有名称空间的atribute的值?我的理解是,它应该是这样工作的
如果你能给我指出正确的问题,那也就足够了
提前谢谢
编辑:
根据答案,我检查了我的根样式表声明,它如下所示:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:mml="http://www.w3.org/1998/Math/MathML"
exclude-result-prefixes="xlink mml">
我猜exclude属性与这个问题有关。如果替换它,我会发现它仍然不起作用,结果xml在任意位置都充满了它。只要您的XSL文件具有映射到相同名称空间的相同前缀,您的方法就应该起作用。换句话说,XSL文件应该具有名称空间映射
xmlns:xlink="..."
其中,
…
是源文档中为该名称空间前缀定义的相同值。只要XSL文件具有映射到相同名称空间的相同前缀,您的方法就应该有效。换句话说,XSL文件应该具有名称空间映射
xmlns:xlink="..."
<xsl:template match="self-uri">
<xsl:value-of
select="@xlink:href"
xmlns:xlink="http://www.w3.org/1999/xlink"/>
</xsl:template>
其中,…
与源文档中为该名称空间前缀定义的值相同。
<xsl:template match="self-uri">
<xsl:value-of
select="@xlink:href"
xmlns:xlink="http://www.w3.org/1999/xlink"/>
</xsl:template>
应该这样做,假设输入文档使用。当然,您通常会简单地将xmlns:xlink=”http://www.w3.org/1999/xlink“
在代码的xsl:stylesheet
元素上。
应该这样做,假设输入文档使用。当然,您通常会简单地将
xmlns:xlink=”http://www.w3.org/1999/xlink“
在代码的xsl:stylesheet
元素上。显示XSLT、XML输入、所需结果和当前结果的最小但完整的示例,以便我们重现问题。到目前为止,我们需要猜测XML输入使用了哪些名称空间,以及在哪个上下文中您有xsl:value
。向我们展示XSLT、XML输入、所需结果和当前结果的最小但完整的示例,以便我们重现问题。到目前为止,我们需要猜测XML输入使用哪些名称空间,以及在哪个上下文中有xsl:value
。