和XML对比之语法细节
除了上一篇文章中所说的可扩展之外,XML文档还常常被看做是文档的数据库化和数据的文档化。而以显示为主的HTML在这方面就要差一点,于是就造成了这两者的显著差异。
1. XML只能有一个根元素
在HTML中可以有多个根元素,但是在XML中只允许有一个根元素,也即是说HTML可以描述很多并列的信息,而XML只能描述一个,但是根元素内部的子元素是没有数量限制的。举个例子:HTML中可以有很多并列的table标签当作根元素,但是XML却可以唯一的一个根元素。
2. XML标签要求严格
l 开始标签必须要有一个结束标签配套
在HTML中可以直接使用<p><tr><td>等标签,而不用加结束标签,但是在XML中开始标签和结束标签必须配套。
l 空元素标签必须关闭
在HTML中可以使用<br><hr>等单标签而在XML中,空元素标签必须被关闭。空元素标签采用斜杠(/)来关闭
l 所有标签区分大小写
在HTML文档中,标签是不区分大小写的<tr><TR>是一样的,但是在XML中这两个是不同的标签,开始标签和结束标签的大小写形式必须一致。
l 所有的标签都必须合理嵌套
在XML中所有的标签都要成对出现,合理嵌套。
l 所有标签的属性值必须用双引号或者单引号括起来
在HTML中属性值可以加引号,也可以不加,在XML中即使是数字字符也必须要加双引号或单引号,例如<student name=”a”age=’18’>。
3. XML数据与显示分开
随便一个网页中的HTML源码中都掺杂着辅助显示的各种属性和标签,这给HTML的修改带来了很大的麻烦。然而由于XML不能描述页面的排版和表现形式,只用于描述数据和其结构,所以XML将数据和显示分开了,我们可以为这些数据设计不同的排版和表现形式,而数据本身不需要做任何修改。采用XML来表示数据,最大的好处就是方便人和计算机读懂XML文档,并处理这些数据。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用,一份数据可以应用于不同的场合。
正是由于XML的这些特性使得其非常擅长对数据的处理,所以读者会发现有道词典中的生词本导出是一个XML文件,谷歌阅读器的导出也是一个XML文件,eclipse里面的配置也是XML文件……我们可以这么认为,在软件开发过程当中只要涉及数据的保存、传输都可以考虑使用XML。