Overview of the SAX Validator Application

 

[This sample application uses a feature that was first implemented in MSXML 4.0.]

The SAX validator application uses the following SAX interfaces.

SAXXMLReader
A CoClass that implements the ISAXXMLReader interface. The SAX reader parses the XML and throws events to the handlers that you set for the reader. This application creates an instance of SAXXMLReader, enables SAX validation by setting the schema-validation feature, and sets the schema and schema-declaration-handler properties on the reader to fully enable support for SAX-based validation.

XMLSchemaCache
For this application, you declare the XMLSchemaCache object and add the schema file (in this example, books.xsd) to it as a member. The XMLSchemaCache object is then assigned to the SAX reader to be used to validate the sample XML file (books.xml).

IVBSAXContentHandler
Provides content handling features. For this application, the MyValidator class implements this interface to receive content events that are thrown by the SAX reader. For this application, the content handler uses only a single event, the endDocument method, to acknowledge a successful validation of the file.

IVBSAXErrorHandler
Provides error handling features. For this application, the MyValidator class implements this interface to receive errors that are thrown by the SAX reader.

IVBSAXLocator
Provides location information. For this application, the MyValidator class implements this interface and uses its lineNumber and columnNumber properties to return the position within the XML file as part of error reporting if a validation error occurs.

This application consists of the following two main parts.

Application form
A Microsoft® Visual Basic® 6.0 form that provides the user interface for the application. This form consists of three text boxes with corresponding labels. Two of the text boxes are used to enter file and path information for the XML and XSD files that are used as input. The third text box displays the output of the application.

The form also has two command buttons: Validate and Exit. Pressing Validate starts application processing. Pressing Exit unloads the application form, effectively exiting the application.

MyValidator
A Visual Basic class module that implements the IVBSAXContentHandler, IVBSAXErrorHandler, and IVBSAXLocator interfaces. When SAX parsing begins, the SAX reader throws a series of events that are received by an instance of this class.

See Also

Validate Documents Using SAX
Application Form (SAX Validator)
Sample XML and XSD Files (SAX Validator)
MyValidator Class (SAX Validator)
Run the Application (SAX Validator)
How the SAX Validator Application Works