ucc::XMLParser Class Reference

XML streaming parser. More...

#include <xml.h>


Protected Member Functions

 XMLParser (unsigned size=8192)
 Create xml parser.
virtual ~XMLParser ()
 Destroy xml parser.
virtual void comment (caddr_t text, size_t size)
 Virtual to receive embedded comments in XML document being parsed.
virtual void characters (caddr_t text, size_t size)
 Virtual to receive character text extracted from the document.
virtual void startDocument (void)
 Notify start of document event.
virtual void endDocument (void)
 Notify end of document event.
virtual void startElement (caddr_t name, caddr_t *attr)=0
 Notify start of an element in the document.
virtual void endElement (caddr_t name)=0
 Notify end of an element in the document.
bool parse (char *address, size_t size)
 Parse a chunk of data and return parser completion flag.


Detailed Description

XML streaming parser.

This class impliments a basic XML stream parser that can be used to examine an XML resource thru virtual I/O methods. This class must be derived into one that can impliment the physical I/O required to parse actual data. A mixer class using XMLParser and tcpstream would be one example of this. This can also be used to parse xml content in memory buffers easily. This parser is only concerned with well-formedness, and does not perform validation.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 43 of file xml.h.


Constructor & Destructor Documentation

ucc::XMLParser::XMLParser ( unsigned  size = 8192  )  [protected]

Create xml parser.

Parameters:
size of XML data buffer.


Member Function Documentation

virtual void ucc::XMLParser::characters ( caddr_t  text,
size_t  size 
) [protected, virtual]

Virtual to receive character text extracted from the document.

Parameters:
text received.
size of text received.

virtual void ucc::XMLParser::comment ( caddr_t  text,
size_t  size 
) [protected, virtual]

Virtual to receive embedded comments in XML document being parsed.

Parameters:
text received.
size of text received.

virtual void ucc::XMLParser::endElement ( caddr_t  name  )  [protected, pure virtual]

Notify end of an element in the document.

Parameters:
name of element ending.

bool ucc::XMLParser::parse ( char *  address,
size_t  size 
) [protected]

Parse a chunk of data and return parser completion flag.

This is used to externally drive data into the XML parser. The return status can be used to determine when a document has been fully parsed. This can be called multiple times to push stream data into the parser.

Parameters:
address of data to parse.
size of data to parse.

virtual void ucc::XMLParser::startElement ( caddr_t  name,
caddr_t *  attr 
) [protected, pure virtual]

Notify start of an element in the document.

Parameters:
name of element found.
attr list of attributes extracted.


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

Generated on Wed May 13 09:13:17 2009 for UCommon by  doxygen 1.5.8