PTLib  Version 2.10.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PXMLElement Class Reference

#include <pxml.h>

Inheritance diagram for PXMLElement:
PXMLObject PObject

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.
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".
void SetName (const PString &v)
PINDEX GetSize () const
PXMLObjectAddSubObject (PXMLObject *elem, bool dirty=true)
PXMLElementAddChild (PXMLElement *elem, bool dirty=true)
PXMLDataAddChild (PXMLData *elem, bool dirty=true)
PXMLElementAddElement (const char *name)
PXMLElementAddElement (const PString &name, const PString &data)
PXMLElementAddElement (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
PXMLElementGetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
PXMLElementGetElement (const PCaselessString &name, PINDEX idx=0) const
PXMLObjectGetElement (PINDEX idx=0) const
bool RemoveElement (PINDEX idx)
PINDEX FindObject (const PXMLObject *ptr) const
bool HasSubObjects () const
PXMLObjectArray GetSubObjects () const
PXMLObjectGetSubObject (PINDEX idx=0) const
PString GetData () const
void SetData (const PString &data)
void AddData (const PString &data)
PXMLObjectClone (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)
PXMLElementGetParent () const
PXMLObjectGetNextObject () const
void SetParent (PXMLElement *newParent)
PString AsString () const
void SetDirty ()
bool IsDirty () const
- Public Member Functions inherited from PObject
virtual ~PObject ()
virtual PObjectClone () const
 Create a copy of the class on the heap.
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class.
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance.
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.
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank.
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects.
bool operator== (const PObject &obj) const
 Compare the two objects.
bool operator!= (const PObject &obj) const
 Compare the two objects.
bool operator< (const PObject &obj) const
 Compare the two objects.
bool operator> (const PObject &obj) const
 Compare the two objects.
bool operator<= (const PObject &obj) const
 Compare the two objects.
bool operator>= (const PObject &obj) const
 Compare the two objects.
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream.

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
PXMLElementparent
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.
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect()
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own.
- Friends inherited from PObject

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
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
bool PXMLElement::HasSubObjects ( ) const
inline

References subObjects.

PBoolean PXMLElement::IsElement ( ) const
inlinevirtual

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

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