资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,Schema,Schema,1,主要内容,什么是,Schema?,Schema,的数据类型?,XML,要素的,Schema,定义?,小结,重点:,元素和属性的,Schema,定义!,扩展内容:正则表达式。,主要内容什么是Schema?,2,XML Schema,为了解决,DTD,的缺点,,W3C,的人员努力开发一个更为强大的数据模型。,1998,年,,W3C,发布了两个注释,提出了关于描述文档结构方面的,XML,词汇。第一个叫做,XML Data,,第二个叫做,DCD,。,Microsoft,参考,XML Data,和,DCD,二者的提议设计了二者的一个组合,形成了,Microsoft,版本的,XML Schema,,叫做,XDR,XML Schema,的,W3C,推荐标准叫做,XSD(XML Schema Definition Language),。它是一个更广泛的规范,并且具有非专有的优点,XML Schema 为了解决DTD的缺点,W3C的人员努力,3,什么是,Schema,XML Schema,是用一套预先规定的,XML,元素和属性创建的,这些元素和属性定义了,XML,文档的结构和内容模式。,XML Schema,规定,XML,文档实例的结构和每个元素,/,属性的数据类型。,数据库,XML,文档数据,表结构,SQL,XPath,Schema,等价,等价,等价,什么是SchemaXML Schema是用一套预先规定的XM,4,什么是,Schema,(续),书剑恩仇录,金庸,XML,DTD,Schema,什么是Schema(续)element name=“书本”,5,为何要,Schema,DTD,的局限性,DTD,不遵守,XML,语法,(写,XML,文档实例时候用一种语法,写,DTD,的时候用另外一种语法),DTD,数据类型,有限(与数据库数据类型不一致),DTD,不可扩展,DTD,不支持命名空间(命名冲突),Schema,的新特性,Schema,基于,XML,语法,Schema,可以用能处理,XM,L,文档的工具处理,Schema,大大扩充了数据类型,,可以自定义数据类型,Schema,支持元素的继承,Object-Oriented,ish,Schema,支持属性组,为何要SchemaDTD 的局限性,6,Schema,的文档结构,所有,Schema,文档使用,schema,作为其根元素,用于构造,schema,的元素和数据类型来自,http:/www.w3.org/2001/XMLSchema,命名空间,本,schema,定义的元素和数据类型属于,http:/mynamespace/myschema,命名空间,目标命名空间不一定遵循本,Schema,(若是,qualified,则必须遵循),Schema的文档结构?xml version=1.0,7,Schema,的数据类型,简单类型,内置的数据类型(,built-in data types,),基本的数据类型,扩展的数据类型,用户自定义数据类型(通过,dataType,定义),复杂类型(通过,complexType,定义),Schema的数据类型简单类型,8,Schema,的数据类型基本数据类型,数据类型,描述,string,表示字符串,Boolean,布尔型,decimal,代表特定精度的数字,float,表示单精度,32,位浮点数,double,表示双精度,64,位浮点数,duration,表示持续时间,dateTime,代表特定的时间,time,代表特定的时间,但是是每天重复的,date,代表日期,hexBinary,代表十六进制数,anyURI,代表一个,URI,,用来定位文件,NOTATION,代表,NOTATION,类型,anyType,对数据类型没有限制,Schema的数据类型基本数据类型数据类型描述string,9,Schema,的数据类型扩展的数据类型,数据类型,描述,ID,用于唯一标识元素,IDREF,参考,ID,类型的元素或属性,ENTITY,实体类型,NMTOKEN,NMTOKEN,类型,NMTOKENS,NMTOKEN,类型集,long,表示整型数,大小介于,-9223372036854775808,和,9223372036854775807,之间,int,表示整型数,大小介于,-2147483648,和,2147483647,之间,short,表示整型数,大小介于,-32768,和,32767,之间,byte,表示整型数,大小介于,-128,和,127,之间,Schema的数据类型扩展的数据类型数据类型描述ID用于唯,10,Schema,的数据类型数据类型的特性,特性,描述,enumeration,在指定的数据集中选择,限定用户的选值,fractionDigits,限定最大的小数位,用于控制精度,length,指定数据的长度,maxExclusive,指定数据的最大值(小于),maxInclusive,指定数据的最大值(小于等于),maxLength,指定长度的最大值,minExclusive,指定最小值(大于),minInclusive,指定最小值(大于等于),minLength,指定最小长度,Pattern,指定数据的显示规范,Schema的数据类型数据类型的特性特性描述enumera,11,Schema,的元素类型,schema,element,attribute,group,attributeGroup,simpleType,simpleContent,complexType,choice,list,union,sequence,restriction,Schema的元素类型schemachoice,12,schema,元素,作用:包含已经定义的,schema,用法:,属性:,xmlns,targetNamespace,elementFormDefault,schema元素作用:包含已经定义的schema,13,element,元素,作用:声明一个元素,p244,属性:,name,type,ref,minOccurs,maxOccurs,substitutionGroup,Fixed(,待定,),default,示例:,element元素作用:声明一个元素p244xs:elem,14,group,元素,作用:把一组元素声明组合在一起,以便它们能够一起被复合类型应用,p246,属性:,name/ref,示例:,group元素作用:把一组元素声明组合在一起,以便它们能够一,15,attribute,元素,作用:声明一个属性,p245,属性:,name/type/ref/use,示例:,attribute元素作用:声明一个属性p245xs:co,16,attributeGroup,元素,作用:把一组属性声明组合在一起,以便可以被复合类型应用,p246,属性:,name/ref,示例:,attributeGroup元素作用:把一组属性声明组合在一,17,choice,元素,作用:允许唯一的一个元素从一个组中被选择,p247,属性:,minOccurs/maxOccurs,示例:,choice元素作用:允许唯一的一个元素从一个组中被选择p2,18,作业,P257,第,6,小题,将约会计划用,schema,描绘,.,作业P257第6小题,19,simpleType,元素,作用:定义一个简单类型,它决定了元素和属性值的约束和相关信息,p239,属性:,name,内容:应用已经存在的简单类型,三种方式:,restriction,限定一个范围,list,从列表中选择,union,包含一个值的结合,示例:,simpleType元素作用:定义一个简单类型,它决定了元素,20,simpleType,元素(续),1.,子元素为:,定义一个约束条件,p241,simpleType元素(续)xs:simpleType,21,simpleType,元素(续),2.,子元素为:,p241,从一个特定数据类型的集合中选择定义一个简单类型元素,simpleType元素(续)xs:simpleType,22,simpleType,元素(续),3.,子元素为:,p242,从一个特定简单数据类型的集合中选择定义一个简单类型元素,simpleType元素(续)xs:schema xmln,23,simpleType,元素(续),simpleType元素(续)xs:simpleType,24,complexType,元素,作用:定义一个复合类型,它决定了一组元素和属性值的约束和相关信息,p243,属性:,name,示例:,complexType元素作用:定义一个复合类型,它决定了一,25,complexType,与,simpleType,区别,simpleType,类型的元素中不能包含元素或者属性。,当需要声明一个元素的子元素和,/,或属性时,用,complexType,;,当需要基于内置的基本数据类型定义一个新的数据类型时,用,simpleType,。,complexType与simpleType区别simple,26,simpleContent,元素,p248,作用:应用于,complexType,,对它的内容进行约束和扩展。,示例:,simpleContent元素p248作用:应用于compl,27,sequence,元素,p247,作用:给一组元素一个特定的序列,示例:,sequence元素p247作用:给一组元素一个特定的序列,28,用,schema,的数据及元素类型声明,XML,文档的元素和属性,声明元素,声明属性,用schema的数据及元素类型声明XML文档的元素和属性声,29,声明元素的示例,声明一个元素,声明元素的示例xs:element name=cat,30,声明元素的方法,使用内置的数据类型,声明元素的方法使用内置的数据类型xs:element na,31,声明元素的方法(续),使用用户定义的,simpleType,声明元素的方法(续)使用用户定义的simpleTypexs,32,声明元素的方法(续),引用已经定义的元素,声明元素的方法(续)引用已经定义的元素 xs:c,33,声明元素的方法(续),使用,complexType,声明元素的方法(续)xs:element name=pe,34,声明属性的方法,required,、,optional,、,prohibited,简单类型,复杂类型,声明属性的方法xs:attribute name=nam,35,Schema,样例详解,子元素,shipTo,billTo,coment,items,属性,orderDate,Schema样例详解xs:schema xmlns:xs=,36,Schema,样例详解(续),Schema样例详解(续)xs:complexType n,37,Schema,样例详解(续),Schema样例详解(续)xs:complexType n,38,Schema,样例详解(续),Schema样例详解(续),39,分析,XML,实例,书写,Schema,文件,张三,男,20,李四,女,19,王二,男,21,分析XML实例,书写Schema文件?xml versio,40,小结,XML,已经应用到很多场合,而且其应用会越来越广泛,XML,应用于数据交换领域,XML,应用于,Web,服务,XML,应用于内容管理,XML,应用于,Web,集成,XML,应用于配制,从总体上介绍了,XML,基本内容,然后介绍了,XML,中的常用术语,再后较详细的举例说明了,XML,的基本语法,讲述了,DTD,和,XML Schema,。,小结 XML已经应用到很多场合,而且其应用会越来越广泛,41,小结,一个合法的,XML,文档必然是结构完整的,结构完整的,XML,文档不一定是合法的。,DTD,包含一套用来描述
展开阅读全文