• 热门标签

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

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

<xsl:value-of select=”ATOMIC_NUMBER”/>
</td>
</tr>
</xsl:template>
如果某个元素使用一个以上的特性集合,那么,就将所有集合的所有特性应用于该元素。如果一个以上的特性集合使用不同
的值定义相同的特性,那么就使用较为重要集合的特性。重要性相同的多个特性集合定义相同的特性,那么此样式单就会出
现错误。
14.9.5 使用xsl:pi 生成处理指令
xsl:pi 元素将指令放在输出文档中。处理指令的目标由所需的name 特性指定。xsl:pi 元素的内容成为处理指令的内容。例
如,下面的规则将PROGRAM 元素用gcc 处理指令代替:
<xsl:template select="PROGRAM">
<xsl:pi name="gcc"> -04</xsl:pi>
</xsl:template>
输入文档中的PROGRAM 元素由输出文档中的下面的处理指令所代替:
<?gcc -04?>
若这些指令的结果为纯文本,那么xsl:pi 元素的内容可包括xsl:value-of 元素和xsl:apply-templates 元素。例如,
<xsl:template select="PROGRAM">
<xsl:pi name="gcc">-04 <xsl:value-of select="NAME"/></xsl:pi>
</xsl:template>
xsl:pi 的最常用的用途之一,就是当从XML 生成XML 时,用来插入XML 声明(尽管XML 声明在技术上并不是处理指令)。
例如:
XML 实用大全
第 502 页
<xsl:pi name="xml">version="1.0" standalone="yes"</xsl:pi>
xsl:pi 元素不能包括xsl:element 和在结果中产生元素和特性的其他指令。此外,它还不能包括在输出文档中插入?>的任
何指令和文字文本,因为这会使处理指令提前结束。
14.9.6 使用xsl:comment 生成注释
xsl:comment 元素在输出文档中插入注释。它没有特性。其内容为注释文本。例如,
<xsl:template select=”ATOM”>
<xsl:comment>There was an atom here once.</xsl:comment>
</xsl:template>
此规则使用下面的输出代替ATOM 节点:
<!-There was an atom here once.->
如果xsl:value-of 元素和xsl:apply-templates 元素指令的结果是纯文本的话,那么xsl:comment 元素的内容可包括这些
元素。它不能包括xsl:element 以及在结果中产生元素和特性的其他指令。此外,xsl:comment 还不能包括在注释中插入双
连字号的任何指令或文字文本。这样在输出文档中会使注释很难看,这种情况是不允许的。
14.9.7 使用xsl:text 生成文本
xsl:text 元素将其内容作为文字文本插入到输出文档中。例如,下面的规则将每个ATOM 元素用字符串“There was an atom
here once”代替。
<xsl:template select="ATOM">
<xsl:text>There was an atom here once.</xsl:text>
</xsl:template>
xsl:text 元素用得不多,这是因为在多数情况下,键入文本更容易。但是,xsl:text 的确有一个优点。它可以准确地保留
空白。当处理诗句、计算机源代码或空白显示具有重要意义的其他信息时,使用xsl:text 是很有用的。
XML 实用大全
第 503 页
14.10 使用xsl:copy 复制当前节点
xsl:copy 元素将源代码复制到输出文档中。子元素、特性和其他内容不会自动复制。但是,xsl:copy 元素的内容也是选择
要复制这些内容的xsl:template 元素。当将文档从某个标记符号集转换成相同的或相近的相关标记符号集时,这种方法通
常是有用的。例如,下面的模板规则删除原子的特性和子元素,并用其内容值来代替:
<xsl:template match=”ATOM”>
< xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
xsl:copy 使模板具有的用途之一就是恒等转换;也就是说,可将一文档转换成本身。这种转换与下面类似:
<xsl:templdte match=”*|@*|comment()|pi()|text()”>
< xsl:copy>
<xsl:apply-templates select=”*|@*|comment()|pi()|text()”/>
</xsl:copy>
</xsl:template>
可对恒等转换进行稍微调节,以产生相似的文档。例如,清单14-15 是一样式单,它可去掉文档中的注释而文档的其他部分
不受影响。在恒等转换中,去掉comment()节点的match 和select 特性值,而保留此节点的其他部分就可以产生这种结果。
清单14-15:从文档中删除注释的XSL 样式单
<?xml version=”1.0”?>
<xsl:stylesheet
xmlns:xsl=”http://www.w3.org/XSL/Transform/1.0”>
<xsl:template match=”* | @* | pi() | text()”>
< xsl:copy>
<xsl:apply-templates select=”* | @* | pi() | text()”/>
</xsl:copy>
</xsl:template>
XML 实用大全
第 504 页
</xsl:stylesheet>
xsl:copy 只复制源节点。使用xsl:copy-of,可以复制其他节点,可能不止一个。xsl:copy-of 的select 特性选择要复制
的节点。例如,清单14-16 是一样式单,它使用xsl:copy-of,只复制有MELTING_POINT 子元素的ATOM 元素,从而将没有
熔点的元素从周期表中去掉。
清单14-16:只复制有MELTING_POINT 子元素的ATOM 元素的样式单
<?xml version=”1.0”?>
<xsl:stylesheet
xmlns:xsl=”http://www.w3.org/XSL/Transform/1.0”>
<xsl:template match=”/PERIODIC_TABLE”>
<PERIODIC_TABLE>
<xsl:apply-templates select=”ATOM”/>
</PERIODIC_TABLE>
</xsl:template>
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(142)