NAME
xo_attr
,
xo_attr_h
, xo_attr_hv
— Add attribute name/value pairs
to formatted output
LIBRARY
library “libxo”
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
Thexo_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.
SEE ALSO
HISTORY
The libxo
library first appeared in
FreeBSD 11.0.
AUTHORS
libxo
was written by Phil
Shafer
<phil@freebsd.org>.