xml中外部引用DTD文檔

outerdtd.xml
使用<!DOCTYPE scores SYSTEM "score.dtd">來引用外部DTD文件


<?xml version="1.0" encoding="UTF-8"?>
<!-- 外部引入DTD -->
<!DOCTYPE scores SYSTEM "score.dtd">

<scores>
    <student id="1">
        <name>www</name>
        <course>java</course>
        <score>66</score>
    </student>
    <student id="2">
        <name>eee</name>
        <course>php</course>
        <score>77</score>
    </student>
</scores>

外部DTD文件score.dtd,文件的內容與內部寫的一樣。

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT scores (student+)>
<!ELEMENT student (name,course,score)>
<!ATTLIST student id CDATA #REQUIRED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT course (#PCDATA)>
<!ELEMENT score (#PCDATA)>

其他DTD文件實例

1. 電視節目表 DTD

<!DOCTYPE TVSCHEDULE [

	<!ELEMENT TVSCHEDULE (CHANNEL+)>
	<!ELEMENT CHANNEL (BANNER,DAY+)>
	<!ELEMENT BANNER (#PCDATA)>
	<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
	<!ELEMENT HOLIDAY (#PCDATA)>
	<!ELEMENT DATE (#PCDATA)>
	<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
	<!ELEMENT TIME (#PCDATA)>
	<!ELEMENT TITLE (#PCDATA)> 
	<!ELEMENT DESCRIPTION (#PCDATA)>
	
	<!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>
	<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
	<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
	<!ATTLIST TITLE RATING CDATA #IMPLIED>
	<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>

]>

2.報紙文章 DTD

<!DOCTYPE NEWSPAPER [ 

	<!ELEMENT NEWSPAPER (ARTICLE+)>
	<!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)>
	<!ELEMENT HEADLINE (#PCDATA)>
	<!ELEMENT BYLINE (#PCDATA)>
	<!ELEMENT LEAD (#PCDATA)>
	<!ELEMENT BODY (#PCDATA)>
	<!ELEMENT NOTES (#PCDATA)> 
	
	<!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED>
	<!ATTLIST ARTICLE EDITOR CDATA #IMPLIED>
	<!ATTLIST ARTICLE DATE CDATA #IMPLIED>
	<!ATTLIST ARTICLE EDITION CDATA #IMPLIED>
	
	<!ENTITY NEWSPAPER "Vervet Logic Times">
	<!ENTITY PUBLISHER "Vervet Logic Press">
	<!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press">

]>

3.產品目錄 DTD

<!DOCTYPE CATALOG [

	<!ENTITY AUTHOR "John Doe">
	<!ENTITY COMPANY "JD Power Tools, Inc.">
	<!ENTITY EMAIL "[email protected]">
	
	<!ELEMENT CATALOG (PRODUCT+)>
	
	<!ELEMENT PRODUCT
		(SPECIFICATIONS+,OPTIONS?,PRICE+,NOTES?)>
	<!ATTLIST PRODUCT
		NAME CDATA #IMPLIED
		CATEGORY (HandTool|Table|Shop-Professional) "HandTool"
		PARTNUM CDATA #IMPLIED
		PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago"
		INVENTORY (InStock|Backordered|Discontinued) "InStock">
	
	<!ELEMENT SPECIFICATIONS (#PCDATA)>
	<!ATTLIST SPECIFICATIONS
		WEIGHT CDATA #IMPLIED
		POWER CDATA #IMPLIED>
	
	<!ELEMENT OPTIONS (#PCDATA)>
	<!ATTLIST OPTIONS
		FINISH (Metal|Polished|Matte) "Matte" 
		ADAPTER (Included|Optional|NotApplicable) "Included"
		CASE (HardShell|Soft|NotApplicable) "HardShell">
	
	<!ELEMENT PRICE (#PCDATA)>
	<!ATTLIST PRICE
		MSRP CDATA #IMPLIED
		WHOLESALE CDATA #IMPLIED
		STREET CDATA #IMPLIED
		SHIPPING CDATA #IMPLIED>
	
	<!ELEMENT NOTES (#PCDATA)>

]>
發佈了81 篇原創文章 · 獲贊 18 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章