tail head cat sleep
QR code linking to this page

Manual Pages  — LIBXO

NAME

xo_set_info – set the field information data for libxo

CONTENTS

LIBRARY

libxo

SYNOPSIS

#include <libxo/xo.h>

void
xo_set_info(xo_handle_t *handle, xo_info_t *info, int count);

DESCRIPTION

HTML data can include additional information in attributes that begin with "data-". To enable this, three things must occur:

First the application must build an array of xo_info_t structures, one per tag. The array must be sorted by name, since libxo uses a binary search to find the entry that matches names from format instructions.

The xo_info_t structure is defined in <libxo/xo.h>:

    typedef struct xo_info_s {
        const char *xi_name;    /* Name of the element */
        const char *xi_type;    /* Type of field */
        const char *xi_help;    /* Description of field */
    } xo_info_t;

Second, the application must inform libxo about this information using the xo_set_info() call. Like other libxo calls, passing NULL for the handle tells libxo to use the default handle.

If the count is -1, libxo will count the elements of info, but there must be an empty element at the end. More typically, the number is known to the application:

    xo_info_t info[] = {
        { "in-stock", "number", "Number of items in stock" },
        { "name", "string", "Name of the item" },
        { "on-order", "number", "Number of items on order" },
        { "sku", "string", "Stock Keeping Unit" },
        { "sold", "number", "Number of items sold" },
    };
    int info_count = (sizeof(info) / sizeof(info[0]));
    ...
    xo_set_info(NULL, info, info_count);

Third, the emission of info must be triggered with the XOF_INFO flag using either the xo_set_flags() function or the "--libxo=info" command line argument.

The type and help values, if present, are emitted as the "data-type" and "data-help" attributes:

  <div class="data" data-tag="sku" data-type="string"
       data-help="Stock Keeping Unit">GRO-000-533</div>

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) December 4, 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.

There are two major products of Berkeley, CA -- LSD and UNIX. We don't believe this to be strictly by coincidence.
Jeremy S. Anderson