版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 文档类型定义,为了表明设计者的设计意图必须通过 某种通用的方式说明词汇表的语法规则。 为此,XML 1.0提供了一种机制文档类型 定义(Document Type Definition,DTD) DTD使用正式的语法定义XML文档的结构和 允许值 利用DTD验证有效性,DTD出现的原因:,文档类型定义 元素 实体 创建外部实体 包含及忽略DTD片断,2.1.1 定义内部DTD 2.1.2 定义外部DTD 2.1.3 公用DTD 2.1.4 实例,2.1文档类型定义,2.1.1 定义内部DTD, Hello world! ,DTD声明格式: ,DTD关键字:定义DTD通过四种标记声明定义
2、XML文档中允许出现的内容,ELEMENT 元素声明格式: 其中内容可以为: EMPTY,ANY,子内容或混合内容,ATTLIST,属性声明格式: 如: ,其中TYPE可以是:,默认值可以是:,ENTITY 实体声明格式: ,NOTATION: 注记声明格式: 在后面将详细讲解.,2.1.2 定义外部DTD,为什么要定义外部DTD: 1.为了共享DTD 2.为了xml文件的简短 格式: 可以在独立的DTD文件中提供外部子集声明,或者在DOCTYPE声明体中包含内部子集,或者同时采用上述两种方式 内部DTD可以添加新的声明,或者覆盖外部DTD中的声明, 李顶三 2003-04-25 可口可乐 2
3、 3元 6元 ,order.dtd: ,2.1.3 公用DTD,格式: FPI:正式共用标识符,FPI规则:,FPI的各个域由/分开 第1个域指定DTD到一个正式标准的链接:自定义的DTD设为“-”;非标准组织认可的设为“+”;正式的标准设为对标准的引用。 第2个域为DTD编写或负责的机构或个人名称 第3个域为文档的类型与版本号 第4个域为DTD使用的语言, BluePrints_Petstore The BluePrints Petstore Builts On top of the Web Application Framework petstoreEjb.jar . ,2.1.4 例子,
4、实例21:用内部DTD实现医疗病历 实例22:用外部DTD实现医疗病历,2.2元素,2.2.1 元素简介 2.2.2 元素声明 2.2.3 元素内容声明 2.2.4 元素的一些规则 2.2.5实例,DTD中也只能有一个根元素 根元素下可以有其他的子元素,而子元素下还可以有其他的子元素。 例如: ,2.2.1 元素简介,2.2.2 元素声明,语法: 内容声明可以为字符串,子元素,二者任意数目的任意排列组合。,2.2.3元素内容声明,#PCDATA #PCDATA是最常用的一种完素数据类型声明,表示此元素不包含任何子元素,它是纯文本数据。 例如以下的声明: ,EMPTY 在文件中允许使用空元素,即
5、该元素中可以不含任何的子元素或是文件数据。例如: 注:它表示some元素不可以含任何的子元素或者是文件数据,此元素在XML文件中的写法可以有两种:或,ANY ANY数据类型常用于根元素的声明,它表示此根元素之下可以包含任何的子元素或是文字数据。 例如:element.xml中, ,子内容 在DTD中声明元素含有子元素,最常见的方式就是将其子元素依次列出,并以逗号将各子元素分隔开来。 例如: ,混合内容 混合内容类型的元素可以只包含字符数据,也可以同时包含字符数据和子元素例如: ,2.2.4元素的一些规则,例如: 注:上述声明中,name和tel只能出现一次,author 必须出现一次或多次,f
6、ax可以出现一次或不出现, 而最后的address可以出现多次或不出现。,选择性元素 有些元素的子元素可以有选择性,例如:性别可以是男或女。声明的语法是: 例如:select.xml 混合型 有些元素中可以选择性的有子元素或者是#PCDATD,甚至于各子元素的出现次数也可以不同,DTD中也允许用户定义此类混合型的元素。例如:, 注:上述声明中指出document元数有三个子元素,第一为article元素,第二个元素有选择性,它可以是paragraph或image,而且第二个元素至少出现一次或多次,第三个元素note,它可以出现一次或者没有出现。,2.2.5实例,实例2-3:推荐丛书的例子,2.
7、3实体,2.3.1 通用内部解析实体 2.3.2 参数内部解析实体 2.3.3 实例,实体定义:,定义:实体就是指XML文件所包含的任何一项特定数据,就连XML文件本身也可以视为一个实体。 XML文件中可以参照到内部实体或是外部实体。,实体,通用实体,参数实体,内部实体,外部实体,外部实体,外部实体,解析实体,解析实体,解析实体,解析实体,未解析实体,2.3.1 通用内部解析实体,通常用来取代经常使用的文字或是较难输入的长字符串。 DTD中内部实体的声明语法如下: 在XML中调用实体的格式:“ ,通用内部解析实体遵循的规则: 名称符合XML名称定义要求 实体名可以同参数实体同名 实体名称大小写敏感 实体字符串可以包含在单引号,或双引号内 实体字符串不能包括引号 实体字符串不能包好”&”字符与“%” 例子:程序代码2-9,预定义实体:,2.3.2 参数内部解析实体,仅仅在DTD中使用的解析实体称为参数实体。它使我们能够简便地引用或修改DTD中常用的结构,我们只需维护一处代码。与逐一修改DTD中出现每个结构相比,这种方法简单得多,但是当我们打算扩展结构时,仍然需要编辑DTD。参数实体声明由以下几部分组成:ENT ITY关键字、百分号、名称和替换值,定义格式: 引用格式: %name; 例子:程序代码2-10,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东大众报业(集团)有限公司公开招聘笔试参考题库及答案解析
- 2026年中国铁路投资集团有限公司应届高校毕业生招聘25名考试备考题库及答案解析
- 2026万里运业股份有限公司招聘16人考试备考题库及答案解析
- 2026四川广安市农业农村局遴选3人考试备考题库及答案解析
- 2026年广西柳州市壶西实验中学初三中考信息卷(一)英语试题含解析
- 温州市达标名校2026届初三年级三月考英语试题含解析
- 2025-2026学年重庆市十八中学初三下学期第一次半月考语文试题含解析
- 2026届湖北省麻城思源实验校初三下学期校内第一次质量检测试题英语试题含解析
- 人力资源管理招聘与配置流程模板
- 湖北省随州市随县2026年初三语文试题中考模拟试题含解析
- 快手直播培训
- 2025年生猪养殖二育猪育肥服务合同
- 公交驾驶员培训试题及答案
- 浙江省广告产业发展蓝皮书2024-浙江省数字广告研究院
- 2025年购物中心多经简报
- 术后下床活动指导规范
- 新能源装备制造项目风险评估报告
- 《企业研发管理体系建设指南》
- 国产数据库介绍
- 国开2025年秋《心理学》形成性考核练习1-6答案
- 2025年航空保险行业无人机保险市场前景研究报告
评论
0/150
提交评论