dtd初学简介

4 篇文章 0 订阅
3.DTD技术
3.1DTD是一门XML约束技术,用来约束XML写法。
3.2如何在XML中引入一个DTD
3.2.1外部引入:dtd约束文件存在在一个外部文件中,我们在XML中引入该约束。
(1)本地文件引入:该dtd文件存在在本地硬盘中
<!DOCTYPE 根元素的名称 SYSTEM "文件所在的路径">
(2)公共位置文件引入:dtd约束文件存在在一个公共网络上,我们在XML引入该约束
<!DOCTYPE 根元素的名称 PUBLIC "dtd名称" "dtd所在的URL">
3.2.2在XML内部写dtd约束
在文档声明下<!DOCTYPE 根元素名称 [dtd约束的内容]>
3.3利用dtd约束XML中的元素
<!ELEMENT 元素名称 元素约束> 
3.3.1元素约束
(1)存放类型
ANY:当前声明的元素可以包含任意子元素
EMPTY:当前声明的元素不能包含任何元素
(2)存放内容:利用小括号括起来的元素的名称,用来表示该元素中可以存放哪些内容
<!ELEMENT "元素名" (可以包含的元素的名称)>
小括号中的内容,可以有多个子元素的名称
如果用“,”分割这些子元素就表明这些子元素必须按指定的顺序出现
如果用“|”分割这些内容就表明这些子元素只能出现其中之一
使用“+”来表明内容可以出现一次或多次
使用“*”来表明内容可以出现零次或多次
使用“?”来表明内容可以出现零次或一次
#PCDATA表明该元素可以包含标签体
可以利用()进行组操作:
<!ELEMENT MYFILE ((TITLE*, AUTHOR?, EMAIL)* | COMMENT)>
3.4利用dtd约束XML中的属性
<!ATTLIST 元素名
属性名 属性类型 属性约束
。。。。>
3.4.1属性类型
(1)CDATA:表明该属性的值是一个普通的文本值。
(2)ENUMERATED:表明该属性的值只能取指定范围内的其中之一
(3)ID:表明该属性值在整个文档中必须唯一,注意ID类型的属性的值必须以字母下划线开头,并且不能以数字开头,不能包含空白字符

3.4.2属性约束
(1)#REQUIRED 来表明当前这个属性是必须存在的属性
(2)#IMPLIED 来表明当前这个属性是可选的属性
(3)#FIXED "固定值" 来表明当前这个属性具有一个默认的值,可以不明确指定该属性,解析器会帮你加上,如果你硬是指定了一个其他的值,会出错。
(4)"默认值" 来表明当前属性具有一个默认的值,如果给这个属性指定一个值就用指定的值,如果不指定呢,就使用默认值。

3.5实体:可以理解为对一段内容的引用,如果有一段内容到处在被使用,可以将其设计为一个实体
3.5.1引用实体:用在XML中的实体
声明实体:<!ENTITY 实体名称 "实体内容">
引用引用实体:&实体名称;

3.5.2参数实体:用在DTD文件中的实体
声明实体:<!ENTITY % 实体名称 "实体内容">
引用参数实体: %实体名称;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值