XSLT <xsl:if> Element

The <xsl:if> element is used to place conditional tests for the content of the XML file.

<xsl:if> element

If you need to place conditional tests for the content of the XML file, please add an <xsl:if> element to the XSL document.

Syntax

<xsl:if test="expression">
  ...
  ...if the condition is met, the output is...
  ...
</xsl:if>

Where to place the <xsl:if> element

If you need to add conditional tests, please add an <xsl:if> element inside the <xsl:for-each> element in the XSL file:

<?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 > 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>

Note:Required test The value of the attribute contains the expression to be evaluated.

The above code will only output the title and artist elements of the CD with a price higher than 10.

The conversion result above is similar to this:

View this XML file,View this XSL file,View Results.