WBXML Library
-------------
The WBXML Library (aka libwbxml) contains a library and its associated tools to Parse,
Encode and Handle WBXML documents.
The WBXML format is a binary representation of XML, defined by the Wap Forum, and used
to reduce bandwidth in mobile communications.
Dependency:
-----------
The WBXML Library needs Expat to enable XML Parsing feature (and so XML to WBXML conversion).
High Level API:
---------------
-------------------------
(1) | |
[ WBXML ] ---------> | | ----------> [ XML ] | WBXML 库 | [ WBXML ] <--------- | | <---------- [ XML ] | | (2) -------------------------
The high level API permits to:
- (1) Convert a WBXML Document to an XML Document
- (2) Convert an XML Document to a WBXML Document
Inside the WBXML Library:
-------------------------
[ WBXML ] [ XML ] | | | ------------------------- ----------------------- | | | WBXML 解析器 (1) | | Expat XML 解析器 | | | | | | | | | ------------------------- ----------------------- | | |WBXML 回调 (3)| |XML 回调 (4)| | \ / \ / -------------------------> [ WBXML 树 (2) ] <------------------------
||
||
\/
-----------------------
| WBXML Encoder (5) |
| |
-----------------------
| |
| |
/ \
[ WBXML ] <----------------------- ------------------------> [ XML ]
The WBXML Library contains:
- (1) A WBXML Parser, with a SAX like interface (ie: this is a kind of Expat, but for WBXML)
- (2) A WBXML Tree structure (an internal representation of a WBXML/XML Document)
- (3) Libwbxml Callbacks to convert a WBXML Document to a WBXML Tree
- (4) Expat Callbacks to convert an XML Document to a WBXML Tree
- (5) A WBXML Encoder, that encodes a WBXML Tree to a WBXML Document or to an XML Document
If you find bugs, or simply use this library, feel free to contact me.
Supported Languages:
--------------------
- WML 1.0, 1.1, 1.2, 1.3
- WTA 1.0
- WTA-WML 1.2
- CHANNEL 1.1, 1.2
- SI 1.0 (tested)
- SL 1.0 (tested)
- CO 1.0
- PROV 1.0 (tested)
- EMN 1.0 (tested)
- DRMREL 1.0 (tested)
- Ericsson / Nokia OTA Settings v7.0 (tested)
- SYNCML 1.0, 1.1, 1.2
- WV CSP 1.1, 1.2 (partially tested)
TOOLS:
------
Two tools are provided:
- wbxml2xml: (WBXML => XML)
wbxml2xml -i -o output.xml input.wbxml
wbxml2xml -i 4 -l CSP12 -o output.xml input.wbxml
Options:
-o output.xml : output file
-m X (Generation mode - Default: 1) with:
0: Compact Generation
1: Indent Generation
2: Canonical Generation
-i X (Indent delta when using mode '1' - Default: 1)
-k (Keep Ignorable Whitespaces - Default: FALSE)
-l X (Force Language Type of document to parse)
WML10 : WML 1.0
WML11 : WML 1.1
WML12 : WML 1.2
WML13 : WML 1.3
WTA10 : WTA 1.0
WTAWML12 : WTAWML 1.2
CHANNEL11 : CHANNEL 1.1
CHANNEL12 : CHANNEL 1.2
SI10 : SL 1.0
SL10 : SI 1.0
CO10 : CO 1.0
PROV10 : PROV 1.0
EMN10 : EMN 1.0
DRMREL10 : DRMREL 1.0
OTA : OTA Settings
SYNCML10 : SYNCML 1.0
DEVINF10 : DEVINF 1.0
SYNCML11 : SYNCML 1.1
DEVINF11 : DEVINF 1.1
METINF11 : METINF 1.1
SYNCML12 : SYNCML 1.2
DEVINF12 : DEVINF 1.2
METINF12 : METINF 1.2
CSP11 : WV CSP 1.1
CSP12 : WV CSP 1.2
Note: '-' can be used to mean stdin on input or stdout on output
- xml2wbxml: (XML => WBXML)
xml2wbxml -o output.wbxml input.xml
xml2wbxml -k -n -v 1.1 -o output.wbxml input.xml
Options:
-o output.wbxml : output file
-k : keep ignorable whitespaces (Default: ignore)
-n : do NOT generate String Table (Default: generate)
-v X (WBXML Version of output document)
1.0 : WBXML 1.0
1.1 : WBXML 1.1
1.2 : WBXML 1.2
1.3 : WBXML 1.3
Note: '-' can be used to mean stdin on input or stdout on output
CONTACT:
--------
OpenSync mailing list <[email protected]>
http://libwbxml.opensync.org