DTD文件规范

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入外部DTD
<!DOCTYPE 根元素  SYSTEM "DTD-URL">
或者
<!DOCTYPE 根元素  PUBLIC "DTD-NAMA" "DTD-URL">
 -->

<!DOCTYPE students[   <!--students 代表root-->
<!ELEMENT student (id*,name)>  <!-- *代表0或者多个   ?代表0个或者1个     +表示不少于1次-->
<!ELEMENT id (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company ANY>    <!--  EMPTY代表此元素为空   ANY 代表人任意元素  #PCDATA代表任意元素-->
<!ELEMENT school EMPTY>
<!ELEMENT fullname (firstname,middlename,lastname)> <!--firstname,middlename,lastname代表子元素-->
<!ELEMENT firstname EMPTY>
<!ELEMENT middlename EMPTY>
<!ELEMENT lastname EMPTY>

<!ELEMENT onename (firstname1|middlename1)> <!--firstname1或middlename1一个子元素-->
<!ELEMENT firstname1 EMPTY>
<!ELEMENT middlename1 EMPTY>

<!ELEMENT person EMPTY>
<!ELEMENT person1 EMPTY>
<!ELEMENT person2 EMPTY>

<!--属性     元素名   属性名   属性类型   默认值情况  -->
<!ATTLIST person id CDATA "100">
<!--默认值情况 :#IMPLIED,#FIXED #REQUIRED 字符串 
#IMPLIED ;代表该属性没有默认值,可以没有该属性
#REQUIRED :代表必须有该属性
#FIXED  :代表无论添加不添加该属性  都有该属性   fixed后面的值
-->
<!ATTLIST person1 id CDATA #IMPLIED >
<!ATTLIST person2 id CDATA #FIXED "1001">

<!--属性类型:
CDATA:字符串类型 <!ATTLIST person id CDATA "100">
Enumerated:<!ATTLIST person id (属性1|属性2|属性3) "100">  三个属性任一一个即可
NMTOKEN:属性值中不能含有空格符串
NMTOKENS:属性值中不能含有空白符串
ID:这个属性具有专用性,不允许其他再使用这个相同的属性
-->

<!--
ENTITY 不在具体实例化文档中使用    而在DTD内部被使用
内部实体
-->
<!ELEMENT person3 (#PCDATA)>
<!ENTITY writer "KOJIE">
<!--
外部实体  
<!ENTITY writer SYSTEM URL>
-->
<!ELEMENT person4 (#PCDATA)>
<!--参数实体-->
<!ENTITY % shopaddress "
<!ELEMENT address1 (#PCDATA)>
<!ELEMENT address2 (#PCDATA)>
">
<!ELEMENT shop (address1,address2)>
%shopaddress;
<!--引入外部实体
<!ENTITY % adress SYSTEM "A.dtd">
-->

]>
<students>
<student>
<id>2006120302</id>
<id>2006120302</id>
<name>zhangjie</name>
</student>

<company>
<a>ddddd</a>
</company>

<school></school>

<school/>


<fullname>
<firstname></firstname>
<middlename></middlename>
<lastname></lastname>
</fullname>

<onename>
<firstname1></firstname1>
</onename>

<onename>
<middlename1></middlename1>
</onename>


<person3>&writer;</person3>

<shop>
<address1>浙江</address1>
<address2>杭州</address2>
</shop>

</students>

相关推荐