LIBXO(3)

NAME
xo_set_flags, xo_clear_flags - set operational flags for a libxo handle

LIBRARY
libxo

SYNOPSIS
#include <libxo/xo.h>
void
xo_set_flags(xo_handle_t *handle, unsigned flags);
void
xo_clear_flags(xo_handle_t *handle, xo_xof_flags_t flags);

DESCRIPTION
Use the xo_set_flags() function to set the flags for a libxo handle. To use the default handle, pass a NULL handle.

The set of valid flags include:

Flag            Description

XOF_CLOSE_FP
    Close file pointer on xo_destroy(3). This flag will trigger the call of the close_func() (provided via xo_set_writer(3)) when the handle is destroyed.

XOF_COLOR
    Enable color and effects in output regardless of output device.

XOF_COLOR_ALLOWED
    Allow color and effects if the output device is a terminal.

XOF_INFO
    Display info data attributes (HTML)

XOF_KEYS
    Emit the key attribute (XML)

XOF_LOG_GETTEXT
    Log (via stderr) each gettext(3) string lookup

XOF_LOG_SYSLOG
    Log (via stderr) each syslog message (via xo_syslog(3))

XOF_NO_ENV
    Do not use the LIBXO_OPTIONS environment variable.

XOF_PRETTY
    Make 'pretty printed' output, with the addition of indentation and newlines to enhance the readability of XML, JSON, and HTML output. Text output is not affected.

XOF_UNDERSCORES
    Replaces hyphens with underscores

XOF_UNITS
    Display units (XML and HMTL)

XOF_WARN
    Generate warnings for broken calls, triggering diagnostic output (on standard error) when the library notices errors during operations, or with arguments to functions. Without warnings enabled, such conditions are ignored. Warnings allow developers to debug their interaction with libxo. The function xo_failure() can be used as a breakpoint for a debugger, regardless of whether warnings are enabled.

XOF_WARN_XML
    Generate warnings in XML on stdout

XOF_XPATH
    Emit XPath expressions (HTML)

XOF_COLUMNS
    Force xo_emit(3) to return columns used

XOF_FLUSH
    Flush output after each xo_emit(3) call

If the style is XO_STYLE_HTML, the following additional flags can be used:

Flag            Description

XOF_XPATH
    Emit "data-xpath" attributes

XOF_INFO
    Emit additional informational fields for HTML output. See xo_set_info(3) for details.

The XOF_XPATH flag enables the emission of XPath expressions detailing the hierarchy of XML elements used to encode the data field, if the XPATH style of output were requested.

If the style is XO_STYLE_XML, the following additional flags can be used:

Flag            Description

XOF_KEYS
    Add 'key' attribute to the XML encoding for field definitions that use the 'k' modifier. The key attribute has the value "key".

The xo_clear_flags() function turns off the given flags in a specific handle.

SEE ALSO
xo_emit(3), libxo(3)

HISTORY
The libxo library first appeared in FreeBSD 11.0.

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