<xsl:number>
<xsl:number> 元素用于顺序计数。它还可以用于快速格式化数字。
语法
<xsl:number
count=EXPRESSION
level="single" | "multiple" | "any"
from=EXPRESSION
value=EXPRESSION
format=FORMAT-STRING
lang=XML:LANG-CODE
letter-value="alphabetic" | "traditional"
grouping-separator=CHARACTER
grouping-size=NUMBER />
必需属性
无。
可选属性
计数-
指定源树中的哪个部分需要顺序编号。它使用 XPath 表达式。
level-
定义在生成顺序编号时应如何考虑源树的级别。它有三个有效值:
single、multiple和any。默认值为single。single-
顺序编号同级节点,就像列表中的项一样。处理器会转到
ancestor-or-self轴上与count属性匹配的第一个节点,然后计数该节点及其所有前面的同级节点(如果存在from属性,则在遇到匹配from属性的节点时停止),这些节点也与count属性匹配。如果没有找到匹配项,则序列将是一个空列表。 multiple-
将节点编号为一个复合序列,反映节点的层级位置,例如:1.2.2.5。(嵌套格式可以通过
format属性指定,例如 A.1.1)。处理器会查看当前节点的所有祖先节点以及当前节点本身,如果在from属性处有匹配项,则在此停止。对于此列表中的每个与count属性匹配的节点,处理器会计算其有多少个前面的匹配同级节点,并加上该节点本身。如果没有找到匹配项,则序列将是一个空列表。 any(目前不支持。)-
无论级别如何,顺序编号所有匹配的节点。会考虑
ancestor、self和preceding轴。处理器从当前节点开始,按文档的倒序进行,如果在任何from属性处遇到匹配项则停止。如果没有找到匹配count属性的节点,则序列将是一个空列表。此级别目前不支持。
from-
指定编号的起始位置或重置编号的位置。序列从匹配
from属性的节点的第一个后代开始。 value-
将指定的格式应用于数字。这是一种快速格式化用户提供的数字(而非节点序列号)的快捷方式,可以使用任何标准的
<xsl:number>格式。 格式(format)-
定义生成的数字的格式
format="1"-
1 2 3 . . .(目前仅支持此格式) format="01"-
01 02 03 . . . 09 10 11 . . . format="a"-
a b c . . .y z aa ab . . . format="A"-
A B C . . . Y Z AA AB . . . format="i"-
i ii iii iv v . . . format="I"-
I II III IV V . . .
lang(目前不支持。)-
指定在基于字母的编号格式中使用哪种语言的字母表。
letter-value-
消除使用字母的编号序列之间的歧义。有些语言有不止一种使用字母的编号系统。如果两个系统以相同的标记开头,可能会产生歧义。此属性可以取值
alphabetic或traditional。默认为alphabetic。 grouping-separator-
指定用作分组(例如千位)分隔符的字符。默认为逗号 (
,)。 grouping-size-
指示构成数字组的位数。默认值为
3。
类型
指令,出现在模板内。
规范
XSLT,第 7.7 节
Gecko 支持情况
部分支持。请参阅上面的注释。