《数据的底层结构》ppt课件

上传人:tian****1990 文档编号:74188130 上传时间:2019-01-27 格式:PPT 页数:73 大小:711.31KB
返回 下载 相关 举报
《数据的底层结构》ppt课件_第1页
第1页 / 共73页
《数据的底层结构》ppt课件_第2页
第2页 / 共73页
《数据的底层结构》ppt课件_第3页
第3页 / 共73页
《数据的底层结构》ppt课件_第4页
第4页 / 共73页
《数据的底层结构》ppt课件_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《《数据的底层结构》ppt课件》由会员分享,可在线阅读,更多相关《《数据的底层结构》ppt课件(73页珍藏版)》请在金锄头文库上搜索。

1、第二章 数据的底层结构 DTD和XML Schema,本章内容,XML文档类型定义文件DTD XML文档模式定义文件Schema,XML文档类型定义文件DTD,XML被作为一种元标记语言,是一种描述标记语言的语言。在本章中您将学到如何说明和描述所创建的新标记语言。这些新的标记语言(也叫标记集)要通过文档类型定义(DTD)来定义,这正是本章要讲述的内容。各个文档要与DTD相比较,这一过程称为合法性检验。如果文档符合DTD中的约束,这个文档就被认为是合法的,否则就是不合法的。 DTD是一套关于标记符的语法规则,它定义了可用在文档中的元素、属性和实体,以及这些内容之间的相互关系。,本节内容,初识DT

2、D DTD编写语法 XML文档和DTD的匹配,初识DTD,例如:需要用XML文档记录通讯录的信息,包括姓名、地址、街道、城市、州、邮编、电话、Email。 第一步,根据分析可设计如下各元素名:Name,Address,Street,City,State,ZipCode,Phone,Email,还有Sex。 第二步,确定XML文档的层次结构: Directory Person(属性Sex) Name Address Street City State ZipCode Phone Email,初识DTD,第三步,根据文档结构构造DTD: ,初识DTD,最后,根据DTD编写相应的XML文档: Fre

3、d Bloggs London 22 Chancery Lane London SW17 $QP 44 1 800 345144 fbloggshk.co.uk ,Person元素可以根据需要定义多个,但必须都包含在根元素中。 只有满足相应DTD的XML文档才是合法的,但这并 不说明不是良构的XML文档。,DTD的编写语法,一、元素定义 元素声明 格式: name是一个标准的XML标记的名字; content由以下三种之一组成: 关键字EMPTY; 关键字ANY; 描述包含在本元素中的子元素的顺序和重复次数的内容模型。,例2.2 只有在DTD中定义的元素才能出现在文档中。,DTD的编写语法,元

4、素声明注意事项: 声明以关键字ELEMENT开头; 数据类型不是DTD的一个特征,即元素不能被指定包含一个数字或日期,都是字符类型的; DTD中是区分大小写的,所有的关键字必须按照规定书写。,DTD的编写语法,元素内容类型 1、EMPTY类型 用于定义空元素,此种元素只能有属性(也可以没有)不能有元素内容和子元素。 声明语法: 2、ANY类型 此种元素可以包含其他任何元素或已编译的字符数据。 声明语法: 3、#PCDATA类型 只包含已编译的字符数据的元素,不包含子元素。 声明语法:,注意此处有空格,DTD的编写语法,4、子元素类型 元素可以包含一些列的子元素,子元素的内容模型有两种结构:序列

5、和选择。 序列:所有的子元素必须出现且仅出现一次,而且要依次出现。 声明语法: 注意:序列中不能出现#PCDATA;子元素还可以包含子元素。 选择:将子元素用竖线”|”分隔,只能出现各子元素中的一个。 声明语法: 序列和选择可以结合使用,例如: ,DTD编写语法,5、混合类型 既包含子元素有包含已编译的字符数据。 声明语法: 其实,任何包含#PCDATA的内容规范都称为混合类型。 在混合类型中,结尾的星号是必须的,并且必须以#PCDATA开始。 是非法的。,DTD编写语法,6、元素出现次数指示符 前面介绍的元素声明中,元素只能出现一次。 可以用元素出现次数指示符来指定元素出现的次数。 “?”字

