26 #ifndef __EDELIB_TIXML_H__
27 #define __EDELIB_TIXML_H__
36 #if defined( _DEBUG ) && !defined( DEBUG )
44 #define TIXML_STRING std::string
47 #define TIXML_STRING EDELIB_NS_PREPEND(String)
57 #if defined(_MSC_VER) && (_MSC_VER >= 1400 )
59 #define TIXML_SNPRINTF _snprintf_s
60 #define TIXML_SNSCANF _snscanf_s
61 #elif defined(_MSC_VER) && (_MSC_VER >= 1200 )
64 #define TIXML_SNPRINTF _snprintf
65 #define TIXML_SNSCANF _snscanf
66 #elif defined(__GNUC__) && (__GNUC__ >= 3 )
69 #define TIXML_SNPRINTF snprintf
70 #define TIXML_SNSCANF snscanf
81 class TiXmlParsingData;
83 const int TIXML_MAJOR_VERSION = 2;
84 const int TIXML_MINOR_VERSION = 5;
85 const int TIXML_PATCH_VERSION = 2;
94 TiXmlCursor() { Clear(); }
95 void Clear() { row = col = -1; }
158 TIXML_ENCODING_UNKNOWN,
160 TIXML_ENCODING_LEGACY
163 const TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;
214 virtual void Print( FILE* cfile,
int depth )
const = 0;
258 static const int utf8ByteTable[256];
260 virtual const char*
Parse(
const char* p,
261 TiXmlParsingData* data,
262 TiXmlEncoding encoding ) = 0;
269 TIXML_ERROR_OPENING_FILE,
270 TIXML_ERROR_OUT_OF_MEMORY,
271 TIXML_ERROR_PARSING_ELEMENT,
272 TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
273 TIXML_ERROR_READING_ELEMENT_VALUE,
274 TIXML_ERROR_READING_ATTRIBUTES,
275 TIXML_ERROR_PARSING_EMPTY,
276 TIXML_ERROR_READING_END_TAG,
277 TIXML_ERROR_PARSING_UNKNOWN,
278 TIXML_ERROR_PARSING_COMMENT,
279 TIXML_ERROR_PARSING_DECLARATION,
280 TIXML_ERROR_DOCUMENT_EMPTY,
281 TIXML_ERROR_EMBEDDED_NULL,
282 TIXML_ERROR_PARSING_CDATA,
283 TIXML_ERROR_DOCUMENT_TOP_ONLY,
285 TIXML_ERROR_STRING_COUNT
290 static const char* SkipWhiteSpace(
const char*, TiXmlEncoding encoding );
291 inline static bool IsWhiteSpace(
char c )
293 return ( isspace( (
unsigned char) c ) || c ==
'\n' || c ==
'\r' );
295 inline static bool IsWhiteSpace(
int c )
298 return IsWhiteSpace( (
char) c );
303 static bool StreamWhiteSpace( std::istream * in, TIXML_STRING * tag );
304 static bool StreamTo( std::istream * in,
int character, TIXML_STRING * tag );
314 static const char*
ReadName(
const char* p, TIXML_STRING* name, TiXmlEncoding encoding );
322 bool ignoreWhiteSpace,
325 TiXmlEncoding encoding );
328 static const char*
GetEntity(
const char* in,
char* value,
int* length, TiXmlEncoding encoding );
334 inline static const char*
GetChar(
const char* p,
char* _value,
int* length, TiXmlEncoding encoding )
337 if ( encoding == TIXML_ENCODING_UTF8 )
339 *length = utf8ByteTable[ *((
const unsigned char*)p) ];
340 assert( *length >= 0 && *length < 5 );
350 return GetEntity( p, _value, length, encoding );
358 for(
int i=0; p[i] && i<*length; ++i ) {
361 return p + (*length);
374 static void PutString(
const TIXML_STRING& str, TIXML_STRING* out );
384 TiXmlEncoding encoding );
399 static int IsAlpha(
unsigned char anyByte, TiXmlEncoding encoding );
401 static int IsAlphaNum(
unsigned char anyByte, TiXmlEncoding encoding );
403 inline static int ToLower(
int v, TiXmlEncoding encoding )
405 if ( encoding == TIXML_ENCODING_UTF8 )
407 if ( v < 128 )
return tolower( v );
425 unsigned int strLength;
432 MAX_ENTITY_LENGTH = 6
435 static Entity entity[ NUM_ENTITY ];
436 static bool condenseWhiteSpace;
462 friend std::istream& operator >> (std::istream& in,
TiXmlNode& base);
517 const char *
Value()
const {
return value.c_str (); }
525 const std::string& ValueStr()
const {
return value; }
538 void SetValue(
const char * _value) { value = _value;}
542 void SetValue(
const std::string& _value ) { value = _value; }
565 return const_cast< TiXmlNode*
> ((
const_cast< const TiXmlNode*
>(
this))->FirstChild( _value ));
579 return const_cast< TiXmlNode*
> ((
const_cast< const TiXmlNode*
>(
this))->LastChild( _value ));
614 return const_cast< TiXmlNode*
>( (
const_cast< const TiXmlNode*
>(
this))->IterateChildren( previous ) );
621 return const_cast< TiXmlNode*
>( (
const_cast< const TiXmlNode*
>(
this))->IterateChildren( _value, previous ) );
691 return const_cast< TiXmlNode*
>( (
const_cast< const TiXmlNode*
>(
this))->PreviousSibling( _prev ) );
714 return const_cast< TiXmlNode*
>( (
const_cast< const TiXmlNode*
>(
this))->NextSibling( _next ) );
740 return const_cast< TiXmlElement*
>( (
const_cast< const TiXmlNode*
>(
this))->NextSiblingElement( _next ) );
764 return const_cast< TiXmlElement*
>( (
const_cast< const TiXmlNode*
>(
this))->FirstChildElement( _value ) );
784 int Type()
const {
return type; }
868 virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0;
905 friend class TiXmlAttributeSet;
917 TiXmlAttribute(
const std::string& _name,
const std::string& _value )
936 const char*
Name()
const {
return name.c_str(); }
938 const char*
Value()
const {
return value.c_str(); }
941 const std::string& ValueStr()
const {
return value; }
949 const TIXML_STRING&
NameTStr()
const {
return name; }
966 void SetName(
const char* _name ) { name = _name; }
968 void SetValue(
const char* _value ) { value = _value; }
977 void SetName(
const std::string& _name ) { name = _name; }
979 void SetValue(
const std::string& _value ) { value = _value; }
1007 virtual const char*
Parse(
const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1010 virtual void Print( FILE* cfile,
int depth )
const {
1011 Print( cfile, depth, 0 );
1014 void Print( FILE* cfile,
int depth, TIXML_STRING* str )
const;
1047 class TiXmlAttributeSet
1050 TiXmlAttributeSet();
1051 ~TiXmlAttributeSet();
1056 const TiXmlAttribute* First()
const {
return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
1057 TiXmlAttribute* First() {
return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
1058 const TiXmlAttribute* Last()
const {
return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
1059 TiXmlAttribute* Last() {
return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
1063 return const_cast< TiXmlAttribute*
>( (
const_cast< const TiXmlAttributeSet*
>(
this))->Find( _name ) );
1065 #ifdef TIXML_USE_STL
1068 return const_cast< TiXmlAttribute*
>( (
const_cast< const TiXmlAttributeSet*
>(
this))->Find( _name ) );
1075 TiXmlAttributeSet(
const TiXmlAttributeSet& );
1076 void operator=(
const TiXmlAttributeSet& );
1098 #ifdef TIXML_USE_STL
1150 int result = QueryDoubleAttribute( name, &d );
1151 if ( result == TIXML_SUCCESS ) {
1156 #ifdef TIXML_USE_STL
1164 template<
typename T >
int QueryValueAttribute(
const std::string& name, T* outValue )
const
1168 return TIXML_NO_ATTRIBUTE;
1170 std::stringstream sstream( node->ValueStr() );
1171 sstream >> *outValue;
1172 if ( !sstream.fail() )
1173 return TIXML_SUCCESS;
1174 return TIXML_WRONG_TYPE;
1184 #ifdef TIXML_USE_STL
1186 const std::string* Attribute(
const std::string& name )
const;
1188 const std::string* Attribute(
const std::string& name,
int* i )
const;
1190 const std::string* Attribute(
const std::string& name,
double* d )
const;
1192 int QueryIntAttribute(
const std::string& name,
int* _value )
const;
1194 int QueryDoubleAttribute(
const std::string& name,
double* _value )
const;
1197 void SetAttribute(
const std::string& name,
const std::string& _value );
1199 void SetAttribute(
const std::string& name,
int _value );
1216 #ifdef TIXML_USE_STL
1218 void RemoveAttribute(
const std::string& name ) { RemoveAttribute (name.c_str ()); }
1269 virtual void Print( FILE* cfile,
int depth )
const;
1275 virtual const char*
Parse(
const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1291 #ifdef TIXML_USE_STL
1292 virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
1299 const char* ReadValue(
const char* in, TiXmlParsingData* prevData, TiXmlEncoding encoding );
1304 TiXmlAttributeSet attributeSet;
1332 virtual void Print( FILE* cfile,
int depth )
const;
1338 virtual const char*
Parse(
const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1353 #ifdef TIXML_USE_STL
1354 virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
1387 #ifdef TIXML_USE_STL
1401 virtual void Print( FILE* cfile,
int depth )
const;
1409 virtual const char*
Parse(
const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1427 #ifdef TIXML_USE_STL
1428 virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
1461 #ifdef TIXML_USE_STL
1464 const std::string& _encoding,
1465 const std::string& _standalone );
1470 const char* _encoding,
1471 const char* _standalone );
1483 const char *
Version()
const {
return version.c_str (); }
1485 const char *
Encoding()
const {
return encoding.c_str (); }
1493 virtual void Print( FILE* cfile,
int depth, TIXML_STRING* str )
const;
1495 virtual void Print( FILE* cfile,
int depth )
const {
1496 Print( cfile, depth, 0 );
1499 virtual const char* Parse(
const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1513 #ifdef TIXML_USE_STL
1514 virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
1521 TIXML_STRING version;
1522 TIXML_STRING encoding;
1523 TIXML_STRING standalone;
1555 virtual void Print( FILE* cfile,
int depth )
const;
1557 virtual const char* Parse(
const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
1571 #ifdef TIXML_USE_STL
1572 virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
1598 #ifdef TIXML_USE_STL
1617 bool LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1621 bool LoadFile(
const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1630 bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1634 #ifdef TIXML_USE_STL
1636 bool LoadFile(
const std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING )
1638 return LoadFile( filename.c_str(), encoding );
1642 bool SaveFile(
const std::string& filename )
const
1644 return SaveFile( filename.c_str() );
1653 virtual const char*
Parse(
const char* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1673 const char *
ErrorDesc()
const {
return errorDesc.c_str (); }
1731 errorLocation.row = errorLocation.col = 0;
1746 virtual void Print( FILE* cfile,
int depth = 0 )
const;
1749 void SetError(
int err,
const char* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding );
1763 #ifdef TIXML_USE_STL
1764 virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
1774 TIXML_STRING errorDesc;
1776 TiXmlCursor errorLocation;
1777 bool useMicrosoftBOM;
1908 #ifdef TIXML_USE_STL
1910 TiXmlHandle FirstChild(
const std::string& _value )
const {
return FirstChild( _value.c_str() ); }
1912 TiXmlHandle FirstChildElement(
const std::string& _value )
const {
return FirstChildElement( _value.c_str() ); }
1915 TiXmlHandle Child(
const std::string& _value,
int index )
const {
return Child( _value.c_str(), index ); }
1917 TiXmlHandle ChildElement(
const std::string& _value,
int index )
const {
return ChildElement( _value.c_str(), index ); }
1983 buffer(), indent(
" " ), lineBreak(
"\n" ) {}
2001 void SetIndent(
const char* _indent ) { indent = _indent ? _indent :
"" ; }
2003 const char*
Indent() {
return indent.c_str(); }
2010 void SetLineBreak(
const char* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak :
""; }
2021 const char*
CStr() {
return buffer.c_str(); }
2023 size_t Size() {
return buffer.length(); }
2025 #ifdef TIXML_USE_STL
2027 const std::string& Str() {
return buffer; }
2032 for(
int i=0; i<depth; ++i )
2035 void DoLineBreak() {
2036 buffer += lineBreak;
2040 bool simpleTextPrint;
2041 TIXML_STRING buffer;
2042 TIXML_STRING indent;
2043 TIXML_STRING lineBreak;
2048 #pragma warning( pop )
const TiXmlElement * FirstChildElement(const char *_value) const
TiXmlHandle Child(int index) const
const TiXmlNode * NextSibling(const char *) const
void SetIntValue(int _value)
Container xml class.
Definition: TiXml.h:1093
TiXmlElement * FirstChildElement(const char *_value)
Definition: TiXml.h:763
TiXmlHandle(TiXmlNode *_node)
Definition: TiXml.h:1870
Top level node.
Definition: TiXml.h:1591
TiXmlCursor location
Definition: TiXml.h:390
bool CDATA() const
Definition: TiXml.h:1404
int Type() const
Definition: TiXml.h:784
virtual TiXmlComment * ToComment()
Definition: TiXml.h:817
virtual const char * Parse(const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)
virtual void Print(FILE *cfile, int depth) const
Definition: TiXml.h:1010
SAX emulation.
Definition: TiXml.h:124
bool NoChildren() const
Definition: TiXml.h:798
void operator=(const TiXmlElement &base)
virtual const TiXmlDocument * ToDocument() const
Definition: TiXml.h:1752
int QueryIntValue(int *_value) const
TiXmlNode(NodeType _type)
virtual const TiXmlElement * ToElement() const
Definition: TiXml.h:802
virtual bool Accept(TiXmlVisitor *content) const
const TiXmlNode * Parent() const
Definition: TiXml.h:551
const TiXmlNode * FirstChild(const char *value) const
bool LoadFile(FILE *, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)
virtual bool Accept(TiXmlVisitor *visitor) const =0
TiXmlNode * PreviousSibling(const char *_prev)
Definition: TiXml.h:690
int QueryDoubleValue(double *_value) const
void RemoveAttribute(const char *name)
TiXmlDeclaration(const char *_version, const char *_encoding, const char *_standalone)
virtual TiXmlNode * Clone() const
virtual bool VisitExit(const TiXmlElement &element)
Definition: TiXml.h:136
Wraps a node pointer.
Definition: TiXml.h:1867
const TiXmlNode * IterateChildren(const char *value, const TiXmlNode *previous) const
TiXmlNode * Identify(const char *start, TiXmlEncoding encoding)
TiXmlHandle operator=(const TiXmlHandle &ref)
Definition: TiXml.h:1874
virtual void Print(FILE *cfile, int depth=0) const
virtual const char * Parse(const char *p, TiXmlParsingData *data, TiXmlEncoding encoding)
TiXmlAttribute * FirstAttribute()
Definition: TiXml.h:1224
void SetValue(const char *_value)
Definition: TiXml.h:968
void SetName(const char *_name)
Definition: TiXml.h:966
const edelib ::String & NameTStr() const
Definition: TiXml.h:949
virtual bool VisitEnter(const TiXmlElement &element, const TiXmlAttribute *firstAttribute)
Definition: TiXml.h:134
void * GetUserData()
Definition: TiXml.h:252
virtual TiXmlElement * ToElement()
Definition: TiXml.h:1280
virtual bool Accept(TiXmlVisitor *visitor) const
int TabSize() const
Definition: TiXml.h:1722
TiXmlNode * Parent()
Definition: TiXml.h:549
bool SaveFile(FILE *) const
virtual TiXmlNode * Clone() const =0
void SetLineBreak(const char *_lineBreak)
Definition: TiXml.h:2010
virtual const TiXmlText * ToText() const
Definition: TiXml.h:1412
TiXmlNode * InsertEndChild(const TiXmlNode &addThis)
bool LoadFile(const char *filename, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)
const TiXmlNode * LastChild() const
Definition: TiXml.h:569
virtual void Print(FILE *cfile, int depth) const
static const char * ReadName(const char *p, edelib ::String *name, TiXmlEncoding encoding)
TiXmlAttribute(const char *_name, const char *_value)
Definition: TiXml.h:927
static const char * errorString[TIXML_ERROR_STRING_COUNT]
Definition: TiXml.h:387
virtual bool Accept(TiXmlVisitor *visitor) const
virtual void Print(FILE *cfile, int depth) const
const TiXmlNode * NextSibling() const
Definition: TiXml.h:706
double DoubleValue() const
virtual const TiXmlText * ToText() const
Definition: TiXml.h:808
TiXmlHandle FirstChild(const char *value) const
TiXmlElement(const char *in_value)
static void PutString(const edelib ::String &str, edelib ::String *out)
int ErrorCol() const
Definition: TiXml.h:1692
TiXmlDocument(const TiXmlDocument ©)
bool operator>(const TiXmlAttribute &rhs) const
Definition: TiXml.h:1001
TiXmlElement * NextSiblingElement()
Definition: TiXml.h:726
TiXmlElement * ToElement() const
Definition: TiXml.h:1923
TiXmlNode * LinkEndChild(TiXmlNode *addThis)
bool operator==(const TiXmlAttribute &rhs) const
Definition: TiXml.h:997
virtual bool Visit(const TiXmlDeclaration &declaration)
Definition: TiXml.h:138
TiXmlAttribute * Next()
Definition: TiXml.h:985
virtual TiXmlText * ToText()
Definition: TiXml.h:821
TiXmlNode * FirstChild()
Definition: TiXml.h:556
static void ConvertUTF32ToUTF8(unsigned long input, char *output, int *length)
void * userData
Definition: TiXml.h:393
void operator=(const TiXmlText &base)
Definition: TiXml.h:1398
TiXmlNode * FirstChild(const char *_value)
Definition: TiXml.h:561
void SetValue(const char *_value)
Definition: TiXml.h:538
int Row() const
Definition: TiXml.h:246
static const char * GetChar(const char *p, char *_value, int *length, TiXmlEncoding encoding)
Definition: TiXml.h:334
static bool IsWhiteSpaceCondensed()
Definition: TiXml.h:226
int QueryIntAttribute(const char *name, int *_value) const
TiXmlHandle FirstChildElement(const char *value) const
int Column() const
Definition: TiXml.h:248
void operator=(const TiXmlUnknown ©)
Definition: TiXml.h:1550
TiXmlHandle ChildElement(int index) const
TiXmlElement * FirstChildElement()
Definition: TiXml.h:757
NodeType
Definition: TiXml.h:493
const char * Standalone() const
Definition: TiXml.h:1487
const char * Version() const
Definition: TiXml.h:1483
TiXmlNode * ReplaceChild(TiXmlNode *replaceThis, const TiXmlNode &withThis)
Name-value pair.
Definition: TiXml.h:904
const TiXmlNode * FirstChild() const
Definition: TiXml.h:554
void SetTabSize(int _tabsize)
Definition: TiXml.h:1719
TiXmlNode * IterateChildren(const TiXmlNode *previous)
Definition: TiXml.h:613
TiXmlNode * IterateChildren(const char *_value, const TiXmlNode *previous)
Definition: TiXml.h:620
TiXmlUnknown * Unknown() const
Definition: TiXml.h:1948
TiXmlElement(const TiXmlElement &)
virtual const TiXmlUnknown * ToUnknown() const
Definition: TiXml.h:806
Unknown XML element.
Definition: TiXml.h:1539
virtual TiXmlElement * ToElement()
Definition: TiXml.h:815
const char * CStr()
Definition: TiXml.h:2021
virtual void Print(FILE *cfile, int depth) const
Definition: TiXml.h:1495
virtual TiXmlNode * Clone() const
TiXmlText(const TiXmlText ©)
Definition: TiXml.h:1396
static bool StringEqual(const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
bool SaveFile(const char *filename) const
virtual ~TiXmlVisitor()
Definition: TiXml.h:127
void SetIndent(const char *_indent)
Definition: TiXml.h:2001
const char * GetText() const
virtual TiXmlDocument * ToDocument()
Definition: TiXml.h:813
const char * Value() const
Definition: TiXml.h:938
TiXmlNode * NextSibling()
Definition: TiXml.h:708
XML declaration.
Definition: TiXml.h:1456
TiXmlNode * InsertBeforeChild(TiXmlNode *beforeThis, const TiXmlNode &addThis)
const char * Attribute(const char *name, double *d) const
void operator=(const TiXmlDocument ©)
void CopyTo(TiXmlNode *target) const
virtual bool Accept(TiXmlVisitor *content) const
Parent class for everything in DOM.
Definition: TiXml.h:451
virtual const char * Parse(const char *p, TiXmlParsingData *data, TiXmlEncoding encoding)
bool LoadFile(TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)
virtual TiXmlText * ToText()
Definition: TiXml.h:1414
TiXmlNode * ToNode() const
Definition: TiXml.h:1921
const TiXmlElement * NextSiblingElement(const char *) const
void SetStreamPrinting()
Definition: TiXml.h:2019
TiXmlHandle(const TiXmlHandle &ref)
Definition: TiXml.h:1872
const char * Name() const
Definition: TiXml.h:936
TiXmlHandle ChildElement(const char *value, int index) const
const TiXmlDocument * GetDocument() const
TiXmlHandle FirstChild() const
size_t Size()
Definition: TiXml.h:2023
static const char * GetEntity(const char *in, char *value, int *length, TiXmlEncoding encoding)
TiXmlNode * LastChild(const char *_value)
Definition: TiXml.h:578
const char * ErrorDesc() const
Definition: TiXml.h:1673
TiXmlDeclaration()
Definition: TiXml.h:1459
const TiXmlAttribute * Previous() const
virtual bool Accept(TiXmlVisitor *content) const
const char * LineBreak()
Definition: TiXml.h:2013
const TiXmlNode * PreviousSibling() const
Definition: TiXml.h:680
const char * Attribute(const char *name, int *i) const
TiXmlDocument * GetDocument()
Definition: TiXml.h:793
const TiXmlElement * FirstChildElement() const
bool Error() const
Definition: TiXml.h:1670
virtual const TiXmlDeclaration * ToDeclaration() const
Definition: TiXml.h:810
TiXmlNode * LastChild()
Definition: TiXml.h:572
TiXmlHandle Child(const char *value, int index) const
TiXmlText * ToText() const
Definition: TiXml.h:1925
static int ToLower(int v, TiXmlEncoding encoding)
Definition: TiXml.h:403
int ErrorId() const
Definition: TiXml.h:1679
void SetCDATA(bool _cdata)
Definition: TiXml.h:1406
bool RemoveChild(TiXmlNode *removeThis)
virtual TiXmlDeclaration * ToDeclaration()
Definition: TiXml.h:1504
virtual bool VisitExit(const TiXmlDocument &doc)
Definition: TiXml.h:132
Xml base class.
Definition: TiXml.h:195
const void * GetUserData() const
Definition: TiXml.h:254
const TiXmlNode * PreviousSibling(const char *) const
static int IsAlpha(unsigned char anyByte, TiXmlEncoding encoding)
virtual const TiXmlDocument * ToDocument() const
Definition: TiXml.h:800
const TiXmlElement * NextSiblingElement() const
TiXmlNode * PreviousSibling()
Definition: TiXml.h:685
int ErrorRow() const
Definition: TiXml.h:1689
const TiXmlAttribute * FirstAttribute() const
Definition: TiXml.h:1222
static void SetCondenseWhiteSpace(bool condense)
Definition: TiXml.h:223
bool operator<(const TiXmlAttribute &rhs) const
Definition: TiXml.h:999
const TiXmlElement * RootElement() const
Definition: TiXml.h:1660
virtual TiXmlDocument * ToDocument()
Definition: TiXml.h:1754
const char * Value() const
Definition: TiXml.h:517
virtual const TiXmlDeclaration * ToDeclaration() const
Definition: TiXml.h:1502
virtual void Print(FILE *cfile, int depth) const =0
TiXmlUnknown()
Definition: TiXml.h:1542
TiXmlHandle FirstChildElement() const
TiXmlNode * NextSibling(const char *_next)
Definition: TiXml.h:713
TiXmlElement * RootElement()
Definition: TiXml.h:1662
static int IsAlphaNum(unsigned char anyByte, TiXmlEncoding encoding)
TiXmlDocument(const char *documentName)
const TiXmlNode * IterateChildren(const TiXmlNode *previous) const
virtual TiXmlNode * Clone() const
virtual TiXmlDeclaration * ToDeclaration()
Definition: TiXml.h:823
EdbusList & operator<<(EdbusList &lst, const EdbusData &val)
Definition: EdbusList.h:219
void SetDoubleValue(double _value)
TiXmlDeclaration(const TiXmlDeclaration ©)
virtual bool VisitEnter(const TiXmlDocument &doc)
Definition: TiXml.h:130
void SetAttribute(const char *name, const char *_value)
void Print(FILE *cfile, int depth, edelib ::String *str) const
TiXmlNode * Node() const
Definition: TiXml.h:1933
int QueryDoubleAttribute(const char *name, double *_value) const
const char * Encoding() const
Definition: TiXml.h:1485
TiXmlNode * InsertAfterChild(TiXmlNode *afterThis, const TiXmlNode &addThis)
void Print() const
Definition: TiXml.h:1736
void SetAttribute(const char *name, int value)
virtual bool Visit(const TiXmlUnknown &unknown)
Definition: TiXml.h:144
virtual TiXmlUnknown * ToUnknown()
Definition: TiXml.h:819
TiXmlUnknown * ToUnknown() const
Definition: TiXml.h:1927
void SetUserData(void *user)
Definition: TiXml.h:250
void operator=(const TiXmlDeclaration ©)
Print to memory.
Definition: TiXml.h:1979
XML text.
Definition: TiXml.h:1372
TiXmlElement * NextSiblingElement(const char *_next)
Definition: TiXml.h:739
int QueryFloatAttribute(const char *name, float *_value) const
Definition: TiXml.h:1148
TiXmlAttribute()
Definition: TiXml.h:909
const TiXmlAttribute * LastAttribute() const
Definition: TiXml.h:1227
TiXmlAttribute * LastAttribute()
Definition: TiXml.h:1229
TiXmlUnknown(const TiXmlUnknown ©)
Definition: TiXml.h:1548
TiXmlElement * Element() const
Definition: TiXml.h:1938
static const char * ReadText(const char *in, edelib ::String *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
const TiXmlAttribute * Next() const
virtual TiXmlUnknown * ToUnknown()
Definition: TiXml.h:1562
void SetDoubleAttribute(const char *name, double value)
TiXmlPrinter()
Definition: TiXml.h:1982
virtual void Print(FILE *cfile, int depth) const
virtual bool Visit(const TiXmlComment &comment)
Definition: TiXml.h:142
virtual const TiXmlElement * ToElement() const
Definition: TiXml.h:1278
const char * Attribute(const char *name) const
const char * Indent()
Definition: TiXml.h:2003
virtual void Print(FILE *cfile, int depth, edelib ::String *str) const
TiXmlText(const char *initValue)
Definition: TiXml.h:1380
virtual const TiXmlComment * ToComment() const
Definition: TiXml.h:804
TiXmlText * Text() const
Definition: TiXml.h:1943
virtual const TiXmlUnknown * ToUnknown() const
Definition: TiXml.h:1560
virtual bool Visit(const TiXmlText &text)
Definition: TiXml.h:140
TiXmlAttribute * Previous()
Definition: TiXml.h:992
void ClearError()
Definition: TiXml.h:1728
const TiXmlNode * LastChild(const char *value) const