XML文档是符合XML规范的格式规则的文本文件。此类符合标准的文件被认为格式良好(不要与valid混淆)。与其他语言(例如HTML)相比,XML的格式非常严格。格式不正确的文本文件不被视为XML,使用应用程序根本无法使用它。
以下是适用于XML文档的一些规则:
XML使用了很多自我描述的语法。序言定义了XML版本和字符编码:
<?xml version="1.0" encoding="UTF-8"?>
必须只有一个顶级元素。
但是,也可以在顶层使用注释,处理指令以及初始XML声明。文本和属性不是。
<?xml version="1.0"?>
<!-- some comments -->
<?app a processing instruction?>
<root/>
<!-- some more comments -->
元素可以嵌套,但必须“正确嵌套”:
<name>
<first-name>John</first-name>
<last-name>Doe</last-name>
</name>
嵌入式元素的开始和结束标签必须位于其容器元素的开始和结束标签内。元素重叠是非法的。特别是,这不是格式正确的XML:<foo><bar></foo></bar>
属性只能出现在开始元素标签或空元素标签中,而不能出现在结束元素标签中。如果属性语法出现在元素之间,则它没有任何意义,并被解析为文本。
<person first-name="John" last-name="Doe"/>
格式不正确: <person></person first-name="John"/>
注释,处理指令,文本和其他元素可以出现在元素内的任何位置(即,在其开始和结束标签之间),而不能在标签内。
<element>
This is some <b>bold</b> text.
<!-- the b tag has no particular meaning in XML -->
</element>
此示例格式不正确: <element <-- comment --> />
该<字符可能不会出现在文本或属性值中。
该"字符可能不会出现在用引号引起来的属性值中"。该'字符可能不会出现在用引号引起来的属性值中'。
字符序列--可能不会出现在注释中。
文字<和&字符必须由各自的实体<和进行转义&。