电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程
跟我学XSL(一)-XML教程,样式表技术
作者:网友供稿 点击:50
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] [2] [3] [4] [5] 

上期我们学习了xsl元素<xsl:if>,已能通过测试xml数据的值来决定不同的输出形式,不知你尝试过没有,实际上<xsl:for-each>也可部分实现<xsl:if>的功能,但有时,我们希望对同一数据同时测试多个条件,根据不同条件输出相应结果。当然,我们可以用if,假如我们只有if可用的话。幸好我们有一个更好的选择,那就是用<xsl:choose>。下面介绍相关元素的语法:

  <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),而不是显示分数。其中成绩单的xml文档(文件名: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>

  为实现按分数分等级显示,其xsl文档(文件名: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>


上例在浏览器中的样子(ie5.0或更新版本)

  说明:在<xsl:choose>选择中,从第一个<xsl:when>开始,逐个测试,直到满足一个测试条件就将其中的内容输出,不再测试后面的条件;如果不满足任何一个条件,则输出<xsl:otherwise>中的内容。

  标记对<xsl:when></xsl:when>与<xsl:otherwise></xsl:otherwise>中可嵌套<xsl:if>或<xsl:choose>。

[本文共有 5 页,当前是第 5 页] <<上一页 下一页>>


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] [2] [3] [4] [5] 
Google
热门文章
·跟我学xml和XSL-XML教程,XML工具及环境
·精彩:用Asp实现QQ在线查询
·XMLDOM对象方法:对象事件-XML教程,XML基础
·使用XML DOM生成XML(3)-XML教程,DOM/SAX
·跟我学XSL(一)-XML教程,样式表技术
·使用XML DOM生成XML(4)-XML教程,DOM/SAX
·XML的简单读取与写入-XML教程,XML基础
·跟我学XSL(三)-XML教程,样式表技术
·了解WEB页面工具语言XML(二)定义-XML教程,XML工具及环境
·了解WEB页面工具语言XML(五)好处-XML教程,XML工具及环境

最新文章
·ChinaCache CDN门户类网站加速方案
·UniCache 行业垂直门户网站加速方案
·UniCache 博客 论坛 WEB2.0加速方案
·UniCache 播客网站CDN加速解决方案
·ChinaCache CDN中型企业类网站方案
·ChinaCache CDN大型企业类网站方案
·ChinaCache CDN电子商务类网站方案
·ChinaCache CDN Web2.0网站加速方案
·ChinaCache CDN软件类网站加速方案
·ChinaCache CDN游戏类网站加速方案


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号