All Frameworks Class Hierarchy This Framework Previous Next Indexes
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.
public virtual HRESULT AttributeDecl( | const CATUnicodeString& | iElementName, |
const CATUnicodeString& | iAttributeName, | |
const CATUnicodeString& | iType, | |
const CATUnicodeString& | iValueDefault, | |
const CATUnicodeString& | iValue) = 0 |
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.
Error Class | Error Id | Description |
---|---|---|
CATSAXException | XMLParserERR_2000 | The method can raise a CATSAXException |
public virtual HRESULT ElementDecl( | const CATUnicodeString& | iName, |
const CATUnicodeString& | iModel) = 0 |
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.
Error Class | Error Id | Description |
---|---|---|
CATSAXException | XMLParserERR_2000 | The method can raise a CATSAXException |
public virtual HRESULT ExternalEntityDecl( | const CATUnicodeString& | iName, |
const CATUnicodeString& | iPublicId, | |
const CATUnicodeString& | iSystemId) = 0 |
Only the effective (first) declaration for each entity will be reported.
Error Class | Error Id | Description |
---|---|---|
CATSAXException | XMLParserERR_2000 | The method can raise a CATSAXException |
public virtual HRESULT InternalEntityDecl( | const CATUnicodeString& | iName, |
const CATUnicodeString& | iValue) = 0 |
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.
Error Class | Error Id | Description |
---|---|---|
CATSAXException | XMLParserERR_2000 | The method can raise a CATSAXException |
Copyright © 2003, Dassault Systèmes. All rights reserved.