第3章使用DTD和Schema

更新时间:2023-08-06 14:17:01 阅读量: 实用文档 文档下载

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

第3章使用DTD和Schema3.1 DTD的基本结构 3.2 DTD在XML文档中的引用 3.3 DTD中的元素声明 3.4检验DTD文档 3.5 DTD中的属性声明 3.6 XML Schema简介 3.7 XML Schema的语法

使用DTD的主要作用:(1)可以提供一种统一的格式。XML的可扩展性提 供了很高的灵活性,但有时我们需要的是统一,要求 某一类文档具有相同的结构。 (2)可以保证数据交流和共享的顺利进行。 (3)使我们能够不依赖具体的数据就能知道文档的逻 辑结构。 (4)可以验证数据的有效性。

3.1 DTD的基本结构

3.2 DTD在XML文档中的引用1、内部DTD引用一个只使用内部 DTD 进行有效性检验的 XML 文档 的基本结构如下: <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE Root_Element_Name[ DTD的内容 ]> 需要注意的是, DOCTYPE 是 DTD 关键字,必须大写。

2、外部DTD引用

一个DTD文件的基本结构其实很简单,如下所示: <?xml version="1.0" encoding="GB2312"?> …… 元素、属性或实体的DTD声明部分 …… DTD文件中的XML声明也可以省略,但从方便文 件的维护的角度考虑,最好是保留这个XML声明。 根据两种不同的外部DTD文件,XML相应规定了引 用私有DTD文件和引用公共DTD文件两种引用外部DTD的 方法。

当进行了外部DTD引用时,XML文档声明中的 standalone属性的值应设为“no”。

(1) 引用私有DTD文件 引用私有DTD文件的语法为: <!DOCTYPE Root_Element_Name SYSTEM “DTD_URL”> DTD文件实例:

引 用 外 部 实 例

DTD

(2) 引用公共DTD文件

引用DTD文件的语法为: <!DOCTYPE Root_Element_Name PUBLIC “DTD_Name” “DTD_URL”> 公共DTD名称的构成要遵守下面约定: ( a )要表明出身:如果 DTD 是由 ISO 发布的标准 DTD,则名称前要冠以“ISO”字符串;如果DTD是由 ISO 之外的标准组织发布的标准 DTD ,名称前要冠以 “+”字符;如果不是标准的组织,或者个人所发布的 DTD,则名称前要冠以“-”字符。 ( b )要表明拥有者:在名称中要包含一个表明 DTD所有者的字符串。 ( c)要表明主要内容:在名称中要包含一个表明 DTD主要内容或者类别的字符串。

(d)要表明所使用的语言:在名称的尾部要包含一个 表明所使用的语言标志(英语用 EN 说明,法文用 FR 说明、德文用 DE 说明、中文用 ZH 说明等),该语言 标志必须是由ISO639所定义过的标准标志。 (e)分隔符:上述内容之间,要以两个斜线符号“//” 分隔。 (f)顺序:上述内容在名称中出现的顺序与上述的顺 序相同。

3、 DTD中的元素声明 (1) 元素声明的语法

元素声明的语法如下: <!ELEMENT Element_Name Element_Defination> a)基本元素的声明,也就是不包含其他元素的元素。 由“(#PCDATA)”决定的。 如:<!ELEMENT 说明 (#PCDATA)> b)复合元素的声明。 <!ELEMENT 学生 (学号,姓名,性别,班级,出生年 月,入学成绩)> c)根元素的声明。

(2) 精确控制元素的内容a) 设定基本元素的内容 语法为: <!ELEMENT Element_Name (#PCDATA)> b) 不限定元素的内容 语法为:<!ELEMENT Element_Name ANY> c) 最严格地设定元素的内容 子元素列表设定的语法: <!ELEMENT Element_Name (Child_Element, Child_Element,……)> d)控制元素的出现次数

e) 选择性元素多个元素中进行选择的语法为: <!ELEMENT Element_A (Element_B | Element_C | ……)>

选择性元素还可以与其他控制元素次数的方法组合使 用,这样可以实现对元素内容更为灵活的控制。

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

Top