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  

DOMParser Class Reference

This class implements the Document Object Model (DOM) interface. More...

#include <DOMParser.hpp>

Inheritance diagram for DOMParser

Inheritance graph
[legend]
Collaboration diagram for DOMParser:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ValSchemes { Val_Never, Val_Always, Val_Auto }

Public Methods

void reset ()
 Reset the parser. More...

Constructors and Destructor
 DOMParser (XMLValidator* const valToAdopt = 0)
 Construct a DOMParser, with an optional validator. More...

 ~DOMParser ()
 Destructor.

Getter methods
DOM_Document getDocument ()
 Get the DOM document. More...

ErrorHandlergetErrorHandler ()
 Get a pointer to the error handler. More...

const ErrorHandlergetErrorHandler () const
 Get a const pointer to the error handler. More...

EntityResolvergetEntityResolver ()
 Get a pointer to the entity resolver. More...

const EntityResolvergetEntityResolver () const
 Get a const pointer to the entity resolver. More...

const XMLScanner& getScanner () const
 Get a const reference to the underlying scanner. More...

const XMLValidatorgetValidator () const
 Get a const reference to the validator. More...

ValSchemes getValidationScheme () const
 This method returns an enumerated value that indicates the current validation scheme set on this parser. More...

bool getDoNamespaces () const
 Get the 'do namespaces' flag. More...

bool getExitOnFirstFatalError () const
 Get the 'exit on first error' flag. More...

bool getExpandEntityReferences () const
 Get the 'expand entity references' flag. More...

bool getCreateEntityReferenceNodes () const
 Get the 'include entity references' flag. More...

bool getIncludeIgnorableWhitespace () const
 Get the 'include ignorable whitespace' flag. More...

bool getToCreateXMLDeclTypeNode () const
 Get the 'to create MXLDecl node' flag. More...

Setter methods
void setErrorHandler (ErrorHandler* const handler)
 Set the error handler. More...

void setEntityResolver (EntityResolver* const handler)
 Set the entity resolver. More...

void setDoNamespaces (const bool newState)
 Set the 'do namespaces' flag. More...

void setExitOnFirstFatalError (const bool newState)
 Set the 'exit on first error' flag. More...

void setExpandEntityReferences (const bool expand)
 Set the 'expand entity references' flag. More...

void setCreateEntityReferenceNodes (const bool create)
 Set the 'include entity references' flag. More...

void setIncludeIgnorableWhitespace (const bool include)
 Set the 'include ignorable whitespace' flag. More...

void setValidationScheme (const ValSchemes newScheme)
 This method allows users to set the validation scheme to be used by this parser. More...

void setToCreateXMLDeclTypeNode (const bool create)
 This method allows users to set the toCreateXMLDeclTypeNode flag by this parser. More...

Parsing methods
void parse (const InputSource& source, const bool reuseValidator = false)
 Parse via an input source object. More...

void parse (const XMLCh* const systemId, const bool reuseValidator = false)
 Parse via a file path or URL. More...

void parse (const char* const systemId, const bool reuseValidator = false)
 Parse via a file path or URL (in the local code page). More...

bool parseFirst ( const XMLCh* const systemId , XMLPScanToken& toFill , const bool reuseValidator = false )
 Begin a progressive parse operation. More...

bool parseFirst ( const char* const systemId , XMLPScanToken& toFill , const bool reuseValidator = false )
 Begin a progressive parse operation. More...

bool parseFirst ( const InputSource& source , XMLPScanToken& toFill , const bool reuseValidator = false )
 Begin a progressive parse operation. More...

bool parseNext (XMLPScanToken& token)
 Continue a progressive parse operation. More...

void parseReset (XMLPScanToken& token)
 Reset the parser after a progressive parse. More...

Implementation of the XMLErrorReporter interface.
virtual void error ( const unsigned int errCode , const XMLCh* const msgDomain , const XMLErrorReporter::ErrTypes errType , const XMLCh* const errorText , const XMLCh* const systemId , const XMLCh* const publicId , const unsigned int lineNum , const unsigned int colNum )
 Handle errors reported from the parser. More...

virtual void resetErrors ()
 Reset any error data before a new parse. More...

Implementation of the XMLEntityHandler interface.
virtual void endInputSource (const InputSource& inputSource)
 Handle an end of input source event. More...

virtual bool expandSystemId ( const XMLCh* const systemId , XMLBuffer& toFill )
 Expand a system id. More...

