PTLib  Version 2.10.11
PXML Class Reference

#include <pxml.h>

Inheritance diagram for PXML:
PXMLBase PObject PSOAPMessage PXML_HTTP PXMLRPCBlock PXMLSettings XMPP::Stanza XMPP::IQ XMPP::Message XMPP::Presence

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...
 
PXMLElementGetElement (const PCaselessString &name, const PCaselessString &attr, const PString &attrval) const
 
PXMLElementGetElement (const PCaselessString &name, PINDEX idx=0) const
 
PXMLElementGetElement (PINDEX idx) const
 
PINDEX GetNumElements () const
 
PXMLElementGetRootElement () const
 
PXMLElementSetRootElement (PXMLElement *p)
 
PXMLElementSetRootElement (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)
 
PMutexGetMutex ()
 
- 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 PObjectClone () 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

PXMLElementrootElement
 
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

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

Referenced by OnLoaded(), and PXMLObject::SetParent().

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

Referenced by GetMutex().

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

Referenced by GetMutex().

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

Referenced by GetMutex().

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

Referenced by GetMutex().

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

Referenced by GetMutex().

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

Referenced by GetMutex().

PString PXML::GetDocType ( ) const
inline

References docType.

PCaselessString PXML::GetDocumentType ( ) const

Referenced by GetRootElement().

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.

PINDEX PXML::GetNumElements ( ) const

Referenced by OnLoaded().

PXMLElement* PXML::GetRootElement ( ) const
inline
bool PXML::IsDirty ( ) const

Referenced by IsLoaded().

bool PXML::IsLoaded ( ) const
inline
PBoolean PXML::IsNoIndentElement ( const PString elementName) const
virtual

Reimplemented from PXMLBase.

Referenced by OnLoaded().

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

Referenced by IsLoaded().

bool PXML::LoadAndValidate ( const PString body,
const PXML::ValidationInfo validator,
PString error,
int  options = NoOptions 
)
bool PXML::LoadFile ( const PFilePath fn,
Options  options = NoOptions 
)

Referenced by IsLoaded().

virtual void PXML::OnLoaded ( )
inlinevirtual
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.

Referenced by PXMLElement::IsElement(), and OnLoaded().

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.

Referenced by OnLoaded().

void PXML::RemoveAll ( )

Referenced by OnLoaded().

bool PXML::RemoveElement ( PINDEX  idx)
bool PXML::Save ( Options  options = NoOptions)

Referenced by OnLoaded().

bool PXML::Save ( PString data,
Options  options = NoOptions 
)
bool PXML::SaveFile ( const PFilePath fn,
Options  options = NoOptions 
)

Referenced by OnLoaded().

void PXML::SetDocType ( const PString v)
inline

References docType.

PXMLElement* PXML::SetRootElement ( PXMLElement p)

Referenced by GetRootElement().

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

Referenced by PXMLParser::GetEncoding().

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

Referenced by GetMutex().

PXMLElement* PXML::rootElement
protected

Referenced by GetRootElement(), and IsLoaded().

PMutex PXML::rootMutex
protected

Referenced by GetMutex().

PString PXML::version
protected

Referenced by PXMLParser::GetVersion().


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