XML2(3)

2019-04-22 21:52

单独文件的 DTD

DTD 的定义内容也可以保存在单独的文件中,称为 DTD 文件,一般这类文件的扩展名为 DTD。

例如,上面的例子也可以保存为两个文件

DTD 文件 booklist.dtd

XML 文件 booklist.xml

1234 轻松学习 XML

SYSTEM 后面为 DTD 文件的绝对或者相对路径。

公共的 DTD

有一些公共定义的 DTD 可以直接使用,例如,在 xml 诞生之后,W3C 定义了基于 XML的 xHTML 规范,对 HTML 的书写进行了更为严格的限制,这个限制有两个规范组成。

Strict 为严格的规范 Transitional 为过渡规范

这两个规范都采用 DTD 进行定义。 在使用中,在需要进行检查的网页前声明 DTD 的定义,在 ASP.NET 中,每一个 .ASXP 文件的开头部分都为

上面的声明中,PUBLIC 表示公共定义,后面的 -//W3C//DTD XHTML 1.0 Transitional//EN 为定义的名称。最后一部分为定义的网址。

对于 IE 浏览器,当网页中包含这个定义的时候,工作在标准模式,浏览器的行为会尽可能靠近 W3C 的规范。没有这个定义的时候,工作在怪异模式。也就是 IE 的默认工作方式中。可能与 W3C 的定义不一致。所以我们的网页一定要在开头加上这个定义。

Xml Schema

Xml Schema 为 W3C 专门为 XML 定义的 XML 架构定义语言,提供了比 DTD 更为强大的定义能力。新的 XML 架构定义都已经采用了 Xml Schema 为定义语言。

如何写一个最简单的XML Schema文档呢?

定义简单的 Schema

hello.xml

-------------------

Hello World!!

(一个根元素:greeting;且这个元素不含属性,无子元素,内容是字符串。)

hello.xsd

----------

XML Schema文档后缀名是.xsd,完全符合XML语法,根元素是schema,命名空间xmlns:xsd=\,用元素定义实例文档中的元素,如greeting。

XML 的命名空间

Xmlns 为 Xml namespace 的简写,即 XML 命名空间。在 XML 中为了保证命名空间的唯一性,使用基于域名的命名空间命名方式。上面的 http://www.w3.org/2001/XMLSchema 即为命名空间的名称,虽然非常类似于网址,但是实际上在此处表示命名空间的名称。

由于命名空间比较长,所以在 XMLSchema 中经常使用命名空间的简写,xmlns:xsd 中的 xsd 就是这个命名空间的简写形式。

简单类型和复杂类型

在 XMLSchema 中,定义的核心概念就是简单类型和复杂类型 简单类型就是既不包含子元素,也不包含属性的类型。 复杂类型是可能包含子元素,或者可能包含属性的类型

假设实例文档是如下的:

customer.xml -----------

teiki

No.237, Road Waitan, Shanghai

由于 customer 包含子元素 name 和 address,所以为复杂类型。

name 和 address 既没有包含子元素,又没有包含属性,所以为简单类型。

复杂类型必须使用 complexType 进行说明。并声明其中包含的子元素或者属性。

则可以写出以下的XML Schema文档: customer.xsd ----------------

1:

2: 5:

6: 9: 10: 11:

实例文档customer.xml中,元素含有两个子元素,所以我们在Schema文档中采用ComplexType来定义该元素。

sequence表示子元素依次出现的顺序。

type 属性用来声明简单元素的类型,在 XMLSchema 中,预定义了多种基本的数据类型,例如:字符串类型xs:string,整数类型xs:integer,布尔类型 xs:Boolean等等。在 XML中没有字符类型。

如果包含更复杂的子类型,则反复使用上面的原则。

这次我们给出一个更加复杂一些的文档:

address.xml ---------------

Teiki

Zhejiang Hangzhou

Xilu Road, No.121, 7F

为此,我们需要一个更加复杂一点的Schema文档:

address.xsd -----------------

1:

2:

4: 6:

7: 20: 21: 22:

23:

通过 ref 简化复杂的 XMLSchema

不过,我们还可以采用ref元素来重新编写这个Schema文档: address2.xsd

----------------------

1:

2:

4: 6:

7: 10: 11: 12:

13: 15:

16: 20: 21: 22:

23:

使用ref元素可以直接将其指向另一个模块,使文档更加具有可读性。


XML2(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年青海公务员考试行测练习题五十九 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: