版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第02章,DTD与命名空间,目标,什么是DTD 为什么要用DTD 如何创建DTD 元素的定义 属性的定义 定义实体 应用命名空间,什么是DTD,文档类型定义-Document Type Definition DTD用来描述XML文档的结构,一个DTD文档包含: 元素(ELEMENT)的定义规则 元素之间的关系规则 属性(ATTLIST)的定义规则 可使用的实体(ENTITY)或符号(NOTATION)规则 DTD文档与XML文档实例的关系 类与对象 数据库表结构与数据记录,为什么要用DTD,有了DTD,每个XML文件可以携带一个自身格式的描述。 有了DTD,不同组织的人可以使用一个通用DTD用
2、来交换数据。 应用程序可以使用一个标准DTD校验从外部世界接受来的XML数据是否有效 可以使用DTD校验自己的XML数据,如何创建DTD文档(1/4),DTD文档的声明及引用 内部DTD文档 外部DTD文档 内外部DTD文档结合 ,如何创建DTD文档(2/4), 王维 鹿柴 空山不见人,但闻人语声. 返景入深林,复照青苔上. ,注意:例中的定义关键字一定要大写,如DOCTYPE、 ELEMENT、#PCDATA,且元素名称与数据类型之间也要有空格。,内部DTD示例,如何创建DTD文档(3/4), 王维 鹿柴 空山不见人,但闻人语声.返景入深林,复照青苔上. , ,外部DTD示例,如何创建DTD
3、文档(4/4), 王维 鹿柴 空山不见人,但闻人语声.返景入深林,复照青苔上. , ,内部和外部DTD示例,元素的定义 (1/5),语法 ,关键字,元素名称,EMPTY该元素不能包含子元素和文本,但可以有属性(空元素) ANY该元素可以包含任何在DTD中定义的元素内容 #PCDATA可以包含任何字符数据,但是不能在其中包含任何子元素 纯元素类型只包含子元素,并且这些子元素外没有文本 混合类型包含子元素和文本数据的混合体,元素类型,元素的定义(2/5),EMPTY示例-空元素 皮诺曹 皮诺曹爸爸 ,元素的定义(3/5),ANY示例 皮诺曹 皮诺曹爸爸 将根元素设为ANY类型后,元素出现的次数和顺
4、序不受限制。,元素的定义(4/5),#PCDATA示例 皮诺曹 皮诺曹爸爸 , ,元素的定义(5/5),组合类型示例 ,修饰符号,属性的定义,语法 ,CDATA文本 ID编号且是唯一的(值) IDREF/IDREFSNMTOKEN/NMTOKENSEnumeratedENTITY/ENTITIESNOTATIONNOTATION(enumerated),#REQUIRED(在元素内部) #IMPLIED#FIXED valueDefault value,属性类型 CDATA,属性值可以是任何字符(包括数字和中文),请注意这里的CDATA与前面讲过的CDATA的区别 #PCDATA与CDATA的
5、区别,属性类型NMTOKEN/NMTOKENS,NMTOKEN是CDATA 的一个子集,表示属性值必须是英文字母、数字、句号、破折号、下划线或冒号(不能是中文!)。 NMTOKENS与NMTOKEN类似,包含多个由空格分隔的字符。, 八阵图 功盖三分国,名成八阵图, 江流石不转,遗恨失吞吴. , 八阵图 功盖三分国,名成八阵图, 江流石不转,遗恨失吞吴. ,属性类型 ID,表明该属性的取值必须是唯一的。, , ,ID属性值必须是合格的XML名字,属性类型- IDREF/IDREFS,IDREF属性的值指向文档中其它地方声明的ID类型的值。 IDREFS同IDREF,但是可以具有由空格分开的多个
6、引用。, ,空格,属性类型枚举,事先定义好一些值,属性的值必须在所列出的值的范围内。, ,属性的约束- #REQUIRED,元素的所有实例都必须有该属性的值(NOT NULL) 语法: DTD 示例: XML 示例: ,属性的约束 #IMPLIED,元素的实例中可以忽略该属性(NULL)。 语法: DTD示例: XML示例: ,属性的约束 #FIXED,元素实例中该属性的值必须为指定的固定值。 语法: DTD示例: XML示例: ,属性的约束默认值,为属性提供一个默认的值 语法: DTD示例: XML示例: ,实体,作用:避免重复输入 (宏、变量) XML中五个预定义实体 自定义实体语法: 引
7、用已定义的实体: ,属性类型ENTITY/ENTITIES,ENITITY类型的属性的值必须对应一个在DTD文档内声明的实体。通常用来处理外部的二进制数据文件,如图形、音效等 ENTITIES类型的属性的值与ENITITIES类似,不同的是可以包含多个由空格分开的实体。, A001 ,定义实体内部实体,语法: DTD 示例: XML 示例: ,定义实体外部实体,语法: DTD 示例: XML 示例: ,实体类型(1/5),实体类型:普通实体、外部实体、参数实体、外部参数实体,实体类型(2/5),普通实体的示例,实体类型(3/5),外部实体的概念实际上很简单,比如在上面的例子中,我们的实体定义为
8、:这里表示用$来代替currency,但是如果currency指代的内容很大很复杂的时候,我们可以用一个外部文件来保存这部分的内容。比如采用如下的代码:这里表示用文档http:/somewebsite/somecategory/something.xml来表示实体currency的具体内容。需要指出的是,这里的something.xml文档必须是一个格式完善的XML文档。上面就是外部实体的概念。,实体类型(4/5),所谓参数实体的概念就是说该实体实际上不是在具体实例化文档中使用,而是在DTD文档内部被使用,比如我们可以定义一个如下的实体:然后可以在DTD内部通过%地址;来引用它,具体例子如下:
9、上面就是参数实体的概念。,实体类型(5/5),外部参数实体和参数实体的关系和外部实体与普通实体的关系一样,也就是说,实体的内容不是在两个引号之间表示,而是用一个外部的XML文档来表示,比如: 然后可以在DTD内部通过%地址;来引用它。这里%地址;相当于一个普通的元素(ELEMENT),这就是外部参数实体的概念。,XML 命名空间 2-1,在 XML 文档中可以用作元素或属性名称的名称集合 命名空间使浏览器可以执行以下操作: 组合来自不同源的文档,并有助于识别元素或属性的源 访问 DTD 或用于验证文档的元素和属性的其他描述 Uniform Resource Identifier(统一资源标识符
10、,URI)识别 XML 的命名空间 Uniform Resource Name(统一资源名称,URN)是标识 Internet 资源的全球唯一编号 Uniform Resource Locator (统一资源定位符,URL)包含对 Web 上的某个文档或 HTML 页面的引用,命名空间 的必要性,有助于标准化元素和属性, 并为它们加上唯一的标志,确保元素名称中没有冲突, 并阐明了它们的来源,XML 命名空间 2-2,演示:示例 6, ,命名空间声明,属性和命名空间,除非带有前缀,否则属性属于它们的元素的命名空间,. . . 第三批次 第一批次 午班批次 . . .,. . . xmlns= http:/www.Aptech_edu.ac xmlns:tea= “ 第三批次 第三批茶 午班批次 . . .,Aptech 的类元素使用了茶业领域的 tea:type 属性,可以包括两个名称相同但属于不同命名空间的属性。, 第一批茶,命名空间应用程序,演示:示例 7, 夜班培训批次 早班培训批次 午班培训批次 第一批茶批号 333 第二批茶批号 222 ,命名空间的声明,告诉用户此 batch 元素在 http:/www.Aptech_edu.ac 中定义,允许验证和处理关于这两批茶的信息,总结 2-1,DTD 指定了 XML 文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融投资公司总经理投资策略解析
- 化工产品创新研发团队的工作布置
- 心理咨询师岗位面谈要点与技巧
- 旅游行业景区运营管理面试要点
- 2026年健康中国战略实施路径探讨试卷
- 教师家长代表演讲稿
- 商场绿色消费引导制度
- 2026年全民科学素养提升试题
- 砥砺奋发班会演讲稿
- 睡眠主题的演讲稿
- 父母会说话孩子才听话
- GB/T 40822-2021道路车辆统一的诊断服务
- 质量环境职业健康安全管理体系培训
- 中华文化与传播教材课件
- 《材料物理性能》配套教学课件
- 《客房服务与管理》第一章课件
- 眼科OCT异常图谱解读
- 人类行为与社会环境全套课件
- 文化人类学概论课件
- 医院介入手术病人护送交接流程
- 《花瓣儿鱼》阅读教学设计公开课
评论
0/150
提交评论