class Parser

Basic interface for SAX (Simple API for XML) parsers

Inheritance:


Public

Constructors and Destructor
Parser ()
The default constructor
virtual ~Parser ()
The destructor
The parser interfaces
virtual void setEntityResolver (EntityResolver* const resolver)
Allow an application to register a custom entity resolver
virtual void setDTDHandler (DTDHandler* const handler)
Allow an application to register a DTD event handler
virtual void setDocumentHandler (DocumentHandler* const handler)
Allow an application to register a document event handler
virtual void setErrorHandler (ErrorHandler* const handler)
Allow an application to register an error event handler
virtual void parse (const InputSource& source)
Parse an XML document
virtual void parse (const XMLCh* const systemId)
Parse an XML document from a system identifier (URI)
private Unimplemented constructors and operators
Parser (const Parser&)
The copy constructor, you cannot call this directly
void operator= (const Parser&)
The assignment operator, you cannot call this directly

Documentation

Basic interface for SAX (Simple API for XML) parsers. All SAX parsers must implement this basic interface: it allows applications to register handlers for different types of events and to initiate a parse from a URI, or a character stream. All SAX parsers must also implement a zero-argument constructor (though other constructors are also allowed). SAX parsers are reusable but not re-entrant: the application may reuse a parser object (possibly with a different input source) once the first parse has completed successfully, but it may not invoke the parse() methods recursively within a parse.
Constructors and Destructor

Parser()
The default constructor

virtual ~Parser()
The destructor

The parser interfaces

virtual void setEntityResolver(EntityResolver* const resolver)
Allow an application to register a custom entity resolver. If the application does not register an entity resolver, the SAX parser will resolve system identifiers and open connections to entities itself (this is the default behaviour implemented in HandlerBase). Applications may register a new or different entity resolver in the middle of a parse, and the SAX parser must begin using the new resolver immediately.
Parameters:
resolver - The object for resolving entities.
See Also:
EntityResolver
HandlerBase

virtual void setDTDHandler(DTDHandler* const handler)
Allow an application to register a DTD event handler. If the application does not register a DTD handler, all DTD events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by HandlerBase). Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
Parameters:
handler - The DTD handler.
See Also:
DTDHandler
HandlerBase

virtual void setDocumentHandler(DocumentHandler* const handler)
Allow an application to register a document event handler. If the application does not register a document handler, all document events reported by the SAX parser will be silently ignored (this is the default behaviour implemented by HandlerBase). Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
Parameters:
handler - The document handler.
See Also:
DocumentHandler
HandlerBase

virtual void setErrorHandler(ErrorHandler* const handler)
Allow an application to register an error event handler. If the application does not register an error event handler, all error events reported by the SAX parser will be silently ignored, except for fatalError, which will throw a SAXException (this is the default behaviour implemented by HandlerBase). Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
Parameters:
handler - The error handler.
See Also:
ErrorHandler
SAXException
HandlerBase

virtual void parse(const InputSource& source)
Parse an XML document. The application can use this method to instruct the SAX parser to begin parsing an XML document from any valid input source (a character stream, a byte stream, or a URI). Applications may not invoke this method while a parse is in progress (they should create a new Parser instead for each additional XML document). Once a parse is complete, an application may reuse the same Parser object, possibly with a different input source.
Throws:
SAXException Any SAX exception, possibly wrapping another exception.
IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
Parameters:
source - The input source for the top-level of the XML document.
See Also:
InputSource
parse(String)
setEntityResolver
setDTDHandler
setDocumentHandler
setErrorHandler

virtual void parse(const XMLCh* const systemId)
Parse an XML document from a system identifier (URI). This method is a shortcut for the common case of reading a document from a system identifier. It is the exact equivalent of the following: parse(new InputSource(systemId)); If the system identifier is a URL, it must be fully resolved by the application before it is passed to the parser.
Throws:
SAXException Any SAX exception, possibly wrapping another exception.
IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
Parameters:
systemId - The system identifier (URI).
See Also:
parse(InputSource)

private Unimplemented constructors and operators

Parser(const Parser&)
The copy constructor, you cannot call this directly

void operator=(const Parser&)
The assignment operator, you cannot call this directly


This class has no child classes.
Version:
Revision:
See Also:
EntityResolver
DTDHandler
DocumentHandler
ErrorHandler
HandlerBase
InputSource

alphabetic index hierarchy of classes


XML Parser for C++ 2.0
Copyright © IBM Corp, 1999
Center for Java Technology
10275 N. De Anza Blvd.
Cupertino CA 95014 USA
Email: xml4c@us.ibm.com

IBM Logo