1、Web Service XMLWeb Service XML一XML文档分析1.1 XML声明1.2 注释1.3 元素1.4 属性1.5 CDATA Section:转义 二XML命名空间2.1 XML命名空间实例 2.3 XML缺省命名空间2.4 Prefixes2.5 Qualified Names:限定名(QName)三W3C XML Schema基础3.1 XML Schema DocumentDocument Type Definition (DTD文档类型定义)也可以用来描述和验证XML文档的实例,但是在Web Services中使用XML Schema,主要的原因是DTD没有能说
2、明数据类型。 XML Schema定义了标记语言中使用的元素和特性、如何排序与嵌套、以及数据类型。 3.2 简单类型 简单类型类似与java原始类型,都是为原子类型。简单元素类型不能包含其它元素。下图定义了XML模式类型层次结构: 3.3 复杂类型 复杂类型定义了如何组织包含有其他元素的元素。例如,上面例子中USAddress类型属于一个复杂类型的定义。3.3.1 元素序列(sequence)3.3.2 特性(Attributes)3.3.3 出现次数的约束(Occurrence Constraints)3.3.4 All元素 3.4 全局元素(Global Elements)全局元素要声明成
3、schema元素的直接元素,而不是作为复杂元素的子元素来声明。可以定义多个全局元素下面定义两个全局元素:purchaseOrder和address,这样就允许用户创建以address或者purchaseOrder为根元素的XML文档。schema xmlns=http:/www.w3.org/2001/XMLSchema xmlns:mh=http:/www.Monson-H targetNamespace=http:/www.Monson-H . 3.5 限定元素和非限定元素(Qualified and Unqualified) 全局元素和全局特性必须是限定的,就是必须使用前缀或者是默认命名
4、空间来限定。 elementFormDefault=qualified ,在任何XML实例中,必须使用前缀限定targetNamespace中所有的局部元素,还有一种取值是:“unqualified“,表示可以不限定局部元素。同样attributeFormDefault针对于属性 3.6 指定模式和确定模式的位置(Assigning and Locating) 解析器要用模式来检验XML文档是否符合具体的标记语言,为根据一个或多个模式检验XML文档,用户需要是定使用的模式,通过schemaLocation特性指定模式的位置,可以实现此目的。 下面是一个XML文档实例;第二个命名空间:xmlns
5、:xsi=http:/www.w3.org/2001/XMLSchema-instance是XML schema-instance namespace,定义了一些特性,包括xsi:schemaLocation和xsi:type,这里的xsi:schemaLocation的含义:帮助XML处理程序确定XML文档实例使用的实际物理模式文档的位置。 同样可以定义多个模式,将命名空间和相应的模式文件对应起来。例如:将http:/www.w3.org/2001/XMLSchema-instance命名空间和http:/www.w3.org/2001/XMLSchema.xsd模式文件对应起来,告诉解析器
6、用XMLSchema.xsd来验证命名空间限定的元素。 A 923 AMAZON.COM 四高级W3C XML Schema4.1 复杂类型的继承性4.1.1 Extension 说明USAddress类元素扩展了Address元素,为它添加了state元素和zip元素。 4.1.2 Restriction 通过限制,可以重新定义或者省略某些元素和特性,并且列出其他所有元素和特性。 4.1.3 Polymorphism and Abstract Base Types(多态和抽象基类型)Schema定义:使用基类定义 XML文档:使用派生类声明 Amazon.co.uk Ridgmont Roa
7、d Bedford United Kingdom MK43 0ZA A 1516 2nd Ave 90952 4.1.4 抽象和最终负载类型(Abstract and Final Complex)表示不能直接在文档实例中直接使用 表示不能被派生 4.2 简单类型的继承性简单类型定义通过pattern来进行模式匹配,从而限定取值类型 枚举类型列出所有可以出现的值 4.3 列表类型与联合类型列表类型可以不包含或者包含多个item CA NY FL AR NH联合类型允许多种简单类型: 下面是有效的联合类型:CA NJ AK94108下面是无效的联合类型:location94108 CA 55401
8、1 MN 4.4 匿名类型 可以将元素声明与复杂类型或者简单类型的声明组合在一起创建一个匿名类型,它不能被应用,所以一般用于嵌套在复杂类型中的声明。正常的声明方式: 下面是匿名类型的声明 4.5 导入模式和包含模式 Import(导入)允许用户从不同的命名空间组合;include(包含)允许用户从相同的命名空间组合模式。 .因为PurchaseOrder类型依赖于Address类型,所以需要将地址标记模式导入倒订购单模式中。其中addr.xsd中targetNamespace=http:/www.Monson-HtargetNamespace=http:/www.Monson-H Book和Total Schema.PurchaseOrder Schema包含了相同命名空间的Book和Total Schema导入了不同命名空间的ADDR schema
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1