|
我们可以看到,DTD的语法相当复杂,并且它不符合XML文件的标准,自成一个体系。也就是说DTD文档本身并不是一个良好形式的XML文档,上面的关于DTD的介绍也仅仅是作了一个简介,目的是帮助大家能读懂DTD文件以及在必要时创建简单的DTD文件,因为现在很多的XML应用是建立在DTD之上的。
另外一个代替DTD的就是W3C定义的Schema,Schema从字面意义上来说,可以翻译成模式、大纲、计划、规划等等。它的基本意思就是说为XML文档制定一种模式。
Schema相对于DTD的明显好处是XML Schema文档本身也是XML文档,而不是像DTD一样使用自成一体的语法。这就方便了用户和开发者,因为可以使用相同的工具来处理XML Schema和其他XML信息,而不必专门为Schema使用特殊工具。Schema简单易懂,懂得XML语法、规则的人都可以立刻理解它。Schema的概念提出已久,但W3C的标准最近才出来,相应的应用支持尚未完善,但采用Schema已成为XML发展的一个趋势。
首先我们还是从最简单的例子着手来学习Schema的语法结构:
比如一个简单的XML文档如下:
<书本> <名称>天涯明月刀 <作者>古龙
如果用DTD的形式来定义该XML文档结构的话,可以如下所示:
<!ELEMENT 书本 (名称, 作者)> <!ELEMENT 名称 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)>
那么用Schema形式如何定义呢?见下面的代码:
<element name='书本' type='书本类型'/> <complexType name='书本类型'> <element name='名称' type='string'/> <element name='作者' type='string'/> </complexType>
可以注意的一点是,在Schema中,也是通过对元素的定义和元素关系的定义来实现对整个文档性质和内容的定义。同时需要注意的是,在Schema中,元素是通过它的名字和内容模 [1] [2] 下一页
|