<xsl:number>

<xsl:number> 元素用于顺序计数。它还可以用于快速格式化数字。

语法

xml
<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

定义在生成顺序编号时应如何考虑源树的级别。它有三个有效值:singlemultipleany。默认值为 single

single

顺序编号同级节点,就像列表中的项一样。处理器会转到 ancestor-or-self 轴上与 count 属性匹配的第一个节点,然后计数该节点及其所有前面的同级节点(如果存在 from 属性,则在遇到匹配 from 属性的节点时停止),这些节点也与 count 属性匹配。如果没有找到匹配项,则序列将是一个空列表。

multiple

将节点编号为一个复合序列,反映节点的层级位置,例如:1.2.2.5。(嵌套格式可以通过 format 属性指定,例如 A.1.1)。处理器会查看当前节点的所有 祖先 节点以及当前节点本身,如果在 from 属性处有匹配项,则在此停止。对于此列表中的每个与 count 属性匹配的节点,处理器会计算其有多少个前面的匹配同级节点,并加上该节点本身。如果没有找到匹配项,则序列将是一个空列表。

any (目前不支持。)

无论级别如何,顺序编号所有匹配的节点。会考虑 ancestorselfpreceding 轴。处理器从当前节点开始,按文档的倒序进行,如果在任何 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

消除使用字母的编号序列之间的歧义。有些语言有不止一种使用字母的编号系统。如果两个系统以相同的标记开头,可能会产生歧义。此属性可以取值 alphabetictraditional。默认为 alphabetic

grouping-separator

指定用作分组(例如千位)分隔符的字符。默认为逗号 (,)。

grouping-size

指示构成数字组的位数。默认值为 3

类型

指令,出现在模板内。

规范

XSLT,第 7.7 节

Gecko 支持情况

部分支持。请参阅上面的注释。