DTD(Document Type Definition),文档类型定义。是用来对xml描述的限制。
<!DOCTYPE greeting SYSTEM "hello.dtd">
greeting 指明xml文档根元素的名称,SYSTEM指明是私有的dtd文件一种是直接在XML文档中给出DTD,如下:
<?xml version=”1.0” encoding=”gb2312” standalone=”yes”?>
<!DOCTYPE greeting [
<!ELEMENT greeting (#PCDATA)>
]>
如果引用DTD的XML文档与DTD文件在同一个web服务器上,我们也可以使用相对URL:
<!DCOTYPE greeting SYSTEM “/dtds/hello.dtd”>
<!DCOTYPE greeting SYSTEM “../hello.dtd”>
如果位于不同位置的多个XML文档要使用同一个DTD,我们可以使用绝对URI来指明DTD文件的地址,假定hello.dtd位于http://www.lfqy.org/xml/dtds/hello.dtd,可以在文档类型声明中使用此URI:
<!DCOTYPE greeting SYSTEM “http://www.lfqy.org/xml/dtds/hello.dtd”>
使用PUBLIC关键字的声明语法如下:
<?DOCTYE 根元素的名字 PUBLIC “DTD的名称” “外部DTD文件的URI”>
PUBLIC关键字用于声明公共的DTD,并且这个DTD还有一个名称,“DTD的名称”也称为公共标识符(public identifier)。这个DTD可以存放在某个公共的地方,XML处理器程序会根据名称按照某种方式去检索DTD,如果XML处理器不能根据名称检索到DTD,就会使用“外部DTD文件的URI”(系统标识符)来查找该DTD。
<!DOCTYPE HR PUBLIC “-//lfqy//DTD HR1.0//ZH” “http://www.lfqy.org/xml/dtds/hr.dtd”>
HTML网页的文档类型声明,如下:
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”>
元素和标签
元素和标签具有不同的含义。元素是指开始标签、结束标签以及两者之间的一切内容,包括属性、文本、注释以及子元素。标签是一对尖括号(< >)和两者之间的内容,包括元素名和所有属性。例如:<font color=”blue”>是一个标签,</font>也是一个标签;而<font color=”blue”>Hello World</font>则是一个元素。
<!DOCTYPE persons[
<!-- 写完元素之后一定有空格 persons_(peson) -->
<!--
常用控制符号
? 表示0次或者1次
* 表示0次或者多次
+ 表示1次或者多次
默认表示一次
-->
<!ELEMENT persons (peson+)>
<!ELEMENT person (id,name,password?,age)>
<!-- person里面的属性sex 值是“男”-->
<!ATTLIST person sex CDATA "男">
<!-- #REQUIRED表示person里面的sex属性必须要填写,不能为空 -->
<!ATTLIST person sex CDATA #REQUIRED>
<!-- ID表示是主键唯一的 -->
<!ATTLIST person id ID #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT password (#PCDATA)>
<!ELEMENT age (#PCDATA)>
]>
备注:password可以为0次或者一次,其余都只能有一次(且必须存在)。
<persons> <person sex="男"> <id>11</id> <name>zhangsan</name> <password>123456</password> <age>12</age> </person> </persons>