XML应用与开发-第02章理论课ppt课件_第1页
XML应用与开发-第02章理论课ppt课件_第2页
XML应用与开发-第02章理论课ppt课件_第3页
XML应用与开发-第02章理论课ppt课件_第4页
XML应用与开发-第02章理论课ppt课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第02章章DTD与命名空间目的l 什么是DTDl 为什么要用DTDl 如何创建DTDl 元素的定义l 属性的定义l 定义实体l 应用命名空间什么是DTDl 文档类型定义文档类型定义-Document Type Definitionl DTD用来描述用来描述XML文档的结构,一个文档的结构,一个DTD文档包含:文档包含:l 元素元素(ELEMENT)的定义规则的定义规则l 元素之间的关系规则元素之间的关系规则l 属性属性(ATTLIST)的定义规则的定义规则l 可使用的实体可使用的实体(ENTITY)或符号或符号(NOTATION)规则规则l DTD文档与文档与XML文档实例的关系文档实例的关

2、系l 类与对象类与对象l 数据库表结构与数据记录数据库表结构与数据记录为什么要用DTD有了有了DTD,每个,每个XML文件可以携带一个自身格式的描述。文件可以携带一个自身格式的描述。 有了有了DTD,不同组织的人可以使用一个通用,不同组织的人可以使用一个通用DTD用来交用来交换数据。换数据。应用程序可以使用一个标准应用程序可以使用一个标准DTD校验从外部世界接受来校验从外部世界接受来的的XML数据是否有效数据是否有效可以使用可以使用DTD校验自己的校验自己的XML数据数据如何创建DTD文档(1/4)DTD文档的声明及引用文档的声明及引用内部内部DTD文档文档外部外部DTD文档文档内外部内外部D

3、TD文档结合文档结合如何创建DTD文档(2/4)!DOCTYPE poem -根元素的名称-子元素的名称及顺序-子元素的数据类型 -结束标签 王维 鹿柴 空山不见人,但闻人语声. 返景入深林,复照青苔上. 留意:例中的定义关键字一定要大写,如留意:例中的定义关键字一定要大写,如DOCTYPE、 ELEMENT、#PCDATA,且元素名称与数据类型之间也要有空格。,且元素名称与数据类型之间也要有空格。内部内部DTD示例示例如何创建DTD文档(3/4)王维鹿柴空山不见人,但闻人语声.返景入深林,复照青苔上. 外部外部DTD示例示例如何创建DTD文档(4/4)!DOCTYPE poem SYSTEM

4、 ex2.dtd 王维鹿柴空山不见人,但闻人语声.返景入深林,复照青苔上.内部和外部内部和外部DTD示例示例元素的定义 (1/5)语法关键字关键字元素名称元素名称EMPTY该元素不能包含子元素和文本,但可以有属性(空元素)该元素不能包含子元素和文本,但可以有属性(空元素)ANY该元素可以包含任何在该元素可以包含任何在DTD中定义的元素内容中定义的元素内容#PCDATA可以包含任何字符数据,但是不能在其中包含任何子元素可以包含任何字符数据,但是不能在其中包含任何子元素纯元素类型只包含子元素,并且这些子元素外没有文本纯元素类型只包含子元素,并且这些子元素外没有文本混合类型包含子元素和文本数据的混合

5、体混合类型包含子元素和文本数据的混合体元素类型元素类型元素的定义(2/5)EMPTY示例-空元素皮诺曹皮诺曹爸爸元素的定义(3/5)ANY示例皮诺曹皮诺曹爸爸将根元素设为ANY类型后,元素出现的次数和顺序不受限制。元素的定义(4/5)#PCDATA示例皮诺曹皮诺曹爸爸 元素的定义(5/5)组合类型示例修饰符号符号 用途 示例示例说明( )用来给元素分组 (古龙|金庸|梁羽生),(王朔|余杰),毛毛 分成三组 |在列出的对象中选择一个 (作者|翻译) 表示作者或者翻译必须出现,两者至少选一 +该对象最少出现一次,可以出现多次 (1或多次)(成员+) 表示成员必须出现,而且可以出现多个成员*该对象

6、允许出现零次到任意多次(0到多次)(爱好*) 爱好可以出现零次到多次?该对象可以出现,但只能出现一次 (0到1次)(菜鸟?) 菜鸟可以出现,也可以不出现,如果出现的话,最多只能出现一次 ,对象必须按指定的顺序出现 (西瓜,苹果,香蕉) 表示西瓜、苹果、香蕉必须出现,并且按这个顺序出现 属性的定义l 语法l CDATA文本文本ID编号且是唯一的值)编号且是唯一的值)IDREF/IDREFSNMTOKEN/NMTOKENSEnumeratedENTITY/ENTITIESNOTATIONNOTATION(enumerated)#REQUIRED在元素内部)在元素内部)#IMPLIED#FIXED

