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万+

猜你喜欢

转载自blog.csdn.net/qq_43542074/article/details/102809356
今日推荐