home | help
LIBXO(3)		     Library Functions Manual			LIBXO(3)

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

LIBRARY
     libxo

SYNOPSIS
     #include <libxo/xo.h>

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

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

     int
     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 simi-
     lar to printf(3) but using a more complex format description string, as de-
     scribed 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 num-
     ber 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)

ADDITIONAL DOCUMENTATION
     FreeBSD  uses  libxo version 0.6.1.  Complete documentation can be found on
     github:

	   http://juniper.github.io/libxo/0.6.1/libxo-manual.html

     libxo lives on github as:

	   https://github.com/Juniper/libxo

     The latest release of libxo is available at:

	   https://github.com/Juniper/libxo/releases

HISTORY
     The libxo library was added in FreeBSD 11.0.

AUTHOR
     Phil Shafer

FreeBSD ports 15.quarterly	December 4, 2014			LIBXO(3)

home | help