- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章数据源
DTD 在XML文档中引入DTD 内部DTD 内部DTD 外部DTD 外部DTD 外部DTD 外部DTD 外部DTD 外部DTD DTD结构 元素类型声明 元素内容说明- #PCDATA 元素内容说明-子元素 元素内容说明-子元素 元素内容说明-子元素 元素内容说明-子元素 元素内容说明-子元素 格式良好的XML * * DTD结构 DTD(Document Type Definition),文档类型定义。在XML标准中,描述了如何创建DTD,以及如何将它与根据它的规则所编写的XML文档相关联,并且还定义了XML处理器应该如何对DTD进行处理。有了DTD就可以检测XML文档的结构是否正确。 DTD为xml文档编写者和处理者提供共同原则,与文档相关的工作有了统 一标准。 通过在XML文档中包含文档类型声明.来建立当前文档和DTD的关联、当进行有效性验证的XML处理器读到该指令时,它获取DTD.并根据其中定义的规则对文档进行检验,文档类型声明必须位于XML声明之后,且在根元素(文档元素)之前。不过,在XML声明和文档类型声明之间可以插入注释和处理指令。 我们可以直接在XML文档中定义DTD,也可以通过URl引用外部的DTD文件,或者同时采用这两种方式 ?xml version=”1.0” encoding=”gb2312” standalone=”yes”? !DOCTYPE greeting[ !ELEMENT greeting (#PCDATA) ] 文档声明是由!开始的,后面紧跟一个关键字DOCTYPE,然后是文档根元素的名称接下来是标记声明块,标记声明块是放在左中括号([)和右中括号(])之间的,由一个或多个标记声明构成,最后由结束。 DTD中,所有关键字都是大写的。不过,DTD中定义的元素和属性大小写可以任意指定的,但一旦给一个元素命名,整个文档都有用相同大小写。 在XML文档中定义DTD,比较直观,修改也比较方便,而且不用担心XML处理器找不到DTD,但是它也有一些缺点: (1)在文档中定义DTD会导致文档本身的长度增加,在传输数据时,即使不需要验证文档的有效性,这些声明也会随着文档一起传输: (2)如果多个XML文档要共用同一个DTD,我们就需要在每一个文档中加入DTD,这是相当繁琐的。 外部DTD声明时用SYSTEM(私有DTD)或PUBLIC(公共DTD)指出外部DTD的位置。 使用SYSTEM关键字的声明语法如下: !DOCTYPE 根元素名字 SYSTEM “外部DTD文件的URI” SYSTEM关键字表示文档使用的是私有的DTD文件,“外部DTD文件的URI”可以 是相对URI或者绝对URI。相对URI是相对于文档类型声明所在文档的位置。 “外部DTD文件的URI”这部分也被称为系统标识符(system identifier) 下面是适用一个外部DTD文件的例子: !DOCTYPE greeting SYSTEM “hello.dtd” 如果位于不同位置的多个XML文档要使用同一个DTD,我们可以使用绝对 URI来指明DTD文件的地址,假定hello.dtd位于/xml/hello.dtd,可以再文档类型声明中使用此URI: !DOCTYPE greeting SYSTEM “/xml/hello.dtd” 如果引用DTD的xml文档和dtd文件在同一web服务器上,我们也可以使用相对URL: !DOCTYPE greeting SYSTEM “/xml/dtds/hello.dtd” !DOCTYPE greeting SYSTEM “/dtds/hello.dtd” !DOCTYPE greeting SYSTEM “../hello.dtd” 上面的三种形式都是允许的 DTD名称与XML名称略有不同,只能包含ASCII字母和数字字符、空格、回车符、换行符和一些标点符号:-‘()+,./:=?;!*#@$_%。 公共DTD名称要遵守一些约定。若一项DTD是ISO标准,名称要以字符串”ISO”开始。若是非ISO标准组织批准的DTD,它名称以加号(+)开始。若不是标准组织批准的DTD,名称以连接符(-)开始。这些开始字符或字符串后接双斜杠(//)和DTD所有者的名字,之后是另一个双斜杠(//)和DTD描述的文档类型,接着又是一个双斜杠(//)后接ISO 639语言标识符,如ZH表示中文。 例如我们定义的学生资源DTD可以采用下面的命名: -//ZHANG SAN//DTD HR 1.0//ZH 连字符(-)表示这个DTD不是由任何标准组织批准的,为 ZHANG SAN所有,描述的是学生资源管理,用中文编写,完整的文档类型声明如下: !DOCTYPE HR PUBLIC “-// ZHAN
您可能关注的文档
- 第六章_医院感染管理科工作制度.doc
- 第六章_卡方检验2.ppt
- 第六章_数控加工工艺.ppt
- 第六章一次函数练习1.doc
- 第六章个案工作程序.ppt
- 第六章保护油气层技术.doc
- 第六章_设备更新的经济分析.ppt
- 第六章假设检验的基本方法1.ppt
- 第六章决策支持系统.ppt
- 第六章同步训练.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)