All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

XMLParser Interface CATISAXDeclHandler

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

Usage: you can freely reimplement this interface.


interface CATISAXDeclHandler

Interface to receive notification of DTD declaration events.

This is an optional extension handler for SAX2 to provide information about DTD declarations in an XML document. XML readers are not required to support this handler, and this handler is not included in the core SAX2 distribution.

Note that data-related DTD declarations (unparsed entities and notations) are already reported through the CATISAXDTDHandler interface.

If you are using the declaration handler together with a lexical handler, all of the events will occur between the CATISAXLexicalHandler.StartDTD and the CATISAXLexicalHandler.EndDTD events.

To set the CATISAXDeclHandler for an CATISAXXMLReader, use the CATISAXXMLReader.SetProperty method with the propertyId "http://xml.org/sax/properties/declaration-handler". If the reader does not support declaration events, it will return a CATSAXNotRecognizedException error or a CATSAXNotSupportedException error when you attempt to register the handler.

See also:
CATISAXXMLReader, CATISAXLexicalHandler


Method Index


o AttributeDecl(CATUnicodeString&,CATUnicodeString&,CATUnicodeString&,CATUnicodeString&,CATUnicodeString&)
Receives notification of an attribute type declaration.
o ElementDecl(CATUnicodeString&,CATUnicodeString&)
Receives notification of an element type declaration.
o ExternalEntityDecl(CATUnicodeString&,CATUnicodeString&,CATUnicodeString&)
Receives notification of an external entity declaration.
o InternalEntityDecl(CATUnicodeString&,CATUnicodeString&)
Receives notification of an internal entity declaration.

Methods


o AttributeDecl
public virtual HRESULT AttributeDecl( const CATUnicodeString& iElementName,
const CATUnicodeString& iAttributeName,
const CATUnicodeString& iType,
const CATUnicodeString& iValueDefault,
const CATUnicodeString& iValue) = 0
Receives notification of an attribute type declaration.

Only the effective (first) declaration for an attribute will be reported. The type will be one of the strings "CDATA", "ID", "IDREF", "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", a parenthesized token group with the separator "|" and all whitespace removed, or the word "NOTATION" followed by a space followed by a parenthesized token group with all whitespace removed.

Any parameter entities in the attribute value will be expanded, but general entities will not.

Parameters:
iElementName
The name of the associated element.
iAttributeName
The name of the attribute.
iType
A string representing the attribute type.
iValueDefault
A string representing the attribute default ("#IMPLIED", "#REQUIRED", or "#FIXED") or an empty string if none of these applies.
iValue
A string representing the attribute's default value, or an empty string if there is none.
Errors Returned:
Error Class Error Id Description
CATSAXException XMLParserERR_2000 The method can raise a CATSAXException
o ElementDecl
public virtual HRESULT ElementDecl( const CATUnicodeString& iName,
const CATUnicodeString& iModel) = 0
Receives notification of an element type declaration.

The content model will consist of the string "EMPTY", the string "ANY", or a parenthesised group, optionally followed by an occurrence indicator. The model will be normalized so that all parameter entities are fully resolved and all whitespace is removed, and will include the enclosing parentheses. Other normalization (such as removing redundant parentheses or simplifying occurrence indicators) is at the discretion of the parser.

Parameters:
iName
The element type name.
iModel
The content model as a normalized string.
Errors Returned:
Error Class Error Id Description
CATSAXException XMLParserERR_2000 The method can raise a CATSAXException
o ExternalEntityDecl
public virtual HRESULT ExternalEntityDecl( const CATUnicodeString& iName,
const CATUnicodeString& iPublicId,
const CATUnicodeString& iSystemId) = 0
Receives notification of an external entity declaration.

Only the effective (first) declaration for each entity will be reported.

Parameters:
iName
The name of the entity. If it is a parameter entity, the name will begin with '%'.
iPublicId
The declared public identifier of the entity, or an empty string if none was declared.
iSystemId
The declared system identifier of the entity.
Errors Returned:
Error Class Error Id Description
CATSAXException XMLParserERR_2000 The method can raise a CATSAXException
o InternalEntityDecl
public virtual HRESULT InternalEntityDecl( const CATUnicodeString& iName,
const CATUnicodeString& iValue) = 0
Receives notification of an internal entity declaration.

Only the effective (first) declaration for each entity will be reported. All parameter entities in the value will be expanded, but general entities will not.

Parameters:
iName
The name of the entity. If it is a parameter entity, the name will begin with '%'.
iValue
The replacement text of the entity.
Errors Returned:
Error Class Error Id Description
CATSAXException XMLParserERR_2000 The method can raise a CATSAXException

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

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