I tried to use my EntityResolver with chained XMLFilters, but the TrAXFilter always reset it to the default EntityResolver.  For example, the following code will never work, because TrAXFilter.setupParse() will always reset the EntityResolver of the reader.  Should this method first check the reader's current EntityResolver, and do not reset it if it is not null?
 
Thanks,
Yueming
 
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware( true );
spf.setValidating( false );
SAXParser parser = spf.newSAXParser();
XMLReader reader = parser.getXMLReader();
reader.setEntityResolver(new DummyEntityResolver());
SAXTransformerFactory stf =(SAXTransformerFactory) tFactory;
XMLFilter filter1 = stf.newXMLFilter(template1);
XMLFilter filter2 = stf.newXMLFilter(template2);
filter1.setParent(reader);
filter2.setParent(filter1);
Transformer transformer = stf.newTransformer();
SAXSource transformSource = new SAXSource(filter2, inputSource);
transformer.transform(transformSource, result);

Reply via email to