EnglishFrenchSpanish

Ad


OnWorks favicon

xmlif - Online in the Cloud

Run xmlif in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command xmlif that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


xmlif - conditional processing instructions for XML

SYNOPSIS


xmlif [attrib=value...]

DESCRIPTION


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.
<?xmlif else?>
Otherwise issue this text.
<?xmlif fi?>
Always issue this text.

Use xmlif online using onworks.net services


Ad