目录
发展历史
xml和html对比之可扩展
xml和html对比之语法细节
xml验证之dtd
xml语法结构
xml命名空间
dom4j读写配置文件
关于slt
和html对比之可扩展
相信对于xml而言更多的人比较熟悉html,随便打开一个网页然后右键查看源文件,那里面呈现的的就是为我们提供数据和样式的html代码。这篇文章就简要描述一下同样作为标记语言的html和xml他们之间的区别。
先从名字开始分析,之所以说xml是可扩展的标记语言相信通过下面两个例子读者就可以理解了。
html代码
<html><!--这是html文档--><head><title>学习xml</title></head><body>你好,xml</body></html>
xml代码
<?xml version="1.0" encoding="gb2312"><!--这是xml文档--><可扩展标记语言><题目>学习xml</题目><内容>你好,xml</内容></可扩展标记语言>
上面的例子中可以看出html文档中的各种标记是已经规定好的一套标记,而xml文档中的标记是用户自己规定的,只要符合xml的规范(在后面的文章中将详细讲解)用户可以随便定义自己的标签。
前一篇文章中已经介绍了sgml是一种在web发明之前就早已经存在的使用标记来描述文档资料的通用语言,而在web中由于sgml的庞大人们开始使用xml代替sgml。但不可否认的是html和xml都是从sgml发展而来的标记语言。因此,他们有共同点,比如相似的语法和标记的使用。不过html是在sgml定义下的一个描述性的语言,只是sgml的一个应用,其dtd(关于dtd将在下一篇文章中详细讲述,这里读者只需要知道dtd和标记的数量有关系就行了)作为标准被固定下来。
html的标签是固定的所以很难用来定义新的应用。“xml的设计出发点就是取sgml的优点,去除其复杂的部分,使其保持轻巧,可以在web上工作”----tim bray。所以说xml是sgml的一个简化版本,是sgml的一个子集,严格意义上说xml仍然是sgml,可以灵活的为其定义dtd。
也正是因为xml的可灵活扩展的特性才导致其在多个方面的应用。比如在ajax当中xmlhttpresponse对象大多数情况下返回的就是xml,还有在javaweb开发当中配置文件大多数也是以xml的形式来存储,还有在ejb当中采用web方式远程调用时首先读取的也是xml(虽然是wsdl形式的文件,但其本质也是xml)等等。这些都是利用了xml可扩展能够有效的存储数据的这个特点。
以上就是xml简明教程(2) 的内容。