《第四讲Schema课件讲课资料》由会员分享,可在线阅读,更多相关《第四讲Schema课件讲课资料(28页珍藏版)》请在金锄头文库上搜索。
1、Schema,西源软件培训中心,回顾,XML是可扩展的,即可以定义自己的一组标签,并使其他的人或程序能够理解这些标签DTD指定了XML文档的语法结构,因此,使XML解析器能够理解和解释文档的内容DOCTYPE标识加SYSTEM关键字用于在xml文件中引用dtd文件DTD分为两类:外部DTD和内部DTD,回顾,实体使我们能够为大段文本创建一个别名,这样,在文档中,我们只需引用此别名就可以引用相同的一段文本命名空间使我们能够组合来自不同源的文档,并可以识别元素或属性的源,目标,理解定义Schema了解Schema和DTD掌握XMLSchema中的元素理解验证带有Schema的XML文档,Schem
2、a的必要性,XMLSchema是W3C规范,用于定义xml文件以改善DTD的一个子集对DTD的许多不足之处进行了改善,如隐晦的语法、数据类型缺乏、封闭的内容模型以及不支持命名空间XMLSchema支持广泛的数据类型,如整型、浮点型、日期和时间支持其他功能,如开放内容模型和命名空间集成,XMLSchema的优势,使用XML语法创建,所以可以使用相同的软件工具处理XMLSchema和XML实例所需的数据管理和数据行政管理支出较少,使得总体规划支出较低由于XMLSchema是在NamespaceRecommendation(命名空间建议)之后定稿的,所有命名空间的概念可以为设计所使用并涵盖。因此,使
3、用XMLSchema可以定义利用命名空间声明的词汇集,XMLSchema的优势,使用XMLSchema能够根据内置和用户定义的数据类型来验证文本元素内容使用XMLSchema能够轻松创建复杂且可重用的内容模型使用XMLSchema能够建立概念模型,如对象继承和类型置换,Schema示例,命运之星西德尼谢尔顿故事出版社125元,Book的属性,DTD与Schema,DTD,SGML,定义内容模型,有效顺序和元素嵌套,有限的属性数据类型,5,hello,包含内容?,内容为数字?,?,有效,DTD的限制,DTD是使用非XML语法编写的DTD不可扩展不支持命名空间只提供非常有限的数据类型,Schema
4、克服了这些限制,并允许Web应用程序更健壮地交换XML数据,XMLSchema的功能,XMLSchema文档是使用XML语法创建的,所以无需学习含义模糊的语言可以像任何其他XML文档一样传递和操作提供更丰富的数据类型,如布尔型、数字、日期和时间、URI、整型、小数、实数以及时间间隔提供原型,允许使用预先存在的数据类型来定义用户自定义数据类型能够进行属性分组,所有元素都可以具有共同的属性提供可完善原型,Schema支持的数据类型,XMLSchema数据类型,Schema支持的数据类型,从基本的内置数据类型(称为basetype数据类型)可以生成其他数据类型,XMLSchema中的元素,Schem
5、a中的元素或属性使用和标签来声明,Schema元素,xmlns,要使用任意一种XMLSchema数据类型,需指定XMLSchema数据类型的命名空间,属性,XMLSchema中的元素,数据类型,允许作为数据类型的值,charbooleanintfloatnumber,语法:,XMLSchema中的元素,元素,type,minOccurs,maxOccurs,属性,minOccurs和maxOccurs之间的关系,XMLSchema中的元素,属性,name,minOccurs,maxOccurs,attribute元素,type,default,required,group元素,.,any属性,
6、name,id,XMLSchema中的元素,simpleType元素,.,ComplexType元素,包含属性和其他元素,.,示例-XMLSchema,此文件定义学生信息并保存为class.xsd,示例-XMLSchema(续),可以将class.xsd文件插入XML文档中,如下所示,带命名空间的Schema,带命名空间的Schema,带命名空间的Schema,陈列中关村大街123号北京100099友人南京路8号上海95819,带命名空间的Schema,急,我的鸟不叫了!Birdlouder3108.95小孩勿食电子鸟笼1239.981999-05-21,总结,根据W3C,Schema是“一组用于约束结构和清晰表达XML文档的信息集的规则”。Schema是用于描述数据库结构的模型XML从SGML继承了DocumentTypeDefinitions(文档类型定义,DTD)。DTD用于定义内容模型、有效顺序、元素嵌套以及有限程度的属性数据类型Schema克服了这些限制,并允许Web应用程序健壮地交换XML数据XMLSchema提供了一系列新功能,其中包括:XML语法用作创建XMLSchema文档的基础。更丰富的数据类型原型属性分组可完善原型,总结,常用Schema元素包括:element元素attribute元素simpleType元素complexType元素,