Re: include statement
Kevin.Gutch@xxxxxxxxxxx wrote: > From within a servlet I have an XSL file that uses an <xsl:include> > statement. ... > - -I grab my principal.xsl from as a .getSystemResourceAsStream because it > is within a jar File. This appears to be the problem. You have to get familiar with the mechanics behind URI handling. The xsl:include statement takes an URL. In your old configuration, the name you supplied was interpreted as relative URI, which was in turn resolved against the URI of the style sheet (roughly the same way a browser resolves relative URIs). This made it an absolute file URL pointing exactly where you wanted. In your new setup, the processor environment is apparently no longer able to correctly discover the URI of the style sheet and uses the current working directory instead (often the most "intuitive" value). You can try to use an absolute URI in your xsl:include statement. This works best if its a syntactically correct file URI like "file:///foo/bar/included.xsl" (note the triple slash) or "file://C:/foo/bar/included.xsl" in a Windows environment. However, the best solution for you is probably to write a custom URIResolver. Look up this interface and the setURIResolver() method in the TransformerFactory interface in the JAXP documentation. Look up the source code of the default implementation in Xalan or Saxon to get an impression what to do there. This would allow you to put the included XSL file also into the jar and use it via getRessourceAsStream() if you want to. HTH J.Pietschmann XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
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