良构

XML 文档是符合 XML 规范良构规则的文本文件。据说这种符合要求的文件格式正确 (不要与有效文件混淆 )。与其他语言(如 HTML)相比,XML 非常严格,格式良好。格式不正确的文本文件不被视为 XML,根本不能使用应用程序。

以下是一些适用于 XML 文档的规则:

  1. XML 使用了很多自我描述的语法。prolog 定义 XML 版本和字符编码:

    <?xml version="1.0" encoding="UTF-8"?>
    
  2. 必须只有一个顶级元素。

    但是,顶级也允许使用注释,处理指令以及初始 XML 声明。文本和属性不是。

    <?xml version="1.0"?>
    <!-- some comments -->
    <?app a processing instruction?>
    <root/>
    <!-- some more comments -->
    
  3. 元素可以嵌套,但必须正确嵌套

    <name>
      <first-name>John</first-name>
      <last-name>Doe</last-name>
    </name>
    

    嵌入元素的开始和结束标记必须位于其容器元素的开始和结束标记内。元素的重叠是非法的。特别是,这不是格式良好的 XML:<foo><bar></foo></bar>

  4. 属性可能只出现在开始元素标签或空元素标签中,而不是在关闭元素标签中。如果属性语法出现在元素之间,则它没有意义并被解析为文本。

    <person first-name="John" last-name="Doe"/>
    

    这不是很好的形式: <person></person first-name="John"/>

  5. 注释,处理指令,文本和其他元素可以出现在元素内的任何位置(即,在其开始和结束标记之间),但不能出现在标记内。

    <element>
        This is some <b>bold</b> text.
        <!-- the b tag has no particular meaning in XML -->
    </element>
    

    这个例子形式不正确: <element <-- comment --> />

  6. < 字符可能不会出现在文本或属性值中。

  7. " 字符可能不会出现在 " 引用的属性值中。'字符可能不会出现在'引用的属性值中。

  8. 字符序列 -- 可能不会出现在评论中。

  9. 文字 <& 字符必须由各自的实体 &lt;&amp; 转义。