首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xslt中未执行多个条件

xslt中未执行多个条件
EN

Stack Overflow用户
提问于 2019-02-24 04:32:57
回答 1查看 39关注 0票数 0

我希望分数应该与要求的等级标准相匹配。我尝试了xsl:choose来检查marks条件,但它没有检查when条件,它总是执行否则条件。有人能分享这个解决方案吗?

XML:

代码语言:javascript
复制
{
<marklist>
    <student>
        <reg_no>100</reg_no>
        <name>aaa</name>
        <marks>
            <CD>55</CD>
            <AI>44</AI>
        </marks>
    </student>
    <student>
        <reg_no>101</reg_no>
        <name>bbb</name>
        <marks>
            <CD>65</CD>
            <AI>46</AI>
        </marks>
    </student>
</marklist>
}

必需的XML格式:

代码语言:javascript
复制
{
<marklist>
    <student>
        <reg_no>100</reg_no>
        <name>aaa</name>
        <grade>
            <CD>D</CD>
            <AI>E</AI>
        </grade>
    </student>
    <student>
        <reg_no>101</reg_no>
        <name>bbb</name>
        <grade>
            <CD>C</CD>
            <AI>E</AI>
        </grade>
    </student>
</marklist>
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-24 14:39:17

代码语言:javascript
复制
<xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="CD">
        <CD>
        <xsl:choose>
            <xsl:when test=". &lt; 60 and . &gt; 50">
                    <xsl:value-of select="'D'"/>
            </xsl:when>
            <xsl:when test=". &lt; 70 and . &gt; 60">
                <xsl:value-of select="'C'"/>
            </xsl:when>
        </xsl:choose>
        </CD>
    </xsl:template>

    <xsl:template match="AI">
        <AI>
        <xsl:choose>
            <xsl:when test=". &lt; 60 and . &gt; 50">
                <xsl:value-of select="'D'"/>
            </xsl:when>
            <xsl:when test=". &lt; 70 and . &gt; 60">
                <xsl:value-of select="'C'"/>
            </xsl:when>
            <xsl:when test=". &lt; 50 and . &gt; 30">
                <xsl:value-of select="'E'"/>
            </xsl:when>
        </xsl:choose>
        </AI>
    </xsl:template>

You may check value of CD and AI and apply Grade according to that
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54845932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档