• 热门标签

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

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

XML 实用大全
第 91 页
5.2 属性与元素的对比
何时使用子元素或属性没有严格的规则可循,通常要看哪一种更适合自己应用的需要。随着经验的增长就会有一种感觉,知
道在何时使用属性比子元素更简单,反之亦然。一个好的经验规则是数据本身应当存储在元素中,而有关数据的信息(元数
据)应当存储在属性中。不知道怎么做时,就把信息放在元素中。
为区分数据与元数据,首先要问自己是否会有一些读者希望看到一条特别的信息。如果答案是肯定的,该信息应当包含在一
个子元素中。相反,则应包含在一个属性中。如果从该文档中删除所有标记与属性,文档的基本信息应当还存在。属性是放
置ID 号、URL、参考资料及其他与读者不直接相关的信息的好地方。但是,把元数据作为属性存储的基本规则还有许多例外。
这些例外包括:
• 属性不能很好地保持原文的结构。
• 元素允许包括元元数据(有关信息的更深层次的信息)。
• 每个人对元数据和非元数据的理解是不一样的。
• 面对以后的变化,元素更具扩展性。
5.2.1 结构化的元数据
需要特别记住的是元素可以有子结构而属性没有。这使元素更加灵活,更方便我们将元数据编译成子元素。例如,设想我们
在写一篇论文,而且希望其中包含某件事情的出处,结果可能是这样:
<FACT SOURCE="The Biographical History of Baseball,
Donald Dewey and Nicholas Acocella (New York:Carroll &amp;
Graf Publishers,Inc.1995)p.169">
Josh Gibson is the only person in the history of baseball to
hit a pitch out of Yankee Stadium.
</FACT>
很明显,信息“The Biographical History of Baseball, Donald Dewey and Nicholas Acocella(New York:Carroll &amp;Graf
Publishers,Inc. 1995)p.169”是元数据。它不是事情本身而更像事情的有关信息。SOURCE 属性暗含了许多子结构。按照
下文的方法组织上面的信息可能更有效:
<SOURCE>
<AUTHOR>Donald Dewey</AUTHOR>
<AUTHOR>Nicholas Acocella</AUTHOR>
<BOOK>
<TITLE>The Biographical History of Baseball</TITLE>
XML 实用大全
第 92 页
<PAGES>169</PAGES>
<YEAR>1995</YEAR>
</BOOK>
</SOURCE>
此外,使用元素代替属性包含附加的信息更容易、直接,例如作者的e-mail 地址,可找到文档的电子副本的URL,日报特
刊的标题或主题以及其他看似重要的信息等。
日期是另外一个常见的例子。与学术论文有关的一个常用的元数据是第一次收到论文的日期,它对建立发明创造的优先权很
重要。在ARTICLE 标记中很容易包含一个DATE 属性,如下所示:
<ARTICLE DATE="06/28/1969">
Polymerase Reactions in Organic Compounds
</ARTICLE>
DATE 属性中含有用/表示的子结构,如果要从属性值中获得该结构要比读取DATE 元素的子元素困难得多,如下所示:
<DATE>
<YEAR>1969</YEAR>
<MONTH>06</MONTH>
<DAY>28</DAY>
</DATE>
例如,使用CSS 或XSL 很容易将日期或月份格式化为看不见的形式,因此只会出现年份。请看下面使用CSS 的例子:
YEAR {display:inline}
MONTH {display:none}
DAY {display:none}
如果DATE 是作为属性存储的,几乎没有简单的办法可以访问其中任何一部分。我们只有用一种类似ECMAScript 或Java 的
编程语言写一个单独的程序,才能分析其日期格式。使用标准的XML 工具和子元素做起来就比较容易。
另外,属性句法显得模糊不清,"10/11/1999"究竟表示10 月11 日还是11 月10 日?不同国家的读者对它的理解是不同的。
即使语法分析程序能够识别某种格式,但不能保证其他人能够正确输入日期。作此对照用XML 表示就不会摸棱两可。
最后,使用DATE 子元素允许一个元素有多个日期。例如,学术论文通常要交还作者修改。在此情况下,记录再次收到修改
过的论文的日期也很重要。例如:
XML 实用大全
第 93 页
<ARTICLE>
<TITLE>
Maximum Projectile Velocity in an Augmented Railgun
</TITLE>
<AUTHOR>Elliotte Harold</AUTHOR>
<AUTHOR>Bruce Bukiet</AUTHOR>
<AUTHOR>William Peter</AUTHOR>
<DATE>
<YEAR>1992</YEAR>
<MONTH>10</MONTH>
<DAY>29</DAY>
</DATE>
<DATE>
<YEAR>1993</YEAR>
<MONTH>10</MONTH>
<DAY>26</DAY>
</DATE>
</ARTICLE>
再比如,在HTML 中,IMG 标记的ALT 属性被限定为一个单独的文本字符串。虽然一幅图片比成千的单词更能说明问题,但
还是应该用已标记的文本来代替一个IMG 标记。例如,考虑图5-2 中的饼形图。
XML 实用大全
第 94 页
图5-2 主要棒球联赛中各位置球员的分布情况
使用ALT 属性对该图的最好描述如下:
<IMG SRC="IMAGE\05021.gif"
ALT="Pie Chart of Positions in Major League Baseball"
WIDTH="819" HEIGHT="623">
</IMG>
如果对上图使用一个ALT 子元素描述,会更具灵活性,因为我们可以在其中嵌入标记。例如,使用一个写有相关数字的一览
表去替代饼形图:
<IMG SRC="IMAGE\05021.gif" WIDTH="819" HEIGHT="623">
<ALT>
<TABLE>
<TR>
<TD>Starting Pitcher</TD><TD>242</TD><TD>20%</TD>
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(32)