Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javasax解析:什么';这个XML有什么问题?_Java_Xml_Sax - Fatal编程技术网

javasax解析:什么';这个XML有什么问题?

javasax解析:什么';这个XML有什么问题?,java,xml,sax,Java,Xml,Sax,我正在尝试创建XML文件,但出现以下错误: 找不到元素的声明 “xsl:stylesheet” 这是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

我正在尝试创建XML文件,但出现以下错误:

找不到元素的声明 “xsl:stylesheet”

这是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”后面必须跟属性规范“>”或“/>”


如何摆脱它?

假设您实际上试图将XSL验证为XML文档,那么该网站似乎要求您指向一个模式或DTD,以便根据它验证XML。您可以在此处获得非规范架构:。以下是有关如何从XML文件引用架构的说明:

您还可以检查“仅格式良好”,并检查文档的格式是否良好(如果不是实际有效的话)


通常,任何XSL引擎都会报告XSL文档中的任何错误,因此不需要单独验证它

您的XSL还可以,不用担心。只是XSLS1.0没有DTD/XSD。没有人愿意检查XSLT样式表(1.0)的有效性。“形式良好”就足够了

是的。我相当肯定没有真正的方法来检查XSL 1.0文档的实际有效性。除了通过XSL处理器运行它(正如@James所说,XSL处理器应该可以很好地完成这项工作:)@Ivan您可能只想检查格式是否良好。v1和v2的优点是。我没有注意到这是一个v1样式表。但是解析不起作用。。检查我的原始帖子,我编辑了它。它是真的在一个文件中,还是你把它放在了一个字符串缓冲区中。您可能有一些单引号/双引号混淆,或者忘记转义一些字符。第二个模板看起来是最有可能的罪魁祸首。如果您删除它,解析器将再次对您微笑。一点一点地介绍Xpath表达式,以找到pb所在的位置。您的样式表在我这边正确验证。在程序中读取数据的方式一定有问题。@James您如何验证?通过SAX?我只是将其复制并粘贴到OxygenXML编辑器中,该编辑器将XML验证作为一项功能提供。看一下XML,它看起来也不错。但是为什么我在SAX中会出现这个错误呢/从提供的信息很难判断。如何将XML提供给SAX?