曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
<TEAM_NAME>Angels</TEAM_NAME>
</TEAM>
</DIVISION >
</LEAGUE>
</SEASON>
在選擇主文檔和嵌套數據的層次結構上具有一定的靈活性。例如,一種可選擇的結構就是在清單9-12 中使用的,把球隊和
所有隊員的數據放在不同的文件中;然后把球隊數據組合為帶外部實體的賽季文件,如清單9-14 所示。使用尺寸更小、數
目更少的XML 文件的好處在于Web 服務器中所占的空間更小以及下傳和顯示更加快捷。可是老實地說,一種方法或其他方法
所帶來的內在的益處很小。請放心大膽使用任意更嚴密地與數據組織相匹配,或者任一感覺使用方便的簡潔方式。
清單9-14:利用對球員的外部實體引用球隊的1998 年賽季的主控文檔
<?xml version="1.0" standalone="no"?>
<!DOCTYPE SEASO SYSTEM "baseball.dtd"[
<!ENTITY angels SYSTEM "angels.xml">
<!ENTITY astros SYSTEM "astros.xml">
<!ENTITY athletics SYSTEM "athletics.xml">
<!ENTITY bluejays SYSTEM "bluejays.xml">
<!ENTITY braves SYSTEM "braves.xml">
<!ENTITY brewers SYSTEM "brewers.xml">
<!ENTITY cubs SYSTEM "cubs.xml">
<!ENTITY devilrays SYSTEM "devilrays.xml">
<!ENTITY diamondbacks SYSTEM "diamondbacks.xml">
<!ENTITY dodgers SYSTEM "dodgers.xml">
XML 實用大全
第 280 頁
<!ENTITY expos SYSTEM "expos.xml">
<!ENTITY giants SYSTEM "giants.xml">
<!ENTITY indians SYSTEM "indians.xml">
<!ENTITY mariners SYSTEM "mariners.xml">
<!ENTITY marlins SYSTEM "marlins.xml">
<!ENTITY mets SYSTEM "mets.xml">
<!ENTITY orioles SYSTEM "orioles.xml">
<!ENTITY padres SYSTEM "padres.xml">
<!ENTITY phillies SYSTEM "phillies.xml">
<!ENTITY pirates SYSTEM "pirates.xml">
<!ENTITY rangers SYSTEM "rangers.xml">
<!ENTITY redsox SYSTEM "red sox.xml">
<!ENTITY reds SYSTEM "reds.xml">
<!ENTITY rockies SYSTEM "rockies.xml">
<!ENTITY royals SYSTEM "royals.xml">
<!ENTITY tigers SYSTEM "tigers.xml">
<!ENTITY twins SYSTEM "twins.xml">
<!ENTITY whitesox SYSTEM "whitesox.xml">
<!ENTITY yankees SYSTEM "yankees.xml">
]>
<SEASON >
<YEAR>1998</YEAR>
<LEAGUE>
<LEAGUE_NAME> ational</LEAGUE_NAME>
XML 實用大全
第 281 頁
<DIVISION >
<DIVISION _NAME>East</DIVISION _NAME>
&marlins;
&braves;
&expos;
&mets;
&phillies;
</DIVISION >
<DIVISION >
<DIVISION _NAME>Central</DIVISION _NAME>
&cubs;
&reds;
&astros;
&brewers;
&pirates;
</DIVISION >
<DIVISION >
<DIVISION _NAME>West</DIVISION _NAME>
&diamondbacks;
&rockies;
&dodgers;
&padres;
&giants;
</DIVISION >
XML 實用大全
第 282 頁
</LEAGUE>
<LEAGUE>
<LEAGUE_NAME>American</LEAGUE_NAME>
<DIVISION >
<DIVISION _NAME>East</DIVISION _NAME>
&orioles;
&redsox;
&yankees;
&devilrays;
&bluejays
</DIVISION >
<DIVISION >
<DIVISION _NAME>Central</DIVISION _NAME>
&whitesox;
&indians;
&tigers;
&royals;
&twins;
</DIVISION >
<DIVISION >
<DIVISION _NAME>West</DIVISION _NAME>
&angels;
&athletics;
&mariners;
XML 實用大全
第 283 頁
&rangers;
</DIVISION >
</LEAGUE>
</SEASON >
最后,較少使用的方法是,從外部球員實體的基礎上創(chuàng)建各分立的球隊文件,然后組合所有球隊文件為分部、聯盟和賽季。
主控文檔中可定義用于子球隊文檔中的實體引用。可是在這種情況下,因為實體引用集合在主控文檔以前未被定義,所以球
隊文檔不可用于自身。
真正的缺點是僅有頂層文檔可附加于DTD 之上。這是對外部可析實體用途的一種限制。無論如何,當學習了XLinks 和
XPointers 后,可以明白創(chuàng)建大型、復雜文檔的其他方法。然而,那些技術不是XML 標準的核心部分內容,進行正確性檢查
的XML 處理器和Web 瀏覽器并無必要像支持本章講述的技術一樣去支持這些技術。
Xlinks 將在第16 章講述,XPointers 將在第17 章講述。
XML 實用大全
第 284 頁
9.7 結構完整的文檔中的實體和DTD
本書第一部分研究了無DTD 的結構完整的XML 文檔,第二部分研究包含DTD 和包含DTD 中的約束條件的文檔,也就是正確的
文檔。但是還有與XML 標準相符合的第三個層次:由于DTD 不完整或文檔不符合DTD 中的約束條件,所以該包含DTD 的文檔
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML實用大全(81)