man.bsd.lv manual page server

Manual Page Search Parameters
LIBXO(3) Library Functions Manual LIBXO(3)

xo_set_infoset the field information data for libxo

library “libxo”

#include <libxo/xo.h>

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

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 () 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 () 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>

xo_emit(3), libxo(3)

The libxo library first appeared in FreeBSD 11.0.

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

December 4, 2014 FreeBSD-12.0