DragonFly On-Line Manual Pages
LIBXO(3) DragonFly Library Functions Manual LIBXO(3)
NAME
xo_emit - emit formatted output based on format string and arguments
LIBRARY
Text, XML, JSON, and HTML Output Emission Library (libxo, -lxo)
SYNOPSIS
#include <libxo/xo.h>
int
xo_attr(const char *name, const char *fmt, ...);
int
xo_attr_h(xo_handle_t *handle, const char *name, const char *fmt, ...);
int
xo_attr_hv(xo_handle_t *handle, const char *name, const char *fmt,
va_list vap);
DESCRIPTION
The xo_attr() function emits attributes for the XML output style. The
attribute value is recorded in the handle and is attached to the next
field that is emitted via a xo_emit(3) call.
The name parameter give the name of the attribute to be encoded. The fmt
parameter gives a printf-style format string used to format the value of
the attribute using any remaining arguments, or the vap parameter as
passed to xo_attr_hv().
EXAMPLE:
xo_attr("seconds", "%ld", (unsigned long) login_time);
struct tm *tmp = localtime(login_time);
strftime(buf, sizeof(buf), "%R", tmp);
xo_emit("Logged in at {:login-time}\n", buf);
XML:
<login-time seconds="1408336270">00:14</login-time>
Since attributes are only emitted in XML, their use should be limited to
meta-data and additional or redundant representations of data already
emitted in other form.
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 July, 2014 DragonFly 6.5-DEVELOPMENT