使用XSLT,XPath计算成绩的最佳方法?

时间:2014-05-29 14:07:21

标签: xml xslt if-statement xpath boolean

创建"等级计算器的最佳方法是什么?#34;在XSLT中?到目前为止,我有这个,但它似乎没有工作。我觉得这应该很简单。这是我的代码:

    <xsl:if test="result &gt; 85" >
                    <xsl:value-of select="HD" />
                    <xsl:if />
                    <xsl:if test="[(result &gt; 70) and (result &lt; 85)]" >
                    <xsl:value-of select="D" />
                    <xsl:if />
                    <xsl:if test="[(result &gt; 60) and (result &lt; 70)]" >
                    <xsl:value-of select="CR" />
                    <xsl:if />
                    <xsl:if test="[(result &gt; 50) and (result &lt; 60)]" >
                    <xsl:value-of select="C" />
                    <xsl:if />
                    <xsl:if test="result &lt; 50" >
                    <xsl:value-of select="C" />
                    <xsl:if />

这里有语法错误吗?我应该使用某种形式的模板吗?任何建议将不胜感激!提前谢谢。

1 个答案:

答案 0 :(得分:0)

这是一个简单的例子:

   <xsl:choose>
        <xsl:when test="result &lt; 50">F</xsl:when>
        <xsl:when test="result &lt; 60">D</xsl:when>
        <xsl:when test="result &lt; 70">C</xsl:when>
        <xsl:when test="result &lt; 85">B</xsl:when>
        <xsl:otherwise>A</xsl:otherwise>
    </xsl:choose>

请注意,这不符合您的原始值,因为(1)您没有边界值的结果,(2)C出现两次。