![]() |
The Java Developers Almanac 1.4 |
|
e550. Determining the Parsing Location of an XML SAX ParserTo get the current URI and location of a SAX parser during parsing, you need to obtain aLocator object. This object can be obtained
by installing a ContentHandler and overriding the
setDocumentLocator() method. The SAX parser will call this
method and deliver the Locator object that you can use anytime it
delivers an event (i.e., invokes a callback method in a handler). This
method will be called before any other ContentHandler method.
Note: Not all SAX parser support a This example captures the // Create a handler for SAX events
DefaultHandler handler = new MyHandler();
// Parse an XML file using SAX;
// e517 The Quintessential Program to Parse an XML File Using SAX
parseXmlFile("infilename.xml", handler, false);
// This class listens for startElement SAX events
static class MyHandler extends DefaultHandler {
Locator locator;
public void setDocumentLocator(Locator locator) {
this.locator = locator;
}
// This method is called when an element is encountered
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) {
if (locator != null) {
int col = locator.getColumnNumber();
int line = locator.getLineNumber();
String publicId = locator.getPublicId();
String systemId = locator.getSystemId();
}
}
}
e549. Getting the Attributes of an Element During XML SAX Parsing © 2002 Addison-Wesley. |