jsp教程:JSP完全自学键盘记之XML与DTD二
DTD的元素类型声明
<!ELEMENT 元素名称 元素内容说明>
元素内容说明可以指明以下5种可能的元素内容形式
1.#PCDATA
关键字#PCDATA说明元素包含字符数据
<?xml version-"1.0" encoding="gb2312"?>
<!DOCTYPE hr[
<!ELEMENT hr (#PCDATA)>
]>
<hr>人力资源标准<hr>

2.子元素
3.混合内容
4.EMPTY
5.ANY
实体声明为了能在多个文档中调用同样的内容.经过XML处理哭 对文档进行分析处理后,引用实体的位置会被实体的内容所替换.
一般实体是在文档内容中使用的实体,而参数实体则是在DTD中使用的已分析实体.不管是一般实体还是参数实体都是用ENTITY来声明
<!ENTITY 实体名 "实体内容">
引用实体的方式: &实体名;
<?xml version-"1.0" encoding="gb2312"?>
<!DOCTYPE website[
<!ELEMENT website (name,copyright)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT copyright (#PCDATA)>
<!ENTITY name "我爱电脑技术论坛">
<!ENTITY copyright "©2004 我爱电脑技术论坛, All Rights Resered">
]>
<website>
<name>&name;</name>
<copyright>©right;</copyright>
</website>
参数实体只能在DTD中使用
<!ENTITY % 实体名 "实体内容">
注意中间的空格,引用实体的方式: %实体名;
属性表声明
<!ATTLIST 元素名 属性名 属性类型 默认声明>
默认声明可以有4种默认设置,#REQUIRED,#IMPLIED,#FIXED+默认值,只有默认值
#REQUIRED说明必须为元素提供该属性
#IMPLIED说明元素可以包含该属性,也可以不包含
#FIXED+默认值说明一个固定的属性默认值,文档的编写者不能修改该属性的值,元素中不包含这个属性,XML处理器将以声明的默认值向应用程序报告该属性.
只有默认值和FIXED+默认值一样,如果元素不包含该属性,XML处理器将以声明的默认值向应用程序报告该属性,不同的是这种声明方式属性的值是可以变的
在属性表声明时总共有10种属性类型可以选择,分别是:CDATA,Enumerated,ID,IDREF,IDREFS,ENTITY,ENTITIES,NMTOKEN,NMTOKENS,NOTATION
CDATA这是最常用的一种属性类型,表明属性值为字符数据,与元素内容说明中的#PCDATA相同.
Enumerated在声明属性时,可以限制属性的取值只能从一个列表中选择,这类属性属于枚举类型,要注意枚举类型的属性声明并没有使用关键字Enumerated,此处只是用于说明.如
<!ATTLIST person sex (male | female) #REQUIRED>
ID,IDREF,IDREFS,一个ID类型的属性值惟一标识XML文档中的一个元素,一个元素只能有一个ID类型的属性,ID类型的属性必须设置为#IMPLIED或者#REQUIRED,因为ID类型属性的每一个取值都是用来标识一个特定的元素,为ID类型的属性提供默认值,特别是固定的默认值是毫无意义的.IDREF类型的属性值为同一文档中另一个元素的ID类型的属性值,而这另一个元素的ID类型的属性值必须是已经存在的,利用ID和IDREF这两种类型的属性,我们可以在两个对象之间建立一种关联关系,如果一个属性需要引用文档中多个ID类型的属性值,则可以把它声明为IDREFS类型,IDREFS类型的属性值是一毓以空格分隔的ID类型的属性值,而且必须与文档中已有的ID类型属性值相匹配,
ENTITY,ENTITIES,ENTITY类型的属性把外部的二进制数据链接到文档 .ENTITY类型的属性值是在DTD中声明的未分析的一般实体的名称
NMTOKEN,NMTOKENS,名称标记是任何命名字符的混合体,.NMTOKEN类型的属性值是受限制的文本,只能包含名称字符,不能包含空白字符.XML名称不能以除字母,下划线.和冒号之外的其它字符开头,而名称标记没有这个限制,所有的XML名称都是名称标记,但不是所有名称标记都是XML名称.
NOTATION,类型属性的值就是在记号声明中的名称
在现实中,有很多数据都是无法用XML来表示的,比如:声音,图像,影像等.对于这些数据XML处理器通常都不支持的,通过DTD中的记号声明 为非XML数据描述一种可能的格式,或者指定一个外部处理程序.
记号声明有两种形式,一咱是使用MIME类型
<!NOTATION gif SYSTEM "image/gif">
另一种是使用URI路径,指出外部处理程序的位置
<!NOTATION gif SYSTEM "iexplore.exe">
也可以使用PUBLIC来代替SYSTEM,并添加公共的名称和URI
此系列原创纯属个人学习笔记,无任何技术含量,好记性不如烂笔头,烂笔头不如好键盘,所以,在学习的同时用键盘记录了下来。本人完全自学。所以在学习的开始,对JSP进行了深刻的了解,要真正从零学起,那是真的很难,不过我不怕,知识再多也是慢慢积累的,文化再低也有大家一起学习,知识再难也有网络可以查询。欲速则不达。希望能在我们520找到和我一起学习的朋友,也希望有高人指点。
本文来源 我爱IT技术网 http://www.52ij.com/jishu/125.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
