openEmbroider  0.1
an open source embroidery software
 All Classes Functions Enumerations
Public Member Functions | Protected Member Functions | List of all members
TiXmlDocument Class Reference

#include <tinyxml.h>

Inheritance diagram for TiXmlDocument:
Inheritance graph
[legend]
Collaboration diagram for TiXmlDocument:
Collaboration graph
[legend]

Public Member Functions

 TiXmlDocument (const char *documentName)
 
bool LoadFile ()
 
bool SaveFile () const
 
bool LoadFile (const char *filename)
 
bool SaveFile (const char *filename) const
 
virtual const char * Parse (const char *p, TiXmlParsingData *data=0)
 
TiXmlElementRootElement () const
 
bool Error () const
 
const char * ErrorDesc () const
 
const int ErrorId () const
 
int ErrorRow ()
 
int ErrorCol ()
 The column where the error occured. See ErrorRow()
 
void SetTabSize (int _tabsize)
 
int TabSize () const
 
void ClearError ()
 
void Print () const
 
virtual void Print (FILE *cfile, int depth=0) const
 
void SetError (int err, const char *errorLocation, TiXmlParsingData *prevData)
 
- Public Member Functions inherited from TiXmlNode
const char * Value () const
 
void SetValue (const char *_value)
 
void Clear ()
 
TiXmlNodeParent () const
 
TiXmlNodeFirstChild () const
 The first child of this node. Will be null if there are no children.
 
TiXmlNodeFirstChild (const char *value) const
 The first child of this node with the matching 'value'. Will be null if none found.
 
TiXmlNodeLastChild () const
 
TiXmlNodeLastChild (const char *value) const
 
TiXmlNodeIterateChildren (TiXmlNode *previous) const
 
TiXmlNodeIterateChildren (const char *value, TiXmlNode *previous) const
 
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)
 
TiXmlNodePreviousSibling () const
 
TiXmlNodePreviousSibling (const char *) const
 
TiXmlNodeNextSibling () const
 
TiXmlNodeNextSibling (const char *) const
 
TiXmlElementNextSiblingElement () const
 
TiXmlElementNextSiblingElement (const char *) const
 
TiXmlElementFirstChildElement () const
 
TiXmlElementFirstChildElement (const char *value) const
 
virtual int Type () const
 
TiXmlDocumentGetDocument () const
 
bool NoChildren () const
 
TiXmlDocumentToDocument () const
 Cast to a more defined type. Will return null not of the requested type.
 
TiXmlElementToElement () const
 Cast to a more defined type. Will return null not of the requested type.
 
TiXmlCommentToComment () const
 Cast to a more defined type. Will return null not of the requested type.
 
TiXmlUnknownToUnknown () const
 Cast to a more defined type. Will return null not of the requested type.
 
TiXmlTextToText () const
 Cast to a more defined type. Will return null not of the requested type.
 
TiXmlDeclarationToDeclaration () const
 Cast to a more defined type. Will return null not of the requested type.
 
void SetUserData (void *user)
 
void * GetUserData ()
 
- Public Member Functions inherited from TiXmlBase
int Row () const
 
int Column () const
 See Row()
 

Protected Member Functions

virtual void StreamOut (TIXML_OSTREAM *out) const
 
virtual TiXmlNodeClone () const
 
- Protected Member Functions inherited from TiXmlNode
 TiXmlNode (NodeType type)
 
TiXmlNodeIdentify (const char *start)
 
void CopyToClone (TiXmlNode *target) const
 
TIXML_STRING SValue () const
 

Additional Inherited Members

- Public Types inherited from TiXmlNode
enum  NodeType {
  DOCUMENT, ELEMENT, COMMENT, UNKNOWN,
  TEXT, DECLARATION, TYPECOUNT
}
 
- Static Public Member Functions inherited from TiXmlBase
static void SetCondenseWhiteSpace (bool condense)
 
static bool IsWhiteSpaceCondensed ()
 
