import javax.xml.parsers.*; import org.xml.sax.XMLReader; import java.io.File; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; class SAXresolve { static public void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setValidating(true); SAXParser saxParser = factory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setEntityResolver( new MyEntityResolver() ); xmlReader.parse ( new File(args[0]).toURL().toString() ); } } class MyEntityResolver implements EntityResolver { public InputSource resolveEntity ( String publicId, String systemId) { if( publicId.equals("resolve.dtd") || systemId.equals("resolve.dtd") ){ String url = "sys-resolve.dtd" ; return new InputSource( url ); } else { return null; } } }