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 );
320 static const char*
ReadText(
const char* in,
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; }
944 int IntValue()
const;
946 double DoubleValue()
const;
949 const TIXML_STRING&
NameTStr()
const {
return name; }
961 int QueryIntValue(
int* _value )
const;
963 int QueryDoubleValue(
double* _value )
const;
966 void SetName(
const char* _name ) { name = _name; }
968 void SetValue(
const char* _value ) { value = _value; }
971 void SetIntValue(
int _value );
973 void SetDoubleValue(
double _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
1116 const char* Attribute(
const char* name )
const;
1125 const char* Attribute(
const char* name,
int* i )
const;
1134 const char* Attribute(
const char* name,
double* d )
const;
1144 int QueryIntAttribute(
const char* name,
int* _value )
const;
1146 int QueryDoubleAttribute(
const char* name,
double* _value )
const;
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;
1182 void SetAttribute(
const char* name,
const char * _value );
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 );
1206 void SetAttribute(
const char * name,
int value );
1212 void SetDoubleAttribute(
const char * name,
double value );
1215 void RemoveAttribute(
const char * name );
1216 #ifdef TIXML_USE_STL
1218 void RemoveAttribute(
const std::string& name ) { RemoveAttribute (name.c_str ()); }
1264 const char* GetText()
const;
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 );
1619 bool SaveFile()
const;
1621 bool LoadFile(
const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1623 bool SaveFile(
const char * filename )
const;
1630 bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
1632 bool SaveFile( FILE* )
const;
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;
1879 TiXmlHandle FirstChild(
const char * value )
const;
1883 TiXmlHandle FirstChildElement(
const char * value )
const;
1889 TiXmlHandle Child(
const char* value,
int index )
const;
1900 TiXmlHandle ChildElement(
const char* value,
int index )
const;
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 :
"" ; }
2010 void SetLineBreak(
const char* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak :
""; }
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 )
TiXmlHandle operator=(const TiXmlHandle &ref)
Definition: TiXml.h:1874
TiXmlElement * Element() const
Definition: TiXml.h:1938
TiXmlCursor location
Definition: TiXml.h:390
static const char * ReadName(const char *p, edelib::String *name, TiXmlEncoding encoding)
const TiXmlDocument * GetDocument() const
TiXmlUnknown()
Definition: TiXml.h:1542
Name-value pair.
Definition: TiXml.h:903
TiXmlText(const TiXmlText ©)
Definition: TiXml.h:1396
virtual bool VisitEnter(const TiXmlElement &element, const TiXmlAttribute *firstAttribute)
Definition: TiXml.h:134
TiXmlNode * LinkEndChild(TiXmlNode *addThis)
SAX emulation.
Definition: TiXml.h:123
virtual ~TiXmlVisitor()
Definition: TiXml.h:127
TiXmlNode * InsertBeforeChild(TiXmlNode *beforeThis, const TiXmlNode &addThis)
void SetIndent(const char *_indent)
Definition: TiXml.h:2001
TiXmlUnknown * Unknown() const
Definition: TiXml.h:1948
const edelib::String & NameTStr() const
Definition: TiXml.h:949
bool Error() const
Definition: TiXml.h:1670
const TiXmlNode * Parent() const
Definition: TiXml.h:551
const char * Encoding() const
Definition: TiXml.h:1485
void SetValue(const char *_value)
Definition: TiXml.h:538
TiXmlText(const char *initValue)
Definition: TiXml.h:1380
TiXmlAttribute()
Definition: TiXml.h:909
virtual const char * Parse(const char *p, TiXmlParsingData *data, TiXmlEncoding encoding)
TiXmlHandle(TiXmlNode *_node)
Definition: TiXml.h:1870
const char * ErrorDesc() const
Definition: TiXml.h:1673
void ClearError()
Definition: TiXml.h:1728
TiXmlElement * RootElement()
Definition: TiXml.h:1662
virtual TiXmlDeclaration * ToDeclaration()
Definition: TiXml.h:823
int Type() const
Definition: TiXml.h:784
void SetStreamPrinting()
Definition: TiXml.h:2019
const char * LineBreak()
Definition: TiXml.h:2013
TiXmlNode(NodeType _type)
TiXmlNode * ReplaceChild(TiXmlNode *replaceThis, const TiXmlNode &withThis)
TiXmlNode * InsertAfterChild(TiXmlNode *afterThis, const TiXmlNode &addThis)
void operator=(const TiXmlText &base)
Definition: TiXml.h:1398
void SetCDATA(bool _cdata)
Definition: TiXml.h:1406
size_t Size()
Definition: TiXml.h:2023
TiXmlDocument * GetDocument()
Definition: TiXml.h:793
TiXmlNode * IterateChildren(const char *_value, const TiXmlNode *previous)
Definition: TiXml.h:620
static const char * GetEntity(const char *in, char *value, int *length, TiXmlEncoding encoding)
virtual const TiXmlUnknown * ToUnknown() const
Definition: TiXml.h:806
virtual bool VisitExit(const TiXmlDocument &doc)
Definition: TiXml.h:132
virtual const TiXmlDeclaration * ToDeclaration() const
Definition: TiXml.h:810
void SetName(const char *_name)
Definition: TiXml.h:966
virtual bool Accept(TiXmlVisitor *visitor) const
virtual bool Accept(TiXmlVisitor *content) const
virtual TiXmlText * ToText()
Definition: TiXml.h:1414
void SetUserData(void *user)
Definition: TiXml.h:250
int ErrorId() const
Definition: TiXml.h:1679
virtual const TiXmlElement * ToElement() const
Definition: TiXml.h:1278
static void PutString(const edelib::String &str, edelib::String *out)
const char * Name() const
Definition: TiXml.h:936
virtual const char * Parse(const char *p, TiXmlParsingData *data=0, TiXmlEncoding encoding=TIXML_DEFAULT_ENCODING)
TiXmlNode * NextSibling(const char *_next)
Definition: TiXml.h:713
int Row() const
Definition: TiXml.h:246
TiXmlAttribute * LastAttribute()
Definition: TiXml.h:1229
int TabSize() const
Definition: TiXml.h:1722
TiXmlText * Text() const
Definition: TiXml.h:1943
void SetValue(const char *_value)
Definition: TiXml.h:968
const TiXmlNode * NextSibling() const
Definition: TiXml.h:706
virtual bool VisitEnter(const TiXmlDocument &doc)
Definition: TiXml.h:130
const char * CStr()
Definition: TiXml.h:2021
void SetTabSize(int _tabsize)
Definition: TiXml.h:1719
const TiXmlElement * NextSiblingElement() const
const TiXmlAttribute * FirstAttribute() const
Definition: TiXml.h:1222
const char * c_str(void)
Definition: String.h:279
TiXmlNode * PreviousSibling(const char *_prev)
Definition: TiXml.h:690
NodeType
Definition: TiXml.h:492
virtual const TiXmlDocument * ToDocument() const
Definition: TiXml.h:800
int Column() const
Definition: TiXml.h:248
TiXmlAttribute * Previous()
Definition: TiXml.h:992
static void ConvertUTF32ToUTF8(unsigned long input, char *output, int *length)
const TiXmlNode * IterateChildren(const TiXmlNode *previous) const
XML declaration.
Definition: TiXml.h:1455
Unknown XML element.
Definition: TiXml.h:1538
int ErrorCol() const
Definition: TiXml.h:1692
virtual bool Visit(const TiXmlComment &comment)
Definition: TiXml.h:142
virtual TiXmlElement * ToElement()
Definition: TiXml.h:815
static const char * GetChar(const char *p, char *_value, int *length, TiXmlEncoding encoding)
Definition: TiXml.h:334
const char * Indent()
Definition: TiXml.h:2003
TiXmlNode * FirstChild()
Definition: TiXml.h:556
virtual const TiXmlUnknown * ToUnknown() const
Definition: TiXml.h:1560
int ErrorRow() const
Definition: TiXml.h:1689
const TiXmlAttribute * LastAttribute() const
Definition: TiXml.h:1227
const TiXmlElement * FirstChildElement() const
virtual TiXmlDocument * ToDocument()
Definition: TiXml.h:813
static bool StringEqual(const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
TiXmlNode * PreviousSibling()
Definition: TiXml.h:685
TiXmlNode * Parent()
Definition: TiXml.h:549
TiXmlPrinter()
Definition: TiXml.h:1982
TiXmlNode * InsertEndChild(const TiXmlNode &addThis)
virtual TiXmlNode * Clone() const =0
virtual TiXmlElement * ToElement()
Definition: TiXml.h:1280
Top level node.
Definition: TiXml.h:1590
TiXmlUnknown(const TiXmlUnknown ©)
Definition: TiXml.h:1548
TiXmlHandle(const TiXmlHandle &ref)
Definition: TiXml.h:1872
void Print() const
Definition: TiXml.h:1736
virtual const TiXmlText * ToText() const
Definition: TiXml.h:808
const char * Value() const
Definition: TiXml.h:938
void CopyTo(TiXmlNode *target) const
virtual bool Accept(TiXmlVisitor *visitor) const =0
TiXmlAttribute(const char *_name, const char *_value)
Definition: TiXml.h:927
virtual const TiXmlComment * ToComment() const
Definition: TiXml.h:804
TiXmlNode * ToNode() const
Definition: TiXml.h:1921
Wraps a node pointer.
Definition: TiXml.h:1866
TiXmlNode * LastChild()
Definition: TiXml.h:572
static bool IsWhiteSpaceCondensed()
Definition: TiXml.h:226
const char * Version() const
Definition: TiXml.h:1483
TiXmlAttribute * FirstAttribute()
Definition: TiXml.h:1224
virtual TiXmlUnknown * ToUnknown()
Definition: TiXml.h:819
const char * Value() const
Definition: TiXml.h:517
TiXmlAttribute * Next()
Definition: TiXml.h:985
TiXmlNode * Identify(const char *start, TiXmlEncoding encoding)
TiXmlNode * FirstChild(const char *_value)
Definition: TiXml.h:561
size_type length(void) const
Definition: String.h:292
TiXmlText * ToText() const
Definition: TiXml.h:1925
void * userData
Definition: TiXml.h:393
const TiXmlNode * PreviousSibling() const
Definition: TiXml.h:680
int QueryFloatAttribute(const char *name, float *_value) const
Definition: TiXml.h:1148
Xml base class.
Definition: TiXml.h:194
static int IsAlpha(unsigned char anyByte, TiXmlEncoding encoding)
TiXmlUnknown * ToUnknown() const
Definition: TiXml.h:1927
const TiXmlElement * RootElement() const
Definition: TiXml.h:1660
virtual bool VisitExit(const TiXmlElement &element)
Definition: TiXml.h:136
bool operator<(const TiXmlAttribute &rhs) const
Definition: TiXml.h:999
virtual TiXmlDocument * ToDocument()
Definition: TiXml.h:1754
virtual TiXmlNode * Clone() const
TiXmlElement * ToElement() const
Definition: TiXml.h:1923
TiXmlNode * LastChild(const char *_value)
Definition: TiXml.h:578
void operator=(const TiXmlElement &base)
TiXmlNode * IterateChildren(const TiXmlNode *previous)
Definition: TiXml.h:613
static const char * errorString[TIXML_ERROR_STRING_COUNT]
Definition: TiXml.h:387
Parent class for everything in DOM.
Definition: TiXml.h:450
virtual bool Visit(const TiXmlUnknown &unknown)
Definition: TiXml.h:144
virtual const TiXmlDeclaration * ToDeclaration() const
Definition: TiXml.h:1502
static const char * ReadText(const char *in, edelib::String *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
Print to memory.
Definition: TiXml.h:1978
TiXmlNode * Node() const
Definition: TiXml.h:1933
XML text.
Definition: TiXml.h:1371
virtual TiXmlNode * Clone() const
TiXmlElement * FirstChildElement(const char *_value)
Definition: TiXml.h:763
virtual const TiXmlElement * ToElement() const
Definition: TiXml.h:802
virtual const TiXmlDocument * ToDocument() const
Definition: TiXml.h:1752
virtual bool Visit(const TiXmlText &text)
Definition: TiXml.h:140
bool CDATA() const
Definition: TiXml.h:1404
virtual bool Visit(const TiXmlDeclaration &declaration)
Definition: TiXml.h:138
bool operator>(const TiXmlAttribute &rhs) const
Definition: TiXml.h:1001
void SetLineBreak(const char *_lineBreak)
Definition: TiXml.h:2010
EdbusList & operator<<(EdbusList &lst, const EdbusData &val)
Definition: EdbusList.h:219
TiXmlElement * NextSiblingElement()
Definition: TiXml.h:726
TiXmlNode * NextSibling()
Definition: TiXml.h:708
TiXmlDeclaration()
Definition: TiXml.h:1459
virtual TiXmlUnknown * ToUnknown()
Definition: TiXml.h:1562
const void * GetUserData() const
Definition: TiXml.h:254
virtual void Print(FILE *cfile, int depth) const
void operator=(const TiXmlDocument ©)
const char * Standalone() const
Definition: TiXml.h:1487
virtual void Print(FILE *cfile, int depth) const
Definition: TiXml.h:1010
virtual TiXmlDeclaration * ToDeclaration()
Definition: TiXml.h:1504
void * GetUserData()
Definition: TiXml.h:252
TiXmlElement * NextSiblingElement(const char *_next)
Definition: TiXml.h:739
virtual TiXmlText * ToText()
Definition: TiXml.h:821
const TiXmlNode * LastChild() const
Definition: TiXml.h:569
virtual const TiXmlText * ToText() const
Definition: TiXml.h:1412
virtual void Print(FILE *cfile, int depth) const =0
static void SetCondenseWhiteSpace(bool condense)
Definition: TiXml.h:223
const TiXmlNode * FirstChild() const
Definition: TiXml.h:554
bool operator==(const TiXmlAttribute &rhs) const
Definition: TiXml.h:997
static int IsAlphaNum(unsigned char anyByte, TiXmlEncoding encoding)
void operator=(const TiXmlUnknown ©)
Definition: TiXml.h:1550
TiXmlElement * FirstChildElement()
Definition: TiXml.h:757
bool NoChildren() const
Definition: TiXml.h:798
static int ToLower(int v, TiXmlEncoding encoding)
Definition: TiXml.h:403
Container xml class.
Definition: TiXml.h:1092
virtual TiXmlComment * ToComment()
Definition: TiXml.h:817
bool RemoveChild(TiXmlNode *removeThis)
virtual void Print(FILE *cfile, int depth) const
Definition: TiXml.h:1495