<xsl:choose>
语法:<xsl:choose>
属性:无,表示一个多选测试的开始
<xsl:when>
语法:
<xsl:when expr="script-expression" language="language-name" test="pattern">
属性:
expr ── 脚本语言表达式,计算结果为“真”或“假”;如果结果为“真”,且通过test,则在输出中显示其中内容(可省略此项属性)。
language ── expr属性中表达式的脚本语言类型,其取值与HTML标记SCRIPT的LANGUAGE属性的取值相同,缺省为“JScript”。
test ── 源数据测试条件。
<xsl:otherwise>
语法:<xsl:otherwise>
属性:无,在一个多选测试中,如果没有不满足<xsl:when>规定的条件,如果在最后有此标记,则输出此标记中的内容。
以学生成绩单为例,要求按成绩的高低给出优秀( >85)、一般(70~85)、起格(60~69)、不及格(< 60),而不是显示分数:
grade.xml:
<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="grade.xsl"?>
<document>
<grade>
<name>大胖</name><english>80</english>
<math>90</math><chymest>90</chymest>
</grade>
<grade>
<name>小花</name><english>98</english>
<math>70</math><chymest>85</chymest>
</grade>
</document>
grade.xsl:
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<HTML>
<HEAD><TITLE>成绩单</TITLE></HEAD>
<BODY><xsl:apply-templates select="document"/></BODY>
</HTML>
</xsl:template>
<xsl:template match="document">
<TABLE border="1" cellspacing="0">
<TH>姓名</TH> <TH>英语</TH><TH>数学</TH><TH>化学</TH>
<xsl:apply-templates select="grade"/>
</TABLE>
</xsl:template>
<xsl:template match="grade">
<TR>
<TD><xsl:apply-templates select="name"/></TD>
<TD><xsl:apply-templates select="english"/></TD>
<TD><xsl:apply-templates select="math"/></TD>
<TD><xsl:apply-templates select="chymest"/></TD>
</TR>
</xsl:template>
<xsl:template match="name"><xsl:value-of/></xsl:template>
<xsl:template match="english|math|chymest">
<xsl:choose>
<xsl:when test=".[value() $gt$ 85]">优秀</xsl:when>
<xsl:when test=".[value() $gt$ 70]">一般</xsl:when>
<xsl:when test=".[value() $gt$ 60]">及格</xsl:when>
<xsl:otherwise>不及格</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
说明:
在<xsl:choose>选择中,从第一个<xsl:when>开始,逐个测试,直到满足一个测试条件就将其中的内容输出,不再测试后面的条件;如果不满足任何一个条件,则输出<xsl:otherwise>中的内容。
标记对<xsl:when></xsl:when>与<xsl:otherwise></xsl:otherwise>中可嵌套<xsl:if>或<xsl:choose>。
分享到:
相关推荐
跟我学XSL这本书不错,大家看看吧!
《跟我学XSL》是一本深入浅出地介绍XSL(eXtensible Stylesheet Language)技术的专业教程。XSL是一种强大的XML(eXtensible Markup Language)转换语言,主要用于XML文档的格式化和转换,使得数据在不同的环境中...
"跟我学XSL"这本书很可能深入浅出地介绍了这一技术,帮助初学者快速掌握XSL的核心概念和实际应用。 1. **XSL简介** - XSL由XSLT(Transformations)、XPath(Path)和XSL-FO(Formatting Objects)三部分组成。 -...
跟我学XSL.chm,XSL中文文档。
四、深入学习XSL 学习XSL不仅包括理解基本概念,还需要掌握如变量、函数、模板选择、流控制(如条件语句和循环)、以及如何导入和链接其他XSL样式表等高级特性。此外,熟悉XPath的语法和功能对于有效使用XSL至关...
《跟我学XSL(三)》这篇博文主要探讨了XSL(Extensible Stylesheet Language)这一转换语言的高级技巧和应用。XSL是一种强大的XML(eXtensible Markup Language)处理工具,它允许我们将XML数据转换成其他格式,如...
#### 四、XSL 的引入 **XSL (Extensible Stylesheet Language)** 是一种用于转换 XML 数据的语言。XSL 包含三个部分: 1. **XSL Transformations (XSLT)**:用于转换 XML 文档,可以根据需求改变 XML 数据的结构和...
《跟我学XSL(一)》这篇博文主要探讨了XSL(Extensible Stylesheet Language)这一重要的XML处理技术。XSL是一种用于转换XML文档格式的语言,它能够将XML数据转换成HTML、PDF或其他格式,以适应不同的显示需求。在...
XSL转载的学习资料,分享。可作为入门教材
一本非常好的XSL入门教程, 分成以下几大单元 1.第一个XML文档 2.XSL入门 3.XSL模板与匹配模式 4.测试模式 5.XSL中的choose 6.运算符,关系与逻辑运算符,特殊字符等 7.XSL函数之一 8.脚本与XSL的结合及应用 9...