schema学习

xml schema是用一套预先规定的xml元素和属性创建的,这些元素和属性定义了xml文档的结构和内容模式,规定了xml文档实例的结构和每个元素的数据类型.

 

DTD不遵守xml语法,DTD数据类型有限,DTD不可扩展,DTD不支持命名空间.

 

schema基于xml语法,其实就是xml文档,扩充了数据类型,可以自定义数据类型,支持元素继承,支持属性组.

 

所有的schema文档都是用schema作为根元素.

用于构造schema元素和数据类型全部来自http://www.w3.org/2001/XMLSchema命名空间.

本schema定义的元素和数据类型属于http://mynamespace/myschema命名空间.

 

schema的基本数据类型:

string,boolean,decimal,float,double,duration(表示持续时间),dateTime(表示特定的时间),

time(表示特定的时间,但是是每天重复的),date(表示日期),hexBinary(表示16进制),

anyURL(表示一个url),NOTATION(表示符号),ID(表示唯一的标识),IDREF(参考ID类型的元素或属性),

ENTITY(实体类型),NMTOKEN,NMTOKENS,long,int,short,byte,enumeration(枚举),

factionDigital(限定最大的小数位,用于控制精度),length,maxExclusive(最大值,不包括该值),

maxInclusive(最大值,包括该值),maxLength,minExclusive,minInclusive,minLength,

pattern(指定数据的现实规范).

 

schema的元素类型:

schema元素,<xs:schema>,有xmlns,targetNamespace属性.

 

element元素<xs:element> 的属性:name,type,ref,minOccurs(最小显示次数),

maxOccurs(最大显示次数),substitutionGroup(替换,取代),fixed,default.

 

group元素<xs:group>的属性有name,ref.

 

attribute元素<xs:attribute>有name,type,ref,use属性.

 

attributeGroup元素有name,ref属性.

 

simpleType元素:定义一个简单类型,决定了元素和属性值的约束和相关信息.有name属性.

内容有三种方式:restrict(约束限定一个范围),list(列表进行选择),union(结合).

<xs:restrict>定义一个约束条件.

   <xs:restriction base="xs:integer">      ---代表内容为integer类型,并且为0到100闭区间.
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
   </xs:restriction>

 

<xs:list>从一个特定数据类型的集合中选择定义一个简单类型元素.

<xs:list itemType = "xs:date"/>

 

simpleType类型的元素中不能包含元素和属性.

当需要声明一个元素的子元素或属性时,用complexType.

当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType.

 

simpleContent元素,应用于complexType,对它的内容进行约束和扩展.该元素下不包含子元素.

 

<xs:choice>元素,允许唯一的一个元素从一个组中被选择.

 

sequence,特定的序列.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值