XSLT <xsl:if> Element

From http://www.w3schools.com (Copyright Refsnes Data)

# XSLT <xsl:if> Element

The <xsl:if> element is used to put a conditional test against the content of the XML file.

## The <xsl:if> Element

To put a conditional if test against the content of the XML file, add an <xsl:if> element to the XSL document.

### Syntax

    <xsl:if test="expression">
      ...
      ...some output if the expression is true...
      ...
    </xsl:if>

## Where to Put the <xsl:if> Element

To add a conditional test, add the <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 &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>

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

The code above will only output the title and artist elements of the CDs that has a price that is higher than 10.

The result of the transformation above will look like this:

## My CD Collection

Title | Artist
--- | ---
Empire Burlesque | Bob Dylan
Still got the blues | Gary Moore
One night only | Bee Gees
Romanza | Andrea Bocelli
Black Angel | Savage Rose
1999 Grammy Nominees | Many

View the XML file, View the XSL file, and View the result

From http://www.w3schools.com (Copyright Refsnes Data)