XML文档的结构
标记的命名规则
XML声明语句
XML提供了声明语句,用于说明文档是属于XML类型。此外,这个声明语句还给解析器提供其他信息。也可以不使用XML声明,因为没有这个声明语句,解析器通常也能够判断一个文档是否是XML类型。例如:
<?xml version="1.0" encoding="gb2312" standalone="yes" ?>
处理指令
尽管处理指令(PI:Processing Instruction)不是很常见,但是可以在文档中嵌入应用程序专用的指令来控制文档的处理过程。XML处理指令不属于文档内容,但是它们会传递给应用程序。例如:
<books>
<book>
<title>三国演义</title>
<author>罗贯中</author>
<?processor PRINT title ?>
</book>
</books>
XML对于处理指令没有太多的规定,基本的规定是,在<?后面跟一个应用程序名,这个应用程序执行程序名之后的处理指令。在这个例子里面,应用程序是processor,它会执行“PRINT title”指令。
特殊字符
XML文档中有些字符是特殊字符,这些字符的特殊之处就在于这些字符在XML标记语言中已经被赋予了特殊的意义。如果现在要求将字符“<”显示在页面上,则需使用定义的特殊编码,特殊字符所对应的编码如下表所示:
- XML声明语句:<?xml version="1.0" encoding="gb2312"?>
- 处理指令PI:<?……?>
- 根元素:XML文档只能包含一个根元素
- 元素:所有XML元素必须包含结束标记
- 属性:所有属性值都必须使用引号
- CDATA节:<![CDATA[……]]>
- 注释:<!-- …… -->,注释中不能有“--”符号。
- PCDATA:XML保留PCDATA里的空白符。
标记的命名规则
- 名称的开头必须是字母或“_”;
- 标记名称中不能有空格;
- 名称的字符串只能包含“英文字母”、“数字”、“_”、“-”、“.”等字符。
- 标记区分大小写。
- 名称的开始字符不可以是xml,不管是大写还是小写或者大小写混合的。
- 开始符<之后紧跟着元素名字,其间不能有空格,但是在元素名与结束符>之间可以有空格。
- 行结束空白符。由于Windows系统行结束符用换行符和回车符两个字符表示,而Linux系统里只用换行符,因此,为了屏蔽差异,XML将行结束符统一转换为单个换行符。
XML声明语句
<?xml version="1.0" encoding="gb2312" standalone="yes" ?>
- XML声明语句从<?xml开始,到?>结束。
- XML声明语句必须放在文件的开头,即文件的第一个字符必须是<,前面不能有空行或空格。
- XML声明语句必须有version属性,但是encoding和standalone属性是可选的。
- version、encoding和standalone三个属性必须按照这样的顺序排列。
- standalone属性为yes,表明文档可以完全独立存在,不依赖于其他任何文件;其值为no,表示文档可能依赖于一个外部的DTD文件。
处理指令
<books>
</books>
XML对于处理指令没有太多的规定,基本的规定是,在<?后面跟一个应用程序名,这个应用程序执行程序名之后的处理指令。在这个例子里面,应用程序是processor,它会执行“PRINT title”指令。
特殊字符
| |
| |
| |
| |
| |
| |
CDATA标记
<![CDATA[
……
]]>
XML名称空间