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
test
Contains 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 whosetest
attribute 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> ...
Get XSLT, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.