PTLib  Version 2.10.4
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.

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

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)

Member Function Documentation

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.

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 
)
bool PXML::LoadURL ( const PURL url)
bool PXML::LoadURL ( const PURL url,
const PTimeInterval timeout,
Options  options = NoOptions 
)
virtual void PXML::OnAutoLoad ( PBoolean  ok) [virtual]
virtual void PXML::OnLoaded ( ) [inline, virtual]
PXML::PDECLARE_NOTIFIER ( PTimer  ,
PXML  ,
AutoReloadTimeout   
)
PXML::PDECLARE_NOTIFIER ( PThread  ,
PXML  ,
AutoReloadThread   
)
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 ( const PString documentType)
bool PXML::StartAutoReloadURL ( const PURL url,
const PTimeInterval timeout,
const PTimeInterval refreshTime,
Options  options = NoOptions 
)
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

Referenced by GetAutoReloadStatus().

PURL PXML::autoloadURL [protected]
PString PXML::docType [protected]

Referenced by GetDocType(), and SetDocType().

PString PXML::encoding [protected]
bool PXML::loadFromFile [protected]
unsigned PXML::m_errorColumn [protected]

Referenced by GetErrorColumn().

unsigned PXML::m_errorLine [protected]

Referenced by GetErrorLine().

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines