Validating xml with sax parser

The locator allows the application to determine the end position of any document-related event, even if the parser is not reporting an error.Typically, the application will use this information for reporting its own errors (such as character content that does not match an application’s business rules).

However, the information provided is for your information only.

Note the "throws Exception" wimp-out; real applications would need real error handling: We can use this object to parse XML documents, but first, we have to register event handlers that the parser can use for reporting information, using the set Content Handler and set Error Handler methods from the XMLReader interface. Things get interesting when you start implementing methods to respond to XML parsing events (remember that we registered our class to receive XML parsing events in the previous section).

In a real-world application, the handlers will usually be separate objects, but for this simple demo, we've bundled the handlers into the top-level class, so we just have to instantiate the class and register it with the XML reader: This code creates an instance of My SAXApp to receive XML parsing events, and registers it with the XML reader for regular content events and error events (there are other kinds, but they're rarely used). The most important events are the start and end of the document, the start and end of elements, and character data.

In particular, environments with JAXP 1.1 support include SAX2.

Start by creating a class that extends Default Handler: method that uses the the create XMLReader method from the XMLReader Factory class to choose a SAX driver dynamically. Default Handler; public class My SAXApp extends Default Handler You can compile this code and run it (make sure you specify the SAX driver class in the sax.driver property), but nothing much will happen unless the document contains malformed XML, because you have not yet set up your application to handle SAX events.

It is extending When a fatal error occurs, the parser cannot continue.

You must have an account to comment. Please register or login here!