Name Date Size #Lines LOC

..22-Aug-2023-

doc/H22-Aug-2023-6,6805,030

encoder/H22-Aug-2023-1,402887

libxo/H22-Aug-2023-15,06011,333

packaging/H22-Aug-2023-7858

tests/H22-Aug-2023-12,35411,238

xo/H22-Aug-2023-812672

xohtml/H22-Aug-2023-13,8869,793

xolint/H22-Aug-2023-814516

xopo/H22-Aug-2023-422334

.gitignoreH A D22-Aug-2023381 4738

.svnignoreH A D22-Aug-2023170 1918

.travis.ymlH A D22-Aug-2023281 139

CopyrightH A D22-Aug-20231.3 KiB2421

INSTALL.mdH A D22-Aug-2023459 163

LICENSEH A D22-Aug-20231.3 KiB2419

MakefileH A D22-Aug-2023475 2613

Makefile.amH A D22-Aug-20234.2 KiB145110

README.mdH A D22-Aug-20231.9 KiB6858

configure.acH A D22-Aug-202314.5 KiB501424

libxo-config.inH A D22-Aug-20231.9 KiB12086

warnings.mkH A D22-Aug-20231.2 KiB5838

xo_config.hH A D22-Aug-20236.8 KiB25261

README.md

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
13Imagine a simplified ``wc`` that emits its output fields in a single
14xo_emit call:
15
16```
17    xo_emit(" {:lines/%7ju/%ju} {:words/%7ju/%ju} "
18            "{:characters/%7ju/%ju}{d:filename/%s}\n",
19            linect, wordct, charct, file);
20```
21
22Output can then be generated in various style, using the "--libxo"
23option:
24
25```
26    % wc /etc/motd
27          25     165    1140 /etc/motd
28    % wc --libxo xml,pretty,warn /etc/motd
29    <wc>
30      <file>
31        <filename>/etc/motd</filename>
32        <lines>25</lines>
33        <words>165</words>
34        <characters>1140</characters>
35      </file>
36    </wc>
37    % wc --libxo json,pretty,warn /etc/motd
38    {
39      "wc": {
40        "file": [
41          {
42            "filename": "/etc/motd",
43            "lines": 25,
44            "words": 165,
45            "characters": 1140
46          }
47        ]
48      }
49    }
50    % wc --libxo html,pretty,warn /etc/motd
51    <div class="line">
52      <div class="text"> </div>
53      <div class="data" data-tag="lines">     25</div>
54      <div class="text"> </div>
55      <div class="data" data-tag="words">    165</div>
56      <div class="text"> </div>
57      <div class="data" data-tag="characters">   1140</div>
58      <div class="text"> </div>
59      <div class="data" data-tag="filename">/etc/motd</div>
60    </div>
61```
62
63View the beautiful documentation at:
64
65http://juniper.github.io/libxo/libxo-manual.html
66
67[![Analytics](https://ga-beacon.appspot.com/UA-56056421-1/Juniper/libxo/Readme)](https://github.com/Juniper/libxo)
68