曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
种字体,可以这样描述:
<TITLE style="font-style:italic">Significant Others</TITLE>
XML 实用大全
第 98 页
这样做可以在不改变文档树状结构的情况下嵌入样式信息。虽然最理想的方法是使用一个单独的元素,但当不能在处理的标
记集里添加元素时,这个方案会给文档作者更多的控制权。例如,一个站点的管理员需要使用某一特定的DTD,而且不希望
任何人修改该DTD。除此之外,还要允许他人对个别的页面做微小的校正。使用这种方案时要有所节制,否则很快会发现自
己又陷入了HTML 的“地狱”中,使用XML 的本意是要避免这一“地狱”的。
使用属性的最后一个原因是为了保持与HTML 的兼容性。甚至扩展到使用的标记,对于诸如<IMG>、<P>和<TD>看起来与HTML
相似的标记还是使用标准的HTML 属性为好。这样做有双重好处,至少使传统的浏览器能够部分地分析和显示你的文档,而
且对于文档的作者来说更熟悉这种方式。
XML 实用大全
第 99 页
5.3 空标记
上一章中没有属性的方式是一种极端的情况,由此可能会想到另一个极端——将所有的信息全部存储在属性中,而不是存储
在内容中。通常不推荐使用这种方式。把信息全部存储在元素内容中同样也是极端的,只是实际处理起来更容易。这一节考
虑仅使用属性来说明的可能性。
只要元素中没有内容,就可以使用空标记来简化。可以只包含一个空标记而不是一个起始标记和一个终止标记。空标记与起
始标记的区别在于结束标记使用“/>”而不是简单的“>”。例如,不是<PLAYER></PLAYER>而是<PLAYER/>。
空标记可以包含属性。例如,下面是关于Joe Girardi 的一个空标记,含有7 个属性:
<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"
SACRIFICE_FLY="1" SACRIFICE_HIT="8"
HIT_BY_PITCH="2"/>
XML 句法分析器对空标记的处理与非空标记是一样的。下面的PLAYER 元素与前面的空标记元素PLAYER 精确地说是等价的(尽
管不是完全一致):
<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"
SACRIFICE_FLY="1" SACRIFICE_HIT="8"
HIT_BY_PITCH="2"></PLAYER>
<PLAYER/>与<PLAYER></PLAYER>之间的不同只是句法表面的不同,而没有别的不同。如果不喜欢空标记句法或者阅读起来感
到困难,就不要使用它。
XML 实用大全
第 100 页
5.4 XSL
如图5-1 所示,属性在文档的XML 源视图中是可见的。但是一旦把CSS 样式单施加其上,属性就会消失。图5-3 显示了清单
5-1 使用前面章节中棒球统计样式单后的样子。它看起来是一个空白文档,因为CSS 样式单仅适用于元素内容,而不适用于
属性。在使用CSS 时,希望显示给读者的任何数据应当是元素内容的一部分,而不是它的属性。
图5-3 当CSS 施加于一个元素中不含任何字符数据的XML 文档时显示的空白文档
但是,仍然有一种可选择的样式单语言能够访问并显示属性数据。这就是Extensible Style Language (XSL);Internet
Explorer 5.0 至少部分支持它。XSL 分为两部分:变换部分和格式化部分。
XSL 替换部分能够将一个标记替换为另一个标记。通过定义替换规则,使用标准的HTML 标记代替XML 标记或者使用HTML 标
记与CSS 属性来替换XML 标记。同时还可以在文档中重新安排元素和在XML 文档中添加没有出现过的附加内容。
XSL 格式化部分把功能强大的文档视图定义为页面。XSL 格式化功能能够指定页面的外观和编排,包括多个专栏、围绕主题
的字数、行间距、相配的字体属性等等。它的功能非常强大,足可以为网络和打印自动处理来自于相同源文档的编排任务。
例如,XSL 格式化允许包含有show times(在线播放)和广告的XML 文档生成本地报纸上电视节目单的打印及在线版本。但
是IE 5.0 和大多数其他工具还不支持XSL 格式化。因此,本节重点介绍XSL 变换。
XSL 格式化将在第15 章XSL 格式化对象中讨论。
5.4.1 XSL 样式单模板
每个XSL 样式单包括一些模板,XML 文档中的数据会注入其中。例如,某一模板如下所示:
<HTML>
XML 实用大全
第 101 页
<HEAD>
<TITLE>
XSL Instructions to get the title
</TITLE>
</HEAD>
<H1>XSL Instructions to get the title </H1>
<BODY>
XSL Instructions to get the statistics
</BODY>
</HTML>
斜体部分将由特定的XSL 元素取代,这些元素把基本的XML 文档中的数据复制到该模板中。该模板可用于许多不同的数据集。
例如,模板设计用于处理棒球示例,那么相同的样式单能够显示不同赛季的统计。
这令人想起了用于HTML 的某种服务器端嵌入方案。事实上,这与服务器端嵌入方案极其类似。但是,XML 源文档与XSL 样
式单的实际变换发生在客户端,而不是服务器端。而且输出的文档可以是任何一种结构完整的XML 文档,不必是HTML 文档。
XSL 指令能够提取存储于XML 文档中的任何数据。包括元素内容、元素名称和对我们的示例很重要的元素属性。特定的元素
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML实用大全(34)