`

[XSL样式表]使用xsl:choose进行多项条件判断

阅读更多

<?xml version="1.0" encoding="utf-8"?>
<?xml:stylesheet type="text/xsl" href="../xsl/test5.xsl"?>
<class>
<student>
<name>Bitan</name>
<english>74</english>
<maths>86</maths>
<chymist>97</chymist>
<physics>35</physics>
</student>
<student>
<name>Helen</name>
<english>65</english>
<maths>45</maths>
<chymist>84</chymist>
<physics>78</physics>
</student>
<student>
<name>Kathy</name>
<english>21</english>
<maths>56</maths>
<chymist>65</chymist>
<physics>98</physics>
</student>
<student>
<name>Susan</name>
<english>54</english>
<maths>35</maths>
<chymist>83</chymist>
<physics>35</physics>
</student>
</class>

<?xml version="1.0" encoding="GBK"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="1">
<tr>
<td colspan="5" bgcolor="cyan">测验结果:</td>
</tr>
<tr>
<th>姓名</th>
<th>英语</th>
<th>数学</th>
<th>化学</th>
<th>物理</th>
</tr>
<xsl:apply-templates select="class/student"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="student">
<tr>
<td>
<xsl:apply-templates select="name"/>
</td>
<td>
<xsl:apply-templates select="english"/>
</td>
<td>
<xsl:apply-templates select="maths"/>
</td>
<td>
<xsl:apply-templates select="chymist"/>
</td>
<td>
<xsl:apply-templates select="physics"/>
</td>
</tr>
</xsl:template>
<xsl:template match="name">
<xsl:value-of/>
</xsl:template>
<xsl:template match="english|chymist|physics|maths">
<xsl:choose>
<xsl:when test=".[value() $ge$ 90]">优秀</xsl:when>
<xsl:when test=".[value() $ge$ 75]">良好</xsl:when>
<xsl:when test=".[value() $ge$ 60]">合格</xsl:when>
<xsl:otherwise>不合格</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

结果:

姓名 英语 数学 化学 物理
测验结果:
Bitan 合格 良好 优秀 不合格
Helen 合格 不合格 良好 良好
Kathy 不合格 不合格 合格 优秀
Susan 不合格 不合格 良好 不合格
分享到:
评论

相关推荐

    用 xsl essage 调试样式表

    对于包含条件判断的模板,如`xsl:if`或`xsl:choose`,可以使用`xsl:message`来确定哪个分支被触发。清单2展示了如何在DocBook XSL样式表中添加调试消息,以确定转换无效的原因: 清单2: ```xml &lt;xsl:choose&gt; &lt;xsl:...

    jmeter xsl样式表

    jmeter extras里提供了一些xsl样式表,但是不方便看细节,这个样式表转自,可以看细节报告

    跟我学XSL电子资源下载

    6. **样式表结构**:探讨如何组织XSL样式表,包括导入和包含其他样式表的机制。 7. **转换过程**:阐述XML到HTML、SVG或其他格式的转换流程,以及如何控制输出结果的样式和布局。 8. **实际应用**:通过实例演示...

    Xsl参考(pdf)

    当宿主样式表中有匹配规则时,`&lt;xsl:apply-imports&gt;` 会先调用导入的样式表中的对应模板,然后才执行宿主样式表中的模板。这在XSLT中提供了一种优先级的概念,即导入的样式表模板优先于宿主样式表中的同名模板。 **...

    XSL基础教程 从 XSLT 样式表调用 JavaScript

    1. **XSLT语法**:学习基本的XSLT元素,如`&lt;xsl:template&gt;`、`&lt;xsl:for-each&gt;`、`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`,以及如何使用XPath表达式选择和操作XML节点。 2. **模板匹配**:掌握如何通过模式匹配来指定何时应用...

    用XML+XSL生成WEB树的XSL样式表

    通过XSL解析XML在浏览器中显示树的XSL样式表。 处理简便,功能强大,支持拖放,支持键盘操作,每个结点可显示不同的图标,... &lt;br&gt;注:本样式表为同步加载模式,如果结点数量较多,加载会比较慢,请权衡使用。

    Xslt语法参考手册.pdf

    - **语法**:`&lt;xsl:choose&gt;&lt;xsl:when test="expression"&gt;&lt;xsl:otherwise&gt;...&lt;/xsl:otherwise&gt;&lt;/xsl:choose&gt;` - **属性**:无 - **示例**: ```xml &lt;xsl:template match="book"&gt; &lt;xsl:choose&gt; &lt;xsl:when test=...

    xml基础电子稿 第五张的知识体系和结构

    除此之外,XSL还提供了一系列的指令和元素,如`&lt;xsl:for-each&gt;`用于迭代遍历XML元素,`&lt;xsl:value-of&gt;`用于输出元素的值,`&lt;xsl:copy&gt;`用于复制元素,`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`用于条件判断等。这些工具使XSL具有...

    使用xsl导出excel源码示例

    3. **Excel格式化**:在XSLT中,我们使用特定的元素和属性来模拟Excel的特性,例如 `&lt;xsl:table&gt;` 表示工作表,`&lt;xsl:row&gt;` 表示行,`&lt;xsl:cell&gt;` 表示单元格。通过设置这些元素的属性,可以控制单元格的样式,如...

    XSL Split

    2. XSL处理器:执行XSL样式表,根据其定义的规则对XML数据进行操作。 3. 输出生成器:将处理后的结果写入到多个输出文件中。 使用XSL Split有以下几个优点: - **灵活性**:通过修改XSL样式表,可以轻松地更改拆分...

    XSL转换XML的技术

    了解和掌握XSL样式表文件的作用及格式,模板标记;常用的XSL标记,包括xsl:for-each的用法;xsl:value-of的用法; xsl:if的用法; xst:choose的用法; xsl:element的用法。 根据下列学生信息表,设计文件名为...

    XML应用开发(软件品牌)-1期 5.4案例分析-使用XSL流程控制语言.doc

    当需要处理多个条件时,我们可以使用`&lt;xsl:choose&gt;`, `&lt;xsl:when&gt;`和`&lt;xsl:otherwise&gt;`元素。`&lt;xsl:choose&gt;`是容器元素,`&lt;xsl:when&gt;`表示一个条件分支,`&lt;xsl:otherwise&gt;`用于捕获所有未匹配的条件。例如,在案例2...

    xml+xsl中分割字符

    在XML与XSL技术的结合应用中,对字符串进行分割处理是一项常见的需求,尤其是在需要将一个包含多个值的属性或元素拆分为多个单独元素时。本文将深入探讨如何利用XSLT中的`substring-before()`和`substring-after()`...

    在xml中使用CSS和XSL

    一个XSLT样式表包含多个模板,每个模板都对应XML文档中的一个元素或模式。当XML文档被解析时,XSLT处理器会根据这些模板进行转换。 下面是一个简单的XSLT例子: ```xml &lt;xsl:stylesheet version="1.0" xmlns:xsl=...

    XSL简明教程(5)

    ### XSL简明教程(5): 使用Order-by属性进行排序 在XML与XSL的世界里,数据处理变得异常灵活和强大。本章节我们将探讨如何利用XSL中的`order-by`属性来对XML文档进行排序,这在实际应用中非常有用,尤其是在需要根据...

    xsl学习笔记,入门知识

    在实际应用中,你可能还会遇到条件判断(`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`)、循环(`&lt;xsl:for-each&gt;`)、变量(`&lt;xsl:variable&gt;`和`&lt;xsl:param&gt;`)以及导入和包含其他样式表(`&lt;xsl:import&gt;`和`&lt;xsl:include&gt;`)等功能。...

    XSL开发基础参考资料

    XSL(Extensible Stylesheet Language)是一种用于转换XML(Extensible Markup Language)文档的语言,它允许开发者通过定义样式表来控制XML数据的呈现方式。在XSL开发中,理解和掌握XSL函数、XSL元素以及XPath是至...

    XSL文档资料 pdf

    - `&lt;xsl:choose&gt;`:根据条件选择不同的模板。 - `&lt;xsl:apply-templates&gt;`:应用模板处理子节点。 ### XSLT高级主题 #### 客户端与服务器端的应用 XSLT可以在客户端(浏览器)或服务器端运行: - **客户端**:XSLT...

    xsl使用示例代码

    5. **条件语句和循环(Conditional Statements & Loops)**:XSLT支持条件语句(如`&lt;xsl:if&gt;`和`&lt;xsl:choose&gt;`)以及循环(如`&lt;xsl:for-each&gt;`),使我们能够基于数据的条件来控制输出。 6. **输出指令(Output ...

    rss-xsl:RSS 播客提要的 XSL 样式表

    ERR 的 RSS 播客提要的 XSL 样式表现在,它们将在没有默认 RSS 样式表的浏览器(例如 Chrome)中很好地显示。 只需添加: &lt;?xml-stylesheet type="text/xsl" href="style.xsl"?&gt;到您的 RSS 提要,在&lt;?xml ....

Global site tag (gtag.js) - Google Analytics