Learn XML, XSLT, XPath with Tutorials & Samples


xsl:choose   xsl:when   xsl:otherwise
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>
      <head>
        <table border="1">
          <xsl:apply-templates select="//book"/>
        </table>
      </head>
    </html>
  </xsl:template>

  <xsl:template match="book">
    <xsl:variable name="clr">
      <xsl:choose>
        <xsl:when test="price &lt; 30">red</xsl:when>
        <xsl:when test="price &gt; 70">green</xsl:when>
        <xsl:otherwise>yellow</xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <tr bgcolor="{$clr}">
      <td><xsl:value-of select="title" /></td>
      <td><xsl:value-of select="price" /></td>
    </tr>
  </xsl:template>

</xsl:stylesheet>


OutPut:

XML 25.50
XSL 75.60
HTML 50.40