前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XSL 简单判断指令及多条件判断指令

XSL 简单判断指令及多条件判断指令

作者头像
Vicsh
发布2018-05-16 10:47:44
3K0
发布2018-05-16 10:47:44
举报
文章被收录于专栏:落叶大大落叶大大

简单判断指令

<xsl:if>标记主要用来在在模板中设置相应的条件,来达到对XML文档中数据过滤的功能。即在输出树中有条件的插入一定的结构。其标记的格式为:

<xsl:if script="" language="" test="条件">标记内容</xsl:if>

script表示是否使用脚本程序;

language表示脚本程序使用的语言的种类;

test属性是该标记最重要的属性,用来设置标记过滤的条件。

只有当test设置的条件成立的时候,XSL处理器才会执行<xsl:if>标记下面的指令,当条件不满足的时候,不执行下面的指令。

test条件 如果一个XSL标记有“标记匹配模式”,就可以将“xsl:if”标记作为子标记来使用。

“条件”表达式的第一项必须是“标记匹配模式”匹配的XML标记。如果“标记匹配模式”匹配的XML标记不是根标记,“条件”表达式的第一项必须使用“.”来表示“标记匹配模式”匹配XML标记。

假设xsl:if标记的父标记中与“标记匹配模式”匹配的XML标记不是根标记,可以使用下列条件。

属性条件 如果想判断和“.”匹配XML标记是否有某个属性(不管属性 值为何),就可以使用“xsl:if”标记的下列格式:

<xsl:if test=".[@属性名称]"> 标记内容 </xsl:if> 假如和“.”匹配的标记是“student”,并有属性“sex”,那么“ student”标记就满足下列“xsl:if”标记中“test”所要求的条件:

<xsl:if test=".[@sex]"> 标记内容 </xsl:if>

属性值条件 如果想判断和“.”匹配XML标记是否有某个属性,并判断该属性值和某个特点属性值进行“关系比较”后的结果是否为真,就可以使用“xsl:if”标记的下列两种格式。 第1种格式 <xsl:if test=".[@属性名称 关系操作符 '特定属性值']"> 标记内容 </xsl:if> XSL 多条件判断指令

在<xsl:if>元素只有两种选择,而如何要有多种选择单靠一个<xsl:if>元素就不能胜任了,<xsl:choose>就是在多种条件中进行判断选择的。<xsl:choose>包含了一组<xsl: when>元素,在test中属性中将规定各种条件,在测试时将从顶至底依次匹配直到找到满足的条件。如果所有的<xsl:when> 元素都不满足要求,则应用<xsl:otherwise>元素。 <xsl:when>和<xsl:otherwise>。

它们一般的语法结构为:

<xsl:choose>

<xsl:when test="条件1">内容</xsl:when> ……..

<xsl:when test="条件n">内容< /xsl:when>

<xsl:otherwise>内容</xsl:otherwise>

</xsl:choose> 这样的结构,和java中的多分支语句执行的流程是一样的。

从第一个<xsl:when>开始寻找,若其中的一个test条件满足后,才执行下面的语句,执行完后跳出当前的语句块。否则的话,继续向后寻找是否有和test条件相匹配的,没有的话,执行最后一个缺省语句。缺省语句主要应对不可预料的情况的发生而设置的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档