Hi,
You need to use the EntityResolver in order to resolve this to a copy of the DTD on your local file system.
org.xml.sax.EntityResolver.
Below is the code required for you.....
import javax.xml.parsers.*;
import org.xml.sax.*;
....
....
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
MyResolver myResolver = new MyResolver();
xmlReader.setEntityResolver(myResolver);
...
xmlReader.parse(..);
your class should be,
import org.xml.sax.EntityResolver;
import org.xml.sax.InputSource;
public class MyResolver implements EntityResolver {
public InputSource resolveEntity (String publicId, String systemId)
{
if (systemId.equals("
http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd")
|| publicId.equals("-//W3C//DTD SVG 1.0//EN")) {
// return a special input source
FileReader fileReader = new FileReader("/usr/home/work/dtds/svg10.dtd");
return new InputSource(fileReader);
} else {
// use the default behaviour
return null;
}
}
}
Hope it helps you...
regards,
Gopi