1libxo 2===== 3 4libxo - A Library for Generating Text, XML, JSON, and HTML Output 5 6The libxo library allows an application to generate text, XML, JSON, 7and HTML output using a common set of function calls. The application 8decides at run time which output style should be produced. The 9application calls a function "xo_emit" to product output that is 10described in a format string. A "field descriptor" tells libxo what 11the field is and what it means. 12 13``` 14 xo_emit(" {:lines/%7ju/%ju} {:words/%7ju/%ju} " 15 "{:characters/%7ju/%ju}{d:filename/%s}\n", 16 linect, wordct, charct, file); 17``` 18 19Output can then be generated in various style, using the "--libxo" 20option: 21 22``` 23 % wc /etc/motd 24 25 165 1140 /etc/motd 25 % wc --libxo xml,pretty,warn /etc/motd 26 <wc> 27 <file> 28 <filename>/etc/motd</filename> 29 <lines>25</lines> 30 <words>165</words> 31 <characters>1140</characters> 32 </file> 33 </wc> 34 % wc --libxo json,pretty,warn /etc/motd 35 { 36 "wc": { 37 "file": [ 38 { 39 "filename": "/etc/motd", 40 "lines": 25, 41 "words": 165, 42 "characters": 1140 43 } 44 ] 45 } 46 } 47 % wc --libxo html,pretty,warn /etc/motd 48 <div class="line"> 49 <div class="text"> </div> 50 <div class="data" data-tag="lines"> 25</div> 51 <div class="text"> </div> 52 <div class="data" data-tag="words"> 165</div> 53 <div class="text"> </div> 54 <div class="data" data-tag="characters"> 1140</div> 55 <div class="text"> </div> 56 <div class="data" data-tag="filename">/etc/motd</div> 57 </div> 58``` 59 60View the beautiful documentation at: 61 62http://juniper.github.io/libxo/libxo-manual.html 63 64[![Analytics](https://ga-beacon.appspot.com/UA-56056421-1/Juniper/libxo/Readme)](https://github.com/Juniper/libxo) 65