- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
扩展使用DTD规范XML文档(简单介绍Schema)
扩展 第3章 使用DTD规范XML文档 3.1 DTD基本概念 3.1.1 DTD简介 对XML文档所作的规范和约定被称为DTD,也就是文档类型定义。 可以把DTD看作是编写某类XML文档的一个模板。 3.1.1 DTD简介 DTD用来描述XML文档的结构,一个DTD文 档包含: - 元素(ELEMENT)的定义规则 - 元素之间的关系规则 - 属性(ATTLIST)的定义规则 - 可使用的实体(ENTITY)或符号(NOTATION)规则 DTD 以简单文本文件的形式出现,可以存储在独立的文件中(外部DTD),也可以嵌入 XML 文件(内部DTD)。 DTD的作用 可以验证XML文档数据的有效性。 可以为某类XML文档提供统一的格式和相同的 结构。 可以保证在一定范围内,XML文档数据的交流 和共享。 应用程序设计人员根据DTD就能够知道对应 XML文档的逻辑结构,从而编写出相应的处理 应用程序。 3.1.2 DTD的基本结构 一份DTD实际上是若干条有关元素、属性、实体等定义和声明语句的集合。 !DOCTYPE 影片目录 [ !ELEMENT 影片目录 (影片)+ !ELEMENT 影片 (片名,主演,导演,简介) !ATTLIST 影片 类别 CDATA 动作 年份 CDATA #REQUIRED !ENTITY introduction 战国末期,赵国有三个名震天下的侠客, 他们是:长空、残剑、飞雪…… !ELEMENT 片名 (#PCDATA) !ELEMENT 主演 (#PCDATA) !ELEMENT 编剧 (#PCDATA) !ELEMENT 导演 (#PCDATA) !ELEMENT 简介 (#PCDATA) ] 3.2 DTD对元素的声明 在有效的XML文档中所使用的元素,都必须在相应的DTD中明确地加以声明,包括声明元素的名称、元素内容的数据类型、该元素允许具有的子元素及子元素出现的顺序等。 可以说,在DTD中对XML元素的声明决定了整个有效XML文档的逻辑结构。 3.2.1 元素声明的语法 语法: !ELEMENT element_name element_definition 说明: !ELEMENT: 元素声明语句的开始,关键字ELEMENT必须大写。 element_name: 所声明的元素名称。 element_definition:对该元素内容的定义,用来规定该元素可以包含的内容。 注意:在一个DTD中对同名的元素只能声明一次! 3.2.1 元素声明的语法 例: !ELEMENT TITLE (#PCDATA) !ELEMENT GENERAL ANY 范例:一个包含内部DTD的文档 DTDDemo_02.xml 3.2.2 各种元素的声明 1.基本字符元素的声明 2.含子元素的严格声明 3.包含任意内容的声明 4.子元素出现次数的声明 5.选择性子元素的声明 6.空元素的声明 7.混合型元素的声明 8.实体的声明 1.基本字符元素的声明 XML文档中的基本字符元素,是指那些仅含有字符数据,而不含有任何子元素的元素。 格式: !ELEMENT element_name (#PCDATA) 2.含子元素的严格声明 子元素声明的格式: !ELEMENT element_name (子元素名1,子元素名2,子元素名3,……) 注意:经上述声明的元素不能直接包含字符元素,而只能包含所指定的这几个子元素,并且这些子元素在XML文档中必须以上面的排列顺序依次出现,每个子元素都必须出现一次。 P54 例 3.包含任意内容的声明 ANY内容声明表示该元素可以包含任意内容,如可解析的文本数据、空元素、子元素等。 格式: !ELEMENT element_name ANY *ANY是一种更不严格的元素声明方式,它严重违背了DTD的设计初衷,因此向各位读者建议尽量避免使用这种声明方式。 4.子元素出现次数的声明 5.选择性子元素的声明 选择性子元素指一个父元素必须在多个指定的子元素中选择其中的一个,格式如下: !ELEMENT element_name (子元素名1|子元素名2 |子元素名3 | ……) P55 例 配偶/ !ELEMENT 配偶 (妻子|丈夫) !ELEMENT 配偶 (妻子|丈夫)? 6.空元素的声明 格式: !ELEMENT element_name EMPTY 例: 声明 !ELEMENT 图像 EMPTY 引用 图
您可能关注的文档
- 实实在在公司加盟PPT资料官方版.ppt
- 工程岩体参数的确定.ppt
- 工程经济与项目管理第二单元.ppt
- 差分放大的设计和调试.ppt
- 工程水文学第六单元水文统计.ppt
- 市场福利.ppt
- 常用编码.pptx
- 常微分424.ppt
- 幂级数性质.ppt
- 平方根().ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
最近下载
- 纸电融合背景下高校图书馆中文图书纸电协调采购的现状与对策研究.docx VIP
- 2023广东中山市人大常委会办公室招聘雇员1人笔试备考试题及答案解析.docx VIP
- DDI 有效沟通学员手册.doc VIP
- 《疼痛评估工具》课件.ppt VIP
- 动物皮水解复合酶及其在动物皮提取胶原蛋白中的应用.pdf VIP
- 《中国传统文化》课件 2.2 道家思想及其人生模式.pptx
- 消防泵房分项工程技术交底.docx VIP
- 黄岭尾矿库安全风险辨识评估报告.doc VIP
- 专题08 整本书阅读(全国通用)(解析版)十年(2016-2025)高考语文真题分类汇编.docx
- 三星级高中评估标准及评价细则.docx VIP
文档评论(0)