PTLib Version 2.12.9

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
PXML Class Reference

`#include <pxml.h>`

Inheritance diagram for PXML:
[legend]
Collaboration diagram for PXML:
[legend]

## Classes
struct | ValidationContext
struct | ValidationInfo

## Public Types
enum | ValidationOp { EndOfValidationList, DocType, ElementName, RequiredAttribute, RequiredNonEmptyAttribute, RequiredAttributeWithValue, RequiredElement, Subtree, RequiredAttributeWithValueMatching, RequiredElementWithBodyMatching, OptionalElement, OptionalAttribute, OptionalNonEmptyAttribute, OptionalAttributeWithValue, OptionalAttributeWithValueMatching, OptionalElementWithBodyMatching, SetDefaultNamespace, SetNamespace, RequiredAttributeWithValueMatchingEx = RequiredAttributeWithValueMatching + 0x8000, OptionalAttributeWithValueMatchingEx = OptionalAttributeWithValueMatching + 0x8000, RequiredElementWithBodyMatchingEx = RequiredElementWithBodyMatching + 0x8000, OptionalElementWithBodyMatchingEx = OptionalElementWithBodyMatching + 0x8000 }
Public Types inherited from PXMLBase
enum | { DEFAULT_MAX_ENTITY_LENGTH = 4096 }
enum | StandAloneType { UninitialisedStandAlone = -2, UnknownStandAlone = -1, NotStandAlone, IsStandAlone }
Public Types inherited from PObject
enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
| Result of the comparison operation performed by the `Compare()` function. More...

## Public Member Functions
| PXML (Options options=NoOptions, const char *noIndentElements=NULL)
| PXML (const PXML &xml)
| ~PXML ()
bool | IsLoaded () const
bool | IsDirty () const
bool | Load (const PString &data, Options options=NoOptions)
bool | LoadFile (const PFilePath &fn, Options options=NoOptions)
virtual void | OnLoaded ()
bool | Save (Options options=NoOptions)
PString | AsString (Options options=NoOptions)
bool | SaveFile (const PFilePath &fn, Options options=NoOptions)
void | RemoveAll ()
PBoolean | IsNoIndentElement (const PString &elementName) const
PString | AsString () const
void | PrintOn (ostream &strm) const
| Output the contents of the object to the stream. More...
void | ReadFrom (istream &strm)
| Input the contents of the object from the stream. More...
PXMLElement * | GetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
PXMLElement * | GetElement (const PCaselessString &name, PINDEX idx=0) const
PXMLElement * | GetElement (PINDEX idx) const
PINDEX | GetNumElements () const
PXMLElement * | GetRootElement () const
PXMLElement * | SetRootElement (PXMLElement *p)
PXMLElement * | SetRootElement (const PString &documentType)
bool | RemoveElement (PINDEX idx)
PCaselessString | GetDocumentType () const
bool | Validate (const ValidationInfo *validator)
bool | ValidateElements (ValidationContext &context, PXMLElement *baseElement, const ValidationInfo *elements)
bool | ValidateElement (ValidationContext &context, PXMLElement *element, const ValidationInfo *elements)
bool | LoadAndValidate (const PString &body, const PXML::ValidationInfo *validator, PString &error, Options options=NoOptions)
PString | GetErrorString () const
unsigned | GetErrorColumn () const
unsigned | GetErrorLine () const
PString | GetDocType () const
void | SetDocType (const PString &v)
PMutex & | GetMutex ()
Public Member Functions inherited from PXMLBase
| P_DECLARE_BITWISE_ENUM_EX (Options, 6,(NoOptions, Indent, NewLineAfterElement, NoIgnoreWhiteSpace, CloseExtended, WithNS, FragmentOnly), AllOptions=(1<<(6+1))-1)
| PXMLBase (Options opts=NoOptions)
void | SetOptions (Options opts)
Options | GetOptions () const
void | SetMaxEntityLength (unsigned len)
unsigned | GetMaxEntityLength () const
Public Member Functions inherited from PObject
unsigned | GetTraceContextIdentifier () const
| Get PTRACE context identifier. More...
void | SetTraceContextIdentifier (unsigned id)
void | GetTraceContextIdentifier (PObject &obj)
void | GetTraceContextIdentifier (PObject *obj)
void | SetTraceContextIdentifier (const PObject &obj)
void | SetTraceContextIdentifier (const PObject *obj)
virtual | ~PObject ()
virtual PObject * | Clone () const
| Create a copy of the class on the heap. More...
template<class CLS >
CLS * | CloneAs () const
| As for Clone() but converts to specified type. 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...
__inline const PObject * | PTraceObjectInstance () const
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...

## Static Public Member Functions
static PString | CreateStartTag (const PString &text)
static PString | CreateEndTag (const PString &text)
static PString | CreateTagNoData (const PString &text)
static PString | CreateTag (const PString &text, const PString &data)
static PString | EscapeSpecialChars (const PString &string)

## Protected Attributes
PXMLElement * | rootElement
PMutex | rootMutex
bool | loadFromFile
PFilePath | loadFilename
PString | version
PString | encoding
StandAloneType | m_standAlone
PStringStream | m_errorString
unsigned | m_errorLine
unsigned | m_errorColumn
PSortedStringList | noIndentElements
PString | docType
PString | m_defaultNameSpace
Protected Attributes inherited from PXMLBase
Options | m_options
unsigned | m_maxEntityLength
Protected Attributes inherited from PObject
unsigned | m_traceContextIdentifier

