Command Section

LIBXO(3)               FreeBSD Library Functions Manual               LIBXO(3)

NAME
     xo_emit, xo_emit_h, xo_emit_hv - emit formatted output based on format
     string and arguments

LIBRARY
     Text, XML, JSON, and HTML Output Emission Library (libxo, -lxo)

SYNOPSIS
     #include <libxo/xo.h>

     xo_ssize_t
     xo_emit(const char *fmt, ...);

     xo_ssize_t
     xo_emit_h(xo_handle_t *xop, const char *fmt, ...);

     xo_ssize_t
     xo_emit_hv(xo_handle_t *xop, const char *fmt, va_list vap);

DESCRIPTION
     The xo_emit() function emits formatted output using the description in a
     format string along with a set of zero or more arguments, in a style
     similar to printf(3) but using a more complex format description string,
     as described in xo_format(5).

     xo_emit() uses the default output handle, as described in libxo(3), where
     xo_emit_h() uses an explicit handle.  xo_emit_hv() accepts a va_list for
     additional flexibility.

EXAMPLES
     In this example, a set of four values is emitted using the following
     source code:

               xo_emit(" {:lines/%7ju} {:words/%7ju} "
                       "{:characters/%7ju} {d:filename/%s}0,
                       linect, wordct, charct, file);
     Output can then be generated in various style, using the "--libxo"
     option:

               % wc /etc/motd
                     25     165    1140 /etc/motd
               % wc --libxo xml,pretty,warn /etc/motd
               <wc>
                 <file>
                   <lines>25</lines>
                   <words>165</words>
                   <characters>1140</characters>
                   <filename>/etc/motd</filename>
                 </file>
               </wc>
               % wc --libxo json,pretty,warn /etc/motd
               {
                 "wc": {
                   "file": [
                     {
                       "lines": 25,
                       "words": 165,
                       "characters": 1140,
                       "filename": "/etc/motd"
                     }
                   ]
                 }
               }
               % wc --libxo html,pretty,warn /etc/motd
               <div class="line">
                 <div class="text"> </div>
                 <div class="data" data-tag="lines">     25</div>
                 <div class="text"> </div>
                 <div class="data" data-tag="words">    165</div>
                 <div class="text"> </div>
                 <div class="data" data-tag="characters">   1140</div>
                 <div class="text"> </div>
                 <div class="data" data-tag="filename">/etc/motd</div>
               </div>

RETURN CODE
     xo_emit returns a negative value on error.  If the XOF_COLUMNS flag has
     been turned on for the specific handle using xo_set_flags(3), then the
     number of display columns consumed by the output will be returned.

SEE ALSO
     xo_open_container(3), xo_open_list(3), xo_format(5), libxo(3)

HISTORY
     The libxo library first appeared in FreeBSD 11.0.

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

FreeBSD 13.1-RELEASE-p6        December 4, 2014        FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...