Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::TiXmlNode Class Referenceabstract

#include "tinyxml.h"

Inheritance diagram for pandora::TiXmlNode:
Collaboration diagram for pandora::TiXmlNode:

Public Types

enum  NodeType {
  TINYXML_DOCUMENT , TINYXML_ELEMENT , TINYXML_COMMENT , TINYXML_UNKNOWN ,
  TINYXML_TEXT , TINYXML_DECLARATION , TINYXML_TYPECOUNT
}
 
enum  {
  TIXML_NO_ERROR = 0 , TIXML_ERROR , TIXML_ERROR_OPENING_FILE , TIXML_ERROR_PARSING_ELEMENT ,
  TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME , TIXML_ERROR_READING_ELEMENT_VALUE , TIXML_ERROR_READING_ATTRIBUTES , TIXML_ERROR_PARSING_EMPTY ,
  TIXML_ERROR_READING_END_TAG , TIXML_ERROR_PARSING_UNKNOWN , TIXML_ERROR_PARSING_COMMENT , TIXML_ERROR_PARSING_DECLARATION ,
  TIXML_ERROR_DOCUMENT_EMPTY , TIXML_ERROR_EMBEDDED_NULL , TIXML_ERROR_PARSING_CDATA , TIXML_ERROR_DOCUMENT_TOP_ONLY ,
  TIXML_ERROR_STRING_COUNT
}
 

Public Member Functions

virtual ~TiXmlNode ()
 
const char * Value () const
 
const std::string & ValueStr () const
 
const TIXML_STRINGValueTStr () const
 
void SetValue (const char *_value)
 
void SetValue (const std::string &_value)
 STL std::string form.
 
void Clear ()
 Delete all the children of this node. Does not affect 'this'.
 
TiXmlNodeParent ()
 One step up the DOM.
 
const TiXmlNodeParent () const
 
const TiXmlNodeFirstChild () const
 The first child of this node. Will be null if there are no children.
 
TiXmlNodeFirstChild ()
 
const TiXmlNodeFirstChild (const char *value) const
 
TiXmlNodeFirstChild (const char *_value)
 The first child of this node with the matching 'value'. Will be null if none found.
 
const TiXmlNodeLastChild () const
 
TiXmlNodeLastChild ()
 The last child of this node. Will be null if there are no children.
 
const TiXmlNodeLastChild (const char *value) const
 
TiXmlNodeLastChild (const char *_value)
 The last child of this node matching 'value'. Will be null if there are no children.
 
const TiXmlNodeFirstChild (const std::string &_value) const
 STL std::string form.
 
TiXmlNodeFirstChild (const std::string &_value)
 STL std::string form.
 
const TiXmlNodeLastChild (const std::string &_value) const
 STL std::string form.
 
TiXmlNodeLastChild (const std::string &_value)
 STL std::string form.
 
const TiXmlNodeIterateChildren (const TiXmlNode *previous) const
 
TiXmlNodeIterateChildren (const TiXmlNode *previous)
 
const TiXmlNodeIterateChildren (const char *value, const TiXmlNode *previous) const
 This flavor of IterateChildren searches for children with a particular 'value'.
 
TiXmlNodeIterateChildren (const char *_value, const TiXmlNode *previous)
 
const TiXmlNodeIterateChildren (const std::string &_value, const TiXmlNode *previous) const
 STL std::string form.
 
TiXmlNodeIterateChildren (const std::string &_value, const TiXmlNode *previous)
 STL std::string form.
 
TiXmlNodeInsertEndChild (const TiXmlNode &addThis)
 
TiXmlNodeLinkEndChild (TiXmlNode *addThis)
 
TiXmlNodeInsertBeforeChild (TiXmlNode *beforeThis, const TiXmlNode &addThis)
 
TiXmlNodeInsertAfterChild (TiXmlNode *afterThis, const TiXmlNode &addThis)
 
TiXmlNodeReplaceChild (TiXmlNode *replaceThis, const TiXmlNode &withThis)
 
bool RemoveChild (TiXmlNode *removeThis)
 Delete a child of this node.
 
const TiXmlNodePreviousSibling () const
 Navigate to a sibling node.
 
TiXmlNodePreviousSibling ()
 
const TiXmlNodePreviousSibling (const char *) const
 Navigate to a sibling node.
 
TiXmlNodePreviousSibling (const char *_prev)
 
const TiXmlNodePreviousSibling (const std::string &_value) const
 STL std::string form.
 
TiXmlNodePreviousSibling (const std::string &_value)
 STL std::string form.
 
const TiXmlNodeNextSibling (const std::string &_value) const
 STL std::string form.
 
TiXmlNodeNextSibling (const std::string &_value)
 STL std::string form.
 
const TiXmlNodeNextSibling () const
 Navigate to a sibling node.
 
TiXmlNodeNextSibling ()
 
const TiXmlNodeNextSibling (const char *) const
 Navigate to a sibling node with the given 'value'.
 
TiXmlNodeNextSibling (const char *_next)
 
const TiXmlElementNextSiblingElement () const
 
TiXmlElementNextSiblingElement ()
 
const TiXmlElementNextSiblingElement (const char *) const
 
