数据访问层设计_4.灵活运用XML Schema

1.XML Schema

XML Schema用来描述XML文档合法结构、内容和限制。XML Schema由XML1.0自描述,并且使用了命名空间,有丰富的内嵌数据类型及其强大的数据结构定义功能,充分地改造了并且极大地扩展了DTDs(传统描述XML文档结构和内容限制的机制)的能力,将逐步替代DTDs,成为XML体系中正式的类型语言,同XML规范、Namespace规范一起成为XML体系的坚实基础。

2.XML Schema的组件

XML Schema由诸如类型定义和元素声明的组件组成,可以用来评估一个格式良好元素和属性信息的有效性。XML Schema是Schema组件的集合,这些组件分为三组:基本组件、组件和帮助组件。其中基本组件包括简单类型定义、复杂类型定义、属性声明和元素声明;组件包括属性组、完整性约束定义、模型组和符合声明;帮助组件包括注释、模型组、小品词、通配符和属性使用。Schema组件详细说明了抽象数据模型的每个组件的严格语义,每个组件在XML中的表示,一个XML Schema文档类型的DTD和XML Schema引用。

3.XML Schema规范

3.1 XML Schema规范的三个组成部分

XML Schema提供了创建XML文档必要的框架,详细说明了一个XML文档的不同元素和属性的有效结构、限制和使用类型。XML Schema规范由如下三个部分组成。

**(1)XML Schema Part0:Primer。**一个非标准化的文档,提供了XML Schema的一个简单可读的描述,目的是快速地理解如何利用XML Schema语言创建一个Schema(框架)。

**(2)XML Schema Part1:Structures。**这一部分详细说明了XML Schema定义语言,这个语言为描述XML1.0文档的结构和内容限制提供了便利,包括开发了XML Namespace(命名空间)的使用。

**(3)XML Schema Part2:Datatypes。**这一部分定义了可用于XML Schema和其它XML规范中的定义数据类型的XML1.0文档类型定义(DTDs)的一个超集。这部分提出了标准的数据类型内容集合,其中讲述了目的、需求、范围和术语。XML Schema与DTD相比,有其独特的特点,提供了丰富的数据类型,实现了继承和复用,与命名空间紧密联系,易于使用。

3.2XML Schema规范提供的数据类型

与DTD不同,XML Schema规范提供了丰富的数据类型。其中不仅包括一些内嵌的数据类型,如string、integer、Boolean、time和date等,还提供了定义新类型的能力,如complexType和simpleType。开发者可以利用内嵌的数据类型和用户定义的数据类型,有效地定义和限制XML文档的属性和元素值。

3.3支持继承

XML Schema支持继承是它的另一特点。可以利用从已经存在的Schema中获得某些类型而构造新的Schema,也可以在不需要时使获得的类型无效。同时,XML Schema能将一个Schema分成单独的组件,这样,在写Schema时,就可以正确地引用已经定义的组件。继承性使得软件复用更加有效,帮助开发者避免了每一次创建都要从零开始,极大地提高了软件开发和维护的效率。

XML Schema与XML Namespace紧密联系,使得在一个命名空间中创建元素和属性非常容易。这种联系简化了使用多个命名空间定义多个Schema的XML文档的创建和验证文档有效性。

相关推荐
顺风尿一寸6 分钟前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
程途知微9 分钟前
JVM运行时数据区各区域作用与溢出原理
java
华仔啊2 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
xiaoye20185 小时前
Lettuce连接模型、命令执行、Pipeline 浅析
java
beata8 小时前
Java基础-18:Java开发中的常用设计模式:深入解析与实战应用
java·后端
Seven978 小时前
剑指offer-81、⼆叉搜索树的最近公共祖先
java
雨中飘荡的记忆1 天前
保证金系统入门到实战
java·后端
Nyarlathotep01131 天前
Java内存模型
java
暮色妖娆丶1 天前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试