PXMLElement Class Reference

`#include <pxml.h>`

Inheritance diagram for PXMLElement:

## Public Member Functions

| PXMLElement (PXMLElement *parent, const char *name=NULL)
| PXMLElement (PXMLElement *parent, const PString &name, const PString &data)
PBoolean | IsElement () const
void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
void | Output (ostream &strm, const PXMLBase &xml, int indent) const
PCaselessString | GetName () const
PCaselessString | GetPathName () const
| Get the completely qualified name for the element inside the XML tree, for example "root:trunk:branch:subbranch:leaf". More...
void | SetName (const PString &v)
PINDEX | GetSize () const
PXMLObject * | AddSubObject (PXMLObject *elem, bool dirty=true)
PXMLElement * | AddChild (PXMLElement *elem, bool dirty=true)
PXMLData * | AddChild (PXMLData *elem, bool dirty=true)
PXMLElement * | AddElement (const char *name)
PXMLElement * | AddElement (const PString &name, const PString &data)
PXMLElement * | AddElement (const PString &name, const PString &attrName, const PString &attrVal)
void | SetAttribute (const PCaselessString &key, const PString &value, bool setDirty=true)
PString | GetAttribute (const PCaselessString &key) const
PString | GetKeyAttribute (PINDEX idx) const
PString | GetDataAttribute (PINDEX idx) const
bool | HasAttribute (const PCaselessString &key) const
bool | HasAttributes () const
PINDEX | GetNumAttributes () const
PXMLElement * | GetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
PXMLElement * | GetElement (const PCaselessString &name, PINDEX idx=0) const
PXMLObject * | GetElement (PINDEX idx=0) const
bool | RemoveElement (PINDEX idx)
PINDEX | FindObject (const PXMLObject *ptr) const
bool | HasSubObjects () const
PXMLObjectArray | GetSubObjects () const
PXMLObject * | GetSubObject (PINDEX idx=0) const
PString | GetData () const
void | SetData (const PString &data)
void | AddData (const PString &data)
PXMLObject * | Clone (PXMLElement *parent) const
void | GetFilePosition (unsigned &col, unsigned &line) const
void | SetFilePosition (unsigned col, unsigned line)
void | AddNamespace (const PString &prefix, const PString &uri)
void | RemoveNamespace (const PString &prefix)
bool | GetDefaultNamespace (PCaselessString &str) const
bool | GetNamespace (const PCaselessString &prefix, PCaselessString &str) const
PCaselessString | PrependNamespace (const PCaselessString &name) const
bool | GetURIForNamespace (const PCaselessString &prefix, PCaselessString &uri)
Public Member Functions inherited from PXMLObject
| PXMLObject (PXMLElement *par)
PXMLElement * | GetParent () const
PXMLObject * | GetNextObject () const
void | SetParent (PXMLElement *newParent)
PString | AsString () const
void | SetDirty ()
bool | IsDirty () const
Public Member Functions inherited from PObject
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
virtual PINDEX | HashFunction () const
| This function yields a hash value required by the `PDictionary` class. More...
virtual const char * | GetClass (unsigned ancestor=0) const
| Get the current dynamic type of the object instance. More...
PBoolean | IsClass (const char *cls) const
virtual PBoolean | InternalIsDescendant (const char *clsName) const
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
virtual Comparison | Compare (const PObject &obj) const
| Compare the two objects and return their relative rank. More...
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const
| Determine the byte wise comparison of two objects. More...
bool | operator== (const PObject &obj) const
| Compare the two objects. More...
bool | operator!= (const PObject &obj) const
| Compare the two objects. More...
bool | operator< (const PObject &obj) const
| Compare the two objects. More...
bool | operator> (const PObject &obj) const
| Compare the two objects. More...
bool | operator<= (const PObject &obj) const
| Compare the two objects. More...
bool | operator>= (const PObject &obj) const
| Compare the two objects. More...
virtual void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...

## Protected Attributes

PCaselessString | name
PStringToString | attributes
PXMLObjectArray | subObjects
bool | dirty
unsigned | column
unsigned | lineNumber
PStringToString | m_nameSpaces
PCaselessString | m_defaultNamespace
Protected Attributes inherited from PXMLObject
PXMLElement * | parent
bool | dirty

## Additional Inherited Members

Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...
Static Public Member Functions inherited from PObject
static const char * | Class ()
| Get the name of the class as a C string. More...
static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
| Internal function caled from CompareObjectMemoryDirect() More...
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## Constructor & Destructor Documentation

## PXMLElement() [1/2]

PXMLElement::PXMLElement | ( | PXMLElement * | parent,
|  | const char * | name = `NULL`
| ) |  |

## PXMLElement() [2/2]

PXMLElement::PXMLElement | ( | PXMLElement * | parent,
|  | const PString & | name,
|  | const PString & | data
| ) |  |

## Member Function Documentation

## AddChild() [1/2]

PXMLElement* PXMLElement::AddChild | ( | PXMLElement * | elem,
|  | bool | dirty = `true`
| ) |  |

## AddChild() [2/2]

PXMLData* PXMLElement::AddChild | ( | PXMLData * | elem,
|  | bool | dirty = `true`
| ) |  |

## AddData()

void PXMLElement::AddData | ( | const PString & | data | ) |

## AddElement() [1/3]

PXMLElement* PXMLElement::AddElement | ( | const char * | name | ) |

## AddElement() [2/3]

PXMLElement* PXMLElement::AddElement | ( | const PString & | name,
|  | const PString & | data
| ) |  |

