Mbed port of the Simple Plain Xml parser. See http://code.google.com/p/spxml/ for more details. This library uses less memory and is much better suited to streaming data than TinyXML (doesn\'t use as much C++ features, and especially works without streams). See http://mbed.org/users/hlipka/notebook/xml-parsing/ for usage examples.
Dependents: spxmltest_weather VFD_fontx2_weather weather_LCD_display News_LCD_display ... more
Diff: spxmlcodec.hpp
- Revision:
- 0:3fa97f2c0505
diff -r 000000000000 -r 3fa97f2c0505 spxmlcodec.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spxmlcodec.hpp Wed Nov 24 20:52:14 2010 +0000 @@ -0,0 +1,43 @@ +/* + * Copyright 2007 Stephen Liu + * LGPL, see http://code.google.com/p/spxml/ + * For license terms, see the file COPYING along with this library. + */ + +#ifndef __spxmlcodec_hpp__ +#define __spxmlcodec_hpp__ + +class SP_XmlStringBuffer; + +class SP_XmlStringCodec { +public: + + static const char * DEFAULT_ENCODING; + + static int decode( const char * encoding, + const char * encodeValue, SP_XmlStringBuffer * outBuffer ); + static int encode( const char * encoding, + const char * decodeValue, SP_XmlStringBuffer * outBuffer ); + static int isNameChar( const char * encoding, char c ); + +private: + static const char XML_CHARS []; + static const char * ESC_CHARS []; + + SP_XmlStringCodec(); +}; + +class SP_XmlUtf8Codec { +public: + + // @return convert how many bytes + static int utf82uni( const unsigned char * utf8, int * ch ); + + static void uni2utf8( int ch, SP_XmlStringBuffer * outBuffer ); + +private: + SP_XmlUtf8Codec(); +}; + +#endif +