xsl:choose element is used for selection between several possibilities : choose « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
    <SECTION>
      <DATA>I need a pen.</DATA>
      <DATA>I need some paper.</DATA>
      <SUMMARY>I need a pen and some paper</SUMMARY>
    </SECTION>
    <SECTION>
      <DATA>I need bread.</DATA>
      <DATA>I need butter.</DATA>
    </SECTION>
</data>

File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="//SECTION">
      <xsl:choose>
        <xsl:when test="SUMMARY">
          <paragraph>
            <xsl:text>SUMMARY: </xsl:text>
            <xsl:value-of select="SUMMARY"/>
          </P>
        </xsl:when>
        <xsl:otherwise>
          <xsl:for-each select="DATA">
            <paragraph>
              <xsl:text>DATA: </xsl:text>
              <xsl:value-of select="."/>
            </P>
          </xsl:for-each>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:template>
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
    <paragraph>SUMMARY: I need a pen and some paper</P>
    <paragraph>DATA: I need bread.</P><paragraph>DATA: I need butter.</P>








5.43.choose
5.43.1.choose statement
5.43.2.xsl:choose, xsl:when and xsl:otherwise
5.43.3.xsl:choose: check the value of an attribute
5.43.4.choose with otherwise statement
5.43.5.when test="position() mod 4 = 0"
5.43.6.Change style for even and odd
5.43.7.xsl:choose element is used for selection between several possibilities