下面是一个用DTD文档的XML实例
1、文档编写方式:外部DTD文档
下面是要求:
<学生名册>
<学生 学号=“”>
<姓名></姓名>
<性别></性别>
<年龄></年龄>
</学生>
<学生 学号=“”>
<姓名></姓名>
<性别></性别>
<年龄></年龄>
</学生>
</学生名册>
首先建立.dtd文档。
stu_roll.dtd文件内容:
<?xml version="1.0" encoding="GB2312"?>
<!ELEMENT stu_roll (student)+>
<!ELEMENT student (stu_name,stu_sex,stu_age)>
<!--#PCDATA必须有括号-->
<!ELEMENT stu_name (#PCDATA)>
<!ELEMENT stu_sex (#PCDATA)>
<!ELEMENT stu_age (#PCDATA)>
<!ATTLIST student
stu_number CDATA #REQUIRED>
其次建立.xml文档。
选择DTD---->确定----->browse进stu_dtd文件,然后在新打开的编译页面里写代码。
stu_roll.xml文件内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE stu_roll SYSTEM "E:\code\xml\stu_roll.dtd">
<stu_roll>
<student stu_number="A1">
<stu_name>张三</stu_name>
<stu_sex>男</stu_sex>
<stu_age>20</stu_age>
</student>
<student stu_number="A2">
<stu_name>李四</stu_name>
<stu_sex>女</stu_sex>
<stu_age>19</stu_age>
</student>
<student stu_number="A3">
<stu_name>王二</stu_name>
<stu_sex>男</stu_sex>
<stu_age>21</stu_age>
</student>
</stu_roll>
2、另一个例子:外部DTD文档
myfile.dtd
<?xml version="1.0" encoding="GB2312"?>
<!ELEMENT myfile (title,author)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
myfile.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE myfile SYSTEM "myfile.dtd">
<myfile>
<title>xml基础教程</title>
<author>张三</author>
</myfile>
3、外部DTD文档
product.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT productdata (product)+>
<!ELEMENT product (productName,descri,price,quantity)>
<!ELEMENT productName (#PCDATA)>
<!ELEMENT descri (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT quantity EMPTY>
product.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE productdata SYSTEM "product.dtd">
<productdata>
<product>
<productName>芭比娃娃</productName>
<descri>这是为11岁以下的儿童所准备的玩具</descri>
<price>200</price>
<quantity/>
</product>
<product>
<productName></productName>
<descri></descri>
<price></price>
<quantity></quantity>
</product>
</productdata>
4、下面是内部DTD的例子,与上面外部DTD作对照:
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE myfile [
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
]>
<myfile>
<title>XML 基础教程</title>
<author>张三</author>
</myfile>
我觉得比较大的文档适合用 ,外部DTD。用起来方便,快捷,思路清晰。内部DYT就好比是C里的内联函数。偶尔用用还是可以的。