TiXmlElement Class Reference

#include <tinyxml.h>

Inherits TiXmlNode.

Inheritance diagram for TiXmlElement:

Inheritance graph
[legend]
Collaboration diagram for TiXmlElement:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TiXmlElement (const char *in_value)
 Construct an element.
 TiXmlElement (const std::string &_value)
 std::string constructor.
 TiXmlElement (const TiXmlElement &)
void operator= (const TiXmlElement &base)
virtual ~TiXmlElement ()
const char * Attribute (const char *name) const
const char * Attribute (const char *name, int *i) const
const char * Attribute (const char *name, double *d) const
int QueryIntAttribute (const char *name, int *_value) const
int QueryDoubleAttribute (const char *name, double *_value) const
 QueryDoubleAttribute examines the attribute - see QueryIntAttribute().
int QueryFloatAttribute (const char *name, float *_value) const
 QueryFloatAttribute examines the attribute - see QueryIntAttribute().
void SetAttribute (const char *name, const char *_value)
const char * Attribute (const std::string &name) const
const char * Attribute (const std::string &name, int *i) const
const char * Attribute (const std::string &name, double *d) const
int QueryIntAttribute (const std::string &name, int *_value) const
int QueryDoubleAttribute (const std::string &name, double *_value) const
void SetAttribute (const std::string &name, const std::string &_value)
 STL std::string form. STL std::string form.
void SetAttribute (const std::string &name, int _value)
void SetAttribute (const char *name, int value)
void SetDoubleAttribute (const char *name, double value)
void RemoveAttribute (const char *name)
void RemoveAttribute (const std::string &name)
 STL std::string form.
const TiXmlAttributeFirstAttribute () const
 Access the first attribute in this element.
TiXmlAttributeFirstAttribute ()
const TiXmlAttributeLastAttribute () const
 Access the last attribute in this element.
TiXmlAttributeLastAttribute ()
const char * GetText () const
virtual TiXmlNodeClone () const
 Creates a new Element and returns it - the returned element is a copy.
virtual void Print (FILE *cfile, int depth) const
virtual const char * Parse (const char *p, TiXmlParsingData *data, TiXmlEncoding encoding)

Protected Member Functions

void CopyTo (TiXmlElement *target) const
void ClearThis ()
virtual void StreamIn (TIXML_ISTREAM *in, TIXML_STRING *tag)
virtual void StreamOut (TIXML_OSTREAM *out) const
const char * ReadValue (const char *in, TiXmlParsingData *prevData, TiXmlEncoding encoding)

Private Attributes

TiXmlAttributeSet attributeSet

Detailed Description

The element is a container class. It has a value, the element name, and can contain other elements, text, comments, and unknowns. Elements also contain an arbitrary number of attributes.

Definition at line 846 of file tinyxml.h.


Constructor & Destructor Documentation

TiXmlElement::TiXmlElement const char *  in_value  ) 
 

Construct an element.

Definition at line 611 of file tinyxml.cpp.

References TiXmlNode::firstChild, TiXmlNode::lastChild, and TiXmlNode::value.

Referenced by Clone().

TiXmlElement::TiXmlElement const std::string &  _value  ) 
 

std::string constructor.

Definition at line 620 of file tinyxml.cpp.

References TiXmlNode::firstChild, TiXmlNode::lastChild, and TiXmlNode::value.

TiXmlElement::TiXmlElement const TiXmlElement  ) 
 

Definition at line 629 of file tinyxml.cpp.

References CopyTo(), TiXmlNode::firstChild, and TiXmlNode::lastChild.

Here is the call graph for this function:

TiXmlElement::~TiXmlElement  )  [virtual]
 

Definition at line 644 of file tinyxml.cpp.

References ClearThis().

Here is the call graph for this function:


Member Function Documentation

const char* TiXmlElement::Attribute const std::string &  name,
double *  d
const [inline]
 

Definition at line 912 of file tinyxml.h.

