震世界
霸占个.net的地方写JAVA

导航

 

        写在前面的话,很多文章里面把schema和XML Schema当成了一个东东,其实schema或XML schema泛指XML文档的模式,而XML Schema是schema中的一种。除XML Schema以外,DTD也是一种schema。
        在XML Schema出来之前,我们一直使用的是DTD来定义XML结构的方式。而DTD对于XML Schema来说最大的不足就是:DTD只能把内容类型定义为一个字符串。而XML Schema允许你把内容类型定义为整型、浮点型、数据型、布尔型或者许多其他的数据类型,而无须重定义。并且DTD的语法复杂,并且它不符合XML文件的标准。
其实通过一个简单的代码就能看出区别:
XML 文档:

<ID>k123456</ID>
DTD:
<!ELEMENT ID (#PCDATA)>
XML Schema:
<element name='ID' type='ProductCode'/>
<simpleType name='ProductCode' base='string'>
<pattern value='[A-Z]{1}d{6}'/>
</simpleType>
        通过上面我们看出,XML Schema片段中检查元素ID 的首字符是否为 A 到 Z 之间的字母,后面为六个阿拉伯数字。相反,DTD只是检查这些元素是否用字符串表示。 简单的说DTD只能说明XML"哪个在前面,哪个在后面,那个一定有,哪个可以没用"这些结构,而不能说明"这个只能是数字,那个性别只能是男或女"这些数据类型的东东。
posted on 2006-06-27 20:35    阅读(341)  评论(0)    收藏  举报