下面是一个用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>
选择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)>
<?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>
<?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>