XSLT的xsl:number怎么给列表自动编号

admin 百科 10
xsl:number 是 XSLT 中用于自动生成结构化编号的指令,支持同级顺序编号、多级嵌套编号(level="multiple")、跨层级连续编号(level="any")及格式定制(format、separator、value等)。

XSLT的xsl:number怎么给列表自动编号-第1张图片-佛山资讯网

xsl:number 是 XSLT 中专门用于生成编号的指令,特别适合给 XML 中结构化的列表(比如嵌套的 <item></item><section></section><chapter></chapter> 等)自动编号,无需手动写计数逻辑。

基础用法:简单顺序编号

最常见的是给同级元素按出现顺序编号,比如给所有 <li> 加 1、2、3…

示例 XML:

<list>
  <li>苹果</li>
  <li>香蕉</li>
  <li>橙子</li>
</list>

登录后复制

对应 XSLT:

<xsl:template match="li">
  <p><xsl:number/>. <xsl:apply-templates/></p>
</xsl:template>

登录后复制

输出就是:
1. 苹果
2. 香蕉
3. 橙子

层级编号:支持多级嵌套(如 1.1、2.3.1)

level="multiple" + countfrom 属性,就能实现类似文档章节的编号。

    <li> level="multiple":启用多级累计编号 <li> count="section":只对 <section></section> 元素编号(跳过其他元素) <li> from="book":从最近的 <book></book> 开始计数(限定作用范围)
XML 示例:

<book>
  <section>引言</section>
  <section>第一章</section>
    <section>第一节</section>
    <section>第二节</section>
  <section>第二章</section>
</book>

登录后复制

XSLT:

<xsl:template match="section">
  <h2><xsl:number level="multiple" count="section" from="book"/> <xsl:apply-templates/></h2>
</xsl:template>

登录后复制

结果会是:
1 引言
2 第一章
2.1 第一节
2.2 第二节
3 第二章

自定义格式:加前缀、分隔符、起始值

通过 formatvalueseparator 控制外观:

标签: app 苹果

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~