如何在xslt中减去值?

use*_*513 4 xml xslt jquery xslt-1.0

您能否告诉我如何使用变量减去xslt中的值?

这是我的代码:

<xsl:variable name="currentCurpg" select="1"/>
<xsl:variable name="tCurpg" select="($currentCurpg-1)"/>
Run Code Online (Sandbox Code Playgroud)

该变量tCurpg应为zero0

为什么我出错了?

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" />

    <xsl:template match="/">
      <hmtl>
        <head>
          <title>New Version!</title>
        </head>
         <xsl:variable name="currentCurpg" select="1"/>
          <xsl:variable name="tCurpg" select="($currentCurpg-1)"/>
     <xsl:value-of select="$tCurpg"/>

      </hmtl>
    </xsl:template>


</xsl:transform>
Run Code Online (Sandbox Code Playgroud)

我期望输出zero

Tim*_*m C 6

问题在于连字符在变量名中有效,因此在执行此操作时...

<xsl:variable name="tCurpg" select="($currentCurpg-1)"/>
Run Code Online (Sandbox Code Playgroud)

它实际上是在寻找名为的变量currentCurpg-1

而是将其更改为此...

<xsl:variable name="tCurpg" select="$currentCurpg - 1"/>
Run Code Online (Sandbox Code Playgroud)