Name
<xsl:when>
Defines one branch of an <xsl:choose> element; <xsl:choose> is equivalent to an
if-then-else statement.
Category
Subinstruction (<xsl:when> always appears as a child
of an <xsl:choose>
element).
Required Attribute
testContains a boolean expression that is evaluated. If the expression evaluates to
true, the contents of the<xsl:when>element are processed; otherwise, the contents of<xsl:when>are ignored. When evaluating an<xsl:choose>element, the XSLT processor examines each<xsl:when>until it finds one whosetestattribute evaluates totrue. That<xsl:when>element is processed and all subsequent<xsl:when>elements are ignored. Within an<xsl:choose>element, at most one<xsl:when>element will be processed.
Optional Attributes
None.
Content
An XSLT template.
Appears in
The <xsl:choose>
element only.
Defined in
[1.0] XSLT section 9.2, “Conditional
Processing with xsl:choose.”
[2.0] XSLT section 8.2, “Conditional
Processing with xsl:choose.”
Example
Here’s an example that uses <xsl:choose> to select the background
color for the rows of an HTML table. We cycle among four different
values, using <xsl:when> to
determine the value of the style
attribute in the generated HTML document. Here’s the XML document
we’ll use:
<?xml version="1.0"?>
<!-- albums.xml --> <list xml:lang="en"> <title>Albums I've bought recently:</title> <listitem>The Sacred Art of Dub</listitem> <listitem>Only the Poor Man Feel It</listitem> <listitem>Excitable Boy</listitem> <listitem xml:lang="sw">Aki Special</listitem> ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access