1、XML文件的第一行必须是xml声明
2、XML文件只能有一个跟节点
3、开始的控制标记与结束的控制标记缺一不可
4、空的控制标记必须要有"/"符号
5、属性值的设置必须被"""包围起来
6、所有的控制标记必须满足嵌套的排列
7、英文字符的大小写是有差异的
8、特殊字符的使用前面我们说过,XML的语法要求很严格的,所有的XML标记要关闭的.包含两点:首先.每个XML的开始标记,如<person>都必须有一个XML的结束标记</person>。
如果元素没有子元素或者数据,那么就使用空元素的语法来关闭.如:
<person><name firstname="xiao" lastname="yang"/></person>
以上讲的只是创建良好XML文档的最基本的规则,下面我们就来详细的说下更多的规则。
1 文档根的
XML文档必须有唯一的文档根.根元素包含其余的文档数据,换言之,其余的部分就是根元素的子元素
2 合法和不合法的名称
在XML中使用元素要遵守一些命名规范,即区分大小写等.下面的就是代表不同的元素,尽管意思一样:
(1)"<"字符之后不能存在空格,如<person name>就不行,而<personname>就可以
(2) 元素的名字不能以数字或者标记符号开头,可以以字母和下划线开头:如<2name>不合法,而,<_2name>合法.
(3)第一个字符之后可以有"-"".":如<.name>不合法,而<name.firstname>合法
(4)不要使用冒号:因为这会与以后要说的命名空间冲突,所以<name:firstname>不合法.
(5)最好不要用任何形式的xml开头,如<xml_name><Xml_name>就不行,因为一般的xml解析器对此有要求的.
3 非法的字符
在开始和结束标记之间的文本称为解析过的字符数据或者PCDATA,可以在数据中使用除了"<"和"&"以外的任意字符。
4 实体引用
& 的xml实体引用就是&<的xml实体引用就是 <>的xml实体引用就是>'(单引号)xm实体引用是'"(双引号)xml实体引用是&quto;我们也可以定义自己的实体引用,称为通用实体.在DTD中,可以将实体定义为:<! ENTITY personal "this is my person identify ">然后你就可以在你的xml文档中引用自己定义的实体引用:<person><mypersonal>&personal; </mypersonal></person>
5 CDATA部分:
<data><![CDATA[Idon'tknowhowtouse"<"and"&"inxml]]></>
以上就合法了,一般使用CDATA转义那些可能包含非法字符的大段的XML文本.除此之外,还可以将这和规则添加到DTD和 XML Schema中,我们以后会说的.
注意:解析器对<![CDATA[]]>段中的内容不做处理,原样显示。
6 XML中空白是有意义的.
在XML文档,最容易让人混淆的就是其中的空白字符.在使用HTML的时候,空白是没有什么意义的,如果有很多的空白(空格字符 )在一起,浏览器就将他们解
析为一个空白,但是我们可以用 来使得很多的空格存在.
在XML中空格有意义,而且有很多的方式来处理空白将空白最为元素的数据处理和处理两个元素标记之间的空白是有差别的.见下:
如果空白在元素的文本(PCDATA),
<data><mydata>It is whitespace</mydata></data>
代码中的单词is 和whitespace之间有三个空白,在浏览器中显示如下:
It iswhitespace(空白合并了)
但是,如果标记之间出现空白,就会采用不同的方式处理的.如:
<data> <mydata>It is whitespace</mydata> </data>
在data和mydata元素之间有3个空格,但是用浏览器看的时候,data和mydata之间的空白还是用的.