virtual void resetEntities ()
 Reset any entity handler information. More...

virtual InputSourceresolveEntity ( const XMLCh* const publicId , const XMLCh* const systemId )
 Resolve a public/system id. More...

virtual void startInputSource (const InputSource& inputSource)
 Handle a 'start input source' event. More...

Implementation of the XMLDocumentHandler interface.
virtual void docCharacters ( const XMLCh* const chars , const unsigned int length , const bool cdataSection )
 Handle document character events. More...

virtual void docComment ( const XMLCh* const comment )
 Handle a document comment event. More...

virtual void docPI ( const XMLCh* const target , const XMLCh* const data )
 Handle a document PI event. More...

virtual void endDocument ()
 Handle the end of document event. More...

virtual void endElement ( const XMLElementDecl& elemDecl , const unsigned int urlId , const bool isRoot )
 Handle and end of element event. More...

virtual void endEntityReference ( const XMLEntityDecl& entDecl )
 Handle and end of entity reference event. More...

virtual void ignorableWhitespace ( const XMLCh* const chars , const unsigned int length , const bool cdataSection )
 Handle an ignorable whitespace vent. More...

virtual void resetDocument ()
 Handle a document reset event. More...

virtual void startDocument ()
 Handle a start document event. More...

virtual void startElement ( const XMLElementDecl& elemDecl , const unsigned int urlId , const XMLCh* const elemPrefix , const RefVectorOf<XMLAttr>& attrList , const unsigned int attrCount , const bool isEmpty , const bool isRoot )
 Handle a start element event. More...

virtual void startEntityReference ( const XMLEntityDecl& entDecl )
 Handle a start entity reference event. More...

virtual void XMLDecl ( const XMLCh* const versionStr , const XMLCh* const encodingStr , const XMLCh* const standaloneStr , const XMLCh* const actualEncStr )
 Handle an XMLDecl event. More...

Deprecated Methods
bool getDoValidation () const
 This method returns the state of the parser's validation handling flag which controls whether validation checks are enforced or not. More...

void setDoValidation (const bool newState)
 This method allows users to enable or disable the parser's validation checks. More...

virtual void attDef ( const DTDElementDecl& elemDecl , const DTDAttDef& attDef , const bool ignoring )
virtual void doctypeComment ( const XMLCh* const comment )
virtual void doctypeDecl ( const DTDElementDecl& elemDecl , const XMLCh* const publicId , const XMLCh* const systemId , const bool hasIntSubset )
virtual void doctypePI ( const XMLCh* const target , const XMLCh* const data )
virtual void doctypeWhitespace ( const XMLCh* const chars , const unsigned int length )
virtual void elementDecl ( const DTDElementDecl& decl , const bool isIgnored )
virtual void endAttList ( const DTDElementDecl& elemDecl )
virtual void endIntSubset ()
virtual void endExtSubset ()
virtual void entityDecl ( const DTDEntityDecl& entityDecl , const bool isPEDecl , const bool isIgnored )
virtual void resetDocType ()
virtual void notationDecl ( const XMLNotationDecl& notDecl , const bool isIgnored )
virtual void startAttList ( const DTDElementDecl& elemDecl )
virtual void startIntSubset ()
virtual void startExtSubset ()
virtual void TextDecl ( const XMLCh* const versionStr , const XMLCh* const encodingStr )

Protected Methods

Protected getter methods
DOM_Node getCurrentNode ()
 Get the current DOM node. More...

Protected setter methods
void setCurrentNode (DOM_Node toSet)
 Set the current DOM node. More...

void setDocument (DOM_Document toSet)
 Set the document node. More...


Detailed Description

This class implements the Document Object Model (DOM) interface.

It should be used by applications which choose to parse and process the XML document using the DOM api's. This implementation also allows the applications to install an error and an entitty handler (useful extensions to the DOM specification).

It can be used to instantiate a validating or non-validating parser, by setting a member flag.


Member Enumeration Documentation

enum DOMParser::ValSchemes
 

Enumeration values:
Val_Never  
Val_Always  
Val_Auto  


Constructor & Destructor Documentation

DOMParser::DOMParser ( XMLValidator *const valToAdopt = 0 )
 

Construct a DOMParser, with an optional validator.

Constructor with an instance of validator class to use for validation. If you don't provide a validator, a default one will be created for you.

Parameters:
valToAdopt   Pointer to the validator instance to use. The parser is responsible for freeing the memory.

DOMParser::~DOMParser ( )
 

Destructor.


