1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
freebsd/contrib/libxo
Warner Losh fbbd9655e5 Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by:	Jan Schaumann <jschauma@stevens.edu>
Pull Request:	https://github.com/freebsd/freebsd/pull/96
2017-02-28 23:42:47 +00:00
..
doc Submitted by: phil 2016-05-29 01:43:28 +00:00
encoder Import to 0.6.1 2016-04-15 18:46:15 +00:00
libxo Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
packaging Import to 0.6.1 2016-04-15 18:46:15 +00:00
tests Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
xo Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
xohtml Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
xolint Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
xopo Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
.gitignore Merge libxo 0.4.6 2016-04-12 23:30:56 +00:00
.svnignore Merge libxo 0.4.6 2016-04-12 23:30:56 +00:00
.travis.yml Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
configure.ac Update libxo to 0.6.3 2016-07-03 01:35:27 +00:00
Copyright
INSTALL.md Upgrade libxo to 0.4.5. 2015-08-24 16:26:20 +00:00
libxo-config.in Import to 0.6.1 2016-04-15 18:46:15 +00:00
LICENSE
Makefile.am Import to 0.6.1 2016-04-15 18:46:15 +00:00
README.md
warnings.mk

libxo

libxo - A Library for Generating Text, XML, JSON, and HTML Output

The libxo library allows an application to generate text, XML, JSON, and HTML output using a common set of function calls. The application decides at run time which output style should be produced. The application calls a function "xo_emit" to product output that is described in a format string. A "field descriptor" tells libxo what the field is and what it means.

    xo_emit(" {:lines/%7ju/%ju} {:words/%7ju/%ju} "
            "{:characters/%7ju/%ju}{d:filename/%s}\n",
            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>
        <filename>/etc/motd</filename>
        <lines>25</lines>
        <words>165</words>
        <characters>1140</characters>
      </file>
    </wc>
    % wc --libxo json,pretty,warn /etc/motd
    {
      "wc": {
        "file": [
          {
            "filename": "/etc/motd",
            "lines": 25,
            "words": 165,
            "characters": 1140
          }
        ]
      }
    }
    % 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>

View the beautiful documentation at:

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

Analytics