const char* TiXmlElement::Attribute const std::string &  name,
int *  i
const [inline]
 

Definition at line 911 of file tinyxml.h.

const char* TiXmlElement::Attribute const std::string &  name  )  const [inline]
 

Definition at line 910 of file tinyxml.h.

const char * TiXmlElement::Attribute const char *  name,
double *  d
const
 

Given an attribute name, Attribute() returns the value for the attribute of that name, or null if none exists. If the attribute exists and can be converted to an double, the double value will be put in the return 'd', if 'd' is non-null.

Definition at line 687 of file tinyxml.cpp.

References Attribute().

Here is the call graph for this function:

const char * TiXmlElement::Attribute const char *  name,
int *  i
const
 

Given an attribute name, Attribute() returns the value for the attribute of that name, or null if none exists. If the attribute exists and can be converted to an integer, the integer value will be put in the return 'i', if 'i' is non-null.

Definition at line 673 of file tinyxml.cpp.

References Attribute().

Here is the call graph for this function:

const char * TiXmlElement::Attribute const char *  name  )  const
 

Given an attribute name, Attribute() returns the value for the attribute of that name, or null if none exists.

Definition at line 662 of file tinyxml.cpp.

References attributeSet, TiXmlAttributeSet::Find(), and TiXmlAttribute::Value().

Referenced by Attribute(), Translator::loadFile(), MusicManager::loadList(), Settings::loadSettings(), and Settings::saveSettings().

Here is the call graph for this function:

void TiXmlElement::ClearThis  )  [protected]
 

Definition at line 650 of file tinyxml.cpp.

References attributeSet, TiXmlNode::Clear(), TiXmlAttributeSet::First(), and TiXmlAttributeSet::Remove().

Referenced by operator=(), and ~TiXmlElement().

Here is the call graph for this function:

TiXmlNode * TiXmlElement::Clone  )  const [virtual]
 

Creates a new Element and returns it - the returned element is a copy.

Implements TiXmlNode.

Definition at line 871 of file tinyxml.cpp.

References CopyTo(), TiXmlElement(), and TiXmlNode::Value().

Here is the call graph for this function:

void TiXmlElement::CopyTo TiXmlElement target  )  const [protected]
 

Definition at line 848 of file tinyxml.cpp.

References attributeSet, TiXmlNode::Clone(), TiXmlNode::CopyTo(), TiXmlAttributeSet::First(), TiXmlNode::firstChild, TiXmlNode::LinkEndChild(), TiXmlAttribute::Name(), TiXmlAttribute::Next(), TiXmlNode::NextSibling(), SetAttribute(), and TiXmlAttribute::Value().

Referenced by Clone(), operator=(), and TiXmlElement().

Here is the call graph for this function:

TiXmlAttribute* TiXmlElement::FirstAttribute  )  [inline]
 

Definition at line 951 of file tinyxml.h.

const TiXmlAttribute* TiXmlElement::FirstAttribute  )  const [inline]
 

Access the first attribute in this element.

Definition at line 950 of file tinyxml.h.

const char * TiXmlElement::GetText  )  const
 

Convenience function for easy access to the text inside an element. Although easy and concise, GetText() is limited compared to getting the TiXmlText child and accessing it directly.

If the first child of 'this' is a TiXmlText, the GetText() returns the character string of the Text node, else null is returned.

This is a convenient method for getting the text of simple contained text:

		<foo>This is text</foo>
		const char* str = fooElement->GetText();
		

'str' will be a pointer to "This is text".

Note that this function can be misleading. If the element foo was created from this XML:

		<foo><b>This is text</b></foo> 
		

then the value of str would be null. The first child node isn't a text node, it is another element. From this XML:

		<foo>This is <b>text</b></foo> 
		
GetText() will return "This is ".

WARNING: GetText() accesses a child node - don't become confused with the similarly named TiXmlHandle::Text() and TiXmlNode::ToText() which are safe type casts on the referenced node.

