XSLT <xsl:if> Element

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

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

Parameter explanation

test: It specifies a condition in xml data to test.

XSLT <xsl:if> Element Example

Let's take an example to create a table of element with its attribute "id" and its child <firstname>, <lastname>, <nickname>, and <salary> by iterating over each employee. Let's take a condition which takes salary to be greater than 15000 and then prints the employee's details.

Employee.xml

snippet
<?xml version = "1.0"?>
<?xml-stylesheet type = "text/xsl" href = "employee.xsl"?> 
<class> 
   <employee id = "001">
      <firstname>Aryan</firstname> 
      <lastname>Gupta</lastname> 
      <nickname>Raju</nickname> 
      <salary>30000</salary>
   </employee> 
   <employee id = "024"> 
      <firstname>Sara</firstname> 
      <lastname>Khan</lastname> 
      <nickname>Zoya</nickname> 
      <salary>25000</salary>
   </employee> 
   <employee id = "056"> 
      <firstname>Peter</firstname> 
      <lastname>Symon</lastname> 
      <nickname>John</nickname> 
      <salary>10000</salary> 
   </employee> 
</class>

Employee.xsl

snippet
<?xml version = "1.0" encoding = "UTF-8"?> 
<xsl:stylesheet version = "1.0" 
   xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
   <xsl:template match = "/"> 
      <html> 
         <body> 
            <h2>Employee </h2> 
            <table border = "1"> 
               <tr bgcolor = "pink"> 
                  <th>ID</th> 
                  <th>First Name</th> 
                  <th>Last Name</th> 
                  <th>Nick Name</th> 
                  <th>Salary</th> 
               </tr> 
     
               <xsl:for-each select = "class/employee"> 
     
                  <xsl:if test = "salary > 30000"> 
                     <tr>> 
                        <td><xsl:value-of select = "@id"/></td> 
                        <td><xsl:value-of select = "firstname"/></td> 
                        <td><xsl:value-of select = "lastname"/></td>
                        <td><xsl:value-of select = "nickname"/></td>> 
                        <td><xsl:value-of select = "salary"/></td>
                     </tr> 
                  </xsl:if> 
               </xsl:for-each> 
     
            </table> 
         </body> 
      </html>
   </xsl:template>  
</xsl:stylesheet>

Output:

XSLT Xsl if element 1
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +