本次课程内容 Schema Schema简介 模式文档和实例文档 模式文档元素定义 Rules Trust Data Proof g Data Logic Self. desc Ontology vocabulary I 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
S hc ema简介 XML 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不直接支持命名空间
S hc ema简介 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支持继承和扩充,类似面向对象思想
S hc ema简介 XML 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语言定义成以下三个部分 入门位于w3。rg/TR/xm/ schema-0,它介绍了XML 模式文档及其设计用途; n文档结构的标准位于w3rq/TR/ xmlschema-1,它说 明了如何定义XML文档的结构; 数据类型的标准位于y3org/TR/xm/ schema-2,它定 义了一些常用数据类型以及创建新类型的规则
S hc ema简介 XML Schema 语言定义成以下三个部分: 入门位于 w3.org/TR/xmlschema-0,它介绍了 XML 模式文档及其设计用途; 文档结构的标准位于w3.org/TR/xmlschema-1,它说 明了如何定义 XML 文档的结构; 数据类型的标准位于w3 org/TR/xmlschema w3.org/TR/xmlschema-2,它定 义了一些常用数据类型以及创建新类型的规则
Schema简介 XML Schema的软件以及工具支持情况 Apache的 Xerces Xml解析器 Refhttp://xml.apache.org/xerces-j XML Spy的支持情况: Refhttp://new.xmlspy.com/featuresschema 其他软件实现: Ref:http://www.w3.org/xml/schema.html (包括将DTD转换成 Schema的工具) Altova MapForce用于两个 schema间的映射,以及将 符合某一 schema的XML文件转换为符合另一个 schema的 XML文件 Altova Xmlspy可以实现数据库表结构到 schema的转换
S hc ema简介 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文件中没有给出目标命名空间 在 schema文件中的根元素 schema中给出名称为xsd的名称空间 "htD:/w.w3,.arg/2001/ SCHema",用它来限制所有XML Schema的元素和属性 Kxsd:schemaxmins:xsd=http://www.w3.org/2001/xmlschema"> K/xsd: schema> Schema1.xsd 件
模式文档和实例文档 模式文档是包含结构的文档 是包含结构的文档,以.xsd作为后缀名;而实例 文档是包含实际的 XML 数据的文档 通过名称空间联系模式文档和实例文档 Schema文件中没有给出目标命名空间 在schema文件中的根元素schema中给出名称为xsd的名称空间 "http g ://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文件的位置 ? xml version="1.0"?〉 memoriesxmins:xsi=http://www.w3.org/2001/xmlschema-instance xsi: noNamespace SchemaLocation=schema 2. xsd> 用来校验该实例文档的 a文档 sample schema. xsd schemaInstance2 xml
模式文档和实例文档 通过名称 间联系模式文档和实例文档 空间联系模式文档和实例文档 在实例文档中: 将xmlns:xsi指向所有XML实例文件符合的名称空间,URI 为 "http://www w3 org/2001/XMLSchema http://www.w3.org/2001/XMLSchema -instance instance " xsd:noNamespaceSchemaLocation属性给出了URI对应 的xml schema文件的位置 … 用来校验该实例文档的 schema文档 sample schema2.xsd schemaInstance2.xml
模式文档和实例文档 通过名称空间联系模式文档和实例文档 Schema文件中给出目标命名空间 模式文档可以被看做一个类型定义和元素声明的集合(词汇表), 他们的名字被归属于一个指定的命名空间,这个命名空间称为 月标命名空间 目标命名空间使我们能够从不同的词汇表中区分定义以及声明 n通过属性 targetNamespace设置目标名称空间的值 XML实例文件中通过指定 XML Schema的位置并且定义名 称空间来引用 XML Schema的定义 通过属性 schemalocation指明 XML Schema的位置
模式文档和实例文档 通过名称 间联系模式文档和实例文档 空间联系模式文档和实例文档 Schema文件中给出目标命名空间 模式文档可以被看做一个类型定义和元素声明的集合(词汇表), 他们的名字被归属于 个指定的命名空间 他们的名字被归属于 一个指定的命名空间,这个命名空间称为 目标命名空间 目标命名空间使我们能够从不同的词汇表中区分定义以及声明 通过属性targetNamespace设置目标名称空间的值 XML实例文件中通过指定XML Schema的位置并且定义名 称 间来引用 空 XML Schema的定义 通过属性schemaLocation指明XML Schema的位置