Learn XML, XSLT, XPath with Tutorials & Samples


xsl:if
XML XSL

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="myFile.xslt"?>

<store>

  <book id="1">
    <title>XML</title>
    <author>Bill</author>
    <price>25.50</price>
  </book>

  <book id="2">
    <title>XSL</title>
    <author>Vijay</author>
    <price>75.60</price>
  </book>

  <book id="3">
    <title>HTML</title>
    <author>Kris</author>
    <price>50.40</price>
  </book>

</store>

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>

  <xsl:template match="/">
    <html>
      <body>
        <table border="1">
          <tr>
            <th>Title</th>
            <th>Price</th>
          </tr>
          <xsl:call-template name ="getBookDetails"/>
        </table>
      </body>
    </html>
  </xsl:template>

  <xsl:template name ="getBookDetails">
    <xsl:for-each select="store/book">
        <tr>
          <td><xsl:value-of select="title"/></td>
          <td>
            <xsl:if test="position() mod 2 = 1">
               <xsl:attribute name="bgcolor">yellow</xsl:attribute>
            </xsl:if>
            <
xsl:value-of select="price"/>
         </
td>

        </tr>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

Example : 2

OutPut:

Title Price
XML 25.50
XSL 75.60
HTML 50.40