DTD(Document Type Definition),即文档类型定义,用于定义XML的语法规则。文档类型声明有两种形式:1、声明DTD在一个外部文件中;2、直接在XML文档中给出DTD。
外部DTD:在文档类型声明时,使用关键字SYSTEM或PUBLIC来指出外部DTD文件的位置,语法如下:<!DOCTYPE rootelement_name SYSTEM "URI_of_out_DTD">,这里SYSTEM关键字表示文档使用的是私有的DTD文件,URI_of_out_DTD可以是绝对URI,也可以是相对URI;使用PUBLIC关键字声明时语法如下:<!DOCTYPE rootelement_name PUBLIC "name_of_DTD" "URI_of_out_DTD">,PUBLIC用于声明公共的DTD。
内部DTD:在XML文档内部定义DTD,会使文档长度增加,而且不方便多个文件共用同一个DTD。
DTD文件中的一些知识:
1.如果DTD中的元素名称后面跟一个星号“*”,那么这个元素可以不出现或出现一次或多次;
2.如果DTD中的元素名称后面跟一个加号“+”,那么这个元素可以出现一次或多次,但至少出现
一次。
3.如果DTD中的元素名称后面跟一个问号“?”,那么这个元素可以不出现或者只出现一次,
即至多出现一次。
4.符号“|”表示“或”,意思是一个元素或者另外一个元素可以出现,有了这个就可以选择一
个或多个元素。
5.如果DTD中使用ANY关键字来描述元素的内容,那么XML文档中对应的元素可以包含任何
内容。