6、符:说明元素可以出现0次或1次; “*”字符:说明元素可以不出现,或出现1次或多次; “+”字符:说明元素必须出现至少一次,或者说可以出现1次或多次。 例如: 例2.4,DTD编写语法,属性定义 属性声明 Element_name是元素名; Attribute_name是属性名; Type是属性的类型; Default_value是属性的默认值。 例如: 声明属性应注意: 属性名称遵守的规则与有效的元素名称相同; 在一个给定的元素中不能有两个属性同名; 若属性值中含有双引号,则该属性用单引号括起来;反之亦然。,DTD编写语法,1、属性的类型 CDATA属性类型 属性值只能是文本串。 例如: 枚

7、举属性类型 属性值为指定文本串列表中的某一个文本串。 例如: ID属性类型 用于标识文档中的元素。ID属性值必须是一个合法的XML名称,并且该值在文档中必须是唯一的。每个元素最多只能有一个ID类型的属性。 例如:,DTD编写语法,IDREF/IDREFS类型 IDREF类型的属性用来引用同一文档中的另一元素的ID属性,使一个元素和另一个元素发生联系。 IDREFS是IDREF的复数形式,表明可以引用多个元素的ID属性,在XML文档中不同ID属性值用空格隔开。 例题2.6 NMTOKEN/NMTOKENS属性类型 NMTOKEN类型属性的属性值必须是一个有效的XML名称。 NMTOKENS是NM

8、TOKEN的复数形式,允许有多个有效XML名称作为属性值,之间用空格隔开。,DTD编写语法,ENTITY和ENTITIES属性类型 ENTITY取值为一个已定义的实体 ENTITIES属性值包含多个外部实体 ,2、属性的默认值 属性声明可以给属性指定一个默认值,使得当在XML文档中未明确地指定该属性的值时,XML处理器会将此默认值作为该属性的值。属性的默认值可以分别用下面三个关键字进行定义。 #REQUEIRED:该元素必须具有该属性,否则文档是无效的; 例如: 如果语法分析器遇到一个标记,该标记没有包含这些属性中的一个或几个时,将返回一个错误。,DTD编写语法,#IMPLIED:该属性不是必

9、须使用的; 例如: 如果XML处理器遇到没有EXTENSION属性的标记,就不向XML应用程序提供有用的属性值。,DTD编写语法,#FIXED:可以不用明确指定该属性的值,处理器会自动给出其值;如果要明确指出属性值,必须是属性定义时给出的默认值。 例如: 文档作者不需要在它们各自的标记中真正地引用固定的属性。如果它们没有包括固定属性,则使用缺省值;如果包括了固定的属性,无论如何它们使用的属性值必须一致,否则语法分析器将返回一个错误信号。,XML文档和DTD的匹配,每个有效的XML文档必须指定它对于哪个DTD是有效的。这个DTD可以包含在相应的XML文档中,或者XML文档也可以通过一个外部URL

10、链接到DTD,这样的外部DTD可以有不同的文档和Web站点共享。 内部DTD 内部DTD的语法: 其中document.type.name与XML文档的根元素名相同。 例如: ,XML文档和DTD的匹配,外部个人DTD 前面的合法的例子都在文档的序言部分包含了DTD。但是XML真正的功能来自于不同的人们编写的可为许多文档共享通用的DTD。 当使用外部DTD时,文档类型声明要加以改变。DTD不再是包括在方括号中,而是在SYSTEM关键词后接一个能找到DTD的绝对或相对的URL。例如: 这里root_element_name像以前一样是根元素的名称,SYSTEM是一个XML关键词,关键词SYSTE

11、M是为单个作者或小组所用的私有的DTD使用的。 DTD_URL是能找到DTD的绝对或相对的URL。 例如: 也可以通过web共享一个DTD: ,XML文档和DTD的匹配,DTD文档 当单独定义DTD文档时,其内容不再包括。 例如: 保存为扩展名为dtd的文件即可。 例2.12,XML文档和DTD的匹配,一个XML文档可以同时使用内部和外部DTD,语法如下: ,XML文档和DTD的匹配,外部公用DTD 关键词SYSTEM是为单个作者或小组所用的私有的DTD使用的。但作为XML承诺的一部分,可令覆盖整个产业的广泛组织(如ISO或IEEE)能够将公共DTD加以标准化,以便用于各自的专门领域。这样的标

