tail head cat sleep
QR code linking to this page

Manual Pages  — LIBXO

NAME

xo_attr – Add attribute name/value pairs to formatted output

CONTENTS

LIBRARY

libxo

SYNOPSIS

#include <libxo/xo.h>

xo_ssize_t
xo_attr(const char *name, const char *fmt, ...);

xo_ssize_t
xo_attr_h(xo_handle_t *handle, const char *name, const char *fmt, ...);

xo_ssize_t
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} , 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

xo_emit(3), libxo(3)

HISTORY

The libxo library first appeared in FreeBSD 11.0 .

AUTHORS

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


LIBXO (3) July, 2014

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

As soon as we started programming, we found to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs.
— Maurice Wilkes