TiXmlElementNextSiblingElement (const char *_next)
 
const TiXmlElementNextSiblingElement (const std::string &_value) const
 STL std::string form.
 
TiXmlElementNextSiblingElement (const std::string &_value)
 STL std::string form.
 
const TiXmlElementFirstChildElement () const
 Convenience function to get through elements.
 
TiXmlElementFirstChildElement ()
 
const TiXmlElementFirstChildElement (const char *_value) const
 Convenience function to get through elements.
 
TiXmlElementFirstChildElement (const char *_value)
 
const TiXmlElementFirstChildElement (const std::string &_value) const
 STL std::string form.
 
TiXmlElementFirstChildElement (const std::string &_value)
 STL std::string form.
 
int Type () const
 
const TiXmlDocumentGetDocument () const
 
TiXmlDocumentGetDocument ()
 
bool NoChildren () const
 Returns true if this node has no children.
 
virtual const TiXmlDocumentToDocument () const
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual const TiXmlElementToElement () const
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual const TiXmlCommentToComment () const
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual const TiXmlUnknownToUnknown () const
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual const TiXmlTextToText () const
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual const TiXmlDeclarationToDeclaration () const
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlDocumentToDocument ()
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlElementToElement ()
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlCommentToComment ()
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlUnknownToUnknown ()
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlTextToText ()
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlDeclarationToDeclaration ()
 Cast to a more defined type. Will return null if not of the requested type.
 
virtual TiXmlNodeClone () const =0
 
virtual bool Accept (TiXmlVisitor *visitor) const =0
 
virtual void Print (FILE *cfile, int depth) const =0
 
int Row () const
 
int Column () const
 See Row()
 
void SetUserData (void *user)
 Set a pointer to arbitrary user data.
 
void * GetUserData ()
 Get a pointer to arbitrary user data.
 
const void * GetUserData () const
 Get a pointer to arbitrary user data.
 
virtual const char * Parse (const char *p, TiXmlParsingData *data, TiXmlEncoding encoding)=0
 

Static Public Member Functions

static void SetCondenseWhiteSpace (bool condense)
 
static bool IsWhiteSpaceCondensed ()
 Return the current white space setting.
 
static void EncodeString (const TIXML_STRING &str, TIXML_STRING *out)
 

Static Public Attributes

static const int utf8ByteTable [256]
 

Protected Member Functions

 TiXmlNode (NodeType _type)
 
void CopyTo (TiXmlNode *target) const
 
virtual void StreamIn (std::istream *in, TIXML_STRING *tag)=0
 
TiXmlNodeIdentify (const char *start, TiXmlEncoding encoding)
 

Static Protected Member Functions

static const char * SkipWhiteSpace (const char *, TiXmlEncoding encoding)
 
static bool IsWhiteSpace (char c)
 
static bool IsWhiteSpace (int c)
 
static bool StreamWhiteSpace (std::istream *in, TIXML_STRING *tag)
 
static bool StreamTo (std::istream *in, int character, TIXML_STRING *tag)
 
static const char * ReadName (const char *p, TIXML_STRING *name, TiXmlEncoding encoding)
 
