XSLT <xsl:if> 元素

<xsl:if> 元素用于放置针对 XML 文件内容的条件测试。

<xsl:if> 元素

如需放置针对 XML 文件内容的条件测试,请向 XSL 文档添加 <xsl:if> 元素。

语法

<xsl:if test="expression">
  ...
  ...如果条件成立则输出...
  ...
</xsl:if>

在何处放置 <xsl:if> 元素

如需添加有条件的测试,请在 XSL 文件中的 <xsl:for-each> 元素内部添加 <xsl:if> 元素:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <xsl:if test="price &gt; 10">
        <tr>
          <td><xsl:value-of select="title"/></td>
          <td><xsl:value-of select="artist"/></td>
        </tr>
      </xsl:if>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

注释:必选的 test 属性的值包含了需要求值的表达式。

上面的代码仅仅会输出价格高于 10 的 CD 的 title 和 artist 元素。

上面的转换结果类似这样:

孱郩甥飾临骛oX緣糖  :磩kH@?}_銭Z魗^v7z6塗?郑ZEG鞝F靏T种0謮'€Y竼檊Leow伣攭)b=鎲U?c^禝|H>?倖kD [H黀{?M?早C?#佔 ┌嫿EhW7誐?M賱尰EFk`詫暻Q妥i>a驱M芢?{7卝蟠|R鼬P沿`〩~9庰 炬N?m蠬囏?#延啠譗蒄m YF啒m:Tl怿m^(勛C?>鴢$Y?m歨9&鴴0?損厒*橗+x撛銈4負>鵳楎 穬Px捁f:鶇,y?檾党?BY罸a駍昲談璥dxT?饚&l镢劒7嶣Wd貺?a葂ci菴嶈Z锩吢XI坽f噰HFjy窮{豰夬??Cj&_J4! 垔Yv僪H屁h鐃喞妭稨 'A 苭t峍繂}鍺権夐Ta鋱Hz|鰒潤屫R?M#磏箻^?cC稓€窋礖e爾欕pf拚幠榸裦埢蓶粭ez&J 0缼゛峮賔帉乆檱訕H癷??A“孆浓斳镻嚅幘x渖@﹀I豇|斬}乳yM)癚嵍犨讔崯鯨藝瀒F 橲v澍?慆A懀`S'篠 誜T惼ac?颛m鶫怋`?旹3u?  ?FKD#MZFb鵯H閿+y? ?/9揱猇6━粨揻:%<)攍 ?卅|XGg殽i獑X橷I欭3趦}闤5謀奱J誽Us ㄅ嚄?€[v鶅a 礍P ī6QTtzts涅Ux鵟?]晩扝臲D誏舻$Ju!``鋏`憠k髡 w€u釜玼敇柹^勠刜_玃撰蝁r吅@E?キ3f塶Fb"?P戣vm'徳垜6>樤b珐|Dz畊啀鳳 鹫)禸對gb?j ㎞8惮1 kxT?嬭垚<蕐焥&K ;沶zI醩peY鰦 辈u[毈咲^鰧沘蛨{譮"0眖fN顳z.帘€撇B0 s$t焨jh砓洩S鴋甄貱錡~ 鹒嵖鰟P ZASb脕秷0J行\ 俨-+i

查看此 XML 文件查看此 XSL 文件查看结果