Resolving entities found in source XML during parsing : EntityResolver « XML « Java






Resolving entities found in source XML during parsing

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

import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;

public class Main {
  public static void main(String[] argv) throws Exception {
    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setValidating(true);
    SAXParser parser = factory.newSAXParser();
    SaxHandler handler = new SaxHandler();
    parser.parse("sample.xml", handler);
  }
}

class SaxHandler extends DefaultHandler {
  public InputSource resolveEntity(String publicId, String systemId) {
    if (systemId.equals("http://www.my-company.com/order-1.0.dtd")) {
      return new InputSource(getClass().getResourceAsStream("order.dtd"));
    } else {
      return null;
    }
  }
  public void startElement(String uri, String localName, String qName, Attributes attrs)
      throws SAXException {
    if (qName.equals("order")) {
    }
  }
  public void error(SAXParseException ex) throws SAXException {
    System.out.println("ERROR: [at " + ex.getLineNumber() + "] " + ex);
  }
  public void fatalError(SAXParseException ex) throws SAXException {
    System.out.println("FATAL_ERROR: [at " + ex.getLineNumber() + "] " + ex);
  }
  public void warning(SAXParseException ex) throws SAXException {
    System.out.println("WARNING: [at " + ex.getLineNumber() + "] " + ex);
  }
}

   
    
    
  








Related examples in the same category

1.implements EntityResolver
2.Getting the Value of an Entity Reference in a DOM Document
3.Intercepting All Accesses to External Entities During XML SAX Parsing
4.Preventing Expansion of Entity References While Parsing an XML File
5.Resolves an entity reference or character reference to its value.