All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

XMLParser Interface CATISAXDTDHandler

System.IUnknown
  |
  +---System.IDispatch
    |
    +---System.CATBaseUnknown
      |
      +---CATISAXDTDHandler
 

Usage: you can freely reimplement this interface.


interface CATISAXDTDHandler

Interface to receive notification of basic DTD-related events.

If a SAX application needs information about notations and unparsed entities, then the application implements this interface and registers an instance with the SAX parser using the parser's CATISAXParser.SetDTDHandler method. The parser uses the instance to report notation and unparsed entity declarations to the application.

The SAX parser may report these events in any order, regardless of the order in which the notations and unparsed entities were declared; however, all DTD events must be reported after the document handler's CATISAXDocumentHandler.StartDocument event, and before the first CATISAXDocumentHandler.StartElement event.

It is up to the application to store the information for future use (perhaps in a hash table or object tree). If the application encounters attributes of type "NOTATION", "ENTITY", or "ENTITIES", it can use the information that it obtained through this interface to find the entity and/or notation corresponding with the attribute value.

The CATSAXHandlerBase class provides a default implementation of this interface, which simply ignores the events.

See also:
CATISAXParser.SetDTDHandler, CATSAXHandlerBase


Method Index


o NotationDecl(CATUnicodeString&,CATUnicodeString&,CATUnicodeString&)
Receives notification of a notation declaration event.
o UnparsedEntityDecl(CATUnicodeString&,CATUnicodeString&,CATUnicodeString&,CATUnicodeString&)
Receives notification of an unparsed entity declaration event.

Methods


o NotationDecl
public virtual HRESULT NotationDecl( const CATUnicodeString& iName,
const CATUnicodeString& iPublicId,
const CATUnicodeString& iSystemId) = 0
Receives notification of a notation declaration event.

It is up to the application to record the notation for later reference, if necessary.

At least one of publicId and systemId must be non-empty.

If a system identifier is present, and it is a URL, the SAX parser must resolve it fully before passing it to the application.

Parameters:
iName
The notation name.
iPublicId
The notation's public identifier (can be an empty
CATUnicodeString if no public identifier was given).
iSystemId
The notation's system identifier (can be an empty
CATUnicodeString if no system identifier was given).
Errors Returned:
Error Class Error Id Description
CATSAXException XMLParserERR_2000 The method can raise a CATSAXException
CATSAXParseException XMLParserERR_2002 The method can raise a CATSAXParseException
See also:
CATISAXAttributeList, UnparsedEntityDecl
o UnparsedEntityDecl
public virtual HRESULT UnparsedEntityDecl( const CATUnicodeString& iName,
const CATUnicodeString& iPublicId,
const CATUnicodeString& iSystemId,
const CATUnicodeString& iNotationName) = 0
Receives notification of an unparsed entity declaration event.

Note that the notation name corresponds to a notation reported by the NotationDecl event. It is up to the application to record the entity for later reference, if necessary.

If the system identifier is a URL, the parser must resolve it fully before passing it to the application.

Parameters:
iName
The unparsed entity's name.
iPublicId
The entity's public identifier (can be an empty
CATUnicodeString if no public identifier was given).
iSystemId
The entity's system identifier (it must always have one).
iNotationName
name The name of the associated notation.
Errors Returned:
Error Class Error Id Description
CATSAXException XMLParserERR_2000 The method can raise a CATSAXException
CATSAXParseException XMLParserERR_2002 The method can raise a CATSAXParseException
See also:
CATISAXAttributeList, NotationDecl

This object is included in the file: CATISAXDTDHandler.h
If needed, your Imakefile.mk should include the module: CATXMLParserItf

Copyright © 2003, Dassault Systèmes. All rights reserved.