libwbxml 0.11.2

libwbxml 0.11.2

TestsTested
LangLanguage CC
License Custom
ReleasedLast Release Dec 2014

Maintained by Unclaimed.



libwbxml 0.11.2

  • By
  • Aymerick Jehanne
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:
--------

OpenSync mailing list <[email protected]>
http://libwbxml.opensync.org