• 热门标签

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

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

在的,这就是可扩展的样式语言(Extensible Style Language,简写为XSL)。
可扩展的样式语言(Extensible Style Language,XSL)将在第14、15 章中加以讨论。
XML 实用大全
第 79 页
CSS 比XSL 简单,对于基本的Web 页面来说,也更适合一些,而且也是更为直接的文档。XSL 变得相当复杂,但功能也更为
强大。XSL 是建立在我们已经在上面学到的简单的CSS 格式化的基础之上的,但是也提供了将源文档转换为读者可以查看的
不同形式的方法。在调试XML 时,首先使用CSS 寻找问题,然后再转到XSL,以便获得更大的灵活性,这通常是不错的主意。
XML 实用大全
第 80 页
4.5 本章小结
在本章中,读者看到了几个展示如何从头创建XML 文档的示例。我们特别学到了如下内容:
• 如何检查包括在XML 文件中的数据,以便标识元素。
• 如何用自己定义的XML 标记来标记数据。
• XML 格式所提供的比传统格式的优越性。
• 如何编写样式单,使文档格式化并显示出来。
本章中充满了枯燥的代码。文档是在没有太多的细节的情况下编写出来的。在下一章中,我们将要探讨在XML 文档中嵌入信
息的附加意义,包括特性、注释和处理指令,并看一看在XML 中用另一种对棒球统计数据编码的方法。
XML 实用大全
第 81 页
第5 章 属性、空标记和XSL
使用XML 对一组给定的数据进行编码,有很多种方法。但是没有哪一种方法是唯一正确的,只是一些方法相较而言更可取,
在特定的应用中更合适。本章采用前面章节中所用的棒球示例,仔细探讨使用XML 创建棒球统计的不同方法。文中会特别强
调使用属性存储信息和使用空标记定义元素位置。另外,鉴于CSS(级联样式单)对缺乏内容的XML 元素执行起来并不顺利,
我们将检验另一种功能更强大的样式单语言——XSL。
本章内容包括:
• 属性
• 属性与元素的对比
• 空标记
• XSL
5.1 属性
在上一章中,所有的数据可分为标记名或者元素的内容两类。这种方法直接易懂,但不是唯一的。XML 元素与HTML 中的元
素一样,有自己的属性。元素的每个属性是一个名称-数值对,名称和数值分别为一个字符串,一个元素不能有两个同名的
属性。
大家都熟悉HTML 的属性句法,请看下面的<IMG>标记实例:
<IMG SRC=cup.gif WIDTH=89 HEIGHT=67 ALT="Cup of coffee">
该标记有4 个属性,SRC 属性的值是cup.gif,WIDTH 属性的值是89,HEIGHT 属性的值是67,ALT 属性的值是Cup of coffee。
然而,与HTML 不同,XML 中属性的值必须加引号,并且必须有与起始标记匹配的终止标记。上述标记实例用XML 表示为:
<IMG SRC="IMAGE\cup.gif" WIDTH="89" HEIGHT="67" ALT="Cup of coffee">
</IMG>
HTML 与XML 的另一个不同点是:XML 没有赋予IMG 标记及其属性任何特殊意义。特别是不能保证XML 浏览器会把
该标记翻译成装载并显示cup.gif 文件中的图像的指令。
可以很容易将属性句法应用到棒球示例中,这样会使标记显得简洁明了。例如,我们可以用SEASON 元素中的一个YEAR 属性
代替一个YEAR 子元素:
<SEASON YEAR="1998">
</SEASON>
另一方面,LEAGUE 应当是SEASON 的一个子元素而不是一个属性。因为在一个赛季中可能有两个联赛,而且子元素在任何时
候都有可能指代不同的事物。但是,一个元素的属性名是不能重复的。因此,不能像下面的示例那样编写SEASON 元素。
XML 实用大全
第 82 页
<SEASON YEAR="1998" LEAGUE="National" League="American">
</SEASON>
LEAGUE 确实是一个子元素而不是一个属性的另一个原因是,它含有子结构,可进一步分成多个DIVISION 元素,其属性值是
无格式文本。XML 元素可对结构方便地加以编码,而属性值却不能。
联赛名称是无结构的普通文本,每一个联赛只有一个名称,因此,LEAGUE 元素含有一个NAME 属性,而不是一个LEAGUE_NAME
子元素:
<LEAGUE NAME="National League">
</LEAGUE>
由于属性与元素的联系比子元素更加紧密,上述的属性名应使用NAME,而不是LEAGUE_NAME,不会出错。各分部和球队这些
子元素同样有NAME 属性,不必担心与联赛名混淆。一个标记可以有多个属性,只要这些属性不同名即可。我们可以将各队
所在的城市看作一个属性,如下所示:
<LEAGUE NAME="American League">
<DIVISION NAME="East">
<TEAM NAME="Orioles" CITY="Baltimore"></TEAM>
<TEAM NAME="Red Sox" CITY="Boston"></TEAM>
<TEAM NAME="Yankees" CITY="New York"></TEAM>
<TEAM NAME="Devil Rays" CITY="Tampa Bay"></TEAM>
<TEAM NAME="Blue Jays" CITY="Toronto"></TEAM>
</DIVISION>
</LEAGUE>
如果把每一项统计选作一个属性,一个队员将包括许多属性。下面的示例是用属性表示的Joe Girardi 在1998 年的统计数
据。
<PLAYER GIVEN_NAME="Joe" SURNAME="Girardi"
GAMES="78" AT_BATS="254" RUNS="31" HITS="70"
DOUBLES="11" TRIPLES="4" HOME_RUNS="3"
RUNS_BATTED_IN="31" WALKS="14" STRUCK_OUT="38"
STOLEN_BASES="2" CAUGHT_STEALING="4"
XML 实用大全
第 83 页
SACRIFICE_FLY="1" SACRIFICE_HIT="8"
HIT_BY_PITCH="2">
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(29)