OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] setEntityResolver() not setting entity resolver

[ Lists Home | Date Index | Thread Index ]

Jessica P. Hekman wrote:

> Hi all. I'm working with JAXP and SAX2, trying to use a custom entity 
> resolver, and failing. So far as I can tell, the resolver is not actually 
> ever getting any calls to resolveEntity(), so I assume I'm not setting it 
> properly and the parser doesn't know about it.
> I'm having trouble finding good documentation for how to go about this -- 
> the doc I've mostly seen seems to refer to SAX1. What I'm doing is:
>  import javax.xml.parsers.SAXParser;
>  import javax.xml.parsers.SAXParserFactory;
>  import org.xml.sax.InputSource;
>  import org.xml.sax.XMLReader;
> [...]
>   SAXParserFactory factory = SAXParserFactory.newInstance();
>   SAXParser parser = factory.newSAXParser();
>   XMLReader xmlReader = parser.getXMLReader();
>   MyEntityResolver er = new MyEntityResolver();
>   xmlReader.setEntityResolver(er);
>   parser.parse (new InputSource (...), handler);

And you want to ... be handled through your entity resolver? In that 
case you must resolve entity manually as JAXP doesn't use EntityResolver 
for parse method:

parser.parse(er.resolveEntity("", "..."), handler);

Your entity resolver should be used for resolving all entites in your 
files (like external DTD, external text entities, ...) automatically. If 
not, something is wrong with either your entity resolver or your parser.


   Jirka Kosek  	
   e-mail: jirka@kosek.cz

S/MIME Cryptographic Signature


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS