gpt4 book ai didi

xslt - 的自定义格式

转载 作者:行者123 更新时间:2023-12-05 00:37:46 30 4
gpt4 key购买 nike

是否可以为 <xsl:number> 定义自定义格式? ?

我有一种情况,需要标准的基于 alpha 的格式,但字母表中的某些字符是被禁止的(奇怪的要求,但这是客户要求的)。例如,字母 i不能使用,所以使用时<xsl:number>我应该得到序列:a, b, c, d, e, f, g, h, j, k, ..., aa, ab, ..., ah, aj, ...

该项目使用 XSLT 2.0 和 Saxon,因此如果存在特定于 Saxon 的解决方案,那也没关系。

XSLT 2.0 是否提供定义自定义格式序列的能力? Saxon 是否提供注册用于 <xsl:number> 的自定义序列的功能? ?

最佳答案

XSLT 2.0 提供了 format xsl:number 的属性您可以通过它使用格式标记 aa例如。计算出的数字取决于 value 中的表达式属性并将相应地格式化为 format .

鉴于此,你可以想到 首先评估正确的序列 不包括与特定字母匹配的数字。

例如,以下指令:

  <xsl:number value="$sequence" format="aa"/>

将打印(通知 i 除外):
 a.b.c.d.e.f.g.h.j.k.l.m

如果 $sequence评估为(通知 9 跳过):
1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13

请注意,如果您有 12 个元素,您的表达式应该能够跳过不需要的数字( i 为 9)并增加 1 的后面。位置为 12 的最后一个元素应具有对应的编号 13。

所以你需要的,就是 计算所需序列的算法 ;这绝对取决于您的输入文档。

引用文献: XSLT 2.0 Rec.

关于xslt - <xsl :number> 的自定义格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6588749/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com