XSLT
and lt;xsl: when and when elements
The XSLT-lt;xsl:when-gt; element
specifies
an action that is activated when the condition of the element is met.
Complete XSLT element reference manual
Definitions and usages
The element is used to specify the relevant action for the element.
The element evaluates an expression and, if true, performs the specified action.
Note:
The elements are used in collaboration with the elements and elements of the .lt;xsl:otherwise;gt; elements to express multiple conditional tests.
Grammar
<xsl:when
test="boolean-expression">
<!-- Content: template -->
</xsl:when>
Property
Attributes
|
value
|
describe
|
test
|
boolean-expression
|
Required.The Boolean expression to be tested.
|
Instance 1
The following code adds a pink background color to the artist column when the price of cd is higher than 10.
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price>'10'">
<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Instance 2
A variable named "color" is declared. A
ssign its value to the color property of the current element.
If the current element does not have a color property, the value of "color" will be "green":
<xsl:variable name="color">
<xsl:choose>
<xsl:when test="@color">
<xsl:value-of select="@color"/>
</xsl:when>
<xsl:otherwise>green</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Complete XSLT element reference manual