长空待击

« Previous day (六月 26, 2006) | Main | Next day (六月 28, 2006) »

http://blog.matrix.org.cn/xMatrix/date/20060627 星期二 2006年06月27日

XML中的文档格式验证规范

想想也已经用了很久的XML,大凡JAVA的应用中没有不用到XML的,但究竟XML是什么,一时之间也想不出个所以然,难道只是一种保存数据的方式吗,那么他与普通文本的区别又在哪里,难道只是因为流行所以才流行吗?
今天在看一个规范时,发现书中是用DTD来解释XML的格式的,可一时还真看不全懂,于是搜了一下,原来XML的文档格式验证规范已经有了三种,DTD/XML Schema/RELAX NG。其中DTD是最初的规范,但目前已不属于W3C的推荐规范了,XML Schema是目前W3C的推荐规范,而RELAX NG是一种新兴的规范(说新其实也已经有N年了),但不属于W3C的范围。
比较了一下三种规范,DTD是最简单的,但功能上就弱了一些,只能定义较粗的范围,XML Schema就比较复杂了,因而在功能上就非常强大,几乎可以做任何的限制,而RELAX NG提供了一种新方式,能以DTD的简单表达强大的功能,不过因为不是规范,用的也不广泛。
就个人而言,还是比较喜欢DTD,简单而又够用。

具体的比较就不说了,可以参考IBM的网站上的文章



Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.