第3章 DTD规范XML文档

上传人:豆浆 文档编号:48494650 上传时间:2018-07-16 格式:PPT 页数:30 大小:435.01KB
返回 下载 相关 举报
第3章  DTD规范XML文档_第1页
第1页 / 共30页
第3章  DTD规范XML文档_第2页
第2页 / 共30页
第3章  DTD规范XML文档_第3页
第3页 / 共30页
第3章  DTD规范XML文档_第4页
第4页 / 共30页
第3章  DTD规范XML文档_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《第3章 DTD规范XML文档》由会员分享,可在线阅读,更多相关《第3章 DTD规范XML文档(30页珍藏版)》请在金锄头文库上搜索。

1、1第3章 DTD规范XML文档DTD被用来规范XML文档,因为DTD 可以指定:可以在文档中存在的元素、元素可以具 有的属性、在元素内部元素的层次结构以及元素在 整个文档中出现的顺序等。在本章将详细介绍DTD 规范的有关基础知识。2本章知识要点: 理解DTD的基本概念 掌握DTD声明XML元素的方法 理解实体的概念及其作用 掌握使用DTD的基本方式 了解XML Schema模式的基本概念 理解XML Schema模式的作用33.1 DTD基本概念 DTD是Document Type Definition(文档类 型定义)的缩写。XML文档是一种可扩展标记语言, 它可以由DTD来定义文档元素结构

2、(如文档中的元素 、属性等)。DTD指定XML文档必须遵守的一系列规 则,从而确保XML文档的一致性和有效性。本节将介 绍DTD的基本概念和DTD文档的组成元素,以后续学 习打下基础。3.1.1 DTD简介 由于应用需求会发生变化,从而导致先前 所编写的XML文档需要加以改变以适应需求的变化 。而当文档结构改变时,就需要修改程序代码。在 修改过程中,如何确保XML文档的有效性将直接影 响程序运行结果。为了解决这一问题,就需要依靠 逻辑清晰、语法准确的文档来对XML文档加以限制 。DTD的主要用途就是确保XML文档的有效性。43.1.2 DTD基本结构 DTD 使用形式语法来描述XML 文档的逻

3、辑结 构和语法。实际上DTD可以看作XML文档的模板。这 些XML文档中的元素、属性、排列方式或内容等都必 须符合DTD的规则。XML文档中的元素是根据实际应 用来创建的。因此想要创建一份完整且具有较强适应 性的DTD是非常困难的,因为各行业都有他们自己的 行业特点,所以具体DTD文档通常在特定应用领域中 使用,各行各业都有各自的DTD文档。53.2 DTD对元素声明 XML元素是XML文档的基本组成部分 。在有效的XML文档中的任何元素都必须在DTD 中进行声明。元素声明指定了每个元素的名称、 属性、内容以及在文档中出现的频率并且指定 XML文档中元素的层次结构。在这一节中就将介 绍如何使用

4、DTD声明元素。63.2.1 元素类型声明 在有效的XML文档中,元素使用前必须进 行元素类型声明。元素类型声明不但说明了所关联 的XML文件中可能存在的元素以及元素名称,而且 给出了元素的具体类型:空元素、文本元素或嵌套 子元素。通过层层深入地声明XML元素来定义XML 文档中元素的层次关系。也就是说,DTD通过元素 之间的父子关系类描述XML文档中元素的结构关系 。73.2.2 元素内容类型 在上一小节元素类型声明中 提到了元素内容有五种类型,即EMPTY、ANY、 #PCDATA、子元素型和混合型。 83.2.3 元素声明综合示例在这一节中向读者详细介绍了DTD对元素的声 明,在这一小节

5、将通过一个比较详细的实例展示各 知识点的使用。93.3 DTD对属性声明 属性是描述元素的额外信息的,是对元素 的修饰与补充。一般地,信息详实的XML文档都 具有一个特点,元素通过属性来描述边缘信息。本 节将介绍如何在DTD中声明属性及属性的各种类 型。10113.3.1 属性声明语法在DTD中,属性声明使用ATTLIST属性列表声明 来指定元素的属性列表。元素的属性声明由ATTLIST 关键字、元素名称以及属性定义三个部分构成。一个 属性声明可以声明一个元素的多个属性。属性类类 型含义义CDATA字符数据,即没有标记的文本 枚举备选属性值的值列表 ID该属性在文档中具有唯一性 IDREF文档

6、中元素的ID类型属性的值 IDREFS由空格分隔的元素的多个ID ENTITY在DTD中声明的实体的名称 ENTITIE S在DTD中声明的由空格分隔的多个实体的名称NMTOK ENXML名称记号NMTOK ENS由空格分隔的多个XML名称记号NOTATI ON在DTD中声明的记法的名称123.3.2 属性类型 属性类型CDATA的含义不同与第二章介绍的 CDATA区段,属性类型CDATA表示可以包含任何 字符串,但不允许使用小于号“”、与 符号“、等)来替换它们。3.3.3 属性附加声明 在DTD的属性声明语法结构中,每个 ATTLIST声明除了有一个属性类型外,还必须具有附 加声明。DTD

7、提供了四种附加声明:#REQUIRED、 #IMPLIED、#FIXED和缺省值。133.4 DTD引用 一个规范的XML文档如果和某个DTD文相关联, 并遵守该DTD规定的约束条件,那么该XML文档就称 为有效的XML文档。我们可以把DTD文件内容直接写 在XML文件的内部,也可以形成独立于XML的DTD文 件。143.4.1 引用内部DTD如果DTD文件内容直接写在XML文件的内部 ,那么这样的内容称为XML文件的内部DTD。153.4.2 引用外部DTD 使用外部DTD时,要在DOCTYPE中使用关 键字SYSTEM或PUBLIC。使用SYSTEM关键字主要 用于引用一个作者或组织所编写

