第四章 xml语法
提纲:
一.xml语法规则
二.元素的语法
三.注释的语法
四.cdata的语法
五.namespaces的语法
六.entity的语法
七.dtd的语法
通过前面三章的学习,我们已经对什么是xml,它的实现原理以及相关的术语有所了解。接下来我们就开始学习xml的语法规范,动手写自己的xml文档。
一.xml语法规则
xml的文档和html的原代码类似,也是用标识来标识内容。创建xml文档必须遵守下列重要规则:
规则1:必须有xml声明语句
这一点我们在上一章学习时已经提到过。声明是xml文档的第一句,其格式如下:
<@xml version="1.0" standalone="yes/no" encoding="utf-8"@>
声明的作用是告诉浏览器或者其它处理程序:这个文档是xml文档。声明语句中的version表示文档遵守的xml规范的版本;standalone表示文档是否附带dtd文件,如果有,参数为no;encoding表示文档所用的语言编码,默认是utf-8。
规则2:是否有dtd文件
如果文档是一个"有效的xml文档"(见上一章),那么文档一定要有相应dtd文件,并且严格遵守dtd文件制定的规范。dtd文件的声明语句紧跟在xml声明语句后面,格式如下:
<!doctype type-of-doc system/public "dtd-name">
其中:
"!doctype"是指你要定义一个doctype;
"type-of-doc"是文档类型的名称,由你自己定义,通常于dtd文件名相同;
"system/public"这两个参数只用其一。system是指文档使用的私有dtd文件的网址,而public则指文档调用一个公用的dtd文件的网址。
"dtd-name" 就是dtd文件的网址和名称。所有dtd文件的后缀名为".dtd"。
我们还是用上面的例子,应该写成这样:
<@xml version="1.0" standalone="no" encode="utf-8"@>
<!doctype filelist system "filelist.dtd">
规则3:注意你的大小写
在xml文档中,大小写是有区别的。<p>和<p>是不同的标识。注意在写元素时,前后标识大小写要保持一样。例如:<author>ajie</author>,写成<author>ajie</author>是错误的。
你最好养成一种习惯,或者全部大写,或者全部小写,或者大写第一个字母。这样可以减少因为大小写不匹配产生的文档错误。
规则4:给属性值加引号
在html代码里面,属性值可以加引号,也可以不加。例如:<font color=red>word</font>和<font color="red">word</font>都可以被浏览器正确解释。
但是在xml中则规定,所有属性值必须加引号(可以是单引号,也可以是双引号),否则将被视为错误。
规则5:所有的标识必须有相应的结束标识
在html中,标识可能不是成对出现的,比@lt;br>。而在xml中规定,所有标识必须成对出现,有一个开始标识,就必须有一个结束标识。否则将被视为错误。
规则6:所有的空标识也必须被关闭
空标识就是标识对之间没有内容的标识。比如
,<img>等标识。在xml中,规定所有的标识必须有结束标识,针对这样的空标识,xml中处理的方法是在原标识最后加/,就可以了。例如:
应写为<br />;
<meta name="keywords" content="xml, sgml, html">应写为<meta name="keywords" content="xml, sgml, html" />;
<img src=http://www.1fanwen.com/ "cool.gif">应写为<img src=http://www.1fanwen.com/ "cool.gif" />