DragonFly On-Line Manual Pages
LIBXO(3) DragonFly Library Functions Manual LIBXO(3)
NAME
xo_parse_args - detect, parse, and remove arguments for libxo
LIBRARY
Text, XML, JSON, and HTML Output Emission Library (libxo, -lxo)
SYNOPSIS
#include <libxo/xo.h>
int
xo_parse_args(int argc, char **argv);
int
xo_set_program(const char *name);
DESCRIPTION
The xo_parse_args() function is used to process command-line arguments.
libxo specific options are processed and removed from the argument list
so the calling application does not need to process them. If successful,
a new value for argc is returned. On failure, a message it emitted and
-1 is returned.
argc = xo_parse_args(argc, argv);
if (argc < 0)
exit(1);
Following the call to xo_parse_args(), the application can process the
remaining arguments in a normal manner.
libxo uses command line options to trigger rendering behavior. The
following options are recognised:
--libxo <options>
--libxo=<options>
--libxo:<brief-options>
Options is a comma-separated list of tokens that correspond to output
styles, flags, or features:
Token Action
dtrt Enable "Do The Right Thing" mode
html Emit HTML output
indent=xx
Set the indentation level
info Add info attributes (HTML)
json Emit JSON output
keys Emit the key attribute for keys (XML)
no-locale
Do not initialize the locale setting
no-top Do not emit a top set of braces (JSON)
not-first
Pretend the 1st output item was not 1st (JSON)
pretty Emit pretty-printed output
text Emit TEXT output
units Add the 'units' (XML) or 'data-units (HTML) attribute
warn Emit warnings when libxo detects bad calls
warn-xml Emit warnings in XML
xml Emit XML output
xpath Add XPath expressions (HTML)
The "brief-options" are single letter commands, designed for those with
too little patience to use real tokens. No comma separator is used.
Token Action
H Enable HTML output (XO_STYLE_HTML)
I Enable info output (XOF_INFO)
i<num> Indent by <number>
J Enable JSON output (XO_STYLE_JSON)
P Enable pretty-printed output (XOF_PRETTY)
T Enable text output (XO_STYLE_TEXT)
W Enable warnings (XOF_WARN)
X Enable XML output (XO_STYLE_XML)
x Enable XPath data (XOF_XPATH)
The xo_set_program() function sets name of the program as reported by
functions like xo_failure(), xo_warn(), xo_err(), etc. The program name
is initialized by xo_parse_args(), but subsequent calls to
xo_set_program() can override this value.
Note that the value is not copied, so the memory passed to
xo_set_program() (and xo_parse_args()) must be maintained by the caller.
ADDITIONAL DOCUMENTATION
Complete documentation can be found on github:
http://juniper.github.io/libxo/libxo-manual.html
libxo lives on github as:
https://github.com/Juniper/libxo
The latest release of libxo is available at:
https://github.com/Juniper/libxo/releases
SEE ALSO
xo_emit(3)
HISTORY
The libxo library was added in FreeBSD 11.0.
AUTHOR
Phil Shafer
DragonFly 6.5-DEVELOPMENT December 4, 2014 DragonFly 6.5-DEVELOPMENT