曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
第 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.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML实用大全(71)