• 热门标签

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

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

0.0899
</DENSITY>
</ATOM>
<ATOM STATE=”GAS”>
<NAME>Helium</NAME>
<SYMBOL>He</SYMBOL>
<ATOMIC_NUMBER>2</ATOMIC_NUMBER>
<ATOMIC_WEIGHT>4.0026</ATOMIC_WEIGHT>
<BOILING_POINT UNITS=”Kelvin”>4.216</BOILING_POINT>
<MELTING_POINT UNITS=”Kelvin”>0.95</MELTING_POINT>
<DENSITY UNITS=”grams/cubic centimeter”><!- At 300K ->
0.1785
</DENSITY>
</ATOM>
</PERIODIC_TABLE>
XML 实用大全
第 449 页
图14-1 显示的是本文档作为树形结构的图解。它起始于顶端的根节点(不同于根元素!),包括两个子节点:xml-stylesheet
处理指令和根元素PERIODIC_TABLE。(XML 声明对XSL 处理程序是不可见的,因而不包括在XSL 处理程序进行操作的树形结
构中)。PERIODIC_TABLE 元素包括两个子节点,即两个ATOM 元素。每个ATOM 元素都一个STATE 特性的特性节点和各种子
元素节点。每个子元素包括其内容的节点,以及任何特性节点和拥有的注释。注意,在特殊情况下,许多节点可以是除元素
之外的任何内容。节点可为文本、特性、注释和处理指令。与CSS1 不同,XSL 不限于只和全部元素一起使用,还有一个更
加独特地查看文档的方法:能够根据注释、特性、处理指令等设计样式。
像XML 声明一样,内部的DTD 子集或DOCTYPE 声明不是树形结构的一部分。但是,通过使用#FIXED 或缺省特性值
的<!ATTLIST>声明,它可能具有将特性节点添加到某些元素中的效果。
图14-1 以树形图表示的清单14-1
XSL 变换语言通过将XML 树形结构变换成另一个XML 树形结构来操作。这种语言含有操作符,此操作符用来从树形结构中选
择特定节点、对节点重新排序以及输出节点。如果有一个节点是元素节点,那么它本身可能就是整个树形结构。请记住,所
有的用于输入和输出的操作符都只能操作一个树形结构。它们不是用于变换任意数据的通用的正常表达语言。
14.2.2 XSL 样式单文档
更准确地说,当输入时,XSL 变换接受以XML 文档表示的树形结构,而输出时,则产生也以XML 文档来表示的新的树形结构。
因此,XSL 变换部分也称为树形结构建立部分。输入和输出的内容必须是XML 文档。不能使用XSL 来变换成非XML 格式(如
PDF、TeX、Microsoft Word、PostScript、MIDI 或其他)或从非XML 格式进行变换。可使用XSL 将XML 变换为一中间格式
(如TeXML),然后使用另外的非XSL 软件来将这个中间格式变换成期望的格式。HTML 和SGML 都是介乎于两者之间的情况,
因为它们非常接近于XML。可使用XSL 将符合XML 的结构完整性规则的HTML 和SGML 文档变换成XML 或者相反。但是,XSL
不能处理在大多数Web 站点上和文档生成系统中遇到的各种各样非结构整洁的HTML 和SGML 文档。要牢记的首要问题是,XSL
变换语言对于XML 到XML 的变换是可行的,但对于其他方面则不行。
XSL 文档包含一组模板规则和其他规则。模板规则拥有模式(pattern)以及模板(template),模式用来指定模板规则所
适用的树形结构,而模板是用来在与此模式匹配时进行输出。当XSL 处理程序使用XSL 样式单来格式化XML 文档时,它对
XML 文档树形结构进行扫描,依次浏览每个子树形结构。当读完XML 文档中的每个树形结构时,处理程序就把它与样式单中
XML 实用大全
第 450 页
每个模板规则的模式进行比较。当处理程序找到与模板规则的模式相匹配的树形结构时,它就输出此规则的模板。这个模板
通常包括一些标记、新的数据和从原XML 文档的树形结构中复制来的数据。
XSL 使用XML 来描述这些规则、模板和模式。XSL 文档本身也是xsl:stylesheet 元素。每个模板规则都是xsl:template 元
素。规则的模式是xsl:template 元素的match 特性值。输出模板是xsl:template 元素的内容。模板中所有的指令都是由一
个或另一个XSL 元素来完成的,而这些指令是来完成某种动作,如选择输入树形结构中要包括在输出树形结构的部分。这些
由元素名上的xsl:前缀来标识。没有xsl:前缀的元素为结果树部分。
更恰当地说,作为XSL 指令的所有元素都是xsl 命名域的一部分。有关命名域将在第18 章“命名域”中讨论。
在那以前,只要了解所有的XSL 元素的名称都是以xsl:开头就可以了。
清单14-2 显示的是一个非常简单的XSL 样式单,它有两个模板规则。第一个模板规则与根元素PFRIODIC_TABLE 相匹配,它
使用html 元素来代替此元素。html 元素的内容是将文档中的其他模板应用于PFRIODIC_TABLE 元素中所获得的结果。
第二个模板与ATOM 元素匹配,它用输出文档中的P 元素代替输入文档中的每个ATOM 元素。xsl:apply-templates 规则将匹
配的源元素的文本插入到输出文档中。因此,P 元素的内容将是包含在相应的ATOM 元素中的文本(但不是标记)。下面,
将更进一步讨论这些元素的精确语法。
清单14-2:有两个模板规则的周期表XSL 样式单
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="PERIODIC_TABLE">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="ATOM">
<P>
<xsl:apply templates/>
</P>
</xsl:template>
</xsl:stylesheet>
XML 实用大全
第 451 页
14.2.3 在何处进行XML 变换
使用XSL 样式单可有三种主要方式将XML 文档变换成其他格式(如HTML):
1.XML 文档和相关的样式单都是用于客户端(Web 浏览器)的,然后客户端程序按照样式单中指定的格式变换文档,并将它
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(127)