ISAXDeclHandler Interface
The ISAXDeclHandler/IVBSAXDeclHandler
interface allows you to access declaration information about the following:
Element and attribute types
Internal and external entities
If you are using the DeclHandler
with a LexicalHandler
, all of the events occur between the startDTD
and the endDTD
events.
To set the DeclHandler
for a SAX2 reader, use the putProperty
method with the property ID, "http://xml.org/sax/properties/declaration-handler"
.
Methods
attributeDecl | Receives/reports an attribute type declaration. |
elementDecl | Receives/reports an element type declaration. |
externalEntityDecl | Receives/reports a parsed external entity declaration. |
internalEntityDecl | Receives/reports a parsed internal entity declaration. |
The IVBSAXDeclHandler
interface enables a Simple API for XML (SAX2) application to implement an optional extension handler that receives information about DTD declarations in an XML document. SAX2 readers are not required to support this handler, and this handler is not included in the core SAX2 distribution.
Data-related DTD declarations (unparsed entities and notations) are already reported through the IVBSAXDTDHandler
interface.
The IVBSAXDeclHandler
interface includes a series of methods that are invoked by the reader during the parsing operation. The reader passes the appropriate information to the parameters of the method. To perform some type of processing for a method, you add code to the method in the DeclHandler
implementation. In general, you will rarely call these methods yourself from within the DeclHandler
. Therefore, the syntax shown for the IVBSAXDeclHandler
interface focuses on the implementation syntax, rather than the usage syntax.
Important
The SAX2 reader passes string values to IVBSAXDeclHandler
methods by reference, rather than by value.
This is an optional extension handler for SAX2 that provides information about DTD declarations in an XML document. Data-related DTD declarations (unparsed entities and notations) are already reported through the ISAXDTDHandler
interface.
The following code shows how to use the putProperty
method with the property ID, http://xml.org/sax/properties/declaration-handler
, to set the DeclHandler
for a SAX2 reader.
... SAXXMLReader * r = ...
SAXDeclHandler * dh = new SAXDeclHandler();
r->putProperty("http://xml.org/sax/properties/declaration-handler", _variant_t(dh));
Requirements
Implementation:
msxml3.dll (MSXML 3.0)
msxml6.dll (MSXML 6.0)
Header and LIB files: msxml2.h, msxml2.lib, msxml6.h, msxml6.lib
Versioning
Implemented in: MSXML 3.0 and later
See Also
endDTD Method
ISAXDTDHandler Interface
putProperty Method
startDTD Method