XMLSchema和XMLDTD的数据类型比较

XMLSchema和XMLDTD的数据类型比较,第1张

XMLSchema和XMLDTD的数据类型比较,第2张

与XML DTD相比,XML Schema的一个显著特征就是其对数据类型的支持。这完全是因为XML DTD提供的数据类型只有CDATA,Enumerated,NMTOKEN,NMTOKENS等10种内置(built-in)数据类型。这样少的数据类型通常无法满足文档的可理解性和数据交换的需要。XML Schema则不同,它内置了37种数据类型,强long,int,short,double等常用的数据类型,并通过将数据表示为由value space,lexical space和facet三部分组成的三元组而获得更大的灵活性。但是,XML Schema数据类型的真正灵活性来自于其对用户自定义类型的支持。XML Schema提供两种方式来实现数据类型的定义。

  (1)简单类型定义(simpleType),即在XML Schema内置的数据类型的基础上,或者在其他由XML Schema内置的数据类型继承或定义所得到的简单的数据类型(simpleType)的基础上,通过restriction,list或者union方式定义新的数据类型。

  (2)复合类型定义(complexType),该方法提供了一种功能强大的复杂数据类型定义机制,可以实现包括结构描述在内的复杂的数据类型。下面是一个以complexType定义实现关系模式中的表结构的例子。设有表T_C_Type(Psign,Count),其中Psign为CHAR数据类型,Count为NUMBER数据类型。则有complexType的定义:

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情