LIBXO(3)

NAME
xo_options - common options for libxo-based commands

DESCRIPTION

libxo allows the rendering of data into various output styles, including text, XML, JSON, and HTML. libxo uses command line options to trigger rendering behavior. Options are recognised in three forms:

•   --libxo <options>

•   --libxo=<options>

•   --libxo:<brief-options>

The first two forms accept a comma-separated set of words, detailed below, while the third form accepts a set of letters, also below. The triggered functionality is identical.
Option      Action
color       Enable colors/effects for display styles (TEXT, HTML)
flush       Flush after each emit call
flush-line  Flush each line of output
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)
log-gettext Log (via stderr) each gettext(3) string lookup
log-syslog  Log (via stderr) each syslog message (via xo_syslog)
no-humanize Ignore the {h:} modifier (TEXT, HTML)
no-locale   Do not initialize the locale setting
no-retain   Prevent retaining formatting information
pretty      Emit pretty-printed output
retain      Force retaining formatting information
text        Emit TEXT output
underscores Replace XML-friendly  -
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 a set of single-letter aliases for the longer terms, used as a single string:
Value Equivalent Token
c
f      flush
F      flush-line
H      html
I      info
i<num> indent=<num>
J      json
k      keys
n      no-humanize
P      pretty
T      text
U      units
u      underscore
W      warn
X      xml
x      xpath

Most of these option are simple and direct, but some require additional details:

flush-line performs line buffering, even when the output is not directed to a TTY device.

info generates additional data for HTML, encoded in attributes using names that state with "data-".

keys adds a "key" attribute for XML output to indicate that a leaf is an identifier for the list member.

no-humanize avoids "humanizing" numeric output (see humanize_number(3) for details).

no-locale instructs libxo to avoid translating output to the current locale.

no-retain disables the ability of libxo to internally retain "compiled" information about formatting strings.

underscores can be used with JSON output to change XML -friendly names with dashes into JSON -friendly name with underscores.

warn allows libxo to emit warnings on stderr when application code make incorrect calls. warn-xml causes those warnings to be placed in XML inside the output.

EXAMPLES
The following are three example invocations of ps(1):

          ps --libxo json,pretty,warn -ux
          ps --libxo=xml -lg
          ps --libxo:Hxc 1

SEE ALSO
libxo(3), xo_format(5)

HISTORY
The libxo library first appeared in FreeBSD 11.0.

AUTHORS
libxo was written by Phil Shafer <phil@freebsd.org>.