## AddElement() [3/3]

PXMLElement* PXMLElement::AddElement | ( | const PString & | name,
|  | const PString & | attrName,
|  | const PString & | attrVal
| ) |  |

## AddNamespace()

void PXMLElement::AddNamespace | ( | const PString & | prefix,
|  | const PString & | uri
| ) |  |

## AddSubObject()

PXMLObject* PXMLElement::AddSubObject | ( | PXMLObject * | elem,
|  | bool | dirty = `true`
| ) |  |

## Clone()

PXMLObject* PXMLElement::Clone | ( | PXMLElement * | parent | ) | const

virtual

Implements PXMLObject.

## FindObject()

PINDEX PXMLElement::FindObject | ( | const PXMLObject * | ptr | ) | const

## GetAttribute()

PString PXMLElement::GetAttribute | ( | const PCaselessString & | key | ) | const

## GetData()

PString PXMLElement::GetData | ( |  | ) | const

## GetDataAttribute()

PString PXMLElement::GetDataAttribute | ( | PINDEX | idx | ) | const

## GetDefaultNamespace()

bool PXMLElement::GetDefaultNamespace | ( | PCaselessString & | str | ) | const

## GetElement() [1/3]

PXMLElement* PXMLElement::GetElement | ( | const PCaselessString & | name,
|  | const PCaselessString & | attr,
|  | const PString & | attrval
| ) |  | const

## GetElement() [2/3]

PXMLElement* PXMLElement::GetElement | ( | const PCaselessString & | name,
|  | PINDEX | idx = `0`
| ) |  | const

## GetElement() [3/3]

PXMLObject* PXMLElement::GetElement | ( | PINDEX | idx = `0` | ) | const

## GetFilePosition()

void PXMLElement::GetFilePosition | ( | unsigned & | col,
|  | unsigned & | line
| ) |  | const

inline

## GetKeyAttribute()

PString PXMLElement::GetKeyAttribute | ( | PINDEX | idx | ) | const

## GetName()

PCaselessString PXMLElement::GetName | ( |  | ) | const

inline

## GetNamespace()

bool PXMLElement::GetNamespace | ( | const PCaselessString & | prefix,
|  | PCaselessString & | str
| ) |  | const

## GetNumAttributes()

PINDEX PXMLElement::GetNumAttributes | ( |  | ) | const

inline

References PXML::GetElement(), and PXML::RemoveElement().

## GetPathName()

PCaselessString PXMLElement::GetPathName | ( |  | ) | const

Get the completely qualified name for the element inside the XML tree, for example "root:trunk:branch:subbranch:leaf".

## GetSize()

PINDEX PXMLElement::GetSize | ( |  | ) | const

inline

## GetSubObject()

PXMLObject* PXMLElement::GetSubObject | ( | PINDEX | idx = `0` | ) | const

inline

References PObject::Clone(), and PXML::GetElement().

## GetSubObjects()

PXMLObjectArray PXMLElement::GetSubObjects | ( |  | ) | const

inline

## GetURIForNamespace()

bool PXMLElement::GetURIForNamespace | ( | const PCaselessString & | prefix,
|  | PCaselessString & | uri
| ) |  |

## HasAttribute()

bool PXMLElement::HasAttribute | ( | const PCaselessString & | key | ) | const

## HasAttributes()

bool PXMLElement::HasAttributes | ( |  | ) | const

inline

## HasSubObjects()

bool PXMLElement::HasSubObjects | ( |  | ) | const

inline

## IsElement()

PBoolean PXMLElement::IsElement | ( |  | ) | const

inline virtual

Implements PXMLObject.

References PXML::PrintOn().

## Output()

void PXMLElement::Output | ( | ostream & | strm,
|  | const PXMLBase & | xml,
|  | int | indent
| ) |  | const

virtual

Implements PXMLObject.

## PrependNamespace()

PCaselessString PXMLElement::PrependNamespace | ( | const PCaselessString & | name | ) | const

## PrintOn()

void PXMLElement::PrintOn | ( | ostream & | strm | ) | const

virtual

Output the contents of the object to the stream.

The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard `operator<<` function.

The default behaviour is to print the class name.

Reimplemented from PObject.

## RemoveElement()

bool PXMLElement::RemoveElement | ( | PINDEX | idx | ) |

## RemoveNamespace()

void PXMLElement::RemoveNamespace | ( | const PString & | prefix | ) |

## SetAttribute()

void PXMLElement::SetAttribute | ( | const PCaselessString & | key,
|  | const PString & | value,
|  | bool | setDirty = `true`
| ) |  |

## SetData()

void PXMLElement::SetData | ( | const PString & | data | ) |

## SetFilePosition()

void PXMLElement::SetFilePosition | ( | unsigned | col,
|  | unsigned | line
| ) |  |

inline

## SetName()

void PXMLElement::SetName | ( | const PString & | v | ) |

inline

## Member Data Documentation

## attributes

PStringToString PXMLElement::attributes

protected

## column

unsigned PXMLElement::column

protected

## dirty

bool PXMLElement::dirty

protected

## lineNumber

unsigned PXMLElement::lineNumber

protected

## m_defaultNamespace

PCaselessString PXMLElement::m_defaultNamespace

protected

## m_nameSpaces

PStringToString PXMLElement::m_nameSpaces

protected

## name

PCaselessString PXMLElement::name

protected

## subObjects

PXMLObjectArray PXMLElement::subObjects

protected

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

- pxml.h