Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XMLIF(1)			      xmlif				XMLIF(1)

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 con-
     ditions passed to the command.

     Attribute/value pairs from the command line are matched against the attrib-
     utes 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	instruc-
     tions. An `attribute match' happens if an attribute occurs in both the com-
     mand-line	arguments  and the tag, and the values match. An `attribute mis-
     match' 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 pro-
     cessing 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  pre-
     vious  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 un-
     touched; 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.

AUTHOR
     Eric S. Raymond <esr@snark.thyrsus.com>
	 Author of xmlif program

Linux				   April 2009				XMLIF(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xmlif&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help