Member Function Documentation

void DOMParser::TextDecl ( const XMLCh *const versionStr,
const XMLCh *const encodingStr ) [virtual]
 

void DOMParser::XMLDecl ( const XMLCh *const versionStr,
const XMLCh *const encodingStr,
const XMLCh *const standaloneStr,
const XMLCh *const actualEncStr ) [virtual]
 

Handle an XMLDecl event.

This method is used to report the XML decl scanned by the parser. Refer to the XML specification to see the meaning of parameters.

<font color="FF0000">This method is a no-op for this DOM implementation.</font>

Parameters:
versionStr   A const pointer to a Unicode string representing version string value.
encodingStr   A const pointer to a Unicode string representing the encoding string value.
standaloneStr   A const pointer to a Unicode string representing the standalone string value.
actualEncodingStr   A const pointer to a Unicode string representing the actual encoding string value.

Reimplemented from XMLDocumentHandler.

void DOMParser::attDef ( const DTDElementDecl & elemDecl,
const DTDAttDef & attDef,
const bool ignoring ) [virtual]
 

void DOMParser::docCharacters ( const XMLCh *const chars,
const unsigned int length,
const bool cdataSection ) [virtual]
 

Handle document character events.

This method is used to report all the characters scanned by the parser. This DOM implementation stores this data in the appropriate DOM node, creating one if necessary.

Parameters:
chars   A const pointer to a Unicode string representing the character data.
length   The length of the Unicode string returned in 'chars'.
cdataSection   A flag indicating if the characters represent content from the CDATA section.

Reimplemented from XMLDocumentHandler.

void DOMParser::docComment ( const XMLCh *const comment ) [virtual]
 

Handle a document comment event.

This method is used to report any comments scanned by the parser. A new comment node is created which stores this data.

Parameters:
comment   A const pointer to a null terminated Unicode string representing the comment text.

Reimplemented from XMLDocumentHandler.

void DOMParser::docPI ( const XMLCh *const target,
const XMLCh *const data ) [virtual]
 

Handle a document PI event.

This method is used to report any PI scanned by the parser. A new PI node is created and appended as a child of the current node in the tree.

Parameters:
target   A const pointer to a Unicode string representing the target of the PI declaration.
data   A const pointer to a Unicode string representing the data of the PI declaration. See the PI production rule in the XML specification for details.

Reimplemented from XMLDocumentHandler.

void DOMParser::doctypeComment ( const XMLCh *const comment ) [virtual]
 

void DOMParser::doctypeDecl ( const DTDElementDecl & elemDecl,
const XMLCh *const publicId,
const XMLCh *const systemId,
const bool hasIntSubset ) [virtual]
 

void DOMParser::doctypePI ( const XMLCh *const target,
const XMLCh *const data ) [virtual]
 

void DOMParser::doctypeWhitespace ( const XMLCh *const chars,
const unsigned int length ) [virtual]
 

void DOMParser::elementDecl ( const DTDElementDecl & decl,
const bool isIgnored ) [virtual]
 

void DOMParser::endAttList ( const DTDElementDecl & elemDecl ) [virtual]
 

void DOMParser::endDocument ( ) [virtual]
 

Handle the end of document event.

This method is used to indicate the end of the current document.

Reimplemented from XMLDocumentHandler.

void DOMParser::endElement ( const XMLElementDecl & elemDecl,
const unsigned int urlId,
const bool isRoot ) [virtual]
 

Handle and end of element event.

This method is used to indicate the end tag of an element. The DOMParse pops the current element off the top of the element stack, and make it the new current element.

Parameters:
elemDecl   A const reference to the object containing element declaration information.
urlId   An id referring to the namespace prefix, if namespaces setting is switched on.
isRoot   A flag indicating whether this element was the root element.

Reimplemented from XMLDocumentHandler.

void DOMParser::endEntityReference ( const XMLEntityDecl & entDecl ) [virtual]
 

Handle and end of entity reference event.

This method is used to indicate that an end of an entity reference was just scanned.

Parameters:
entDecl   A const reference to the object containing the entity declaration information.

Reimplemented from XMLDocumentHandler.

void DOMParser::endExtSubset ( ) [virtual]
 

void DOMParser::endInputSource ( const InputSource & inputSource ) [virtual]
 

Handle an end of input source event.

This method is used to indicate the end of parsing of an external entity file.

<font color="FF0000">This method is a no-op for this DOM implementation.</font>

