DTD和Schema都是用来规范xml的格式的。Schema比DTD对xml的规范更加精确。
那么先来看DTD:
这是一个名为classroom.dtd的DTD文件
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT classroom (name,grade,students+)>
<!--在这里声明的顺序在创建xml时必须按照这个顺序来创建-->
<!--
+表示1次或多次
?表示0次或1次
*表示0次或多次
-->
<!ATTLIST classroom claId ID #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!--每个元素写完,后面必须空格,否则会报错-->
<!ELEMENT grade (#PCDATA)>
<!ELEMENT students (student)>
<!ELEMENT student (stuId,stuName,age)>
<!ELEMENT stuId (#PCDATA)>
<!ELEMENT stuName (#PCDATA)>
<!ELEMENT age (#PCDATA)>
然后根据这个DTD文件可以来创建xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE classroom SYSTEM "classroom.dtd">
<!--
小范围使用,引用系统内部的dtd使用SYSTEM
大范围使用,从外部引入的dtd使用PUBLIC
-->
<classroom claId="c1">
<name>计科一班</name>
<grade>2010级</grade>
<students>
<student>
<stuId>101010001</stuId>
<stuName>Jack</stuName>
<age>20</age>
</student>
</students>
<students>
<student>
<stuId>101010002</stuId>
<stuName>Tom</stuName>
<age>22</age>
</student>
</students>
</classroom>
DTD就是这么简单!
(未完待续......)