Definition at line 882 of file tinyxml.cpp.

References TiXmlNode::FirstChild(), TiXmlNode::ToText(), and TiXmlNode::Value().

Here is the call graph for this function:

TiXmlAttribute* TiXmlElement::LastAttribute  )  [inline]
 

Definition at line 953 of file tinyxml.h.

const TiXmlAttribute* TiXmlElement::LastAttribute  )  const [inline]
 

Access the last attribute in this element.

Definition at line 952 of file tinyxml.h.

void TiXmlElement::operator= const TiXmlElement base  ) 
 

Definition at line 637 of file tinyxml.cpp.

References ClearThis(), and CopyTo().

Here is the call graph for this function:

const char * TiXmlElement::Parse const char *  p,
TiXmlParsingData data,
TiXmlEncoding  encoding
[virtual]
 

Implements TiXmlBase.

Definition at line 1014 of file tinyxmlparser.cpp.

References TiXmlAttributeSet::Add(), attributeSet, TiXmlParsingData::Cursor(), TiXmlAttributeSet::Find(), TiXmlNode::GetDocument(), TiXmlBase::location, TiXmlAttribute::Name(), TiXmlAttribute::Parse(), TiXmlBase::ReadName(), ReadValue(), TiXmlAttribute::SetDocument(), TiXmlDocument::SetError(), TiXmlAttribute::SetValue(), TiXmlBase::SkipWhiteSpace(), TiXmlParsingData::Stamp(), TiXmlBase::StringEqual(), TiXmlBase::TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, TiXmlBase::TIXML_ERROR_OUT_OF_MEMORY, TiXmlBase::TIXML_ERROR_PARSING_ELEMENT, TiXmlBase::TIXML_ERROR_PARSING_EMPTY, TiXmlBase::TIXML_ERROR_READING_ATTRIBUTES, TiXmlBase::TIXML_ERROR_READING_END_TAG, TIXML_STRING, and TiXmlAttribute::Value().

Here is the call graph for this function:

void TiXmlElement::Print FILE *  cfile,
int  depth
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.

Definition at line 766 of file tinyxml.cpp.

References attributeSet, TiXmlAttributeSet::First(), TiXmlAttribute::Next(), and TiXmlNode::value.

Here is the call graph for this function:

int TiXmlElement::QueryDoubleAttribute const std::string &  name,
double *  _value
const [inline]
 

Definition at line 914 of file tinyxml.h.

int TiXmlElement::QueryDoubleAttribute const char *  name,
double *  _value
const
 

QueryDoubleAttribute examines the attribute - see QueryIntAttribute().

Definition at line 711 of file tinyxml.cpp.

References attributeSet, TiXmlAttributeSet::Find(), TiXmlAttribute::QueryDoubleValue(), and TIXML_NO_ATTRIBUTE.

Here is the call graph for this function:

int TiXmlElement::QueryFloatAttribute const char *  name,
float *  _value
const [inline]
 

QueryFloatAttribute examines the attribute - see QueryIntAttribute().

Definition at line 895 of file tinyxml.h.

References TIXML_SUCCESS.

int TiXmlElement::QueryIntAttribute const std::string &  name,
int *  _value
const [inline]
 

Definition at line 913 of file tinyxml.h.

int TiXmlElement::QueryIntAttribute const char *  name,
int *  _value
const
 

QueryIntAttribute examines the attribute - it is an alternative to the Attribute() method with richer error checking. If the attribute is an integer, it is stored in 'value' and the call returns TIXML_SUCCESS. If it is not an integer, it returns TIXML_WRONG_TYPE. If the attribute does not exist, then TIXML_NO_ATTRIBUTE is returned.

Definition at line 701 of file tinyxml.cpp.

References attributeSet, TiXmlAttributeSet::Find(), TiXmlAttribute::QueryIntValue(), and TIXML_NO_ATTRIBUTE.

