【问题标题】:How to apply math function to node value?如何将数学函数应用于节点值?
【发布时间】:2014-11-06 04:51:52
【问题描述】:

我有 xml 文件,其中包含一组日期,当它是 BCE 时为负数,如果是 CE 时为正数。我需要通过乘以 -1 将负值更改为正值,我该怎么做?

<xsl:choose>
    <xsl:when test="node &lt; 0">
        <p><xsl:value-of select="node"/> BCE</p> <!-- How to multiply by -1? -->
    </xsl:when>
    <xsl:otherwise>
        <p><xsl:value-of select="node"/> CE</p>
    </xsl:otherwise>
</xsl:choose>

【问题讨论】:

  • 你的例子中valuenode有什么区别?
  • node 是节点名称,value 是它的值,例如:&lt;parent&gt;&lt;node&gt;value&lt;/node&gt;&lt;parent&gt;
  • 你的测试应该是这样的:&lt;xsl:when test="node &amp;lt; 0"&gt;.
  • 是的,你是对的,很抱歉造成混乱

标签: xml xslt xhtml


【解决方案1】:

我需要通过乘以 -1 将负值更改为正值, 我该怎么做?

<xsl:value-of select="-node"/>

注意

<xsl:when test="value < 0">

不是一个有效的表达式;您必须转义

<xsl:when test="value &lt; 0">

【讨论】:

  • 感谢它像魔术一样工作,这是否意味着我可以在select 参数中使用任何基本的数学函数(+ - * /)?
  • @razzak 您可以使用+-*div 运算符,以及modnumber functions
猜你喜欢
  • 2010-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 2013-07-25
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
相关资源
最近更新 更多