曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
第 238 頁
<!ELEMENT K (#PCDATA)>
<!--=======================-->
<!--Fielding Statistics-->
<!--Not yet supported-->
接下來,需要改動文檔本身。因為要依賴于另一文檔中的DTD,XML 聲明不再是獨立的文檔。所以standalone 屬性要改為
no,如下所示:
<?xml version="1.0" standalone="no"?>
然后還要改變<!DOCTYPE>標記,借助于包括SYSTEM 關鍵字和URL(通常是相對的)使它指向DTD。
<!DOCTYPE SEASON SYSTEM "baseball.dtd" >
文檔的其余部分與以前相同。但是,現在序言部分只包含XML 聲明和文檔類型聲明而不包括DTD。清單8-14 顯示了這些代
碼。
清單8-14:帶有外部DTD 的棒球統計
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE SEASON SYSTEM "baseball.dtd" >
<SEASON>
<YEAR>1998</YEAR>
<LEAGUE>
<LEAGUE_NAME>National</LEAGUE_NAME>
<DIVISION>
<DIVISION_NAME>East</DIVISION_NAME>
<TEAM>
<TEAM_CITY>Atlanta</TEAM_CITY>
<TEAM_NAME>Braves</TEAM_NAME>
<PLAYER>
<GIVEN_NAME>Ozzie</GIVEN_NAME>
XML 實用大全
第 239 頁
<SURNAME>Guillen</SURNAME>
<P>Shortstop</P>
<G>83</G>
<GS>59</GS>
<AB>264</AB>
<R>35</R>
<H>73</H>
<D>15</D>
<T>1</T>
<HR>1</HR>
<RBI>22</RBI>
<SB>1</SB>
<CS>4</CS>
<S >4</S >
<SF>2</SF>
<E>6</E>
<BB>24</BB>
<S>25</S>
<HBP>1</HBP>
</PLAYER>
</TEAM>
<TEAM>
<TEAM_CITY>Florida</TEAM_CITY>
<TEAM_NAME>Marlins</TEAM_NAME>
XML 實用大全
第 240 頁
</TEAM>
<TEAM>
<TEAM_CITY>Montreal</TEAM_CITY>
<TEAM_NAME>Expos</TEAM_NAME>
</TEAM>
<TEAM>
<TEAM_CITY>New York</TEAM_CITY>
<TEAM_NAME>Mets</TEAM_NAME>
</TEAM>
<TEAM>
<TEAM_CITY>Philadelphia</TEAM_CITY>
<TEAM_NAME>Phillies</TEAM_NAME>
</TEAM>
</DIVISION>
<DIVISION>
<DIVISION_NAME>Central</DIVISION_NAME>
<TEAM>
<TEAM_CITY>Chicago</TEAM_CITY>
<TEAM_NAME>Cubs</TEAM_NAME>
</TEAM>
</DIVISION>
<DIVISION>
<DIVISION_NAME>West</DIVISION_NAME>
<TEAM>
XML 實用大全
第 241 頁
<TEAM_CITY>Arizona</TEAM_CITY>
<TEAM_NAME>Diamondbacks</TEAM_NAME>
</TEAM>
</DIVISION>
</LEAGUE>
<LEAGUE>
<LEAGUE_NAME>American</LEAGUE_NAME>
<DIVISION>
<DIVISION_NAME>East</DIVISION_NAME>
<TEAM>
<TEAM_CITY>Baltimore</TEAM_CITY>
<TEAM_NAME>Orioles</TEAM_NAME>
</TEAM>
</DIVISION>
<DIVISION>
<DIVISION_NAME>Central</DIVISION_NAME>
<TEAM>
<TEAM_CITY>Chicago</TEAM_CITY>
<TEAM_NAME>White Sox</TEAM_NAME>
</TEAM>
</DIVISION>
<DIVISION>
<DIVISION_NAME>West</DIVISION_NAME>
<TEAM>
XML 實用大全
第 242 頁
<TEAM_CITY>Anaheim</TEAM_CITY>
<TEAM_NAME>Angels</TEAM_NAME>
</TEAM>
</DIVISION>
</LEAGUE>
</SEASON>
一定要確保清單8-14 和baseball.dtd 在同一目錄下,然后像通常一樣把清單8-14 裝入Web 瀏覽器。如果一切正常,就會
看到同裝入清單8-12 一樣的輸出。現在可以使用這個DTD 來編寫其他文檔,如其他年度的統計數據。
如果添加了樣式單,那么就在三個不同的文檔中保存了文檔的三個重要部分。數據在文檔文件中,數據應用的結構和語義在
DTD 文件中,而格式在樣式單中。這種結構使我們能相對獨立地檢查和改變其中任一部分或全部。
DTD 與文檔之間比文檔與樣式單之間聯系更緊密。改變DTD 一般要重新檢查文檔的合法性,并需要編輯文檔使它與DTD 相符。
這樣的順序必要性取決于編輯方法;增加元素沒什么問題,但移走元素就可能有問題。
8.7.1 遠程URL 上的DTD
如果一個DTD 適用于多份文檔,就不能總把它放在應用它的每份文檔的同一目錄下。可以使用URL 來準確指明DTD 的地址。
例如,讓我們假設棒球DTD 在http://metalab.unc.edu/xml/dtds/baseball.dtd,可在序言中使用下面的<!DOCTYPE> 標記
將其鏈接到文檔上:
<!DOCTYPE SEASON SYSTEM
"http://metalab.unc.edu/xml/dtds/baseball.dtd">
本例中使用了完整的URL,從任何地方都是合法的。有時也希望從相對于Web 服務器文檔根目錄或當前目錄找出DTD 來 。
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(71)