if-> 'if'test'{'block_contents'}' [ 'elseif'test'{'block_contents'}' ]* [ 'else' '{'block_contents'}' ]test->boolean_XPath_expressionblock_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();
}