Parameters:
inputSource   A const reference to the InputSource object which points to the XML file being parsed.
See also:
InputSource

Reimplemented from XMLEntityHandler.

void DOMParser::endIntSubset ( ) [virtual]
 

void DOMParser::entityDecl ( const DTDEntityDecl & entityDecl,
const bool isPEDecl,
const bool isIgnored ) [virtual]
 

void DOMParser::error ( const unsigned int errCode,
const XMLCh *const msgDomain,
const XMLErrorReporter::ErrTypes errType,
const XMLCh *const errorText,
const XMLCh *const systemId,
const XMLCh *const publicId,
const unsigned int lineNum,
const unsigned int colNum ) [virtual]
 

Handle errors reported from the parser.

This method is used to report back errors found while parsing the XML file. This method is also borrowed from the SAX specification. It calls the corresponding user installed Error Handler method: 'fatal', 'error', 'warning' depending on the severity of the error. This classification is defined by the XML specification.

Parameters:
errCode   An integer code for the error.
msgDomain   A const pointer to an Unicode string representing the message domain to use.
errType   An enumeration classifying the severity of the error.
errorText   A const pointer to an Unicode string representing the text of the error message.
systemId   A const pointer to an Unicode string representing the system id of the XML file where this error was discovered.
publicId   A const pointer to an Unicode string representing the public id of the XML file where this error was discovered.
lineNum   The line number where the error occurred.
colNum   The column number where the error occurred.
See also:
ErrorHandler

bool DOMParser::expandSystemId ( const XMLCh * const,
XMLBuffer & toFill ) [virtual]
 

Expand a system id.

This method allows an installed XMLEntityHandler to further process any system id's of enternal entities encountered in the XML file being parsed, such as redirection etc.

<font color="FF0000">This method always returns 'false' for this DOM implementation.</font>

Parameters:
systemId   A const pointer to an Unicode string representing the system id scanned by the parser.
toFill   A pointer to a buffer in which the application processed system id is stored.
Returns:
'true', if any processing is done, 'false' otherwise.

Reimplemented from XMLEntityHandler.

bool DOMParser::getCreateEntityReferenceNodes ( ) const
 

Get the 'include entity references' flag.

This flag specifies whether the parser is creating entity reference nodes in the DOM tree being produced. When the 'create' flag is true, the DOM tree will contain entity reference nodes. When the 'create' flag is false, no entity reference nodes are included in the DOM tree.

The replacement text of the entity is included in either case, either as a child of the Entity Reference node or in place at the location of the reference.

Returns:
The state of the create entity reference node flag.
See also:
setCreateEntityReferenceNodes

DOM_Node DOMParser::getCurrentNode ( ) [protected]
 

Get the current DOM node.

This provides derived classes with access to the current node, i.e. the node to which new nodes are being added.

bool DOMParser::getDoNamespaces ( ) const
 

Get the 'do namespaces' flag.

This method returns the state of the parser's namespace processing flag.

Returns:
true, if the parser is currently configured to understand namespaces, false otherwise.

See also:
setDoNamespaces

bool DOMParser::getDoValidation ( ) const
 

This method returns the state of the parser's validation handling flag which controls whether validation checks are enforced or not.

Returns:
true, if the parser is currently configured to do validation, false otherwise.

See also:
setDoValidation

DOM_Document DOMParser::getDocument ( )
 

Get the DOM document.

This method returns the DOM_Document object representing the root of the document tree. This object provides the primary access to the document's data.

Returns:
The DOM_Document object which represents the entire XML document.

const EntityResolver * DOMParser::getEntityResolver ( ) const
 

Get a const pointer to the entity resolver.

This method returns the installed entity resolver. If no resolver has been installed, then it will be a zero pointer.

Returns:
A const pointer to the installed entity resolver object.

EntityResolver * DOMParser::getEntityResolver ( )
 

Get a pointer to the entity resolver.

This method returns the installed entity resolver. If no resolver has been installed, then it will be a zero pointer.

Returns:
The pointer to the installed entity resolver object.

const ErrorHandler * DOMParser::getErrorHandler ( ) const
 

Get a const pointer to the error handler.

This method returns the installed error handler. If no handler has been installed, then it will be a zero pointer.

Returns:
A const pointer to the installed error handler object.

ErrorHandler * DOMParser::getErrorHandler ( )
 

Get a pointer to the error handler.

This method returns the installed error handler. If no handler has been installed, then it will be a zero pointer.

Returns:
The pointer to the installed error handler object.

