XSLT命名空间轴似乎不起作用

时间:2010-10-20 14:08:27

标签: xml xslt namespaces

我有以下xslt:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:my="my_namespace">

    <xsl:template match="/">
        <xsl:value-of select="document('')/xsl:stylesheet/namespace::my"/>
    </xsl:template>
</xsl:stylesheet>

ant它总是返回一个空字符串。

namespace::*有什么问题?

更新:示例xml是:

<?xml version="1.0" encoding="utf-8"?>
<foo/>

2 个答案:

答案 0 :(得分:1)

使用MSXSL(3和4),Altova,Saxon,Oracle和XQSharp,它输出:

my_namespace

如果这不是处理器的输出,那么它可能无法处理namespace轴。

答案 1 :(得分:0)

Savva,我使用xsltproc(在oXygen下)运行样式表,并根据需要输出my_namespace

xsltproc只是libxslt的命令行前端。所以(除非他们在最近的版本中改变了一些东西),你和我应该得​​到相同的结果。

为什么不向我们展示您的PHP / SimpleXML代码 - 可能问题在于您如何访问结果。