## Additional Inherited Members
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...
Friends inherited from PObject

## Member Enumeration Documentation

enum PXML::ValidationOp

Enumerator
EndOfValidationList |
DocType |
ElementName |
RequiredAttribute |
RequiredNonEmptyAttribute |
RequiredAttributeWithValue |
RequiredElement |
Subtree |
RequiredAttributeWithValueMatching |
RequiredElementWithBodyMatching |
OptionalElement |
OptionalAttribute |
OptionalNonEmptyAttribute |
OptionalAttributeWithValue |
OptionalAttributeWithValueMatching |
OptionalElementWithBodyMatching |
SetDefaultNamespace |
SetNamespace |
RequiredAttributeWithValueMatchingEx |
OptionalAttributeWithValueMatchingEx |
RequiredElementWithBodyMatchingEx |
OptionalElementWithBodyMatchingEx |

## Constructor & Destructor Documentation

PXML::PXML | ( | Options | options = `NoOptions`,
|  | const char * | noIndentElements = `NULL`
| ) |  |

PXML::PXML | ( | const PXML & | xml | ) |

PXML::~PXML | ( |  | ) |

## Member Function Documentation

PString PXML::AsString | ( | Options | options = `NoOptions` | ) |

PString PXML::AsString | ( |  | ) | const

static PString PXML::CreateEndTag | ( | const PString & | text | ) |
| static

static PString PXML::CreateStartTag | ( | const PString & | text | ) |
| static

static PString PXML::CreateTag | ( | const PString & | text,
|  | const PString & | data
| ) |  |
| static

static PString PXML::CreateTagNoData | ( | const PString & | text | ) |
| static

static PString PXML::EscapeSpecialChars | ( | const PString & | string | ) |
| static

PString PXML::GetDocType | ( |  | ) | const
| inline

References docType.

PCaselessString PXML::GetDocumentType | ( |  | ) | const

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

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

PXMLElement* PXML::GetElement | ( | PINDEX | idx | ) | const

unsigned PXML::GetErrorColumn | ( |  | ) | const
| inline

References m_errorColumn.

unsigned PXML::GetErrorLine | ( |  | ) | const
| inline

References m_errorLine.

PString PXML::GetErrorString | ( |  | ) | const
| inline

References m_errorString.

PMutex& PXML::GetMutex | ( |  | ) |
| inline

References rootMutex.

PINDEX PXML::GetNumElements | ( |  | ) | const

PXMLElement* PXML::GetRootElement | ( |  | ) | const
| inline

References rootElement.

bool PXML::IsDirty | ( |  | ) | const

bool PXML::IsLoaded | ( |  | ) | const
| inline

References rootElement.

Referenced by PVXMLSession::IsLoaded().

PBoolean PXML::IsNoIndentElement | ( | const PString & | elementName | ) | const
| virtual

Reimplemented from PXMLBase.

bool PXML::Load | ( | const PString & | data,
|  | Options | options = `NoOptions`
| ) |  |

bool PXML::LoadAndValidate | ( | const PString & | body,
|  | const PXML::ValidationInfo * | validator,
|  | PString & | error,
|  | Options | options = `NoOptions`
| ) |  |

bool PXML::LoadFile | ( | const PFilePath & | fn,
|  | Options | options = `NoOptions`
| ) |  |

virtual void PXML::OnLoaded | ( |  | ) |
| inline virtual

void PXML::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.

void PXML::ReadFrom | ( | istream & | strm | ) |
| virtual

Input the contents of the object from the stream.

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

The default behaviour is to do nothing.

Reimplemented from PObject.

void PXML::RemoveAll | ( |  | ) |

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

bool PXML::Save | ( | Options | options = `NoOptions` | ) |

bool PXML::SaveFile | ( | const PFilePath & | fn,
|  | Options | options = `NoOptions`
| ) |  |

void PXML::SetDocType | ( | const PString & | v | ) |
| inline

References docType.

PXMLElement* PXML::SetRootElement | ( | PXMLElement * | p | ) |

PXMLElement* PXML::SetRootElement | ( | const PString & | documentType | ) |

bool PXML::Validate | ( | const ValidationInfo * | validator | ) |

bool PXML::ValidateElement | ( | ValidationContext & | context,
|  | PXMLElement * | element,
|  | const ValidationInfo * | elements
| ) |  |

bool PXML::ValidateElements | ( | ValidationContext & | context,
|  | PXMLElement * | baseElement,
|  | const ValidationInfo * | elements
| ) |  |

## Member Data Documentation

PString PXML::docType
| protected

Referenced by GetDocType(), and SetDocType().

PString PXML::encoding
| protected

PFilePath PXML::loadFilename
| protected

bool PXML::loadFromFile
| protected

PString PXML::m_defaultNameSpace
| protected

unsigned PXML::m_errorColumn
| protected

Referenced by GetErrorColumn().

unsigned PXML::m_errorLine
| protected

Referenced by GetErrorLine().

PStringStream PXML::m_errorString
| protected

Referenced by GetErrorString().

StandAloneType PXML::m_standAlone
| protected

PSortedStringList PXML::noIndentElements
| protected

PXMLElement* PXML::rootElement
| protected

Referenced by GetRootElement(), and IsLoaded().

PMutex PXML::rootMutex
| protected

Referenced by GetMutex().

PString PXML::version
| protected

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

- pxml.h