XML schema学习笔记
2006-12-21 13:00
190 查看
XML schema学习笔记
写在前面的话,很多文章里面把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"哪个在前面,哪个在后面,那个一定有,哪个可以没用"这些结构,而不能说明"这个只能是数字,那个性别只能是男或女"这些数据类型的东东。
写在前面的话,很多文章里面把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"哪个在前面,哪个在后面,那个一定有,哪个可以没用"这些结构,而不能说明"这个只能是数字,那个性别只能是男或女"这些数据类型的东东。
相关文章推荐
- XML Schema学习笔记(二)
- XML Schema学习笔记
- XML schema 学习笔记
- 【转】XML Schema学习笔记详解WSDL types
- XML Schema教程 学习笔记
- XSD(XML Schema Definition)学习笔记
- xml 学习笔记 3.xml Schema
- XSD(XML Schema Definition)学习笔记
- 学习笔记——XML Schema定义属性
- 学习笔记——XML Schema内置数据类型
- XML Schema学习笔记
- 学习笔记——XML Schema简介及命名空间
- 学习笔记——XML Schema内置数据类型
- xml schema 学习笔记
- 学习笔记——XML Schema元素替换
- XML Schema学习笔记和注解-(转)
- 学习笔记——XML Schema数据类型
- XML Schema学习笔记(二)
- Spring学习笔记(三)—基于XML Schema的配置方式
- 【转帖】XML Schema学习笔记详解WSDL types