bool DOMParser::getExitOnFirstFatalError ( ) const
 

Get the 'exit on first error' flag.

This method returns the state of the parser's exit-on-First-Fatal-Error flag. If this flag is true, then the parse will exit the first time it sees any non-wellformed XML or any validity error. The default state is true.

Returns:
true, if the parser is currently configured to exit on the first fatal error, false otherwise.

See also:
setExitOnFirstFatalError

bool DOMParser::getExpandEntityReferences ( ) const
 

Get the 'expand entity references' flag.

DEPRECATED Use getCreateEntityReferenceNodes() instead.

This method returns the state of the parser's expand entity references flag.

Returns:
'true' if the expand entity reference flag is set on the parser, 'false' otherwise.

See also:
setExpandEntityReferences

bool DOMParser::getIncludeIgnorableWhitespace ( ) const
 

Get the 'include ignorable whitespace' flag.

This method returns the state of the parser's include ignorable whitespace flag.

Returns:
'true' if the include ignorable whitespace flag is set on the parser, 'false' otherwise.

See also:
setIncludeIgnorableWhitespace

const XMLScanner & DOMParser::getScanner ( ) const
 

Get a const reference to the underlying scanner.

This method returns a reference to the underlying scanner object. It allows read only access to data maintained in the scanner.

Returns:
A const reference to the underlying scanner object.

bool DOMParser::getToCreateXMLDeclTypeNode ( ) const
 

Get the 'to create MXLDecl node' flag.

This method returns the state of the parser's to create XMLDecl DOM Node flag.

Returns:
'true' if the toCreateXMLDeclTypeNode flag is set on the parser, 'false' otherwise.

ValSchemes DOMParser::getValidationScheme ( ) const
 

This method returns an enumerated value that indicates the current validation scheme set on this parser.

Returns:
The ValSchemes value current set on this parser.
See also:
setValidationScheme

const XMLValidator & DOMParser::getValidator ( ) const
 

Get a const reference to the validator.

This method returns a reference to the parser's installed validator.

Returns:
A const reference to the installed validator object.

void DOMParser::ignorableWhitespace ( const XMLCh *const chars,
const unsigned int length,
const bool cdataSection ) [virtual]
 

Handle an ignorable whitespace vent.

This method is used to report all the whitespace characters, which are determined to be 'ignorable'. This distinction between characters is only made, if validation is enabled.

Any whitespace before content is ignored. If the current node is already of type DOM_Node::TEXT_NODE, then these whitespaces are appended, otherwise a new Text node is created which stores this data. Essentially all contiguous ignorable characters are collected in one node.

Parameters:
chars   A const pointer to a Unicode string representing the ignorable whitespace character data.
length   The length of the Unicode string 'chars'.
cdataSection   A flag indicating if the characters represent content from the CDATA section.

Reimplemented from XMLDocumentHandler.

void DOMParser::notationDecl ( const XMLNotationDecl & notDecl,
const bool isIgnored ) [virtual]
 

void DOMParser::parse ( const char *const systemId,
const bool reuseValidator = false )
 

Parse via a file path or URL (in the local code page).

This method invokes the parsing process on the XML file specified by the native char* string parameter 'systemId'.

Parameters:
systemId   A const char pointer to a native string which contains the path to the XML file to be parsed.
reuseValidator   The flag indicating whether the existing validator should be reused or not for this parsing run.

void DOMParser::parse ( const XMLCh *const systemId,
const bool reuseValidator = false )
 

Parse via a file path or URL.

This method invokes the parsing process on the XML file specified by the Unicode string parameter 'systemId'. This method is borrowed from the SAX Parser interface.

Parameters:
systemId   A const XMLCh pointer to the Unicode string which contains the path to the XML file to be parsed.
reuseValidator   The flag indicating whether the existing validator should be reused or not for this parsing run.

See also:
Parser::parse(XMLCh*)

void DOMParser::parse ( const InputSource & source,
const bool reuseValidator = false )
 

Parse via an input source object.

This method invokes the parsing process on the XML file specified by the InputSource parameter. This API is borrowed from the SAX Parser interface.

Parameters:
source   A const reference to the InputSource object which points to the XML file to be parsed.
reuseValidator   The flag indicating whether the existing validator should be reused or not for this parsing run.
See also:
Parser::parse(InputSource)

bool DOMParser::parseFirst ( const InputSource & source,
XMLPScanToken & toFill,
const bool reuseValidator = false )
 