- Protected Types inherited from TiXmlBase
enum  {
  TIXML_NO_ERROR = 0, TIXML_ERROR, TIXML_ERROR_OPENING_FILE, TIXML_ERROR_OUT_OF_MEMORY,
  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_STRING_COUNT
}
 
- Static Protected Member Functions inherited from TiXmlBase
static const char * SkipWhiteSpace (const char *)
 
static bool IsWhiteSpace (int c)
 
static const char * ReadName (const char *p, TIXML_STRING *name)
 
static const char * ReadText (const char *in, TIXML_STRING *text, bool ignoreWhiteSpace, const char *endTag, bool ignoreCase)
 
static const char * GetEntity (const char *in, char *value)
 
static const char * GetChar (const char *p, char *_value)
 
static void PutString (const TIXML_STRING &str, TIXML_OSTREAM *out)
 
static void PutString (const TIXML_STRING &str, TIXML_STRING *out)
 
static bool StringEqual (const char *p, const char *endTag, bool ignoreCase)
 
- Protected Attributes inherited from TiXmlNode
TiXmlNodeparent
 
NodeType type
 
TiXmlNodefirstChild
 
TiXmlNodelastChild
 
TIXML_STRING value
 
TiXmlNodeprev
 
TiXmlNodenext
 
void * userData
 
- Protected Attributes inherited from TiXmlBase
TiXmlCursor location
 
- Static Protected Attributes inherited from TiXmlBase
static const char * errorString [TIXML_ERROR_STRING_COUNT]
 

Detailed Description

Always the top level node. A document binds together all the XML pieces. It can be saved, loaded, and printed to the screen. The 'value' of a document node is the xml file name.

Member Function Documentation

void TiXmlDocument::ClearError ( )
inline

If you have handled the error, it can be reset with this call. The error state is automatically cleared if you Parse a new XML block.

bool TiXmlDocument::Error ( ) const
inline

If an error occurs, Error will be set to true. Also,

  • The ErrorId() will contain the integer identifier of the error (not generally useful)
  • The ErrorDesc() method will return the name of the error. (very useful)
  • The ErrorRow() and ErrorCol() will return the location of the error (if known)
const int TiXmlDocument::ErrorId ( ) const
inline

Generally, you probably want the error string ( ErrorDesc() ). But if you prefer the ErrorId, this function will fetch it.

int TiXmlDocument::ErrorRow ( )
inline

Returns the location (if known) of the error. The first column is column 1, and the first row is row 1. A value of 0 means the row and column wasn't applicable (memory errors, for example, have no row/column) or the parser lost the error. (An error in the error reporting, in that case.)

See also
SetTabSize, Row, Column
bool TiXmlDocument::LoadFile ( )

Load a file using the current document value. Returns true if successful. Will delete any existing document data before loading.

const char * TiXmlDocument::Parse ( const char *  p,
TiXmlParsingData data = 0 
)
virtual

Parse the given null terminated block of xml data.

Implements TiXmlBase.

void TiXmlDocument::Print ( ) const
inline

Dump the document to standard out.

void TiXmlDocument::Print ( FILE *  cfile,
int  depth = 0 
) const
virtual

All TinyXml classes can print themselves to a filestream. This is a formatted print, and will insert tabs and newlines.

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

Implements TiXmlBase.

TiXmlElement* TiXmlDocument::RootElement ( ) const
inline

Get the root element – the only top level element – of the document. In well formed XML, there should only be one. TinyXml is tolerant of multiple elements at the document level.

void TiXmlDocument::SetTabSize ( int  _tabsize)
inline

By calling this method, with a tab size greater than 0, the row and column of each node and attribute is stored when the file is loaded. Very useful for tracking the DOM back in to the source file.

The tab size is required for calculating the location of nodes. If not set, the default of 4 is used. The tabsize is set per document. Setting the tabsize to 0 disables row/column tracking.

Note that row and column tracking is not supported when using operator>>.

The tab size needs to be enabled before the parse or load. Correct usage:

TiXmlDocument doc;
doc.SetTabSize( 8 );
doc.Load( "myfile.xml" );
See also
Row, Column

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