【发布时间】:2011-03-04 14:38:43
【问题描述】:
我正在尝试validate 一个 XML 文件,但我收到以下错误:
找不到元素的声明 'xsl:样式表'。
这是 XML:
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-microsoft-com:xslt' exclude-result-prefixes='msxsl' xmlns:ns='http://www.ibm.com/wsla'>
<xsl:strip-space elements='*'/>
<xsl:output method='xml' indent='yes'/>
<xsl:template match='@* | node()'>
<xsl:copy>
<xsl:apply-templates select='@* | node()'/>
</xsl:copy>
</xsl:template>
<xsl:template match="/ns:SLA/ns:ServiceDefinition/ns:WSDLSOAPOperation/ns:SLAParameter/@name[.='TotalMemoryConsumption']">
<xsl:attribute name='{name()}'>
<xsl:text>MemConsumption</xsl:text>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
错在哪里?
编辑:我想用 SAX 在 Java 中解析这个 XML,但我收到以下错误:
元素类型“xsl:template”必须后跟属性规范,“>”或“/>”。
如何摆脱它?
【问题讨论】:
-
您的样式表在我这边验证正确。它被读入程序的方式一定有问题。
-
@James 你如何验证?通过 SAX?
-
我只是将它复制并粘贴到 Oxygen XML 编辑器中,它提供了 XML 验证功能。目测 XML,它看起来也不错。
-
但是为什么在 SAX 中会出现这个错误? ://
-
从提供的信息中很难判断。您如何将 XML 提供给 SAX?