All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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::PXMLElement | ( | PXMLElement * | parent,
|  | const char * | name = `NULL`
| ) |  |

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

## Member Function Documentation

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

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

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

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

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

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

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

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

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

virtual

Implements PXMLObject.

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

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

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

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

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

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

Referenced by GetSubObject().

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

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

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

inline

References column, and lineNumber.

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

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

inline

References name.

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

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

inline

References attributes, and PContainer::GetSize().

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

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

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

inline

References subObjects.

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

inline

References GetElement().

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

inline

References subObjects.

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

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

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

inline

References attributes, and PContainer::GetSize().

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

inline

References subObjects.

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

inline virtual

Implements PXMLObject.

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

virtual

Implements PXMLObject.

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

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.

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

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

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

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

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

inline

References column, and lineNumber.

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

inline

## Member Data Documentation

PStringToString PXMLElement::attributes

protected

Referenced by GetNumAttributes(), and HasAttributes().

unsigned PXMLElement::column

protected

Referenced by GetFilePosition(), and SetFilePosition().

bool PXMLElement::dirty

protected

unsigned PXMLElement::lineNumber

protected

Referenced by GetFilePosition(), and SetFilePosition().

PCaselessString PXMLElement::m_defaultNamespace

protected

PStringToString PXMLElement::m_nameSpaces

protected

PCaselessString PXMLElement::name

protected

Referenced by GetName().

PXMLObjectArray PXMLElement::subObjects

protected

Referenced by GetSize(), GetSubObjects(), and HasSubObjects().

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

- pxml.h