gpt4 book ai didi

xml - 备用数字的总和 (XML/XSL)

转载 作者:数据小太阳 更新时间:2023-10-29 02:25:18 27 4
gpt4 key购买 nike

需要在使用 XSLT 从 XML 文件接收的数字中添加备用数字,例如,如果我收到 123456789,我需要使用 XSLT 函数从最右边计算备用数字总和,我对此有什么建议吗?

谢谢,拉克西米康斯

最佳答案

使用 XSLT 2.0 非常容易做到这一点(实际上只需要一个 XPath 2.0 表达式):

以下 XSLT 转换:

<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:output method="text"/>

<xsl:template match="/">
<xsl:sequence select=
"sum(for $n in reverse(string-to-codepoints('123456789'))
[position() mod 2 eq 1]
return
$n - string-to-codepoints('0')
)
"/>
</xsl:template>
</xsl:stylesheet>

应用于任何 XML 文档(未使用)时,会产生正确的结果:

25

请注意 XPath 2.0 函数的使用:string-to-codepoints()codepoints-to-string()reverse()


更新:一个类似但更简单的表达式是:

sum(for $n in reverse(string-to-codepoints('123456789'))
[position() mod 2 eq 1]
return
xs:integer(codepoints-to-string($n))
)

为了编译这个表达式,xs 前缀必须绑定(bind)到命名空间:“http://www.w3.org/2001/XMLSchema

关于xml - 备用数字的总和 (XML/XSL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1281062/

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