Begin a progressive parse operation.

This method is used to start a progressive parse on a XML file. To continue parsing, subsequent calls must be to the parseNext method.

It scans through the prolog and returns a token to be used on subsequent scanNext() calls. If the return value is true, then the token is legal and ready for further use. If it returns false, then the scan of the prolog failed and the token is not going to work on subsequent scanNext() calls.

Parameters:
source   A const reference to the InputSource object which points to the XML file to be parsed.
toFill   A token maintaing state information to maintain internal consistency between invocation of 'parseNext' calls.
reuseValidator   The flag indicating whether the existing validator should be reused or not for this parsing process.

Returns:
'true', if successful in parsing the prolog. It indicates the user can go ahead with parsing the rest of the file. It returns 'false' to indicate that the parser could not parse the prolog.

See also:
parseNext , parseFirst(XMLCh*,...) , parseFirst(char*,...)

bool DOMParser::parseFirst ( const char *const systemId,
XMLPScanToken & toFill,
const bool reuseValidator = false )
 

Begin a progressive parse operation.

This method is used to start a progressive parse on a XML file. To continue parsing, subsequent calls must be to the parseNext method.

It scans through the prolog and returns a token to be used on subsequent scanNext() calls. If the return value is true, then the token is legal and ready for further use. If it returns false, then the scan of the prolog failed and the token is not going to work on subsequent scanNext() calls.

Parameters:
systemId   A pointer to a regular native string represting the path to the XML file to be parsed.
toFill   A token maintaing state information to maintain internal consistency between invocation of 'parseNext' calls.
reuseValidator   The flag indicating whether the existing validator should be reused or not for this parsing run.

Returns:
'true', if successful in parsing the prolog. It indicates the user can go ahead with parsing the rest of the file. It returns 'false' to indicate that the parser could not parse the prolog.

See also:
parseNext , parseFirst(XMLCh*,...) , parseFirst(InputSource&,...)

bool DOMParser::parseFirst ( const XMLCh *const systemId,
XMLPScanToken & toFill,
const bool reuseValidator = false )
 

Begin a progressive parse operation.

This method is used to start a progressive parse on a XML file. To continue parsing, subsequent calls must be to the parseNext method.

It scans through the prolog and returns a token to be used on subsequent scanNext() calls. If the return value is true, then the token is legal and ready for further use. If it returns false, then the scan of the prolog failed and the token is not going to work on subsequent scanNext() calls.

Parameters:
systemId   A pointer to a Unicode string represting the path to the XML file to be parsed.
toFill   A token maintaing state information to maintain internal consistency between invocation of 'parseNext' calls.
reuseValidator   The flag indicating whether the existing validator should be reused or not for this parsing process.
Returns:
'true', if successful in parsing the prolog. It indicates the user can go ahead with parsing the rest of the file. It returns 'false' to indicate that the parser could not parse the prolog.

See also:
parseNext , parseFirst(char*,...) , parseFirst(InputSource&,...)

bool DOMParser::parseNext ( XMLPScanToken & token )
 

Continue a progressive parse operation.

This method is used to continue with progressive parsing of XML files started by a call to 'parseFirst' method.

It parses the XML file and stops as soon as it comes across a XML token (as defined in the XML specification).

Parameters:
token   A token maintaing state information to maintain internal consistency between invocation of 'parseNext' calls.

Returns:
'true', if successful in parsing the next XML token. It indicates the user can go ahead with parsing the rest of the file. It returns 'false' to indicate that the parser could not find next token as per the XML specification production rule.

See also:
parseFirst(XMLCh*,...) , parseFirst(char*,...) , parseFirst(InputSource&,...)

void DOMParser::parseReset ( XMLPScanToken & token )
 

Reset the parser after a progressive parse.

If a progressive parse loop exits before the end of the document is reached, the parser has no way of knowing this. So it will leave open any files or sockets or memory buffers that were in use at the time that the parse loop exited.

The next parse operation will cause these open files and such to be closed, but the next parse operation might occur at some unknown future point. To avoid this problem, you should reset the parser if you exit the loop early.

If you exited because of an error, then this cleanup will be done for you. Its only when you exit the file prematurely of your own accord, because you've found what you wanted in the file most likely.

Parameters:
token   A token maintaing state information to maintain internal consistency between invocation of 'parseNext' calls.

See also:
parseFirst(XMLCh*,...) , parseFirst(char*,...) , parseFirst(InputSource&,...)

void DOMParser::reset ( )
 

