2XML Schema详解.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2XML Schema详解

XML Schema详解 理解Schema的数据类型 理解Schema的元素类型 理解验证与约束 什么是Schema XML Schema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了XML文档的结构和内容模式。 XML Schema规定XML文档实例的结构和每个元素/属性的数据类型。 解说:左边是数据库中的一些术语,右边是XML里面的一些术语。 SQL是结构化查询语言,查询数据,对数据进行操作的。 Xpath也是用来定位到某个特定元素。或者是某个特定元素的属性。比如说,在Jquery之前的版本支持XPath,从1.3之后就不支持这个了。 数据库对应的是xml的文档数据 对于表结构,这个抽象的概念,它就对应一个Schema ?xml version=1.0 encoding=UTF-8? element name=书本 type=书本类型/ complexType name=书本类型 element name=名称 type=string/ element name=作者/ /complexType”书本”,表示元素的名字叫书本 3:type=”书本类型”,是我自己定义的一种书本类型。这个类型是我自己定义的类型,complexType. 4:complexType:复杂类型。 5:这个复杂类型里面有两个元素,一个是名称、一个是作者。它们的类型都是字符串类型的。 整体来说,相当于我自定义了一个类,叫书本类型,在书本类型里面包含了两个元素,一个是名称,一个是作者。名称与作者都是字符串类型的。然后我再用自己定义的书本类型去定义书本这个元素。换句话书,书本这个元素就是书本类型的。 复杂类型,我们可以把它看作是一个java类。类里面的两个元素可以看成是类里面的两个成员变量或者是属性。 WebService其实会将这个xml转换成为类文件。 为什么要使用Schema DTD的局限性: 1:DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法) 2:DTD数据类型有限(与数据库数据类型不一致) 3:DTD不可扩展 4:DTD不支持命名空间(命名冲突) Schema的新特性: 1:Schema基于XML语法 2:Schema可以用能处理XML文档的工具处理。 3:Schema大大扩充了数据类型,可以自定义数据类型。 4:Schema支持元素的继承——Object——Oriented 5:Schema支持属性组。 解说:DTD本身不是一个xml文件,数据类型有限,与数据库的数据类型或者是java程序的数据类型存在比较大的差异性。DTD里面最常见的数据类型就是PCDATA,这个PCDATA如果要表示字符串,用它是比较恰当的。想表示一个整数,表示一个boolean类型,想表示日期,它本身就不应该是一个字符串,就应该是一个boolean类型或者一个日期类型,但是在DTD里面没有办法,它只有PCDATA这一种数据类型。 DTD的局了限性,就是Schema的一个优势。Schema本身基于xml的语法。 Schema的文档结构 ?xml version=”1.0”? xs:schema xmlns:xs=”http:/2001/XMLSchema” targetNamespace=http://mynamespace/myschema !—放入实际内容( /xs:schema 所有Schema文档使用schema作为其根元素。 用于构造schema的元素和数据类型来自/2001/XMLSchema命名空间 本schema定义的元素和数据类型属于http://mynamespace/myschema命名空间 解说:首先明确一点就是Schema本身是一个xml,它保存的后缀名是xsd文件。在Schema文档里面,它的根元素就是统一的都叫作xs:schema xs :这部分是命名空间,即xmlns:后面跟着的名字,这个名字是可以更改的。 Schema本身也是一个xml,那么它的正确性是谁来校验呢?其实最终验证Schema的是DTD.因为DTD本身是没有什么需要去验证的。因为DTD可以说是最原始或者说是最底层的东西。它是不需要别人去验证的。而Schema它本身去验证xml文档。它的规范性是通过DTD去验证的。 /2001/XMLSchema:这一名就是验证当前我这个Schema文档的命名空间的地址是什么。 targetNamespace:目标的命名空间. 本schema定义的元素和数据类型属于http://mynamespace/myschema命名空间 Schema是用来验证一个xml文档的。它用于验证xml文档的元素或

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档