预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

DTD是DocumentTypeDefinition(文档类型定义)的缩写。它通过定义元素、属性、标记以及文档中的实体及其相互关系等规则来保证XML文档的合法性。 1.DTD的声明方式分为内部声明与外部声明 内部声明的格式是 <!DOCTYPE根元素[<!ELEMENT根元素(元素1,元素2)><!ELEMENT元素1(#PCDATA)><!ELEMENT元素2(#PCDATA)>]> 外部声明的格式分两种,对应的关键字为"SYSTEM"与"PUBLIC" <!DOCTYPE根元素SYSTEM"外部DTD文件"><!--这里的外部DTD文件,若不指明绝对路径,则必须是和xml文件在同一目录,否则无效--> "PUBLIC"声明的DTD文件通常是一个由权威机构制订的,提供给特定行业或公众使用的DTD。 <!DOCTYPE根元素PUBLIC"外部DTD的标示名""外部DTD文件路径"> 2.元素类型声明 <!ELEMENT元素名元素内容描述> DTD中使用的元素内容类型有:EMPTY、ANY、Mixed、Elements EMPTY是指元素不能有任何的内容,但可以有属性: <!--DTD声明部分--><!ELEMENT元素1EMPTY><!ATTLIST元素1性别(男|女)"男"><!--XML文件部分--><元素1性别="女"/><!--这里若是以<元素1></元素1>的形式出现,即使里面没有任何数据,也会产生错误--> ANY说明元素可以有任何类型的子元素,也可以是纯文本,还可以为空 <!ELEMENT元素2ANY> 这里需要特别注意的是,虽然用ANY定义的元素可以包含其它元素,但必须遵循XML文件的"有效的"原则,即XML文件规定文件中所使用的任何元素都必须在DTD中给出定义 看下面这段非法的文件: <?xmlversion="1.0"encoding="gb2312"?><!DOCTYPE图书信息[<!ELEMENT图书信息ANY>]><图书信息><书名>新概念英语</书名></图书信息> 编译器会提示这样一条错误信息 "Thisfileisnotvalid:Element'书名'hasnotbeendeclared." 就是提示"书名"这个元素没有经过定义,要纠正这个错误,只要在DTD定义部分加入定义语句"<!ELEMENT书名(#PCDATA)>"就可以了 Mixed允许混合内容使得字符数据和其他元素能在元素内共存,它并不是以关键字的形式存在的 <!ELEMENT元素3(#PCDATA|子元素1|子元素2)> <?xmlversion="1.0"encoding="gb2312"?><!DOCTYPE图书信息[<!ELEMENT图书信息(#PCDATA|书名|价格)*><!ELEMENT书名(#PCDATA)><!ELEMENT价格(#PCDATA)>]><图书信息>今日新到图书:<书名>XML实用教程</书名><价格>¥26.00</价格></图书信息> Elements规定特定子元素必须按规则与顺序出现,子元素后可以用各种元字符来说明出现的次数 <!ELEMENT元素4(子元素1,子元素2,子元素3)> 可能出现的元字符: 元字符含义+出现1次或多次*出现0次或多次?出现0次或1次无符号只能出现1次下面的例子中,"IT求职"的各项子元素必须按顺序和元字符说明的次数来出现 <?xmlversion="1.0"encoding="gb2312"?><!DOCTYPEIT求职[<!ELEMENTIT求职(招聘信息)+><!ELEMENT招聘信息(公司名,招聘职位+,公司网站?,联系方式*)><!ELEMENT公司名(#PCDATA)><!ELEMENT招聘职位(#PCDATA)><!ELEMENT公司网站(#PCDATA)><!ELEMENT联系方式(#PCDATA)>]><IT求职><招聘信息><公司名>中兴通讯</公司名><!--这里招聘职位出现了2次--><招聘职位>1.Java高级工程师</招聘职位><招聘职位>2.C++高级工程师</招聘职位><!--这里公司网站出现了1次--><公司网站>http://www.zte.com.cn/</公司网站><!--这里联系方式出现了2次--><联系方式>地址:深圳市南山区高新技术产业园科技南路中兴通讯大厦</联系方式><联系方式>电话:0755-26770000</联系方式></招聘信息><招聘信息><公司名>阿里巴巴</公司名><!--这里招聘职位出现了1次--><招聘职位>软件测试工程师</招聘职位><!--没有出现公司网站--><!--没有出现联系方式--></招聘信息></IT求职> 3.定义有效的元素属性 在DTD中定义属性时,我们采用下面的格式: <!A