Schema简明教程

更新时间:2023-09-22 18:10:01 阅读量: 经管营销 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Schema 教程

XML Schema 是基于 XML 的 DTD 替代者。 XML Schema 描述 XML 文档的结构。

XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。 XML Schema 语言也可作为 XSD(XML Schema Definition)来引用。

在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML Schema。

您应当具备的基础知识

在继续学习之前,您需要对下面的知识有基本的了解:

? HTML / XHTML

? XML 以及 XML 命名空间 ? 对 DTD 的基本了解

什么是 XML Schema?

XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。

XML Schema:

? 定义可出现在文档中的元素 ? 定义可出现在文档中的属性 ? 定义哪个元素是子元素 ? 定义子元素的次序 ? 定义子元素的数目

? 定义元素是否为空,或者是否可包含文本 ? 定义元素和属性的数据类型

? 定义元素和属性的默认值以及固定值

XML Schema 是 DTD 的继任者

我们认为 XML Schema 很快会在大部分网络应用程序中取代 DTD。

理由如下:

? XML Schema 可针对未来的需求进行扩展 ? XML Schema 更完善,功能更强大 ? XML Schema 基于 XML 编写 ? XML Schema 支持数据类型 ? XML Schema 支持命名空间

XML Schema 使用 XML 语法

另一个关于 XML Schema 的重要特性是,它们由 XML 编写。

由 XML 编写 XML Schema 有很多好处:

? 不必学习新的语言

? 可使用 XML 编辑器来编辑 Schema 文件 ? 可使用 XML 解析器来解析 Schema 文件 ? 可通过 XML DOM 来处理 Schema ? 可通过 XSLT 来转换 Schema

XML Schema 可保护数据通信

当数据从发送方被发送到接受方时,其要点是双方应有关于内容的相同的“期望值”。

通过 XML Schema,发送方可以用一种接受方能够明白的方式来描述数据。

一种数据,比如 \,在某些国家被解释为11月3日,而在另一些国家为当作3月11日。

但是一个带有数据类型的 XML 元素,比如:

XML Schema 可扩展

XML Schema 是可扩展的,因为它们由 XML 编写。

通过可扩展的 Schema 定义,您可以:

? 在其他 Schema 中重复使用您的 Schema ? 创建由标准类型衍生而来的您自己的数据类型 ? 在相同的文档中引用多重的 Schema

一个简单的 XML 文档:

请看这个名为 \的 XML 文档:

George John

Reminder

Don't forget the meeting!

XML Schema

下面这个例子是一个名为 \的 XML Schema 文件,它定义了上面那个 XML 文档的元素:

note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading, body) 是简易类型,因为它们没有包含其他元素。您将在下面的章节学习更多有关复合类型和简易类型的知识。

对 XML Schema 的引用

此文件包含对 XML Schema 的引用:

xmlns=\

xmlns:xsi=\

xsi:schemaLocation=\>

George John

Reminder

Don't forget the meeting!

XSD - 元素

XML Schema 可定义 XML 文件的元素。

简易元素指那些只包含文本的元素。它不会包含任何其他的元素或属性。

定义简易元素

定义简易元素的语法:

此处 xxx 指元素的名称,yyy 指元素的数据类型。XML Schema 拥有很多内建的数据类型。

最常用的类型是:

? xs:string ? xs:decimal ? xs:integer ? xs:boolean ? xs:date ? xs:time

例子:

这是一些 XML 元素:

Smith 28

1980-03-27

这是相应的简易元素定义:

简易元素的默认值和固定值

简易元素可拥有指定的默认值或固定值。

这个例子也定义了带有一个限定的名为 \的元素。其值最小为 5 个字符,最大为 8 个字符:

数据类型的限定

限定 enumeration fractionDigits length maxExclusive maxInclusive maxLength minExclusive minInclusive minLength pattern totalDigits whiteSpace 描述 定义可接受值的一个列表 定义所允许的最大的小数位数。必须大于等于0。 定义所允许的字符或者列表项目的精确数目。必须大于或等于0。 定义数值的上限。所允许的值必须小于此值。 定义数值的上限。所允许的值必须小于或等于此值。 定义所允许的字符或者列表项目的最大数目。必须大于或等于0。 定义数值的下限。所允许的值必需大于此值。 定义数值的下限。所允许的值必需大于或等于此值。 定义所允许的字符或者列表项目的最小数目。必须大于或等于0。 定义可接受的字符的精确序列。 定义所允许的阿拉伯数字的精确位数。必须大于0。 定义空白字符(换行、回车、空格以及制表符)的处理方式。 XSD 复合元素

复合元素包含了其他的元素及/或属性。

什么是复合元素?

复合元素指包含其他元素及/或属性的 XML 元素。

有四种类型的复合元素:

? 空元素

? 包含其他元素的元素 ? 仅包含文本的元素 ? 包含元素和文本的元素

注释:上述元素均可包含属性!

复合元素的例子

复合元素,\,是空的:

复合元素,\,仅包含其他元素:

John Smith

复合元素,\,仅包含文本:

复合元素,\,包含元素和文本:

It happened on

如何定义复合元素?

请看这个复合 XML 元素,\,仅包含其他元素:

John Smith

在 XML Schema 中,我们有两种方式来定义复合元素:

1. 通过命名此元素,可直接对\元素进行声明,就像这样:

假如您使用上面所描述的方法,那么仅有 \可使用所规定的复合类型。请注意其子元素,\以及 \,被包围在指示器 中。这意味着子元素必须以它们被声明的次序出现。您会在 XSD 指示器 这一节学习更多有关指示器的知识。

2. \元素可以使用 type 属性,这个属性的作用是引用要使用的复合类型的名称:

如果您使用了上面所描述的方法,那么若干元素均可以使用相同的复合类型,比如这样:

您也可以在已有的复合元素之上以某个复合元素为基础,然后添加一些元素,就像这样:

本文来源:https://www.bwwdw.com/article/wccd.html

Top