Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Juniper/libxo
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.
https://github.com/Juniper/libxo
cbor freebsd html json xml
Last synced: 18 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/Juniper/libxo
- Owner: Juniper
- License: bsd-2-clause
- Created: 2014-07-11T01:25:55.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T06:04:50.000Z (7 months ago)
- Last Synced: 2024-10-13T17:09:57.835Z (about 1 month ago)
- Topics: cbor, freebsd, html, json, xml
- Language: C
- Homepage: http://juniper.github.io/libxo/libxo-manual.html
- Size: 5.45 MB
- Stars: 316
- Watchers: 25
- Forks: 47
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
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.Imagine a simplified ``wc`` that emits its output fields in a single
xo_emit call:```
xo_emit(" {:lines/%7ju/%ju} {:words/%7ju/%ju} "
"{:characters/%7ju/%ju}{d:filename/%s}\n",
line_count, word_count, char_count, 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
/etc/motd
25
165
1140
% 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
25
165
1140
/etc/motd
```View the beautiful documentation at:
http://juniper.github.io/libxo/libxo-manual.html
[![Analytics](https://ga-beacon.appspot.com/UA-56056421-1/Juniper/libxo/Readme)](https://github.com/Juniper/libxo)