在定义目标命名空间时,将xsl链接到XML不起作用

时间:2011-10-07 13:50:40

标签: xml xslt

我创建了一个XML文件,并使用xsl将其转换为HTML。但是,当我将目标命名空间添加到XML文件时,我的浏览器不会正确处理该文件。当我删除目标命名空间时,它工作正常。

XML如下:

<root  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 xmlns='http://xml.netbeans.org/schema/XmlSchema'
 xsi:schemaLocation='http://xml.netbeans.org/schema/XmlSchema XmlSchema.xsd'>

当XML中存在行 xmlns='http://xml.netbeans.org/schema/XmlSchema'时,浏览器不会正确处理它。删除此行后,它可以正常工作。有什么问题?

1 个答案:

答案 0 :(得分:0)

问题似乎是您没有处理XSLT文件中的http://xml.netbeans.org/schema/XmlSchema命名空间。

我想......我不得不猜测这是一种耻辱 - 当你没有展示代码时,你认为有人可以告诉你代码的问题在哪里?

所以,我想你有这样的事情:

<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
  <xsl:template match="root">
    <!-- etc ... -->
  </xsl:template>
</xsl:stylesheet>

应该

的地方
<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xs='http://xml.netbeans.org/schema/XmlSchema'
>
  <xsl:template match="xs:root">
    <!-- etc ... -->
  </xsl:template>
</xsl:stylesheet>

不是命名空间处理。相应地调整您的XSLT。