• 热门标签

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

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

<LI><A HREF=”#Am”>Americium</A></LI>
<LI><A HREF=”#Sb”>Antimony</A></LI>
<LI><A HREF=”#Ar”>Argon</A></LI>
¼
在文档的后面,出现真正的原子的描述,格式化后与下面的类似:
<H3><A NAME=”Al”>Aluminum</A></H3><P>
Aluminum
26.98154
13
3
2740
933.5
Al
2.7
</P>
无论何时自动生成超文本的目录或索引,使用这类方法都是很普遍的。原子的NAME 在目录中必须格式化成与文档主体中不
同的格式。为此,需要在文档的不同地方将两个不同的规则应用于ATOM 元素。此解决办法是把每个不同的规则给予mode
特性。然后设置xsl-apply-templates 元素的mode 特性来选择准备应用的模板。
清单14-19:在两个不同地方使用mode 来对相同数据进行不同的格式化的XSL 样式单
XML 实用大全
第 517 页
<?xml version=”1.0”?>
<xsl:stylesheet
xmlns:xsl=”http://www.w3.org/XSL/Transform/1.0”>
<xsl:template match=”/PERIODIC_TABLE”>
<HTML>
<HEAD><TITLE>The Elements</TITLE></HEAD>
<BODY>
<H2>Table of Contents</H2>
<UL>
<xsl:apply-templates select=”ATOM” mode=”toc”/>
</UL>
<H2>The Elements</H2>
<xsl:apply-templates select=”ATOM” mode=”full”/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match=”ATOM” mode=”toc”>
<LI><A>
<xsl:attribute name=”HREF”>#(xsl:value-of
select=”SYMBOL”/></xsl:attribute>
<xsl:value-of select=”NAME”/>
</A></LI>
</xsl:template>
<xsl:template match=”ATOM” mode=”full”>
XML 实用大全
第 518 页
<H3><A>
<xsl:attribute name=”NAME”>
<xsl:value-of select=”SYMBOL”/>
</xsl:attribute>
<xsl:value-of select=”NAME”/>
</A></H3>
<P>
<xsl:value-of select=”.”/>
</P>
</xsl:template>
</xsl:stylesheet>
XML 实用大全
第 519 页
14.15 使用xsl:variable 定义常数
命名的常数有助于代码的整洁;可以用简单的名称和引用来代替常用的样板文本;简单地改变常数定义,就能很容易地调整
多处出现的样板文本。
xsl:variable 元素定义命名的字符串,以便借助于特性值模板用于样式单中的其他地方。xsl:variable 是一空元素,是
xsl:stylesheet 的直系子元素。它只有唯一的一个特性&#0;&#0;name,此特性提供引用变量的名称。xsl:variable 元素的
内容作为替换文本。例如,下面的xsl:variable 元素定义名为copy99 和值为Copyright 1999 Elliotte Rusty Harold 的
变量:
<xsl:variable name="copy99">
Copyright 1999 Elliotte Rusty Harold
</xsl:variable>
为了访问此变量的值,可将美元符作为前缀加到此变量名前。要在特性中插入此符号,可使用特性值模板。例如:
<BLOCK COPYRIGHT="{$copy99}">
</BLOCK >
还可以使用xsl:value-of,将变量的替换文本以文本的形式插入到输出文档中:
<xsl:value-of select="$copy99"/>
xsl:variable 的内容可以含有包括其他XSL 指令的标记。这意味着可根据其他信息(包括其他变量的值)来计算变量的值。
但是,变量不能以直接或间接的方式递归地引用其自身。例如,下面的例子是错误的:
<xsl:variable name="GNU">
<xsl:value-of select="$GNU"/> s not Unix
</xsl:variable>
同样,两个变量不能像下面这样循环地相互引用:
<xsl:variable name="Thingl">
Thingl loves <xsl:value-of select="$Thing2"/>
</xsl:variable>
<xsl:variable name="Thing2">
Thing2 loves <xsl:value-of select="$Thingl"/>
</xsl:variable>
XML 实用大全
第 520 页
14.16 命名模板
变量只限于基本的文本和标记。XSL 提供了功能更强大的宏工具,可以封装标准的标记和改变数据的文本。例如,假定要将
原子的原子序数、原子量和其他关键值分别作为表的单元格,以小型的、粗体的蓝色Times 字体来格式化。换句话说,要获
得类似于下面的输入结果:
<td>
<font face="Times, serif" color="blue" size="2">
<b>52</b>
</font>
</td>
当然,还可以在模板规则中包含类似于下面的所有内容:
<xsl:template match="ATOMIC_NUMBER">
<td>
<font face="Times, serif" color="blue" size="2">
<b>
<xsl:value-of select="."/>
</b>
</font>
</td>
</xsl:template>
这些标记可作为其他模板,或作为其他规则中使用的模板的一部分而重复使用。当详细的标记变得更为复杂时,当标记出现
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML实用大全(146)