Reset the parser.

This method resets the state of the DOM driver and makes it ready for a fresh parse run.

void DOMParser::resetDocType ( ) [virtual]
 

void DOMParser::resetDocument ( ) [virtual]
 

Handle a document reset event.

This method allows the user installed Document Handler to 'reset' itself, freeing all the memory resources. The scanner calls this method before starting a new parse event.

Reimplemented from XMLDocumentHandler.

void DOMParser::resetEntities ( ) [virtual]
 

Reset any entity handler information.

This method allows the installed XMLEntityHandler to reset itself.

<font color="FF0000">This method is a no-op for this DOM implementation.</font>

Reimplemented from XMLEntityHandler.

void DOMParser::resetErrors ( ) [virtual]
 

Reset any error data before a new parse.

This method allows the user installed Error Handler callback to 'reset' itself.

<font color="FF0000">This method is a no-op for this DOM implementation.</font>

Reimplemented from XMLErrorReporter.

InputSource * DOMParser::resolveEntity ( const XMLCh *const publicId,
const XMLCh *const systemId ) [virtual]
 

Resolve a public/system id.

This method allows a user installed entity handler to further process any pointers to external entities. The applications can implement 'redirection' via this callback. This method is also borrowed from the SAX specification.

Parameters:
publicId   A const pointer to a Unicode string representing the public id of the entity just parsed.
systemId   A const pointer to a Unicode string representing the system id of the entity just parsed.
Returns:
The value returned by the user installed resolveEntity method or NULL otherwise to indicate no processing was done.
See also:
EntityResolver

Reimplemented from XMLEntityHandler.

void DOMParser::setCreateEntityReferenceNodes ( const bool create )
 

Set the 'include entity references' flag.

This method allows the user to specify whether the parser should create entity reference nodes in the DOM tree being produced. When the 'create' flag is true, the DOM tree constains entity reference nodes. When the 'create' flag is false, no entity reference nodes are included in the DOM tree.

The replacement text of the entity is included in either case, either as a child of the Entity Reference node or in place at the location of the reference.

Parameters:
create   The new state of the create entity reference nodes flag.

void DOMParser::setCurrentNode ( DOM_Node toSet ) [protected]
 

Set the current DOM node.

This method sets the current node maintained inside the parser to the one specified.

Parameters:
toSet   The DOM node which will be the current node.

void DOMParser::setDoNamespaces ( const bool newState )
 

Set the 'do namespaces' flag.

This method allows users to enable or disable the parser's namespace processing. When set to true, parser starts enforcing all the constraints and rules specified by the NameSpace specification.

The parser's default state is: false.

This flag is ignored by the underlying scanner if the installed validator indicates that namespace constraints should be enforced.

Parameters:
newState   The value specifying whether NameSpace rules should be enforced or not.

See also:
getDoNamespaces

void DOMParser::setDoValidation ( const bool newState )
 

This method allows users to enable or disable the parser's validation checks.

By default, the parser does not to any validation. The default value is false.

Parameters:
newState   The value specifying whether the parser should do validity checks or not against the DTD in the input XML document.

See also:
getDoValidation

void DOMParser::setDocument ( DOM_Document toSet ) [protected]
 

Set the document node.

This method sets the DOM Document node to the one specified.

Parameters:
toSet   The new DOM Document node for this XML document.

void DOMParser::setEntityResolver ( EntityResolver *const handler )
 

Set the entity resolver.

This method allows applications to install their own entity resolver. By installing an entity resolver, the applications can trap and potentially redirect references to external entities.

Any previously set resolver is merely dropped, since the parser does not own them.

Parameters:
handler   A const pointer to the user supplied entity resolver.

See also:
getEntityResolver

void DOMParser::setErrorHandler ( ErrorHandler *const handler )
 

Set the error handler.

This method allows applications to install their own error handler to trap error and warning messages.

Any previously set handler is merely dropped, since the parser does not own them.

Parameters:
handler   A const pointer to the user supplied error handler.

See also:
getErrorHandler

void DOMParser::setExitOnFirstFatalError ( const bool newState )
 

Set the 'exit on first error' flag.

This method allows users to set the parser's behaviour when it encounters the first fatal error. If set to true, the parser will exit at the first fatal error. If false, then it will report the error and continue processing.

The default value is 'true' and the parser exits on the first fatal error.

Parameters:
newState   The value specifying whether the parser should continue or exit when it encounters the first fatal error.

See also:
getExitOnFirstFatalError

