PXML Class Reference

`#include <pxml.h>`

Inheritance diagram for PXML:

## 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 | Options { NoOptions = 0x0000, Indent = 0x0001, NewLineAfterElement = 0x0002, NoIgnoreWhiteSpace = 0x0004, CloseExtended = 0x0008, WithNS = 0x0010, FragmentOnly = 0x0020, AllOptions = 0xffff }
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 (int options=NoOptions, const char *noIndentElements=NULL)
| PXML (const PString &data, int 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)
bool | Save (PString &data, 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, int 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
| PXMLBase (int opts=NoOptions)
void | SetOptions (int opts)
int | GetOptions () const
void | SetMaxEntityLength (unsigned len)
unsigned | GetMaxEntityLength () 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...

## 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)
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

void | Construct (int options, const char *noIndentElements)
Protected Member Functions inherited from PObject
| PObject ()
| Constructor for PObject, made protected so cannot ever create one on its own. More...

## 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
int | m_options
unsigned | m_maxEntityLength

## 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 | ( | int | options = `NoOptions`,
|  | const char * | noIndentElements = `NULL`
| ) |  |

PXML::PXML | ( | const PString & | data,
|  | int | options = `NoOptions`,
|  | const char * | noIndentElements = `NULL`
| ) |  |

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

PXML::~PXML | ( |  | ) |

## Member Function Documentation

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

void PXML::Construct | ( | int | options,
|  | const char * | noIndentElements
| ) |  |

protected

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,
|  | int | 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::Save | ( | PString & | data,
|  | 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