- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7讲 在XML文档中使用DTD PHP与 及MySQL5程序设计 .ppt
第7讲 ;2009.2;2009.2;DTD;?DTD概述?DTD元素声明?DTD属性声明 ?DTD实体声明?DTD标记声明?DTD中的测试开关?DTD文件存在的问题;DTD概述
DTD的本质
DTD是一个语法分析器:定义了置标语言、文档结构的语法和词汇表;DTD概述
DTD文件的声明语法
!DOCTYPE 根元素名称[定义的内容]
根元素必须在“[定义的内容]”部分首先定义。即使在DTD声明中已经明确的先写出了根元素,也必须先定义
其中定义的内容包括:
DTD 的元素声明
DTD 的属性声明
DTD 的实体声明
DTD 的标记声明;DTD概述
我们在XML文档中所嵌入的DTD信息都是内部DTD,但是这种方式在很多情况下变得不可取。因为为每一个XML文件都编写加入一段DTD,是相当繁琐的,更多的情况下,我们为一批XML文件定义一个相同的DTD,这就是外部DTD
例如,对于报社中的每篇稿件,它们都有相同的格式,可以采用一个统一的DTD,为每一篇单独定义既麻烦,又不利于统一格式。
;内部DTD;内部DTD;外部DTD;外部DTD;外部DTD;内部和外部DTD;2009.2;2009.2;2009.2;DTD元素声明;DTD元素声明;DTD叶子元素声明;DTD枝干元素声明;DTD元素的选择声明;DTD元素的选择声明;选择声明在定义中指定的任何元素都可出现:
!ELEMENT Region (city|country|continent)
说明Region元素可以包含city、country或continent元素,但不是必须
选择和顺序可以合并使用,如下:
!ELEMENT atlas( (city|country|continent),population,language)
符合这个DTD要求的XML文档如下:
atlas
countryUnited States/country
population240 Million/population
languageEnglish/language
/atlas;书上示例:P51
char03-ex02.dtd
char03-stock03.xml
char03-stock03-test.xml
注意:对“神龙电业”和“武商股份”的任意组合都行;综上所述,|的作用
多选一
综上所述,(|)*的作用
多选多
任意顺序;在文档中,元素出现的缺省值为一次,如下:
!ELEMENT 文件(书籍)
定义的结果是:在文件元素中只能包含一个”书籍”元素
但常常的情况是根元素中包含的元素不只有一个,此时就要用到量词。常用的量词有:? * +
?: 代表可以有0个或1个,即最多只能有一个.
*:代表随便有几个都可以,即可以有0个到无限个
+:代表至少要有一个,没有上限,可以从一个到无限多个.;量词的用法:
!ELEMENT 元素名(包含元素?)
!ELEMENT 元素名(包含元素*)
!ELEMENT 元素名(包含元素+);例如:
!ELEMENT atlas ( (city|country), population?,language+)
遵守该DTD的有效XML片断如下:
atlas
countryUnited States/country
languageEnglish/language
languageSpanish/language
/atlas
在这个DTD中,指定population是可选项,languange至少出现一次,实际出现了多次;DTD元素的数据内容;DTD元素的数据内容;DTD元素的数据内容;#PCDATA:该内容模型说明元素中可以出现文字数据的字符串,例如,可以将countryScotland/country
指定为:
!ELEMENT country (#PCDATA)
;Any:ANY关键字表明DTD中声明的任何元素或数据都可以作为该元素的子元素,例如,可以将capitals根定义为:
!ELEMENT capitals ANY
但一般情况下除根元素外不建议使用该属性.
;书上示例:P54
char03-bookist01.xml
char03-any.dtd
char03-any-test.xml
注意:对“神龙电业”和“武商股份”的任意组合都行;进入网站的时候,经常需要注册用户名,编写一个XML文档用来记录这些信息。
包括:用户名,密码,密码提示问题,密码提示答案,邮件地址,所在城市,省份,直辖市,国家等信息。
规定用户名和密码必须是唯一的,密码提示问题和密码提示答案可有可无,邮件地址必须有并可以有多个,地址中省份和直辖市是选择关系,其他信息是唯一的。;根元素必须首先声
文档评论(0)