• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:24来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

</DIVISION>
</LEAGUE>
</SEASON>
当整个联赛全包含在内时,产生的文档从带长标记的699K 缩短到带短标记的391K,节约了44%。但是信息的内容是相同的。
两个文档压缩后很接近,短标记文档58K,长标记文档66K。
XML 实用大全
第 233 页
在注释内可以包括和应该包括的信息量没有限制。包括得多使DTD 更长(这样就使检测更难,下载更慢)。然而,在下面的
几章中,您将学会如何在多个XML 文档间共享同一DTD 以及将DTD 拆成更好管理的多个部分。这样,使用注释的缺点就是暂
时的了。我建议在DTD 中自由地使用注释,尤其是对于打算公用的DTD。
XML 实用大全
第 234 页
8.7 在文档间共享通用的DTD
前面的合法的例子都在文档的序言部分包含了DTD。但是XML 真正的功能来自于不同的人们编写的可为许多文档共享通用的
DTD。如果DTD 不是直接包含在文档内,而是从外部联结而来,则DTD 的改变会自动传播给使用它的所有文档。另一方面,
当DTD 改变时并不能确保其向后兼容性。不兼容的改变会破坏文档。
当使用外部DTD 时,文档类型声明要加以改变。DTD 不再是包括在方括号中,而是在SYSTEM 关键词后接一个能找到DTD 的
绝对或相对的URL。例如:
<!DOCTYPE root_element_name SYSTEM "DTD_ URL">
这里root_element_name 像以前一样是基本元素的名称,SYSTEM 是一个XML 关键词,DTD_URL 是能找到DTD 的绝对或相对的
URL。例如:
<!DOCTYPE SEASON SYSTEM "baseball.dtd">
为说明这一过程让我们来转换一个熟悉的例子。清单8-12 包括了棒球统计的内部DTD。我们要把这份清单转换为外部DTD。
首先,去掉DTD 并把它放入自己的文档。DTD 是起始于<!DOCTYPE SEASON [终止于]>之间的所有内容。但不包括<!DOCTYPE
SEASON [和]>。可以将其保存在名为baseball.dtd 的文档内,如清单8-13 所示。文档名并不重要,通常用的扩展名为.dtd。
清单8-13:棒球的DTD 文档
<!ELEMENT YEAR (#PCDATA)>
<!ELEMENT LEAGUE (LEAGUE_NAME, DIVISION, DIVISION, DIVISION)>
<!--American or National-->
<!ELEMENT LEAGUE_NAME (#PCDATA)>
<!--East, West, or Central-->
<!ELEMENT DIVISION_NAME (#PCDATA)>
<!ELEMENT DIVISION (DIVISION_NAME, TEAM+)>
<!ELEMENT SEASON (YEAR, LEAGUE, LEAGUE)>
<!ELEMENT TEAM (TEAM_CITY, TEAM_NAME, PLAYER*)>
<!ELEMENT TEAM_CITY (#PCDATA)>
<!ELEMENT TEAM_NAME (#PCDATA)>
<!ELEMENT PLAYER (GIVEN_NAME, SURNAME, P, G,
GS, AB?, R?,H?, D?, T?, HR?, RBI?, SB?, CS?,
XML 实用大全
第 235 页
SH?, SF?, E?, BB?, S?, HBP?, CG?, SO?, ERA?, IP?,
HRA?, RA?, ER?, HB?, WP?, B?, WB?, K?)
>
<!--=======================-->
<!--Player Info-->
<!--Player’s last name-->
<!ELEMENT SURNAME (#PCDATA)>
<!--Player’s first name-->
<!ELEMENT GIVEN_NAME (#PCDATA)>
<!--Position-->
<!ELEMENT P (#PCDATA)>
<!--Games Played-->
<!ELEMENT G (#PCDATA)>
<!--Games Started-->
<!ELEMENT GS (#PCDATA)>
<!--=======================-->
<!--Batting Statistics-->
<!--At Bats-->
<!ELEMENT AB (#PCDATA)>
<!--uns-->
<!ELEMENT R (#PCDATA)>
<!--Hits--> ?
<!ELEMENT H (#PCDATA)>
<!--Doubles-->
XML 实用大全
第 236 页
<!ELEMENT D (#PCDATA)>
<!--Triples-->
<!ELEMENT T (#PCDATA)>
<!--Home Runs-->
<!ELEMENT HR (#PCDATA)>
<!--Runs Batted In-->
<!ELEMENT RBI (#PCDATA)>
<!--Stolen Bases-->
<!ELEMENT SB (#PCDATA)>
<!--Caught Stealing-->
<!ELEMENT CS (#PCDATA)>
<!--Sacrifice Hits-->
<!ELEMENT SH (#PCDATA)>
<!--Sacrifice Flies-->
<!ELEMENT SF (#PCDATA)>
<!—Errors-->
<!ELEMENT E (#PCDATA)>
<!--Walks (Base on Balls)-->
<!ELEMENT BB (#PCDATA)>
<!--Struck Out-->
<!ELEMENT S (#PCDATA)>
<!--Hit By Pitch-->
<!ELEMENT HBP (#PCDATA)>
<!--=======================-->
XML 实用大全
第 237 页
<!--Pitching Staistics-->
<!--Complete Games-->
<!ELEMENT CG (#PCDATA)>
<!--Shut Outs-->
<!ELEMENT SO (#PCDATA)>
<!--ERA-->
<!ELEMENT ERA (#PCDATA)>
<!--Innings Pitched-->
<!ELEMENT IP (#PCDATA)>
<!--Home Runs hit Against-->
<!ELEMENT HRA (#PCDATA)>
<!--Runs hit Against-->
<!ELEMENT RA (#PCDATA)>
<!--Earned Runs-->
<!ELEMENT ER (#PCDATA)>
<!--Hit Batter-->
<!ELEMENT HB (#PCDATA)>
<!--Wild Pitches-->
<!ELEMENT WP (#PCDATA)>
<!—Balk-->
<!ELEMENT B (#PCDATA)>
<!--Walked Batter-->
<!ELEMENT WB (#PCDATA)>
<!--Struck Out Batter-->
XML 实用大全
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(70)