static const char * ReadText (const char *in, TIXML_STRING *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
 
static const char * GetEntity (const char *in, char *value, int *length, TiXmlEncoding encoding)
 
static const char * GetChar (const char *p, char *_value, int *length, TiXmlEncoding encoding)
 
static bool StringEqual (const char *p, const char *endTag, bool ignoreCase, TiXmlEncoding encoding)
 
static int IsAlpha (unsigned char anyByte, TiXmlEncoding encoding)
 
static int IsAlphaNum (unsigned char anyByte, TiXmlEncoding encoding)
 
static int ToLower (int v, TiXmlEncoding encoding)
 
static void ConvertUTF32ToUTF8 (unsigned long input, char *output, int *length)
 

Protected Attributes

TiXmlNodeparent
 
NodeType type
 
TiXmlNodefirstChild
 
TiXmlNodelastChild
 
TIXML_STRING value
 
TiXmlNodeprev
 
TiXmlNodenext
 
TiXmlCursor location
 
void * userData
 Field containing a generic user pointer.
 

Static Protected Attributes

static const char * errorString [TIXML_ERROR_STRING_COUNT]
 

Private Types

enum  { NUM_ENTITY = 5 , MAX_ENTITY_LENGTH = 6 }
 

Private Member Functions

 TiXmlNode (const TiXmlNode &)
 
void operator= (const TiXmlNode &base)
 

Static Private Attributes

static Entity entity [NUM_ENTITY]
 
static bool condenseWhiteSpace = true
 

Friends

class TiXmlDocument
 
class TiXmlElement
 
std::istream & operator>> (std::istream &in, TiXmlNode &base)
 
std::ostream & operator<< (std::ostream &out, const TiXmlNode &base)
 
std::string & operator<< (std::string &out, const TiXmlNode &base)
 Appends the XML node or attribute to a std::string.
 

Detailed Description

The parent class for everything in the Document Object Model. (Except for attributes). Nodes have siblings, a parent, and children. A node can be in a document, or stand on its own. The type of a TiXmlNode can be queried, and it can be cast to its more defined type.

Definition at line 430 of file tinyxml.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
Enumerator
TIXML_NO_ERROR 
TIXML_ERROR 
TIXML_ERROR_OPENING_FILE 
TIXML_ERROR_PARSING_ELEMENT 
TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME 
TIXML_ERROR_READING_ELEMENT_VALUE 
TIXML_ERROR_READING_ATTRIBUTES 
TIXML_ERROR_PARSING_EMPTY 
TIXML_ERROR_READING_END_TAG 
TIXML_ERROR_PARSING_UNKNOWN 
TIXML_ERROR_PARSING_COMMENT 
TIXML_ERROR_PARSING_DECLARATION 
TIXML_ERROR_DOCUMENT_EMPTY 
TIXML_ERROR_EMBEDDED_NULL 
TIXML_ERROR_PARSING_CDATA 
TIXML_ERROR_DOCUMENT_TOP_ONLY 
TIXML_ERROR_STRING_COUNT 

Definition at line 271 of file tinyxml.h.

◆ anonymous enum

anonymous enum
privateinherited
Enumerator
NUM_ENTITY 
MAX_ENTITY_LENGTH 

Definition at line 413 of file tinyxml.h.

◆ NodeType

The types of XML nodes supported by TinyXml. (All the unsupported types are picked up by UNKNOWN.)

Enumerator
TINYXML_DOCUMENT 
TINYXML_ELEMENT 
TINYXML_COMMENT 
TINYXML_UNKNOWN 
TINYXML_TEXT 
TINYXML_DECLARATION 
TINYXML_TYPECOUNT 

Definition at line 469 of file tinyxml.h.

Constructor & Destructor Documentation

◆ ~TiXmlNode()

pandora::TiXmlNode::~TiXmlNode ( )
virtual

Definition at line 150 of file tinyxml.cc.

◆ TiXmlNode() [1/2]

pandora::TiXmlNode::TiXmlNode ( NodeType  _type)
protected

Definition at line 139 of file tinyxml.cc.

◆ TiXmlNode() [2/2]

pandora::TiXmlNode::TiXmlNode ( const TiXmlNode )
private

Member Function Documentation

◆ Accept()

virtual bool pandora::TiXmlNode::Accept ( TiXmlVisitor visitor) const
pure virtual

Accept a hierchical visit the nodes in the TinyXML DOM. Every node in the XML tree will be conditionally visited and the host will be called back via the TiXmlVisitor interface.

This is essentially a SAX interface for TinyXML. (Note however it doesn't re-parse the XML for the callbacks, so the performance of TinyXML is unchanged by using this interface versus any other.)

The interface has been based on ideas from:

Which are both good references for "visiting".

An example of using Accept():

TiXmlPrinter printer;
tinyxmlDoc.Accept( &printer );
const char* xmlcstr = printer.CStr();

Implemented in pandora::TiXmlText, pandora::TiXmlUnknown, pandora::TiXmlDocument, pandora::TiXmlElement, pandora::TiXmlComment, and pandora::TiXmlDeclaration.

◆ Clear()

void pandora::TiXmlNode::Clear ( )

Delete all the children of this node. Does not affect 'this'.

Definition at line 172 of file tinyxml.cc.

Here is the caller graph for this function:

◆ Clone()

virtual TiXmlNode * pandora::TiXmlNode::Clone ( ) const
pure virtual

Create an exact duplicate of this node and return it. The memory must be deleted by the caller.

Implemented in pandora::TiXmlElement, pandora::TiXmlComment, pandora::TiXmlText, pandora::TiXmlDeclaration, pandora::TiXmlUnknown, and pandora::TiXmlDocument.

Here is the caller graph for this function:

◆ Column()

int pandora::TiXmlBase::Column ( ) const
inlineinherited

See Row()

Definition at line 252 of file tinyxml.h.

◆ ConvertUTF32ToUTF8()

void pandora::TiXmlBase::ConvertUTF32ToUTF8 ( unsigned long  input,
char *  output,
int *  length 
)
staticprotectedinherited

Definition at line 91 of file tinyxmlparser.cc.

Here is the caller graph for this function:

◆ CopyTo()

void pandora::TiXmlNode::CopyTo ( TiXmlNode target) const
protected

Definition at line 164 of file tinyxml.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EncodeString()

void pandora::TiXmlBase::EncodeString ( const TIXML_STRING str,
TIXML_STRING out 
)
staticinherited

Expands entities in a string. Note this should not contian the tag's '<', '>', etc, or they will be transformed into entities!

Definition at line 55 of file tinyxml.cc.

Here is the caller graph for this function:

◆ FirstChild() [1/6]

TiXmlNode * pandora::TiXmlNode::FirstChild ( )
inline

Definition at line 530 of file tinyxml.h.

◆ FirstChild() [2/6]

const TiXmlNode * pandora::TiXmlNode::FirstChild ( ) const
inline

The first child of this node. Will be null if there are no children.

Definition at line 529 of file tinyxml.h.

Here is the caller graph for this function:

◆ FirstChild() [3/6]

TiXmlNode * pandora::TiXmlNode::FirstChild ( const char *  _value)
inline

The first child of this node with the matching 'value'. Will be null if none found.

Definition at line 533 of file tinyxml.h.

◆ FirstChild() [4/6]

const TiXmlNode * pandora::TiXmlNode::FirstChild ( const char *  value) const

The first child of this node with the matching 'value'. Will be null if none found.

Definition at line 364 of file tinyxml.cc.

Here is the call graph for this function:

◆ FirstChild() [5/6]

TiXmlNode * pandora::TiXmlNode::FirstChild ( const std::string &  _value)
inline

STL std::string form.

Definition at line 548 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FirstChild() [6/6]

const TiXmlNode * pandora::TiXmlNode::FirstChild ( const std::string &  _value) const
inline

STL std::string form.

Definition at line 547 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FirstChildElement() [1/6]

TiXmlElement * pandora::TiXmlNode::FirstChildElement ( )
inline

Definition at line 672 of file tinyxml.h.

◆ FirstChildElement() [2/6]

const TiXmlElement * pandora::TiXmlNode::FirstChildElement ( ) const

Convenience function to get through elements.

Definition at line 455 of file tinyxml.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FirstChildElement() [3/6]

TiXmlElement * pandora::TiXmlNode::FirstChildElement ( const char *  _value)
inline

Definition at line 678 of file tinyxml.h.

◆ FirstChildElement() [4/6]

const TiXmlElement * pandora::TiXmlNode::FirstChildElement ( const char *  _value) const

Convenience function to get through elements.

Definition at line 470 of file tinyxml.cc.

Here is the call graph for this function:

◆ FirstChildElement() [5/6]

TiXmlElement * pandora::TiXmlNode::FirstChildElement ( const std::string &  _value)
inline

STL std::string form.

Definition at line 684 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FirstChildElement() [6/6]

const TiXmlElement * pandora::TiXmlNode::FirstChildElement ( const std::string &  _value) const
inline

STL std::string form.

Definition at line 683 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetChar()

static const char * pandora::TiXmlBase::GetChar ( const char *  p,
char *  _value,
int *  length,
TiXmlEncoding  encoding 
)
inlinestaticprotectedinherited

Definition at line 334 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDocument() [1/2]

TiXmlDocument * pandora::TiXmlNode::GetDocument ( )
inline

Definition at line 697 of file tinyxml.h.

◆ GetDocument() [2/2]

const TiXmlDocument * pandora::TiXmlNode::GetDocument ( ) const

Return a pointer to the Document this node lives in. Returns null if not in a document.

Definition at line 515 of file tinyxml.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetEntity()

const char * pandora::TiXmlBase::GetEntity ( const char *  in,
char *  value,
int *  length,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 444 of file tinyxmlparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetUserData() [1/2]

void * pandora::TiXmlBase::GetUserData ( )
inlineinherited

Get a pointer to arbitrary user data.

Definition at line 255 of file tinyxml.h.

◆ GetUserData() [2/2]

const void * pandora::TiXmlBase::GetUserData ( ) const
inlineinherited

Get a pointer to arbitrary user data.

Definition at line 256 of file tinyxml.h.

◆ Identify()

TiXmlNode * pandora::TiXmlNode::Identify ( const char *  start,
TiXmlEncoding  encoding 
)
protected

Definition at line 824 of file tinyxmlparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InsertAfterChild()

TiXmlNode * pandora::TiXmlNode::InsertAfterChild ( TiXmlNode afterThis,
const TiXmlNode addThis 
)

Add a new node related to this. Adds a child after the specified child. Returns a pointer to the new object or NULL if an error occured.

Definition at line 266 of file tinyxml.cc.

Here is the call graph for this function:

◆ InsertBeforeChild()

TiXmlNode * pandora::TiXmlNode::InsertBeforeChild ( TiXmlNode beforeThis,
const TiXmlNode addThis 
)

Add a new node related to this. Adds a child before the specified child. Returns a pointer to the new object or NULL if an error occured.

Definition at line 233 of file tinyxml.cc.

Here is the call graph for this function:

◆ InsertEndChild()

TiXmlNode * pandora::TiXmlNode::InsertEndChild ( const TiXmlNode addThis)

Add a new node related to this. Adds a child past the LastChild. Returns a pointer to the new object or NULL if an error occured.

Definition at line 217 of file tinyxml.cc.

Here is the call graph for this function:

◆ IsAlpha()

int pandora::TiXmlBase::IsAlpha ( unsigned char  anyByte,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 135 of file tinyxmlparser.cc.

Here is the caller graph for this function:

◆ IsAlphaNum()

int pandora::TiXmlBase::IsAlphaNum ( unsigned char  anyByte,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 156 of file tinyxmlparser.cc.

Here is the caller graph for this function:

◆ IsWhiteSpace() [1/2]

static bool pandora::TiXmlBase::IsWhiteSpace ( char  c)
inlinestaticprotectedinherited

Definition at line 297 of file tinyxml.h.

Here is the caller graph for this function:

◆ IsWhiteSpace() [2/2]

static bool pandora::TiXmlBase::IsWhiteSpace ( int  c)
inlinestaticprotectedinherited

Definition at line 301 of file tinyxml.h.

Here is the call graph for this function:

◆ IsWhiteSpaceCondensed()

static bool pandora::TiXmlBase::IsWhiteSpaceCondensed ( )
inlinestaticinherited

Return the current white space setting.

Definition at line 231 of file tinyxml.h.

Here is the caller graph for this function:

◆ IterateChildren() [1/6]

TiXmlNode * pandora::TiXmlNode::IterateChildren ( const char *  _value,
const TiXmlNode previous 
)
inline

Definition at line 576 of file tinyxml.h.

◆ IterateChildren() [2/6]

const TiXmlNode * pandora::TiXmlNode::IterateChildren ( const char *  value,
const TiXmlNode previous 
) const

This flavor of IterateChildren searches for children with a particular 'value'.

Definition at line 402 of file tinyxml.cc.

Here is the call graph for this function:

◆ IterateChildren() [3/6]

TiXmlNode * pandora::TiXmlNode::IterateChildren ( const std::string &  _value,
const TiXmlNode previous 
)
inline

STL std::string form.

Definition at line 582 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IterateChildren() [4/6]

const TiXmlNode * pandora::TiXmlNode::IterateChildren ( const std::string &  _value,
const TiXmlNode previous 
) const
inline

STL std::string form.

Definition at line 581 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IterateChildren() [5/6]

TiXmlNode * pandora::TiXmlNode::IterateChildren ( const TiXmlNode previous)
inline

Definition at line 570 of file tinyxml.h.

◆ IterateChildren() [6/6]

const TiXmlNode * pandora::TiXmlNode::IterateChildren ( const TiXmlNode previous) const

An alternate way to walk the children of a node. One way to iterate over nodes is:

    for( child = parent->FirstChild(); child; child = child->NextSibling() )

IterateChildren does the same thing with the syntax:

    child = 0;
    while( child = parent->IterateChildren( child ) )

IterateChildren takes the previous child as input and finds the next one. If the previous child is null, it returns the first. IterateChildren will return null when done.

Definition at line 388 of file tinyxml.cc.

Here is the call graph for this function:

◆ LastChild() [1/6]

TiXmlNode * pandora::TiXmlNode::LastChild ( )
inline

The last child of this node. Will be null if there are no children.

Definition at line 539 of file tinyxml.h.

◆ LastChild() [2/6]

const TiXmlNode * pandora::TiXmlNode::LastChild ( ) const
inline

Definition at line 538 of file tinyxml.h.

Here is the caller graph for this function:

◆ LastChild() [3/6]

TiXmlNode * pandora::TiXmlNode::LastChild ( const char *  _value)
inline

The last child of this node matching 'value'. Will be null if there are no children.

Definition at line 542 of file tinyxml.h.

◆ LastChild() [4/6]

const TiXmlNode * pandora::TiXmlNode::LastChild ( const char *  value) const

Definition at line 376 of file tinyxml.cc.

Here is the call graph for this function:

◆ LastChild() [5/6]

TiXmlNode * pandora::TiXmlNode::LastChild ( const std::string &  _value)
inline

STL std::string form.

Definition at line 550 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LastChild() [6/6]

const TiXmlNode * pandora::TiXmlNode::LastChild ( const std::string &  _value) const
inline

STL std::string form.

Definition at line 549 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ LinkEndChild()

TiXmlNode * pandora::TiXmlNode::LinkEndChild ( TiXmlNode addThis)

Add a new node related to this. Adds a child past the LastChild.

NOTE: the node to be added is passed by pointer, and will be henceforth owned (and deleted) by tinyXml. This method is efficient and avoids an extra copy, but should be used with care as it uses a different memory model than the other insert functions.

See also
InsertEndChild

Definition at line 189 of file tinyxml.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextSibling() [1/6]

TiXmlNode * pandora::TiXmlNode::NextSibling ( )
inline

Definition at line 639 of file tinyxml.h.

◆ NextSibling() [2/6]

const TiXmlNode * pandora::TiXmlNode::NextSibling ( ) const
inline

Navigate to a sibling node.

Definition at line 638 of file tinyxml.h.

Here is the caller graph for this function:

◆ NextSibling() [3/6]

const TiXmlNode * pandora::TiXmlNode::NextSibling ( const char *  _value) const

Navigate to a sibling node with the given 'value'.

Definition at line 416 of file tinyxml.cc.

Here is the call graph for this function:

◆ NextSibling() [4/6]

TiXmlNode * pandora::TiXmlNode::NextSibling ( const char *  _next)
inline

Definition at line 643 of file tinyxml.h.

◆ NextSibling() [5/6]

TiXmlNode * pandora::TiXmlNode::NextSibling ( const std::string &  _value)
inline

STL std::string form.

Definition at line 634 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextSibling() [6/6]

const TiXmlNode * pandora::TiXmlNode::NextSibling ( const std::string &  _value) const
inline

STL std::string form.

Definition at line 633 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextSiblingElement() [1/6]

TiXmlElement * pandora::TiXmlNode::NextSiblingElement ( )
inline

Definition at line 652 of file tinyxml.h.

◆ NextSiblingElement() [2/6]

const TiXmlElement * pandora::TiXmlNode::NextSiblingElement ( ) const

Convenience function to get through elements. Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.

Definition at line 485 of file tinyxml.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextSiblingElement() [3/6]

const TiXmlElement * pandora::TiXmlNode::NextSiblingElement ( const char *  _value) const

Convenience function to get through elements. Calls NextSibling and ToElement. Will skip all non-Element nodes. Returns 0 if there is not another element.

Definition at line 500 of file tinyxml.cc.

Here is the call graph for this function:

◆ NextSiblingElement() [4/6]

TiXmlElement * pandora::TiXmlNode::NextSiblingElement ( const char *  _next)
inline

Definition at line 661 of file tinyxml.h.

◆ NextSiblingElement() [5/6]

TiXmlElement * pandora::TiXmlNode::NextSiblingElement ( const std::string &  _value)
inline

STL std::string form.

Definition at line 667 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NextSiblingElement() [6/6]

const TiXmlElement * pandora::TiXmlNode::NextSiblingElement ( const std::string &  _value) const
inline

STL std::string form.

Definition at line 666 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ NoChildren()

bool pandora::TiXmlNode::NoChildren ( ) const
inline

Returns true if this node has no children.

Definition at line 702 of file tinyxml.h.

◆ operator=()

void pandora::TiXmlNode::operator= ( const TiXmlNode base)
private

◆ Parent() [1/2]

TiXmlNode * pandora::TiXmlNode::Parent ( )
inline

One step up the DOM.

Definition at line 526 of file tinyxml.h.

◆ Parent() [2/2]

const TiXmlNode * pandora::TiXmlNode::Parent ( ) const
inline

Definition at line 527 of file tinyxml.h.

◆ Parse()

virtual const char * pandora::TiXmlBase::Parse ( const char *  p,
TiXmlParsingData data,
TiXmlEncoding  encoding 
)
pure virtualinherited

◆ PreviousSibling() [1/6]

TiXmlNode * pandora::TiXmlNode::PreviousSibling ( )
inline

Definition at line 622 of file tinyxml.h.

◆ PreviousSibling() [2/6]

const TiXmlNode * pandora::TiXmlNode::PreviousSibling ( ) const
inline

Navigate to a sibling node.

Definition at line 621 of file tinyxml.h.

◆ PreviousSibling() [3/6]

const TiXmlNode * pandora::TiXmlNode::PreviousSibling ( const char *  _value) const

Navigate to a sibling node.

Definition at line 428 of file tinyxml.cc.

Here is the call graph for this function:

◆ PreviousSibling() [4/6]

TiXmlNode * pandora::TiXmlNode::PreviousSibling ( const char *  _prev)
inline

Definition at line 626 of file tinyxml.h.

◆ PreviousSibling() [5/6]

TiXmlNode * pandora::TiXmlNode::PreviousSibling ( const std::string &  _value)
inline

STL std::string form.

Definition at line 632 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PreviousSibling() [6/6]

const TiXmlNode * pandora::TiXmlNode::PreviousSibling ( const std::string &  _value) const
inline

STL std::string form.

Definition at line 631 of file tinyxml.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Print()

virtual void pandora::TiXmlBase::Print ( FILE *  cfile,
int  depth 
) const
pure virtualinherited

All TinyXml classes can print themselves to a filestream or the string class (TiXmlString in non-STL mode, std::string in STL mode.) Either or both cfile and str can be null.

This is a formatted print, and will insert tabs and newlines.

(For an unformatted stream, use the << operator.)

Implemented in pandora::TiXmlAttribute, pandora::TiXmlElement, pandora::TiXmlComment, pandora::TiXmlText, pandora::TiXmlDeclaration, pandora::TiXmlUnknown, and pandora::TiXmlDocument.

Here is the caller graph for this function:

◆ ReadName()

const char * pandora::TiXmlBase::ReadName ( const char *  p,
TIXML_STRING name,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 407 of file tinyxmlparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadText()

const char * pandora::TiXmlBase::ReadText ( const char *  in,
TIXML_STRING text,
bool  ignoreWhiteSpace,
const char *  endTag,
bool  ignoreCase,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 580 of file tinyxmlparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveChild()

bool pandora::TiXmlNode::RemoveChild ( TiXmlNode removeThis)

Delete a child of this node.

Definition at line 338 of file tinyxml.cc.

◆ ReplaceChild()

TiXmlNode * pandora::TiXmlNode::ReplaceChild ( TiXmlNode replaceThis,
const TiXmlNode withThis 
)

Replace a child of this node. Returns a pointer to the new object or NULL if an error occured.

Definition at line 299 of file tinyxml.cc.

Here is the call graph for this function:

◆ Row()

int pandora::TiXmlBase::Row ( ) const
inlineinherited

Return the position, in the original source file, of this node or attribute. The row and column are 1-based. (That is the first row and first column is 1,1). If the returns values are 0 or less, then the parser does not have a row and column value.

Generally, the row and column value will be set when the TiXmlDocument::Load(), TiXmlDocument::LoadFile(), or any TiXmlNode::Parse() is called. It will NOT be set when the DOM was created from operator>>.

The values reflect the initial load. Once the DOM is modified programmatically (by adding or changing nodes and attributes) the new values will NOT update to reflect changes in the document.

There is a minor performance cost to computing the row and column. Computation can be disabled if TiXmlDocument::SetTabSize() is called with 0 as the value.

See also
TiXmlDocument::SetTabSize()

Definition at line 251 of file tinyxml.h.

◆ SetCondenseWhiteSpace()

static void pandora::TiXmlBase::SetCondenseWhiteSpace ( bool  condense)
inlinestaticinherited

The world does not agree on whether white space should be kept or not. In order to make everyone happy, these global, static functions are provided to set whether or not TinyXml will condense all white space into a single space or not. The default is to condense. Note changing this value is not thread safe.

Definition at line 228 of file tinyxml.h.

◆ SetUserData()

void pandora::TiXmlBase::SetUserData ( void *  user)
inlineinherited

Set a pointer to arbitrary user data.

Definition at line 254 of file tinyxml.h.

◆ SetValue() [1/2]

void pandora::TiXmlNode::SetValue ( const char *  _value)
inline

Changes the value of the node. Defined as:

Document:   filename of the xml file
Element:    name of the element
Comment:    the comment text
Unknown:    the tag contents
Text:       the text string

Definition at line 515 of file tinyxml.h.

Here is the caller graph for this function:

◆ SetValue() [2/2]

void pandora::TiXmlNode::SetValue ( const std::string &  _value)
inline

STL std::string form.

Definition at line 519 of file tinyxml.h.

◆ SkipWhiteSpace()

const char * pandora::TiXmlBase::SkipWhiteSpace ( const char *  p,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 320 of file tinyxmlparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ StreamIn()

virtual void pandora::TiXmlNode::StreamIn ( std::istream *  in,
TIXML_STRING tag 
)
protectedpure virtual

◆ StreamTo()

static bool pandora::TiXmlBase::StreamTo ( std::istream *  in,
int  character,
TIXML_STRING tag 
)
staticprotectedinherited

◆ StreamWhiteSpace()

static bool pandora::TiXmlBase::StreamWhiteSpace ( std::istream *  in,
TIXML_STRING tag 
)
staticprotectedinherited

◆ StringEqual()

bool pandora::TiXmlBase::StringEqual ( const char *  p,
const char *  endTag,
bool  ignoreCase,
TiXmlEncoding  encoding 
)
staticprotectedinherited

Definition at line 540 of file tinyxmlparser.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToComment() [1/2]

virtual TiXmlComment * pandora::TiXmlNode::ToComment ( )
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlComment.

Definition at line 713 of file tinyxml.h.

◆ ToComment() [2/2]

virtual const TiXmlComment * pandora::TiXmlNode::ToComment ( ) const
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlComment.

Definition at line 706 of file tinyxml.h.

◆ ToDeclaration() [1/2]

virtual TiXmlDeclaration * pandora::TiXmlNode::ToDeclaration ( )
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlDeclaration.

Definition at line 716 of file tinyxml.h.

◆ ToDeclaration() [2/2]

virtual const TiXmlDeclaration * pandora::TiXmlNode::ToDeclaration ( ) const
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlDeclaration.

Definition at line 709 of file tinyxml.h.

Here is the caller graph for this function:

◆ ToDocument() [1/2]

virtual TiXmlDocument * pandora::TiXmlNode::ToDocument ( )
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlDocument.

Definition at line 711 of file tinyxml.h.

◆ ToDocument() [2/2]

virtual const TiXmlDocument * pandora::TiXmlNode::ToDocument ( ) const
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlDocument.

Definition at line 704 of file tinyxml.h.

Here is the caller graph for this function:

◆ ToElement() [1/2]

virtual TiXmlElement * pandora::TiXmlNode::ToElement ( )
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlElement.

Definition at line 712 of file tinyxml.h.

◆ ToElement() [2/2]

virtual const TiXmlElement * pandora::TiXmlNode::ToElement ( ) const
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlElement.

Definition at line 705 of file tinyxml.h.

Here is the caller graph for this function:

◆ ToLower()

static int pandora::TiXmlBase::ToLower ( int  v,
TiXmlEncoding  encoding 
)
inlinestaticprotectedinherited

Definition at line 389 of file tinyxml.h.

Here is the caller graph for this function:

◆ ToText() [1/2]

virtual TiXmlText * pandora::TiXmlNode::ToText ( )
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlText.

Definition at line 715 of file tinyxml.h.

◆ ToText() [2/2]

virtual const TiXmlText * pandora::TiXmlNode::ToText ( ) const
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlText.

Definition at line 708 of file tinyxml.h.

Here is the caller graph for this function:

◆ ToUnknown() [1/2]

virtual TiXmlUnknown * pandora::TiXmlNode::ToUnknown ( )
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlUnknown.

Definition at line 714 of file tinyxml.h.

◆ ToUnknown() [2/2]

virtual const TiXmlUnknown * pandora::TiXmlNode::ToUnknown ( ) const
inlinevirtual

Cast to a more defined type. Will return null if not of the requested type.

Reimplemented in pandora::TiXmlUnknown.

Definition at line 707 of file tinyxml.h.

Here is the caller graph for this function:

◆ Type()

int pandora::TiXmlNode::Type ( ) const
inline

Query the type (as an enumerated value, above) of this node. The possible types are: TINYXML_DOCUMENT, TINYXML_ELEMENT, TINYXML_COMMENT, TINYXML_UNKNOWN, TINYXML_TEXT, and TINYXML_DECLARATION.

Definition at line 691 of file tinyxml.h.

Here is the caller graph for this function:

◆ Value()

const char * pandora::TiXmlNode::Value ( ) const
inline

The meaning of 'value' changes for the specific type of TiXmlNode.

Document:   filename of the xml file
Element:    name of the element
Comment:    the comment text
Unknown:    the tag contents
Text:       the text string

The subclasses will wrap this function.

Definition at line 494 of file tinyxml.h.

Here is the caller graph for this function:

◆ ValueStr()

const std::string & pandora::TiXmlNode::ValueStr ( ) const
inline

Return Value() as a std::string. If you only use STL, this is more efficient than calling Value(). Only available in STL mode.

Definition at line 501 of file tinyxml.h.

Here is the caller graph for this function:

◆ ValueTStr()

const TIXML_STRING & pandora::TiXmlNode::ValueTStr ( ) const
inline

Definition at line 504 of file tinyxml.h.

Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ operator<< [1/2]

std::ostream & operator<< ( std::ostream &  out,
const TiXmlNode base 
)
friend

An output stream operator, for every class. Note that this outputs without any newlines or formatting, as opposed to Print(), which includes tabs and new lines.

The operator<< and operator>> are not completely symmetric. Writing a node to a stream is very well defined. You'll get a nice stream of output, without any extra whitespace or newlines.

But reading is not as well defined. (As it always is.) If you create a TiXmlElement (for example) and read that from an input stream, the text needs to define an element or junk will result. This is true of all input streams, but it's worth keeping in mind.

A TiXmlDocument will read nodes until it reads a root element, and all the children of that root element.

◆ operator<< [2/2]

std::string & operator<< ( std::string &  out,
const TiXmlNode base 
)
friend

Appends the XML node or attribute to a std::string.

◆ operator>>

std::istream & operator>> ( std::istream &  in,
TiXmlNode base 
)
friend

An input stream operator, for every class. Tolerant of newlines and formatting, but doesn't expect them.

◆ TiXmlDocument

friend class TiXmlDocument
friend

Definition at line 432 of file tinyxml.h.

◆ TiXmlElement

friend class TiXmlElement
friend

Definition at line 433 of file tinyxml.h.

Member Data Documentation

◆ condenseWhiteSpace

bool pandora::TiXmlBase::condenseWhiteSpace = true
staticprivateinherited

Definition at line 420 of file tinyxml.h.

◆ entity

TiXmlBase::Entity pandora::TiXmlBase::entity
staticprivateinherited
Initial value:
=
{
{ "&amp;", 5, '&' },
{ "&lt;", 4, '<' },
{ "&gt;", 4, '>' },
{ "&quot;", 6, '\"' },
{ "&apos;", 6, '\'' }
}

Definition at line 419 of file tinyxml.h.

◆ errorString

const char * pandora::TiXmlBase::errorString
staticprotectedinherited
Initial value:
=
{
"No error",
"Error",
"Failed to open file",
"Error parsing Element.",
"Failed to read Element name",
"Error reading Element value.",
"Error reading Attributes.",
"Error: empty tag.",
"Error reading end tag.",
"Error parsing Unknown.",
"Error parsing Comment.",
"Error parsing Declaration.",
"Error document empty.",
"Error null (0) or unexpected EOF found in input stream.",
"Error parsing CDATA.",
"Error when TiXmlDocument added to document, because TiXmlDocument can only be at the root.",
}

Definition at line 378 of file tinyxml.h.

◆ firstChild

TiXmlNode* pandora::TiXmlNode::firstChild
protected

Definition at line 765 of file tinyxml.h.

◆ lastChild

TiXmlNode* pandora::TiXmlNode::lastChild
protected

Definition at line 766 of file tinyxml.h.

◆ location

TiXmlCursor pandora::TiXmlBase::location
protectedinherited

Definition at line 380 of file tinyxml.h.

◆ next

TiXmlNode* pandora::TiXmlNode::next
protected

Definition at line 771 of file tinyxml.h.

◆ parent

TiXmlNode* pandora::TiXmlNode::parent
protected

Definition at line 762 of file tinyxml.h.

◆ prev

TiXmlNode* pandora::TiXmlNode::prev
protected

Definition at line 770 of file tinyxml.h.

◆ type

NodeType pandora::TiXmlNode::type
protected

Definition at line 763 of file tinyxml.h.

◆ userData

void* pandora::TiXmlBase::userData
protectedinherited

Field containing a generic user pointer.

Definition at line 383 of file tinyxml.h.

◆ utf8ByteTable

const int pandora::TiXmlBase::utf8ByteTable
staticinherited
Initial value:
=
{
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
}

Definition at line 260 of file tinyxml.h.

◆ value

TIXML_STRING pandora::TiXmlNode::value
protected

Definition at line 768 of file tinyxml.h.


The documentation for this class was generated from the following files: