PXML Class Reference

#include <pxml.h>

Inheritance diagram for PXML:

PXMLBase PObject PSOAPMessage PXMLRPCBlock PXMLSettings XMPP::Stanza XMPP::IQ XMPP::Message XMPP::Presence List of all members.

Public Types

 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
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 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 StartAutoReloadURL (const PURL &url, const PTimeInterval &timeout, const PTimeInterval &refreshTime, Options options=NoOptions)
bool StopAutoReloadURL ()
PString GetAutoReloadStatus ()
bool AutoLoadURL ()
virtual void OnAutoLoad (PBoolean ok)
bool LoadURL (const PURL &url)
bool LoadURL (const PURL &url, const PTimeInterval &timeout, 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.
void ReadFrom (istream &strm)
 Input the contents of the object from the stream.
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)
PString GetErrorString () const
unsigned GetErrorColumn () const
unsigned GetErrorLine () const
PString GetDocType () const
void SetDocType (const PString &v)
PMutexGetMutex ()
 PDECLARE_NOTIFIER (PTimer, PXML, AutoReloadTimeout)
 PDECLARE_NOTIFIER (PThread, PXML, AutoReloadThread)

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 Member Functions

void Construct (int options, const char *noIndentElements)

Protected Attributes

PXMLElementrootElement
PMutex rootMutex
bool loadFromFile
PFilePath loadFilename
PString version
PString encoding
StandAloneType m_standAlone
PTimer autoLoadTimer
PURL autoloadURL
PTimeInterval autoLoadWaitTime
PMutex autoLoadMutex
PString autoLoadError
PStringStream m_errorString
unsigned m_errorLine
unsigned m_errorColumn
PSortedStringList noIndentElements
PString docType
PString m_defaultNameSpace

Classes

struct  ValidationContext
struct  ValidationInfo

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

bool PXML::AutoLoadURL (  ) 

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::GetAutoReloadStatus (  )  [inline]

PString PXML::GetDocType (  )  const [inline]

PCaselessString PXML::GetDocumentType (  )  const

PXMLElement* PXML::GetElement ( PINDEX  idx  )  const

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

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

unsigned PXML::GetErrorColumn (  )  const [inline]

unsigned PXML::GetErrorLine (  )  const [inline]

PString PXML::GetErrorString (  )  const [inline]

PMutex& PXML::GetMutex (  )  [inline]

PINDEX PXML::GetNumElements (  )  const

PXMLElement* PXML::GetRootElement (  )  const [inline]

bool PXML::IsDirty (  )  const

bool PXML::IsLoaded (  )  const [inline]

PBoolean PXML::IsNoIndentElement ( const PString elementName  )  const [virtual]

Reimplemented from PXMLBase.

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

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

bool PXML::LoadURL ( const PURL url,
const PTimeInterval timeout,
Options  options = NoOptions 
)

bool PXML::LoadURL ( const PURL url  ) 

virtual void PXML::OnAutoLoad ( PBoolean  ok  )  [virtual]

virtual void PXML::OnLoaded (  )  [inline, virtual]

PXML::PDECLARE_NOTIFIER ( PThread  ,
PXML  ,
AutoReloadThread   
)

PXML::PDECLARE_NOTIFIER ( PTimer  ,
PXML  ,
AutoReloadTimeout   
)

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 ( PString data,
Options  options = NoOptions 
)

bool PXML::Save ( Options  options = NoOptions  ) 

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

void PXML::SetDocType ( const PString v  )  [inline]

PXMLElement* PXML::SetRootElement ( const PString documentType  ) 

PXMLElement* PXML::SetRootElement ( PXMLElement p  ) 

bool PXML::StartAutoReloadURL ( const PURL url,
const PTimeInterval timeout,
const PTimeInterval refreshTime,
Options  options = NoOptions 
)

bool PXML::StopAutoReloadURL (  ) 

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::autoLoadError [protected]

PMutex PXML::autoLoadMutex [protected]

PTimer PXML::autoLoadTimer [protected]

PURL PXML::autoloadURL [protected]

PTimeInterval PXML::autoLoadWaitTime [protected]

PString PXML::docType [protected]

PString PXML::encoding [protected]

PFilePath PXML::loadFilename [protected]

bool PXML::loadFromFile [protected]

PString PXML::m_defaultNameSpace [protected]

unsigned PXML::m_errorColumn [protected]

unsigned PXML::m_errorLine [protected]

PStringStream PXML::m_errorString [protected]

StandAloneType PXML::m_standAlone [protected]

PSortedStringList PXML::noIndentElements [protected]

PXMLElement* PXML::rootElement [protected]

PMutex PXML::rootMutex [protected]

PString PXML::version [protected]


The documentation for this class was generated from the following file:
Generated on Fri Oct 14 01:44:14 2011 for PTLib by  doxygen 1.4.7