7、valueDefault value属性类型 CDATA属性值可以是任何字符包括数字和中文) 请注意这里的CDATA与前面讲过的CDATA的区别 #PCDATA与CDATA的区别属性类型NMTOKEN/NMTOKENSNMTOKEN是CDATA 的一个子集,表示属性值必须是英文字母、数字、句号、破折号、下划线或冒号不能是中文!)。NMTOKENS与NMTOKEN类似,包含多个由空格分隔的字符。!DOCTYPE poems 八阵图八阵图 功盖三分国功盖三分国,名成八阵图名成八阵图, 江流石不转江流石不转,遗恨失吞吴遗恨失吞吴. !DOCTYPE poems 八阵图八阵图 功盖三分国功盖三分国,名

8、成八阵图名成八阵图, 江流石不转江流石不转,遗恨失吞吴遗恨失吞吴. 属性类型 ID表明该属性的取值必须是唯一的。ID属性值必须是合格的属性值必须是合格的XML名字名字属性类型- IDREF/IDREFSIDREF属性的值指向文档中其它地方声明的ID类型的值。IDREFS同IDREF,但是可以具有由空格分开的多个引用。 空格属性类型枚举事先定义好一些值,属性的值必须在所列出的值的范围内。属性的约束- #REQUIRED元素的所有实例都必须有该属性的值(NOT NULL)语法:DTD 例如: XML 例如: 属性的约束 #IMPLIED元素的实例中可以忽略该属性(NULL)。语法: DTD示例:

9、XML示例: 属性的约束 #FIXED 元素实例中该属性的值必须为指定的固定值。语法:DTD示例: XML示例: 属性的约束默认值为属性提供一个默认的值语法:DTD示例: XML示例: 实体l 作用:避免重复输入 (宏、变量)l XML中五个预定义实体l 自定义实体语法:l !DOCTYPE 根元素 l l l 引用已定义的实体:l &实体名;实体符号<&"'属性类型ENTITY/ENTITIESENITITY类型的属性的值必须对应一个在DTD文档内声明的实体。通常用来处理外部的二进制数据文件,如图形、音效等ENTITI

10、ES类型的属性的值与ENITITIES类似,不同的是可以包含多个由空格分开的实体。!DOCTYPE library A001 定义实体内部实体语法: DTD 例如:XML 例如:&writer;&copyright; 定义实体外部实体语法:DTD 例如: XML 例如:&writer;&copyright; 实体类型(1/5)l实体类型:普通实体、外部实体、参数实体、外部参数实体 类型普通实体参数实体使用场合使用场合 用在用在XML文档中文档中 只用在只用在DTD中元素和属性的声明中中元素和属性的声明中 声声明明方方式式 内部内部 外部外部 引用方式引用方式 &

11、amp;实体名实体名;%实体名实体名;实体类型(2/5)普通实体的示例普通实体的示例实体类型(3/5)外部实体的概念实际上很简单,比如在上面的例子中,我们的实体定义为:这里表示用$来代替currency,但是如果currency指代的内容很大很复杂的时候,我们可以用一个外部文件来保存这部分的内容。比如采用如下的代码:这里表示用文档somewebsite/somecategory/something.xml来表示实体currency的具体内容。需要指出的是,这里的something.xml文档必须是一个格式完善的XML文档。上面就是外部实体的概念。实体类型(4/5)所谓参数实体的概念就是说该实体

12、实际上不是在具体实例化文档中使用,而是在DTD文档内部被使用,比如我们可以定义一个如下的实体:然后可以在DTD内部通过%地址;来引用它,具体例子如下:上面就是参数实体的概念。实体类型(5/5)外部参数实体和参数实体的关系和外部实体与普通实体的关系一样,也就是说,实体的内容不是在两个引号之间表示,而是用一个外部的XML文档来表示,比如:然后可以在DTD内部通过%地址;来引用它。这里%地址;相当于一个普通的元素ELEMENT),这就是外部参数实体的概念。XML 命名空间 2-1l 在 XML 文档中可以用作元素或属性名称的名称集合l 命名空间使浏览器可以执行以下操作:l 组合来自不同源的文档,并有

13、助于识别元素或属性的源l 访问 DTD 或用于验证文档的元素和属性的其他描述l Uniform Resource Identifier统一资源标识符,URI识别 XML 的命名空间l Uniform Resource Name统一资源名称,URN是标识 Internet 资源的全球唯一编号l Uniform Resource Locator (统一资源定位符,URL包含对 Web 上的某个文档或 HTML 页面的引用命名空间的必要性有助于标准化元素和属性,并为它们加上唯一的标志确保元素名称中没有冲突,并阐明了它们的来源XML 命名空间 2-2演示:例如 6 命名空间声明属性和命名空间l 除非带有前缀,否则属性属于它们的元素的命名空间. . . 第三批次 第一批次 午班批次 . . . . .xmlns= Aptech_edu.acxmlns:tea= “ 第三批次 第三批茶 午班批次. . .Aptech 的类元素使用了茶业领域的 tea:type 属性可以包括两个名称相同但属于不同命名空间的属性。 第一批茶命名空间应用程序演示:例如 7 夜班培训批次 早班培训批次 午班培训批次 第一批茶批号 333 第二批茶批号 222 命名空间的声明告诉用户此 batch 元素在 Ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论