RE: Problem with saxon7, Transformer and URIResolver
The URIResolver on the Transformer is used for resolving run-time URIs, such as those in the document() function. For compile-time URIs, such as xsl:include, you need to set a URIResolver on the TransformerFactory. By the time you create your Transformer the stylesheet has already been compiled, and all xsl:includes and xsl:imports have already been resolved. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Olaf Meske [mailto:omeske@xxxxxxxxxxx] > Sent: 08 April 2005 13:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Problem with saxon7, Transformer and URIResolver > > Hello, > > I try to use a customized / wrapped URIResolver with saxon7, > to change > an additional style sheet imported with > <xsl:include href="myspecial.xsl" /> > to resolve this "myspecial.xsl" to some other url. > > I created the Transformer with: > ========= > TransformerFactory tFactory = TransformerFactory.newInstance(); > transformer = tFactory.newTransformer(new StreamSource("./main.xsl")); > // this main.xsl contains the xsl:include > URIResolver resolver = transformer.getURIResolver(); > URIResolver newRes = new MyURIResolver(resolver, ...); > transformer.setURIResolver(newRes); > [...] > // now invoking some xml file with transformer ... > > I wonder why my wrapped URIResolver (MyURIResolver) will never be > invoked to resolve the xsl:include. > > Do I have to set the URIResolver *before* setting the > main.xsl for the > Transformer? And when I have to, how can I do it? > > Regards, > > Olaf > > -- > Olaf Meske > www.softcare.de
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format