RE: [xsl] setting EntityResolver triggered by saxon:parse()?

Subject: RE: [xsl] setting EntityResolver triggered by saxon:parse()?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 6 May 2009 20:48:17 +0100
In future, please use the saxon-help list or forum (via the saxon project on
SourceForge) for questions that are so obviously product-specific.

The implementation of saxon:parse() will try to create an instance of the
class registered in the Saxon Configuration using setSourceParserClass() (or
-x on the command line). This must be an implementation of XMLReader. You
could define your own implementation of XMLReader that proxies or subclasses
a standard SAX parser after preinitializing its EntityResolver. The only
possible problem is that this parser class would also be used for other
documents, for example those read using doc() or document().

Michael Kay
http://www.saxonica.com/

> -----Original Message-----
> From: Victor Cheung [mailto:vdcheung@xxxxxxxxx] 
> Sent: 06 May 2009 19:27
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] setting EntityResolver triggered by saxon:parse()?
> 
> Hihi all,
> 
> I'm using saxon:parse() in my stylesheet to parse documents 
> embedded into elements of my source data file (wrapped by CDATA).
> 
> Everything works beautifully except now I would like to set 
> my own custom EntityResolver so that I can pass the XML 
> parser a locally retrieved DTD file it will use to validate  
> (i.e.  I don't want it to actually go out to the Internet for 
> the www.w3.org XHTML 1.0 DTD file)
> 
> Does anyone know if there is an easy way to do this?  I looked at the
> parse() implementation and there doesn't seem to be a way to 
> hook in a custom EntityResolver.
> 
> Thanks in advance,
> -v

Current Thread