<xsl:when> |
Syntax: |
<xsl:choose> |
The xsl:when element is a child of the xsl:choose element. The xsl:choose element is used to make a choice when there are two or more possible courses of action. It provides a means for conducting multiple condition testing. |
The xsl:choose element must contain one or more xsl:when elements and can contain only one optional xsl:otherwise element (which must occur after all of the xsl:when elements). If the xsl:chooseelement only contains one xsl:when element, then for all practical purposes, it behaves just like the xsl:if element. |
When faced with three or more choices, these elements behave similar to an if-then-else statement (or a Select Case) as found in numerous other computer languages. |
The purpose of xsl:when element is to contain a Boolean expression that can be tested. The test must return a value of either true or false. Each xsl:when element is examined in the order of occurrence. |
If and when the conditions of the test expression are satisfied (returns True), the code contained in that element is executed. Then the xsl:choose element is automatically exited and all further xsl:whenelements are ignored and they are not tested. The optional xsl:otherwise element is also automatically ignored. |
If none of the test conditions in any xsl:when element is satisfied (all return False), then the xsl:otherwise element is automatically selected (if it is present) and the code associated with that element is executed. If there is no xsl:otherwise element, then the xsl:choose element is exited. |
This element is not a self-closing tag. The separate closing element is mandatory. |
test=”expression” |
The mandatory test attribute is a Boolean expression that is the test condition to be satisfied. A Truesignifies that the test conditions have been met. A False signifies that the test conditions have not been met. |
We use the our XML file for our example with the following header: |
<?xml-stylesheet type=”text/xsl” href=”xsl_when.xsl”?> |
and we name it: xsl_when.xml: |