Using XML locator to indicate current parser position : SAX « XML « Java Tutorial






import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.Locator;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

class SampleOfXmlLocator extends DefaultHandler {
  private Locator locator;
  public void setDocumentLocator(Locator locator) {
    this.locator = locator;
  }
  public void startElement(String uri, String localName, String qName, Attributes attrs)
      throws SAXException {
    if (qName.equals("order")) {
      System.out.println("here process element start");
    } else {
      String location = "";
      if (locator != null) {
        location = locator.getSystemId(); // XML-document name;
        location += " line " + locator.getLineNumber();
        location += ", column " + locator.getColumnNumber();
        location += ": ";
      }
      throw new SAXException(location + "Illegal element");
    }
  }
  public static void main(String[] args) throws Exception {
    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setValidating(true);
    SAXParser parser = factory.newSAXParser();
    parser.parse("sample.xml", new SampleOfXmlLocator());
  }
}








33.1.SAX
33.1.1.SAX parer with all its action displayed
33.1.2.SAX Error Checking: A Simple Implementation of the ErrorHandler Interface
33.1.3.The XMLReader interface
33.1.4.A Program to Display the Input from a SAX Parser: subclass ContentHandler
33.1.5.A Class to Convert SAX Parse Information into an XML Document
33.1.6.A Content Handler to Output a Sorted List
33.1.7.Generating SAX Parsing Events by Traversing a DOM Document
33.1.8.Intercepting All Accesses to External Entities During XML SAX Parsing
33.1.9.Accessing features of the SAX parser implementation
33.1.10.Handling SAX errors during parsing
33.1.11.Parsing XML with a simple SAX document handler
33.1.12.Configuring SAX parser factory to produce alternate parser
33.1.13.Using XML locator to indicate current parser position
33.1.14.Calling a .NET Web Service
33.1.15.Sax to DOM converter
33.1.16.Produce a SAX stream from a DOM Document