NAME
xo_set_info
—
set the field information data for
libxo
LIBRARY
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
HISTORY
The libxo
library first appeared in
FreeBSD 11.0.
AUTHORS
libxo
was written by Phil
Shafer
<phil@freebsd.org>.