1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
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 Library |
[ 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 Parser (1) | | Expat XML Parser | |
| | | | | |
| ------------------------- ----------------------- |
| |WBXML Callbacks (3)| |XML Callbacks (4)| |
\ /
\ /
-------------------------> [ WBXML Tree (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:
--------
Aymerick Jhanne <aymerick@jehanne.org>
http://libwbxml.aymerick.com
|