Source code of libwbxml
C CMake C++ Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmake
doxygen fix autoconf Nov 24, 2008
macosx
src
symbian removed header without implementation Jan 20, 2011
test
tools
win32 removed outdated test_parser.c (fixed ticket #82) Jun 1, 2012
.travis.yml
BUGS
CMakeLists.txt
COPYING
CTestConfig.cmake
ChangeLog
GNU-LGPL
INSTALL
README
RELEASE
References
THANKS
TODO
libwbxml2.pc.cmake
wbxml2.spec.in

README

    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:
    --------

        Please use GitHub to report bugs, ask questions or submit code:
        https://github.com/libwbxml/libwbxml

        Releases can be found on Sourceforge too:
        https://sourceforge.net/projects/libwbxml/