分享
 
 
 

XML之文档类型定义

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

DTD Document Type Definition 文档类型定义。我们在XML中可以自定义标记,那XML解析器怎么认识这些自定义标记并根据自定义标记的处理法则来处理元素呢?这需要DTD,它是我们用来定义我们自己定义的标记的含义,我们自己定义元素的相关属性的文档。

DTD与XML是类与对象,数据库表结构与记录的关系。

符合XML规则(包括必须有XML声明语句;必须有且只有一个根元素;标记大小写敏感;属性值用引号;标记成对,空标记关闭;元素正确嵌套)的XML文档称为结构完成的XML文档;符合XML规则并且符合DTD验证的XML文档称为合法的XML文档。IE只验证结构完整性不验证合法性,XMLSPY验证合法性。

DTD分类:内部DTD;外部DTD;内外结合的DTD。

外部DTD的优点:被多个XML共享,保持统一的数据交换格式,不同组织的人使用同一个通用的DTD来交换数据;应用程序可以使用一个标准DTD效验从外部世界接受来的XML数据是否有效。

下面是一个lsmx.dtd

<?xml version="1.0" encoding="GB2312"?>

<!ELEMENT 家庭 (人+, 家电*)>

<!ELEMENT 人 (#PCDATA)>

<!ELEMENT 家电 EMPTY>

<!ATTLIST 人

名字 CDATA #REQUIRED

性别 (男 | 女) #REQUIRED

年龄 CDATA #REQUIRED

爱好 CDATA #IMPLIED

>

<!ATTLIST 家电

名称 CDATA #REQUIRED

数量 CDATA #REQUIRED

说明 CDATA #IMPLIED

>

元素定义

<!ELEMENT NAME CONTENT>

关键字 元素名称 元素类型

元素类型

1, EMPTY:空元素,但可以有属性。<mytag id=”001”/>。

2, ANY:含任何DTD中定义的元素内容。

3, #PCDATA:纯文本,不能有任何自元素。<!ELEMENT 人 (#PCDATA)>。

4, 组合类型:<!ELEMENT 家庭 (人+, 家电*)>。

符号含义:+最少出现一次;*可以出现任意次,包括0次;?出现0或一次;(a,b,c)a,b,c必须出现,并且按指定位置出现。

属性定义

<!ATTLIST 元素名称

属性名称 属性类型 属性特点

··········

>

属性类型:

1, CDATA:只包含字符数据。

2, ID:类似主键,必须唯一。

3, NMTOKEN 不包含中文的CDATA。

4, 枚举 事先定义好一些值,该属性的值必须匹配列出的这些数值。

性别 (男 | 女) #REQUIRED。

属性特点:

1,#REQUIRED NOTNULL 非空。

2,#IMPLIED 可写可不写。

3,#FIXED value 固定值,不可变。

属性名 CDATA #FIXED“固定值”

5, Default value 默认值

实现:

<?xml version="1.0" encoding="GB2312"?>

<!DOCTYPE 家庭 SYSTEM "lsmx.dtd">

<家庭>

<人 名字="郭大路" 性别="男" 年龄="25"/>

<人 名字="李寻欢" 性别="男" 年龄="38" 爱好="作个教育家和伟人"/>

<家电 名称="彩电" 数量="3"/>

</家庭>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有