URL url = Thread.currentThread().getContextClassLoader().getResource("/WEB-INF/test.xml");
InputStream input = url.openStream(); Digester digester = new Digester(); digester.parse(input);
URL url = Thread.currentThread().getContextClassLoader().getResource("/WEB-INF/test.xml");
InputSource is = new InputSource(url.toExternalForm()); is.setByteStream(input); InputSream input = url.openStream(); Digester digester = new Digester(); digester.parse(is);
ActionServlet does it the second way (InputSource), Tiles code does it the first way (InputStream). I ran into a problem getting Digester to parse xml documents that use "includes" with the InputStream method:
<!DOCTYPE xxx PUBLIC "-//xx//xx 1.0//EN" "http://localhost/my-dtd.dtd" [ <!ENTITY users SYSTEM "users.xml"> ]> <my-xml> &users; </my-xml>
It throws "org.xml.sax.SAXParseException: Relative URI "users.xml"; can not be resolved without a base URI." Switching to the InputSource method let Digester do it's thing, but I'm unclear on why.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]