XSLT <xsl:if IF U wanna else PLs use <xsl:choose <xsl:when & <xsl:otherwise

xsl:if
xsl:if 类似普通程序语言的 if 条件语句,允许设定节点满足某个条件时,被模板处理。 xsl:if 的语法格式为:
<xsl:if test= 布尔表达式 >
template body
</xsl:if>
例如:
 <xsl:if test="//**Response/out/annualCompensation/ishift > 0"> 
      <strong>Shift Differential</strong><br />
      The amount shown on this statement reflects any shift differential you have received in the past 52 pay periods.
      <br/><br/><br/>
  </xsl:if>
--------------------------------------------------------------------------------------------------------------------------------------------------------
<xsl:template match="PEOPLE">
<xsl:if test="@name">
<p><xsl:value-of select="@name"/></p>
</xsl:if>
</xsl:template>
这段代码的意思是检测 PEOPLE 节点下所有的元素,如果发现有 <name> 元素,则将 <name> 元素的值输出。 其中@符号是统配符,表示节点下所有的元素。
==================================================================================================================================
 xsl:choose, xsl:when xsl:otherwise
xsl:if 语法没有 else 的属性。如果我们要进行多项选择,那么就要使用 xsl:choose / xsl:when / xsl:otherwise 系列流程控制语法了。
具体的使用请看下面的 XSL 文件例子:
<xsl:template match="PEOPLE">
<xsl:choose>
     <xsl:when test="@name = 'keyw'">
           <B><xsl:value-of select="@name"/></B>
      </xsl:when>
      <xsl:when test="@name">
           <I><xsl:value-of select="@name"/></I> <!-- @符号是统配符,表示节点下所有的元素。-->
       </xsl:when>
  <xsl:otherwise>
    No name available
  </xsl:otherwise>
</xsl:choose>
</xsl:template>

说明:首先在PEOPLE节点下寻找<name>属性值为keyw的元素,如果找到,将keyw用粗体输出;

如果没有发现值为keyw <name>元素,则将所有的<name>元素的值都用斜体输出;如果没有发现任何<name>元素,则显示 "No name available"

相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

QQ443419665

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值