http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Installation
Build

API Docs
Samples
Programming
Migration
FAQs

Releases
Feedback
Bug-Todo

Download
CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Parser Class Reference

Basic interface for SAX (Simple API for XML) parsers. More...

#include <Parser.hpp>

Inheritance diagram for Parser

Inheritance graph
[legend]
List of all members.

Public Methods

Constructors and Destructor
 Parser ()
 The default constructor.

virtual ~Parser ()
 The destructor.

The parser interfaces
virtual void setEntityResolver (EntityResolver* const resolver) = 0
 Allow an application to register a custom entity resolver. More...

virtual void setDTDHandler (DTDHandler* const handler) = 0
 Allow an application to register a DTD event handler. More...

virtual void setDocumentHandler (DocumentHandler* const handler) = 0
 Allow an application to register a document event handler. More...

virtual void setErrorHandler (ErrorHandler* const handler) = 0
 Allow an application to register an error event handler. More...

virtual void parse ( const InputSource& source , const bool reuseValidator = false ) = 0
 Parse an XML document. More...

virtual void parse ( const XMLCh* const systemId , const bool reuseValidator = false ) = 0
 Parse an XML document from a system identifier (URI). More...

virtual void parse ( const char* const systemId , const bool reuseValidator = false ) = 0
 Parse an XML document from a system identifier (URI). More...


Detailed Description

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.

See also:
EntityResolver::EntityResolver , DTDHandler::DTDHandler , DocumentHandler::DocumentHandler , ErrorHandler::ErrorHandler , HandlerBase::HandlerBase , InputSource::InputSource


Constructor & Destructor Documentation

Parser::Parser ( )
 

The default constructor.

Parser::~Parser ( ) [virtual]
 

The destructor.


Member Function Documentation

void Parser::parse ( const char *const systemId,
const bool reuseValidator = false ) [pure virtual]
 

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 URLInputSource(systemId));

If the system identifier is a URL, it must be fully resolved by the application before it is passed to the parser.

Parameters:
systemId   The system identifier (URI).
reuseValidator   Indicates whether the validator should be reused, ignoring any external subset. If true, there cannot be any internal subset.
Exceptions:
SAXException   Any SAX exception, possibly wrapping another exception.
XMLException   An exception from the parser or client handler code.
See also:
parse(InputSource)

Reimplemented in SAXParser.

void Parser::parse ( const XMLCh *const systemId,
const bool reuseValidator = false ) [pure virtual]
 

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 URLInputSource(systemId));

If the system identifier is a URL, it must be fully resolved by the application before it is passed to the parser.

Parameters:
systemId   The system identifier (URI).
reuseValidator   Indicates whether the validator should be reused, ignoring any external subset. If true, there cannot be any internal subset.
Exceptions:
SAXException   Any SAX exception, possibly wrapping another exception.
XMLException   An exception from the parser or client handler code.
See also:
parse(InputSource)

Reimplemented in SAXParser.

void Parser::parse ( const InputSource & source,
const bool reuseValidator = false ) [pure virtual]
 

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.

Parameters:
source   The input source for the top-level of the XML document.
reuseValidator   Indicates whether the validator should be reused, ignoring any external subset. If true, there cannot be any internal subset.
Exceptions:
SAXException   Any SAX exception, possibly wrapping another exception.
XMLException   An exception from the parser or client handler code.
See also:
InputSource::InputSource , setEntityResolver , setDTDHandler , setDocumentHandler , setErrorHandler

Reimplemented in SAXParser.

void Parser::setDTDHandler ( DTDHandler *const handler ) [pure virtual]
 

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::DTDHandler , HandlerBase::HandlerBase

Reimplemented in SAXParser.

void Parser::setDocumentHandler ( DocumentHandler *const handler ) [pure virtual]
 

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::DocumentHandler , HandlerBase::HandlerBase

Reimplemented in SAXParser.

void Parser::setEntityResolver ( EntityResolver *const resolver ) [pure virtual]
 

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::EntityResolver , HandlerBase::HandlerBase

Reimplemented in SAXParser.

void Parser::setErrorHandler ( ErrorHandler *const handler ) [pure virtual]
 

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::ErrorHandler , SAXException::SAXException , HandlerBase::HandlerBase

Reimplemented in SAXParser.


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


Copyright © 2000 The Apache Software Foundation. All Rights Reserved.