如何修复错误:根元素后面的文档中的标记必须格式正确

时间:2017-09-22 01:20:09

标签: xml xslt xml-parsing xml-validation

我将我的代码放在XML验证网站上,它给了我这个错误:

  

第8行:4根元素后面的文档中的标记必须格式正确。

遇到问题的行是$ jekyll serve行。

XML

<xsl:output method = "html" doctype-system = "about:legacy-compat"/>

2 个答案:

答案 0 :(得分:17)

一般情况

  

根元素后面的文档中的标记必须格式正确。

此错误表示您的XML在根元素后面有标记。 要成为well-formed,XML must have exactly one root element,并且单个根元素后面不能再有标记。

一个根元素示例(GOOD)

<r>
  <a/>
  <b/>
  <c/>
</r>

此错误的最常见来源是:

  1. 包括迷路或额外关闭标签(BAD):

    <r>
      <a/>
      <b/>
      <c/>
    </r>
    </r>  <!-- shouldn't be here -->
    
  2. 故意拥有多个根元素(BAD):

    <a/>
    <b/>  <!-- second root element shouldn't be here -->
    <c/>  <!-- third root element shouldn't be here -->
    
  3. 无意中有多个根元素(BAD):

    <r/>  <!-- shouldn't be self-closing -->
      <a/>
      <b/>
      <c/>
    </r>
    
  4. 解析不同于您的XML(BAD):

    在提供给解析之前立即记录XML 失败是为了确保解析器所使用的XML 看见与您认为正在看到的XML相同。共同 这里的错误包括:

    • 传递给的XML文档的文件名 解析器与您认为的不同。
    • XML的缓冲区很脏。确保它已经存在 在添加XML之前清除。
    • 您管道中前一阶段的早期程序 在解析之前更改XML 此错误消息。
  5. 你的特殊问题

    在您的特定情况下,您的XML似乎有多个根元素,因为xsl:stylesheet元素过早关闭(上面的案例#3 )。

    更改

                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>
    

                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    

    修复您的问题,并添加结束标记

    </xsl:stylesheet>
    

    如果您的真实文档中尚不存在。

答案 1 :(得分:-1)

由于此文件中的空格错误,这也可能显示