曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
<td>3</td><td>2</td>
<td>4</td><td>4.0026</td>
<td>5</td><td>l</td>
<td>6</td><td>4.216</td>
XML 实用大全
第 509 页
<td>7</td><td>0.95</td>
<td>8</td><td>
0.1785
</td>
14.11.1.3 from 特性
from 特性包含select 表达式,它指定在输入树形结构中以哪个元素开始计数。但仍可以从1 而不从2 或10 或某个其他数
字开始计算。
14.11.2 数字到字符串的变换
到目前为止,我已经含蓄地假定数值是以1、2、3 等等表示的;也就是说,用的是以1 开始的,并且间隔数为1 的欧洲数字。
但并非只有这种情况。例如,书的前言以及前面其他内容的页号通常是以小写罗马数字(如i、ii、iii、iv 等等)表示的。
并且,不同的国家将数字组合在一起、将实数的整数和小数分开以及使用符号来表示各种数字的习惯不同。所有的这一切都
可以通过下面xsl:number 的五个特性来调整:
• format
• letter-value
• digit-group-sep
• n-digits-per-group
• sequence-src
14.11.2.1 format 特性
使用format 特性,可调整xsl:number 使用的编号样式。此特性通常可使用下列值之一:
• i:生成小写的罗马数字i、ii、iii、iv、v、vi、¼ 表示的序列
• I:生成大写的罗马数字I、II、III、IV、V、VI、¼ 表示的序列
• a:生成小写的字母a、b、c、d、e、f、¼ 表示的序列
• A:生成大写字母A、B、C、D、E、F、¼ 表示的序列
例如,下面的规则使用大写罗马数字对原子进行编号:
<xsl:template match=”ATOM”>
<P>
<xsl:number expr=”position()” format=”I”/>
<xsl:value-of select=”.”/>
</P>
XML 实用大全
第 510 页
</xsl:template>
改变format 特性的值,可调整在哪个数字(或字母)处开始计数。例如,要在5 处开始编号,可设置format=“5”。要以
iii 开始编写,可设置format=“iii”。
使在format 特性中数字的第一位数为0,即可指定以0 开始的十位数编号方式。例如,设置format=“01”,可生成序列号
为01、02、03、04、05、06、07、08、09、10、11、12、¼ 。这里将数字排成一列是很有用的。
14.11.2.2 letter-value 特性
letter-value 特性区别是将字母翻译为数字还是翻译为字母。例如,如果要想使用format=”I”,获得一个I、J、K、L、
M、N、...序列,而不是I、II、III、IV、V、VI、...序列,则应将letter-value 特性设置为关键字alphabetic。关键字
other 指定数字序列。例如
<xsl:template match=”ATOM”>
<P>
<xsl:number expr=”position()”
format=”I” letter-value=”alphabetic”/>
<xsl:value-of select=”.”/>
</P>
</xsl:template>
14.11.2.3 Group Separator 特性
在美国,我们倾向于使用逗号将每三个数字作为一组,来写出大数字,如4,567,302,000。但是,在许多语言和国家里,而
是使用句号或空格来分隔各组;例如,4.567.302.000 或4 567 302 000。而且,在有些国家,习惯将大数字分成每四个一
组,而不是三个一组;例如4,5673,0000。如果处理可能包括几千或更多项的很长序列时,就需要考虑这些问题。
digit-group-sep 特性指定用于数字组之间的分组分隔符。n-digits-per-group 特性指定每组中使用的数字个数。一般来说,
应将这些特性随语言一起指定。例如:
<xsl:number digit-group-sep=” “/>
14.11.2.4 sequence-src 特性
最后一点,如果要使用非正常的序列(像1-1-1999、1-2-1999、1-3-1999、...日期字符串列表,或者像10、20、30、40、...
间隔为10 的列表),可以将此列表(以崭穹挚 ┍4嬖诙懒⒌奈牡抵小 equence-src 特性的值表示该文档的相对或绝对
的URL。例如:
<xsl:number sequence-src=”1999.txt”/>
XML 实用大全
第 511 页
14.12 对输出元素排序
xsl:sort 元素将输出元素按不同于输入文档中的顺序进行排序。xsl:sort 元素作为xsl:apply-templates 或xsl:for-each
的子元素出现。Xsl:sort 元素的select 特性定义关键字,用来按照xsl:apply-templates 或xsl:for-each 对元素的输出
进行排序。
在缺省情况下,以关键值的字母顺序进行排序。如果在给定的xsl:apply-templates 或xsl:for-each 元素中,存在一个以
上的xsl:sort 元素,那么输出内容首先按第一个关键字进行排序,然后按第二个关键字进行排序,依次类推。如果任何元
素的比较结果是一样的,那么就按源文档的顺序输出。
例如,假设在一文件中,全部都是以字母顺序排列的ATOM 元素。为了要按原子序数进行排序,可使用清单14-18 中的样式
单。
清单14-18:按原子序数排序的XSL 样式单
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="PERIODIC_TABLE">
<html>
<head>
<title>Atomic Number vs. Atomic Weight</title>
</head>
<body>
<hl>Atomic Number vs. Atomic Weight</hl>
<table>
<th>Element</th>
<th>Atomic Number</th>
<th>Atomic Weight</th>
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML实用大全(144)