Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

xo_set_flags(3) [freebsd man page]

LIBXO(3)						   BSD Library Functions Manual 						  LIBXO(3)

NAME
xo_emit -- emit formatted output based on format string and arguments LIBRARY
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_DTRT Enable "do the right thing" mode XOF_INFO Display info data attributes (HTML) XOF_KEYS Emit the key attribute (XML) 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 develop- ers 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. 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 BSD
December 4, 2014 BSD

Check Out this Related Man Page

LIBXO(3)						   BSD Library Functions Manual 						  LIBXO(3)

NAME
xo_emit -- emit formatted output based on format string and arguments LIBRARY
library ``libxo'' SYNOPSIS
#include <libxo/xo.h> LIBXO(3) BSD Library Functions Manual LIBXO(3) NAME
xo_open_container xo_open_container_h xo_open_container_hd xo_open_container_d xo_close_container xo_close_container_h xo_close_container_hd xo_close_container_d -- open and close containers LIBRARY
library ``libxo'' SYNOPSIS
int xo_open_container(const char *name); int xo_open_container_h(xo_handle_t *handle, const char *name); int xo_open_container_hd(xo_handle_t *handle, const char *name); int xo_open_container_d(const char *name); int xo_close_container(const char *name); int xo_close_container_h(xo_handle_t *handle, const char *name); int xo_close_container_hd(xo_handle_t *handle); int xo_close_container_d(void); DESCRIPTION
libxo represents to types of hierarchy: ``containers'' and ``lists''. A container appears once under a given parent where a list contains instances that can appear multiple times. A container is used to hold related fields and to give the data organization and scope. The con- tainer has no value, but serves to contain other nodes. To open a container, call xo_open_container() or xo_open_container_h(). The former uses the default handle and the latter accepts a specific handle. To close a level, use the xo_close_container() or xo_close_container_h() functions. Each open call must have a matching close call. If the XOF_WARN flag is set and the name given does not match the name of the currently open container, a warning will be generated. Example: xo_open_container("top"); xo_open_container("system"); xo_emit("{:host-name/%s%s%s", hostname, domainname ? "." : "", domainname ?: ""); xo_close_container("system"); xo_close_container("top"); Sample Output: Text: my-host.example.org XML: <top> <system> <host-name>my-host.example.org</host-name> </system> </top> JSON: "top" : { "system" : { "host-name": "my-host.example.org" } } HTML: <div class="data" data-tag="host-name">my-host.example.org</div> EMITTING HIERARCHY
To create a container, use the xo_open_container() and xo_close_container() set of functions. The handle parameter contains a handle such as returned by xo_create(3) or NULL to use the default handle. The name parameter gives the name of the container, encoded in UTF-8. Since ASCII is a proper subset of UTF-8, traditional C strings can be used directly. The close functions with the ``_d'' suffix are used in ``Do The Right Thing'' mode, where the name of the open containers, lists, and instances are maintained internally by libxo to allow the caller to avoid keeping track of the open container name. Use the XOF_WARN flag to generate a warning if the name given on the close does not match the current open container. For TEXT and HTML output, containers are not rendered into output text, though for HTML they are used when the XOF_XPATH flag is set. EXAMPLE: xo_open_container("system"); xo_emit("The host name is {:host-name}0, hn); xo_close_container("system"); XML: <system><host-name>foo</host-name></system> DTRT MODE
Some users may find tracking the names of open containers, lists, and instances inconvenient. libxo offers a ``Do The Right Thing'' mode, where libxo will track the names of open containers, lists, and instances so the close function can be called without a name. To enable DTRT mode, turn on the XOF_DTRT flag prior to making any other libxo output. xo_set_flags(NULL, XOF_DTRT); Each open and close function has a version with the suffix ``_d'', which will close the open container, list, or instance: xo_open_container("top"); ... xo_close_container_d(); Note that the XOF_WARN flag will also cause libxo to track open containers, lists, and instances. A warning is generated when the name given to the close function and the name recorded do not match. 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 BSD
December 4, 2014 BSD
Man Page