如何在xslt 1.0中将数字彼此相乘

苏舍尔

我有一个数字,例如123,它存储在一个元素中,例如<Number>123</Number>我正在寻找用XSLT 1.0编写的解决方案,该解决方案可以执行以下操作:1 * 2 * 3并提供6的结果。element中的值Number可以是任何长度。我知道我可以通过子字符串函数并通过将值一个一地存储在变量中来做到这一点,但是问题是,我不知道该字段的长度。

我不能为此编写任何xslt。

任何人都可以为此提供帮助或提出解决方案吗?

michael.hor257k

您可以通过调用递归命名模板来做到这一点:

<xsl:template name="digit-product">
    <xsl:param name="digits"/>
    <xsl:param name="prev-product" select="1"/>
    <xsl:variable name="product" select="$prev-product * substring($digits, 1, 1)" />
    <xsl:choose>
        <xsl:when test="string-length($digits) > 1">
            <!-- recursive call -->
            <xsl:call-template name="digit-product">
                <xsl:with-param name="digits" select="substring($digits, 2)"/>
                <xsl:with-param name="prev-product" select="$product"/>
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$product"/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

工作示例:http : //xsltransform.net/3NJ38YJ

请注意,这假定传递的digits参数的值为整数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Yii2中将1到100的数字显示为下拉列表

来自分类Dev

如何在javascript中将数字数组中的值相乘?

来自分类Dev

如何在XSLT中执行不同的XSLT?

来自分类Dev

如何在XSLT 2.0中减去1天(计算前一天)?

来自分类Dev

如何在Swift中将数字相乘?

来自分类Dev

如何在Swift中将数字相乘?

来自分类Dev

如何将列表中的数字相乘?

来自分类Dev

如何在XSLT 1中按三个级别的节点值对XML节点进行分组?

来自分类Dev

如何在JavaScript中将任何数字范围缩放到介于0和1之间的值

来自分类Dev

如何在XSLT 1.0中将数字/字母文本字符串分成两个XML元素?

来自分类Dev

如何在XSLT 1.0中将数字/字母文本字符串分成两个XML元素?

来自分类Dev

JavaScript - 如何创建介于 1 和用户输入的任何数字 (Num) 之间的数字列表,然后将这些数字相乘?

来自分类Dev

如何在XSLT中声明变量?

来自分类Dev

如何在XSLT中包含对JavaScript的调用?

来自分类Dev

如何在xslt中创建递归模板

来自分类Dev

如何在XSLT中合并XML同级

来自分类Dev

如何在XSLT中插入HTML文本?

来自分类Dev

如何在XSLT中从XML隐藏字段

来自分类Dev

如何在xslt中编写增量循环

来自分类Dev

如何在xslt中创建递归模板

来自分类Dev

如何在XSLT 1.0中实现数组

来自分类Dev

如何在XSLT中获取标签值

来自分类Dev

如何在 xslt 中添加活动类?

来自分类Dev

如何在 xslt 中重置列表编号

来自分类Dev

当我在数组中将数字彼此相乘时,我得到一个负数。我该如何纠正?

来自分类Dev

如何在C#中将字符串中的某个数字相乘

来自分类Dev

如何在Crystal Reports 2008中将代表时间的十进制数字转换为实际时间?例如:“ 1.5”代表1:30

来自分类Dev

如何在 XSLT 2.0 中对数字进行排序?

来自分类Dev

如何将单行与SQL中的列中的数字相乘

Related 相关文章

  1. 1

    如何在Yii2中将1到100的数字显示为下拉列表

  2. 2

    如何在javascript中将数字数组中的值相乘?

  3. 3

    如何在XSLT中执行不同的XSLT?

  4. 4

    如何在XSLT 2.0中减去1天(计算前一天)?

  5. 5

    如何在Swift中将数字相乘?

  6. 6

    如何在Swift中将数字相乘?

  7. 7

    如何将列表中的数字相乘?

  8. 8

    如何在XSLT 1中按三个级别的节点值对XML节点进行分组?

  9. 9

    如何在JavaScript中将任何数字范围缩放到介于0和1之间的值

  10. 10

    如何在XSLT 1.0中将数字/字母文本字符串分成两个XML元素?

  11. 11

    如何在XSLT 1.0中将数字/字母文本字符串分成两个XML元素?

  12. 12

    JavaScript - 如何创建介于 1 和用户输入的任何数字 (Num) 之间的数字列表,然后将这些数字相乘?

  13. 13

    如何在XSLT中声明变量?

  14. 14

    如何在XSLT中包含对JavaScript的调用?

  15. 15

    如何在xslt中创建递归模板

  16. 16

    如何在XSLT中合并XML同级

  17. 17

    如何在XSLT中插入HTML文本?

  18. 18

    如何在XSLT中从XML隐藏字段

  19. 19

    如何在xslt中编写增量循环

  20. 20

    如何在xslt中创建递归模板

  21. 21

    如何在XSLT 1.0中实现数组

  22. 22

    如何在XSLT中获取标签值

  23. 23

    如何在 xslt 中添加活动类?

  24. 24

    如何在 xslt 中重置列表编号

  25. 25

    当我在数组中将数字彼此相乘时,我得到一个负数。我该如何纠正?

  26. 26

    如何在C#中将字符串中的某个数字相乘

  27. 27

    如何在Crystal Reports 2008中将代表时间的十进制数字转换为实际时间?例如:“ 1.5”代表1:30

  28. 28

    如何在 XSLT 2.0 中对数字进行排序?

  29. 29

    如何将单行与SQL中的列中的数字相乘

热门标签

归档