如何使用计算结果并将其用作XSLT中的变量?

时间:2016-04-09 15:59:13

标签: xml xslt

正如标题所说,我无法将计算结果变成可以重复使用的变量。 这是我的XSLT的一个例子:

  <tr>
  <xsl:for-each select="student">
      <td><xsl:value-of select="student_id"/></td>
      <td><xsl:value-of select="sname"/></td>
      <td><xsl:value-of select="fname"/></td>
      <td><xsl:value-of select="score1"/></td>
      <td><xsl:value-of select="score2"/></td>
      <td><xsl:value-of select="score3"/></td>
      <td><xsl:variable name="total"/>
          <xsl:value-of select="score1 + score2 + score3"/></td>
          <xsl:choose>
            <xsl:when test="total &lt; 50">
                <td><xsl:text>N</xsl:text></td>
            </xsl:when>
            <xsl:when test="total &gt;= 50 and total &lt; 60">
                <td><xsl:text>C</xsl:text></td>
            </xsl:when>  
            <xsl:when test="total &gt;= 60 and total &lt; 70">
                <td><xsl:text>CR</xsl:text></td>
            </xsl:when>  
            <xsl:when test="total &gt;= 70 and total &lt; 80">
                <td><xsl:text>D</xsl:text></td>
            </xsl:when>
            <xsl:otherwise>
                <td><xsl:text>HD</xsl:text></td>
            </xsl:otherwise>
          </xsl:choose>
    </tr>
    </xsl:for-each>

xsl:choose的结果为我提供了所有不正确的HD。

这是XML

的一部分
<student>
                    <student_id>16390227</student_id>
                    <sname>Battle</sname>
                    <fname>Gillian</fname>
                    <results>
                        <score1>12</score1>                     
                        <score2>13</score2>                 
                        <score3>26</score3>
                    </results>
                </student>
                <student>
                    <student_id>16280515</student_id>
                    <sname>Britt</sname>
                    <fname>Kelly</fname>
                    <results>
                        <score1>15</score1>                     
                        <score2>19</score2>                 
                        <score3>29</score3>
                    </results>
                </student>
                <student>
                    <student_id>16620827</student_id>
                    <sname>Walker</sname>
                    <fname>Kevyn</fname>
                    <results>
                        <score1>6</score1>                      
                        <score2>13</score2>                 
                        <score3>27</score3>
                    </results>
                </student>
                <student>
                    <student_id>16290814</student_id>
                    <sname>Wallace</sname>
                    <fname>Melodie</fname>
                    <results>
                        <score1>12</score1>                     
                        <score2>26</score2>                 
                        <score3>36</score3>
                    </results>
                </student>

这是我加载到mozilla时的预期输出

ID sname fname   score1    score2   score3   total grades
                   12        13       26       51    C
                   15        19       29       63    CR
                   6         13       27       46    N
                   12        26       36       74    D

0 个答案:

没有答案