高级Web技术 Web上的数据标准MML Schema
高级Web技术 Web上的数据标准XML —Schema
本次课程内容 Schema Schema简介 模式文档和实例文档 模式文档元素定义 Rules Trust Data Proof Data Logic Self- desc Ontology vocabulary E∽ doc RDF rdfschema XML +NS+ xmlschema Unicode URI
本次课程内容 ◼ Schema ◼ Schema简介 ◼ 模式文档和实例文档 ◼ 模式文档元素定义
Schema简介 XML Schema是W3c的推荐标准,于2001年5月正式 发布 XML Schema同DTD一样是负责定义和描述XML文档 的结构和内容模式 它可以定义XML文档中存在哪些元素和元素之间的关 系,并且可以定义元素和属性的数据类型。 XML Schema本身是一个XML文档,它符合XML语法 结构。可以用通用的XML解析器解析它 ■它使用XML名称空间而不是 DOCTYPE
Schema简介 ◼ XML Schema是W3C的推荐标准,于2001年5月正式 发布 ◼ XML Schema同DTD一样是负责定义和描述XML文档 的结构和内容模式 ◼ 它可以定义XML文档中存在哪些元素和元素之间的关 系,并且可以定义元素和属性的数据类型。 ◼ XML Schema本身是一个XML文档,它符合XML语法 结构。可以用通用的XML解析器解析它 ◼ 它使用 XML 名称空间而不是 DOCTYPE
Schema简介 DTD的缺陷: DTD是基于正则表达式的,描述能力有限 DTD没有数据类型的支持,在大多数应用环境下能力不足 DTD的约束定义能力不足,无法对XML实例文档作出更细致 的语义限制 DTD的结构不够结构化,重用的代价相对较高 DTD并非使用XML作为描述手段,而DTD的构建和访问并没 有标准的编程接口,无法使用标准的编程方式进行DTD维护。 DTD不直接支持命名空间
Schema简介 ◼ DTD的缺陷: ◼ DTD是基于正则表达式的,描述能力有限 ◼ DTD没有数据类型的支持,在大多数应用环境下能力不足 ◼ DTD的约束定义能力不足,无法对XML实例文档作出更细致 的语义限制 ◼ DTD的结构不够结构化,重用的代价相对较高 ◼ DTD并非使用XML作为描述手段,而DTD的构建和访问并没 有标准的编程接口,无法使用标准的编程方式进行DTD维护。 ◼ DTD不直接支持命名空间
Schema简介 XML Schema的优点: XML Schema基于XML,没有专门的语法 XML Schema可以象其他XML文件一样解析和处理 XML Schema支持一系列的数据类型(int、 float Boolean、date等) XML Schema提供可扩充的数据模型 XML Schema支持综合命名空间 XML Schema支持属性组 XML Schema支持继承和扩充,类似面向对象思想
Schema简介 ◼ XML Schema的优点: ◼ XML Schema基于XML,没有专门的语法 ◼ XML Schema可以象其他XML文件一样解析和处理 ◼ XML Schema支持一系列的数据类型(int、float、 Boolean、date等) ◼ XML Schema提供可扩充的数据模型 ◼ XML Schema支持综合命名空间 ◼ XML Schema支持属性组 ◼ XML Schema支持继承和扩充,类似面向对象思想
Schema简介 XML Schema语言定义成以下三个部分 n入门位于W3,rg/TR/ xmlschema-0,它介绍了XML 模式文档及其设计用途; 文档结构的标准位于W3org/7R/ xmlschema-1,它说 明了如何定义XML文档的结构; 数据类型的标准位于w3org/TR/xm/ schema-2,它定 义了一些常用数据类型以及创建新类型的规则
Schema简介 ◼ XML Schema 语言定义成以下三个部分: ◼ 入门位于 w3.org/TR/xmlschema-0,它介绍了 XML 模式文档及其设计用途; ◼ 文档结构的标准位于w3.org/TR/xmlschema-1,它说 明了如何定义 XML 文档的结构; ◼ 数据类型的标准位于w3.org/TR/xmlschema-2,它定 义了一些常用数据类型以及创建新类型的规则
Schema简介 XML Schema的软件以及工具支持情况 Apache的 Xerces Xml解析器 Ref:http://xml.apache.org/xerces-j XML Spy的支持情况: Ref:http://new.xmispy.com/featuresschema ■其他软件实现 Ref:http://www.w3.org/xml/schema.html (包括将DTD转换成 Schema的工具) A| tova MapForce用于两个 schema间的映射,以及将 符合某一 schema的XML文件转换为符合另一个 schema的 XML文件 Altova XMLsPy可以实现数据库表结构到 schema的转换
Schema简介 ◼ XML Schema的软件以及工具支持情况 ◼ Apache的Xerces XML解析器 Ref: http://xml.apache.org/xerces-j ◼ XML Spy的支持情况: Ref: http://new.xmlspy.com/features_schema ◼ 其他软件实现: Ref: http://www.w3.org/XML/Schema.html (包括将DTD转换成Schema的工具) ◼ Altova MapForce™ 用于两个schema间的映射,以及将 符合某一schema的XML文件转换为符合另一个schema的 XML文件 ◼ Altova XMLSPLY可以实现数据库表结构到schema的转换
模式文档和实例文档 模式文档是包含结构的文档,以,Xsd作为后缀名;而实例 文档是包含实际的XML数据的文档 通过名称空间联系模式文档和实例文档 Schema文件中没有给出目标命名空间 n在 schema文件中的根元素 schema中给出名称为xsd的名称空间 http://www.w3.org/2001/ymlschema,用它来限制所有XML Schema的元素和属性 xsd:schemaxmins:xsd=http://www.w3.org/2001/xmlschema"> K/xsd: schema> Schema1.xsd 文件
模式文档和实例文档 ◼ 模式文档是包含结构的文档,以.xsd作为后缀名;而实例 文档是包含实际的 XML 数据的文档 ◼ 通过名称空间联系模式文档和实例文档 ◼ Schema文件中没有给出目标命名空间 ◼ 在schema文件中的根元素schema中给出名称为xsd的名称空间 "http://www.w3.org/2001/XMLSchema" ,用它来限制所有XML Schema的元素和属性 … Schema1.xsd 文件
模式文档和实例文档 ■通过名称空间联系模式文档和实例文档 在实例文档中: 将xmns:xs指向所有XML实例文件符合的名称空间,UR为 http://www.w3.org/2001/xmlschema-instance xsd: noNamespace SchemaLocation属性给出了UR对应 的 xml schema文件的位置 memoriesxmins:xsi=http://www.w3.org/2001/xmlschema-instance xsi: noNamespace SchemaLocation=schema, xsd> memorles 用来校验该实例文档的 schema文档 sample schema. xsd schemalnstance2. xml
模式文档和实例文档 ◼ 通过名称空间联系模式文档和实例文档 ◼ 在实例文档中: ◼ 将xmlns:xsi指向所有XML实例文件符合的名称空间,URI为 "http://www.w3.org/2001/XMLSchema-instance" ◼ xsd:noNamespaceSchemaLocation属性给出了URI对应 的xml schema文件的位置 ◼ sample … 用来校验该实例文档的 schema文档 schema2.xsd schemaInstance2.xml
模式文档和实例文档 ■通过名称空间联系模式文档和实例文档 Schema文件中给出目标命名空间 模式文档可以被看做一个类型定义和元素声明的集合词汇表), 他们的名字被归属于一个指定的命名空间,这个命名空间称为 月标命名空间 n目标命名空间使我们能够从不同的词汇表中区分定义以及声明 n通过属性 targetNamespace设置目标名称空间的值 nXML实例文件中通过指定 XML Schema的位置并且定义名 称空间来引用 XML Schema的定义 通过属性 schemalocation指明 XML Schema的位置
模式文档和实例文档 ◼ 通过名称空间联系模式文档和实例文档 ◼ Schema文件中给出目标命名空间 ◼ 模式文档可以被看做一个类型定义和元素声明的集合(词汇表), 他们的名字被归属于一个指定的命名空间,这个命名空间称为 目标命名空间 ◼ 目标命名空间使我们能够从不同的词汇表中区分定义以及声明 ◼ 通过属性targetNamespace设置目标名称空间的值 ◼ XML实例文件中通过指定XML Schema的位置并且定义名 称空间来引用XML Schema的定义 ◼ 通过属性schemaLocation指明XML Schema的位置