if
-> 'if'test
'{'block_contents
'}' [ 'elseif'test
'{'block_contents
'}' ]* [ 'else' '{'block_contents
'}' ]test
->boolean_XPath_expression
block_contents
-> [command
|if
|foreach
]*
The test
tests found after if
, elseif
, ..., elseif
are evaluated in turn until a test evaluates as true()
. When this happens, the evaluation of tests stops there and the block_contents
following the successful test is run. If no test evaluates as true()
, then the block_contents
following else
, if any, is run.
Examples:
if $table-container and count($table-container//td) = 1 { replace(copy(.), $table-container); } if ./node() { unwrap-element(); } else { delete(); } if @href { remove-attribute("name"); } elseif ./node() { unwrap-element(); } else { delete(); }