8、的众多XML文件所通 用的DTD文件。基本语法格式已经在3.1.2节中介绍过 。在使用PUBLIC关键字引用外部DTD文件的基本语 法格式中的DTD-URL被称为FPI(Formal Public Identifier,正式公用标识符),也称作实体的 “publicld”。 FPI有严格的形式,以保证它的全球唯一 性。163.4.3 混合引用DTD 如果XML文件同时带有内部DTD和外部DTD文 件,那么XML解析器会将二者合一。如果内部的 DTD和外部的DTD文件同时声明了某个元素,那么 将会导致错误。如果不准备更改一个已经获得广泛 支持的DTD文档,但是又需要增加新的内容时,可 以同时使用

9、内部DTD和外部DTD。内部DTD可以方 便地增加新内容,又不影响其他使用同一外部DTD 的XML文档的有效性。173.5 实体声明与引用 XML的实体机制允许将不同类型的数据并入XML 文档中。在XML文档中,可以将经常使用的XML文本 区段定义成实体,这样可以快速地将XML文字插入到 任何可以插入的地方。此外,也可以将外部文件定义 成实体,然后将外部数据附加到XML文档。183.5.1 实体的概念与分类 实体是一个预先定义的数据 或数据集合。通过实体可以方便地被引用到任何需要 这些数据的地方。另外,通过实体也可以将非XML数 据(比如可以将图形和影像等二进制数据)引进到 XML文档中。 实

10、体可以通过下面三种方式进行分类: (1)普通实体与参数实体 (2)内部实体与外部实体。 (3)已解析实体与未解析实体。193.5.2 内部普通实体 内部普通实体就是实体的内容已经包含在DTD 文件本身中并且可以在XML文档中引用的实体。内 部普通实体一般包含常用文本或较难输入的文本内 容。DTD文件中的内部普通实体是用声 明定义的。203.5.3 外部普通实体 XML允许其他XML文档或文 档片段嵌入到XML文档中,通过实体引用可以使解析 器在指定资源上找到所需要的文档或文档片段,并将 这些文档组合成为一个新XML文档。外部普通实体通 过URI来定位资源数据。外部普通实体的格式分为两 种:SY

11、STEM格式和PUBLIC格式。213.5.4 内部参数实体 参数实体是专门用在DTD中的一种实体。参数实 体在DTD中定义,并只能由DTD文件自身通过实体引 用使用参数实体。使用参数实体不仅可以方便DTD的 编写,也有利于DTD文件的维护。 参数实体分为内部参数实体和外部参数实体。参 数实体引用是以%开头,并以分号结束,且只出现在 DTD中。223.5.5 外部参数实体 外部参数实体允许把较小规模的DTD进行组合 来建立较大规模的DTD,即在一个DTD中可以引用 另一个DTD文档,从而可以使用引进的DTD中元素 及属性的声明。233.6 XML Schema简介 对于XML Schema语言

12、有两种模型:Microsoft 开发的Microsoft XML Schema和W3C开发的W3C XML Schema。Microsoft XML Schema已经开发 成熟并运用到实际,而最为正式的XML Schema语 言是由W3C制定的XML Schema规范,简称为 xsd(XML Schema Definition)。本节主要介绍W3C 制定的XML Schema规范。由于XML Schema规范 体系非常庞大,因此仅对XML Schema模式最基本 的内容给予简单的介绍。243.6.1 XML Schema基本概念 XML Schema是用一套预先规定的XML元素和 属性创建的,

13、这些元素和属性定义了文档的结构和 内容模式。相应的一套精巧的规则(这些规则用 DTD来表示)指定了每个Schema元素或者属性的 合法用途。如果违反这些规则,那么解析器将拒绝 解析XML Schema以及任何同它相联系的文档。253.6.2 XML Schema数据类型 W3C XML Schema数据类型分为简单类型和 复杂类型两种。26简单数据类型说明 string字符串型 decimal十进制数型,包含任意精度和位数 integer整型 float标准的32位浮点数,如11.87 boolean布尔型,元素只能取真或假的值(或者1或0) date日期型,格式为YYYY-MM-DD mon

14、th日期型,格式为YYYY-MM year年份日期型,格式为YYYY time时间型,格式为HH:MM:SS datetime日期时间型,其形式为YYYY-MM-DD hh:mm:ss uri-reference元素包含一个URL3.6.3 XML根元素声明 XML Schema模式扩展名为“.xsd”的一个文本文 件,使用XML语法来编写,这一点和DTD文件不同 。XML Schema模式的根元素必须是schema,使用 的命名空间必须是: http:/www.w3.org/2001/XMLSchema273.6.4 XML元素及其属性声明 在前面两小节中介绍了XML Schema数据类 型和根元素的声明,在本小节中将简要介绍XML Schema文档的元素声明以及属性声明。283.6.5 XML Schema范例说明 在前面对XML Schema的基本语法进行的简单 介绍,在本小节将通过一个实例来具体介绍如何使 用XML Schema来限定XML文档结构。293.6.6 XML Schema引用 xsi:noNamespaceSchemaLocation表示没有定 义目标命名空间,xsd文档是从本地文件。有关引用 XSD文档的详细信息请查阅其他有关资料。30

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号