12、准化可以让人们不用为同一项目重复作标记,并且使用户共享公用文档更容易。 为创建组织之外的编写者设计的DTD使用PUBLIC关键词而不使用SYSTEM关键词。并且DTD有一个文件名。句法如下: root_element_name仍然是基本元素名称。PUBLIC是XML关键词,说明这一DTD是公共使用并具有名称。DTD_name是与此DTD联系的名称。有些XML处理程序会使用名称从中心库中检索DTD。最后,如果DTD不能根据名称从熟知的库中检索到,则DTD_URL是一个能找到该DTD的相对或绝对URL。,XML文档和DTD的匹配,如果一项DTD是ISO标准,它的名称要以字符串“ISO”开始。如果是

13、非ISO标准组织批准的DTD,它的名称以加号(+)开始。如果不是标准组织批准的DTD,它的名称以连字符 (-)开始。这些开始字符串后接双斜线(/) 和DTD所有者的名字,其后接另一个双斜线和DTD描述的文档类型,然后又是一个双斜线后接ISO639语言标识符,如EN表示英语。在http:/www.ics.uci.edu/pub/ietf/http/related/iso639.txt处列有完整的ISO639标识符。 例如: ,XML文档和DTD的匹配,实体定义 实体是包含XML文档特殊部分的存储单元。它可以是文件、数据库记录或任何其他包含数据的项目。实体使用了一种代替机制:在XML文档中放入一个

14、实体引用,当对文档进行解析时,实体引用被实体内容所取代。,XML文档和DTD的匹配,内部一般实体 DTD中实体定义语法: XML文档中引用实体语法: 例如:例2.15,XML文档和DTD的匹配,在实体中使用标记字符有一些限制 在实体中使用标记的第一个限制是:任何标记字符必须双重转义。 如果希望最终元素内容是This is not a black 则不需要双重转义,其他标记字符有相同特点。,例题,XML文档和DTD的匹配,在实体中使用标记的第二个限制是:XML文档的逻辑结构与物理结构必须一致 简单的说就是:如果实体定义中有元素的开始标签,就必须有其结束标签。 例:定义实体: 元素内容写为: Th

15、e job was left to ” The job was left to &safeto finish.,例题,XML文档和DTD的匹配,外部一般实体 外部一般实体除了实体的定义是在一个单独的文件中之外,与内部一般实体很相似。 将实体定义写在一个独立文件中,定义扩展名为.ent。 在DTD文件中用下列语句调用: 例2.17,XML文档和DTD的匹配,参数实体 可用参数实体把较小的DTD组成大型的DTD。也就是说,一个外部DTD可以链接到另一外部DTD,第二个DTD引入第一个DTD中声明的元素和实体。同时,将DTD分解为小的、更便于管理的组块,使得对DTD的分析处理更加简便。 可以将DTD

16、文档的一部分放在一个独立的文件中, 然后再其他DTD文档中用下列语法定义实体: 注意:%两边的空格是必须的。 然后再用下列语法引用: %entityname;,XML模式定义XSD,章前导读 主要介绍XML模式定义(XML Schema Definition,XSD)的语法知识,重点介绍Schema的文档结构,XML Schema中元素及属性的声明语法和使用XML模式的方式。 学习重点 Schema的文档结构 XSD的数据类型 XML Schema中元素的声明语法 XML Schema中属性的声明语法 在XML模式中创建元素和属性组 使用XML Schema,Schema简介,XML Schema是2001年5月正式发布的W3C推荐标准,经过数年的大规模讨论和开发终于成为全球公认的XML环境下首选的数据建模工具。 和DTD一样,XML模式负责定义和描述XML文档的结构和内容。它可以定义XML文档中存在哪些元素和元素之间的关系,还可以定义元素和属性的数据类型。 XML Schema本身是一个XML文档,它符合XML语法结构。 例如,对于下列的

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

当前位置:首页 > 高等教育 > 大学课件

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