Here is the call graph for this function:

const char * TiXmlElement::ReadValue const char *  in,
TiXmlParsingData prevData,
TiXmlEncoding  encoding
[protected]
 

Definition at line 1134 of file tinyxmlparser.cpp.

References TiXmlText::Blank(), TiXmlNode::GetDocument(), TiXmlNode::Identify(), TiXmlBase::IsWhiteSpaceCondensed(), TiXmlNode::LinkEndChild(), TiXmlBase::Parse(), TiXmlText::Parse(), TiXmlBase::SkipWhiteSpace(), TiXmlBase::StringEqual(), TiXmlBase::TIXML_ERROR_OUT_OF_MEMORY, and TiXmlBase::TIXML_ERROR_READING_ELEMENT_VALUE.

Referenced by Parse().

Here is the call graph for this function:

void TiXmlElement::RemoveAttribute const std::string &  name  )  [inline]
 

STL std::string form.

Definition at line 947 of file tinyxml.h.

void TiXmlElement::RemoveAttribute const char *  name  ) 
 

Deletes an attribute with the given name.

Definition at line 464 of file tinyxml.cpp.

References attributeSet, TiXmlAttributeSet::Find(), and TiXmlAttributeSet::Remove().

Here is the call graph for this function:

void TiXmlElement::SetAttribute const char *  name,
int  value
 

Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does.

Definition at line 721 of file tinyxml.cpp.

References SetAttribute().

Here is the call graph for this function:

void TiXmlElement::SetAttribute const std::string &  name,
int  _value
[inline]
 

Definition at line 925 of file tinyxml.h.

void TiXmlElement::SetAttribute const std::string &  name,
const std::string &  _value
[inline]
 

STL std::string form. STL std::string form.

Definition at line 917 of file tinyxml.h.

void TiXmlElement::SetAttribute const char *  name,
const char *  _value
 

Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does.

Definition at line 745 of file tinyxml.cpp.

References TiXmlAttributeSet::Add(), attributeSet, TiXmlAttributeSet::Find(), TiXmlNode::GetDocument(), TiXmlDocument::SetError(), TiXmlAttribute::SetValue(), TIXML_ENCODING_UNKNOWN, and TiXmlBase::TIXML_ERROR_OUT_OF_MEMORY.

Referenced by CopyTo(), main(), SetAttribute(), and SetDoubleAttribute().

Here is the call graph for this function:

void TiXmlElement::SetDoubleAttribute const char *  name,
double  value
 

Sets an attribute of name to a given value. The attribute will be created if it does not exist, or changed if it does.

Definition at line 733 of file tinyxml.cpp.

References SetAttribute().

Here is the call graph for this function:

void TiXmlElement::StreamIn TIXML_ISTREAM *  in,
TIXML_STRING *  tag
[protected, virtual]
 

Implements TiXmlNode.

Definition at line 886 of file tinyxmlparser.cpp.

References TiXmlNode::GetDocument(), TiXmlDocument::SetError(), TIXML_ENCODING_UNKNOWN, and TiXmlBase::TIXML_ERROR_EMBEDDED_NULL.

Here is the call graph for this function:

void TiXmlElement::StreamOut TIXML_OSTREAM *  out  )  const [protected, virtual]
 

Implements TiXmlBase.

Definition at line 817 of file tinyxml.cpp.

References TiXmlAttribute::Next(), and TiXmlAttribute::StreamOut().

Here is the call graph for this function:


Member Data Documentation

TiXmlAttributeSet TiXmlElement::attributeSet [private]
 

Definition at line 1018 of file tinyxml.h.

Referenced by Attribute(), ClearThis(), CopyTo(), Parse(), Print(), QueryDoubleAttribute(), QueryIntAttribute(), RemoveAttribute(), and SetAttribute().


The documentation for this class was generated from the following files:
Generated on Wed Apr 12 14:40:11 2006 for bjs by  doxygen 1.4.5