void DOMParser::setExpandEntityReferences ( const bool expand )
 

Set the 'expand entity references' flag.

DEPRECATED. USE setCreateEntityReferenceNodes instead. This method allows the user to specify whether the parser should expand all entity reference nodes. When the 'do expansion' flag is true, the DOM tree does not have any entity reference nodes. It is replaced by the sub-tree representing the replacement text of the entity. When the 'do expansion' flag is false, the DOM tree contains an extra entity reference node, whose children is the sub tree of the replacement text.

Parameters:
expand   The new state of the expand entity reference flag.

void DOMParser::setIncludeIgnorableWhitespace ( const bool include )
 

Set the 'include ignorable whitespace' flag.

This method allows the user to specify whether a validating parser should include ignorable whitespaces as text nodes. It has no effect on non-validating parsers which always include non-markup text.

When set to true (also the default), ignorable whitespaces will be added to the DOM tree as text nodes. The method DOM_Text::isIgnorableWhitespace() will return true for those text nodes only.

When set to false, all ignorable whitespace will be discarded and no text node is added to the DOM tree. Note: applications intended to process the "xml:space" attribute should not set this flag to false.

Parameters:
include   The new state of the include ignorable whitespace flag.

See also:
getIncludeIgnorableWhitespace

void DOMParser::setToCreateXMLDeclTypeNode ( const bool create )
 

This method allows users to set the toCreateXMLDeclTypeNode flag by this parser.

By setting it to 'true' user can have XMLDecl type nodes attached to the DOM tree.

The parser's default state is: false

Parameters:
newState   The new to create XMLDecl type node flag

void DOMParser::setValidationScheme ( const ValSchemes newScheme )
 

This method allows users to set the validation scheme to be used by this parser.

The value is one of the ValSchemes enumerated values defined by this class:


Val_Never - turn off validation
Val_Always - turn on validation
Val_Auto - turn on validation if any internal/external DTD subset have been seen

The parser's default state is: Val_Auto.

Parameters:
newScheme   The new validation scheme to use.

See also:
getValidationScheme

void DOMParser::startAttList ( const DTDElementDecl & elemDecl ) [virtual]
 

void DOMParser::startDocument ( ) [virtual]
 

Handle a start document event.

This method is used to report the start of the parsing process.

Reimplemented from XMLDocumentHandler.

void DOMParser::startElement ( const XMLElementDecl & elemDecl,
const unsigned int urlId,
const XMLCh *const elemPrefix,
const RefVectorOf< XMLAttr >& attrList,
const unsigned int attrCount,
const bool isEmpty,
const bool isRoot ) [virtual]
 

Handle a start element event.

This method is used to report the start of an element. It is called at the end of the element, by which time all attributes specified are also parsed. A new DOM Element node is created along with as many attribute nodes as required. This new element is added appended as a child of the current node in the tree, and then replaces it as the current node (if the isEmpty flag is false.)

Parameters:
elemDecl   A const reference to the object containing element declaration information.
urlId   An id referring to the namespace prefix, if namespaces setting is switched on.
elemPrefix   A const pointer to a Unicode string containing the namespace prefix for this element. Applicable only when namespace processing is enabled.
attrList   A const reference to the object containing the list of attributes just scanned for this element.
attrCount   A count of number of attributes in the list specified by the parameter 'attrList'.
isEmpty   A flag indicating whether this is an empty element or not. If empty, then no endElement() call will be made.
isRoot   A flag indicating whether this element was the root element.
See also:
DocumentHandler::startElement

Reimplemented from XMLDocumentHandler.

void DOMParser::startEntityReference ( const XMLEntityDecl & entDecl ) [virtual]
 

Handle a start entity reference event.

This method is used to indicate the start of an entity reference. If the expand entity reference flag is true, then a new DOM Entity reference node is created.

Parameters:
entDecl   A const reference to the object containing the entity declaration information.

Reimplemented from XMLDocumentHandler.

void DOMParser::startExtSubset ( ) [virtual]
 

void DOMParser::startInputSource ( const InputSource & inputSource ) [virtual]
 

Handle a 'start input source' event.

This method is used to indicate the start of parsing an external entity file.

<font color="FF0000">This method is a no-op for this DOM parse implementation.</font>

Parameters:
inputSource   A const reference to the InputSource object which points to the external entity being parsed.

Reimplemented from XMLEntityHandler.

void DOMParser::startIntSubset ( ) [virtual]
 


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


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