XSLT <xsl:number> 元素

  • 定义和使用

    <xsl:number> 元素用于确定当前节点在源中的整数位置。它也用于格式化数字。
  • 语法

    <xsl:number
    count="expression"
    level="single|multiple|any"
    from="expression"
    value="expression"
    format="formatstring"
    lang="languagecode"
    letter-value="alphabetic|traditional"
    grouping-separator="character"
    grouping-size="number"/>
    
  • 参数

    属性 描述
    count expression 可选的,一个XPath表达式,指定要计算哪些节点
    level single|multiple|any 可选。控制序列号的分配方式
    可以是以下值之一:
    • single (默认)
    • multiple
    • any (Netscape 6不支持)
    from expression 可选。指定计数起始位置的 XPath 表达式
    value expression 可选。指定用户提供的用于替换序列生成的编号的编号
    format formatstring 可选。定义数字的输出格式。可以是以下值之一:
    • format="1" 结果是 1 2 3。
    • format="01" 结果为 01 02 03(Netscape 6不支持)
    • format="a" 结果是 b c。(Netscape 6不支持)
    • format="A" 得到 B C。(Netscape 6不支持)
    • format="i" 结果为 i、ii、iii和iv。(Netscape 6不支持)
    • format="I" 结果为 I、II、III和IV。(Netscape 6不支持)
    lang languagecode 可选。指定用于编号的语言字母表(Netscape 6不支持)
    letter-value alphabetic|traditional 可选。指定所选语言中的编号是字母还是传统。默认为字母
    grouping-separator character 可选。指定用于分隔数字组的字符。默认为逗号
    grouping-size number 可选。指定由“分组分隔符”属性中指定的字符分隔的组中的位数。默认值为3
  • 示例

    <xsl:number value="250000" grouping-separator="."/>  
    输出:
    
    250.000
    <xsl:number value="250000" grouping-size="2"/>  
    输出:
    
    25,00,00
    <xsl:number value="12" grouping-size="1" grouping-separator="#" format="I"/>  
    输出:
    
    X#I#I
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:template match="/">
        <html>
        <body>
        <p>
        <xsl:for-each select="catalog/cd">
          <xsl:number value="position()" format="1" />
          <xsl:value-of select="title" /><br />
        </xsl:for-each>
        </p>
        </body>
        </html>
      </xsl:template>
      
    </xsl:stylesheet>