DTD的快速入门
(一)步骤:
1、创建后缀名为.dtd的文件
2、看xml中有几个元素,就写几个<!ELEMENT>
3、判断元素是简单元素还是复杂元素
①、简单元素
<!ELEMENT 元素名称 (#PCDATA)>
②、复杂元素
<!ELEMENT 元素名称 (子元素)>
4、在xml文件中引入DTD文件
<!DOCTUPE 根元素名称 SYSTEM "dtd文件的路径">
(二)DTD的引入方式
1、外部引入
<!DOCTUPE 根元素名称 SYSTEM "dtd文件的路径">
2、内部引入
<!DOCTUPE 根元素名称 [
写外部引入时,dtd文件写的代码
]>
3、使用外部的dtd文件(网络上的dtd文件)
<!DOCTUPE 根元素名称 PUBLIC "DTD名称" "DTD文档的URL">
(三)使用DTD定义元素
1、语法
<!ELEMENT 元素名 约束>
2、简单元素:没有子元素的元素
a)约束为字符串:(#PCDATA)
b)为空:EMPTY
c)任意:ANY
3、复杂元素
a)+:表示子元素出现一次或者多次;
b)?:表示子元素出现一次或者零次;
c)*:表示子元素出现零次或者多次。使用如下:
<!ELEMENT 元素名 (子元素+) 约束>
<!ELEMENT 元素名 (子元素?) 约束>
<!ELEMENT 元素名 (子元素*) 约束>
d)多个子元素直接使用逗号进行隔开,表示元素出现的顺序。
f)多个子元素使用"|"隔开,表示元素只能出现其中的任意一个。
(四)使用DTD定义属性
1、语法
<!ATTLIST 元素名称 属性名称 属性类型 属性的约束>
2、属性类型
1)CDATA:字符串
2)枚举:表示只能在一定范围内出现值,但是每次只能出现一个,如(aa|bb|cc)
3)ID:值只能是字母或者下划线开头
3、属性的约束
1)#REQUIRED:属性必须存在
2)#IMPLIED:属性可有可无
3)#FIXED:表示一个固定值
4)直接值:不写属性,使用直接值,写了属性,则使用设置的那个值。
(五)定义实体
定义语法:
<!ENTITY 实体名称 "实体的值">
使用实体:&实体名称;
注意:定义的实体,需要写在内部DTD中,如果写在外部的dtd中,在某些浏览器中内容得不到。