XMLIF(1) xmlif XMLIF(1)
xmlif - conditional processing instructions for XML
xmlif filters XML according to conditionalizing markup. This can be
useful for formatting one of several versions of an XML document
depending on conditions passed to the command.
Attribute/value pairs from the command line are matched against the
attributes associated with certain processing instructions in the
document. The instructions are <?xmlif if?> and its inverse <?xmlif if
not?>, <?xmlif elif?> and its inverse <?xmlif elif not?>, <?xmlif
else?>, and <?xmlif fi?>.
Argument/value pairs given on the command line are checked against the
value of corresponding attributes in the conditional processing
instructions. An `attribute match' happens if an attribute occurs in
both the command-line arguments and the tag, and the values match. An
`attribute mismatch' happens if an attribute occurs in both the
command-line arguments and the tag, but the values do not match.
Spans between <?xmlif if?> or <?xmlif elif?> and the next conditional
processing instruction at the same nesting level are passed through
unaltered if there is at least one attribute match and no attribute
mismatch; spans between <?xmlif if not?> and <?xmlif elif not?> and the
next conditional processing instruction are passed otherwise. Spans
between <?xmlif else?> and the next conditional-processing tag are
passed through only if no previous span at the same level has been
passed through. <?xmlif if?> and <?xmlif fi?> (and their `not'
variants) change the current nesting level; <?xmlif else?> and <?xmlif
elif?> do not.
All these processing instructions will be removed from the output
produced. Aside from the conditionalization, all other input is passed
through untouched; in particular, entity references are not resolved.
Value matching is by string equality, except that "|" in an attribute
value is interpreted as an alternation character. Thus, saying
foo='red|blue' on the command line enables conditions red and blue.
Saying color='black|white' in a tag matches command-line conditions
color='black' and color='white'.
Here is an example:
Always issue this text.
<?xmlif if condition='html'?>
Issue this text if 'condition=html' is given on the command line.
<?xmlif elif condition='pdf|ps'?>
Issue this text if 'condition=pdf' or 'condition=ps'
is given on the command line.
Otherwise issue this text.
Always issue this text.
Eric S. Raymond <firstname.lastname@example.org>
Author of xmlif program
Linux April 2009 XMLIF(1)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2022
All Rights Reserved.