<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 表达式。

级别

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

单一

按顺序对同级节点进行编号,例如列表中的项目。处理器转到与 count 属性匹配的ancestor-or-self 轴中的第一个节点,然后对该节点及其所有前面的同级节点进行计数(如果存在 from 属性,则在到达与该属性匹配的节点时停止),这些节点也与 count 属性匹配。如果未找到匹配项,则序列将为空列表。

多个

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

any(目前不支持。)

对所有匹配的节点进行编号,而不管级别如何,按顺序进行。考虑所有祖先自身前面 轴。处理器从当前节点开始,并以相反的文档顺序进行,如果到达与任何 from 属性匹配的节点则停止。如果未找到与 count 属性匹配的项,则序列将为空列表。此级别目前不受支持。

指定编号应从何处开始或重新开始。序列从与 from 属性匹配的节点的第一个后代开始。

将给定的格式应用于数字。这是一种快速方法,可以在任何标准 <xsl:number> 格式中格式化用户提供的数字(而不是节点序列号)。

格式

定义生成的数字的格式

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(目前不支持。)

指定在基于字母的编号格式中应使用哪种语言的字母表。

字母值

消除使用字母的编号序列之间的歧义。某些语言有多个使用字母的编号系统。如果两个系统都以相同的标记开头,则可能会产生歧义。此属性可以具有值“alphabetic”或“traditional”。默认为“alphabetic”。

分组分隔符

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

分组大小

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

类型

指令,出现在模板内。

规范

XSLT,第 7.7 节

Gecko 支持

部分支持。请参阅以上注释。