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的元素和属性 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> … </xsd: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, 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 <?xml version="1.0"?> <memories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema2.xsd"> … </memories> 用来校验该实例文档的 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的位置