Subject: [xsl] {java} JNDI lookup for a file - returning a StreamSource to URIResolver and xalan, saxon, jd.xslt, resin From: "Robert Koberg" <rob@xxxxxxxxxx> Date: Thu, 28 Aug 2003 20:26:33 -0700 |
Hi, I am seeing inconsistent behavior when getting file based resources through JNDI lookups and then returning a StreamSource to an URIResolver. When using the same XSLs in a non-JNDI based setup all processors work correctly. When using JNDI and 'pre-building' the Source, Xalan recognizes the Source and performs the transformation without errors -- Saxon, jd.xslt and Resin fail. In my live webapp I am strictly file system based, but I want to abstract that so I can plug in different repositories like Tamino, LDAP, etc. I am trying something like the following in a custom URIReolver: public Source resolve( String href, String base ) { StreamSource source = null; if ( href.startsWith( "xsl_" ) ) { source = this.project.openSource( href ); System.out.println( href + " = " + source ); } return source; } The lookup for the primary XSL (the one that does the xsl:includes) is resolved correctly in all processors. The resolver that is set on the TransformerFactory. The source variable is being returned to the transformation(?) or, definitely, at least the resolver... (FWIW, I have the latest Xalan in my $JAVA_HOME/libs/endorsed directory, Saxon and jd.xslt are in the webapp's lib directory) For the JNDI provider I am using: javax.naming.Context.INITIAL_CONTEXT_FACTORY="com.sun.jndi.fscontext.RefFSCo ntextFactory" The javax.naming.Context.PROVIDER_URL is set correctly and the DirContext is available. I have tried the following in Caucho's Resin: <system-property javax.xml.transform.TransformerFactory="com.icl.saxon.TransformerFactoryImpl "/> <system-property javax.xml.transform.TransformerFactory="jd.xml.xslt.trax.TransformerFactoryI mpl"/> <system-property javax.xml.transform.TransformerFactory="org.apache.xalan.processor.Transform erFactoryImpl"/> Xalan recognizes the Source and performs the transformation without errors. Saxon, jd.xslt and Resin fail giving the errors below ('xsl_global_definitions' is the first 'identifier' that comes into the resolver). Any ideas on what I am doing wrong or how I can fix this? Thanks, -Rob (the default Resin 2.1.10 implementation fails, but only gives a NullPointerException on my servlet filter) -oO Saxon Oo- xsl_global_definitions = javax.xml.transform.stream.StreamSource@1536eec TransformPreviewSiteXmlFilter.navigate:java.lang.NullPointerException java.lang.NullPointerException at com.icl.saxon.style.XSLGeneralIncorporate.getIncludedStyleSheet(XSLGeneralIn corporate.java:104) at com.icl.saxon.style.XSLStyleSheet.spliceIncludes(XSLStyleSheet.java:421) at com.icl.saxon.style.XSLStyleSheet.preprocess(XSLStyleSheet.java:346) at com.icl.saxon.PreparedStyleSheet.setStyleSheetDocument(PreparedStyleSheet.ja va:176) at com.icl.saxon.PreparedStyleSheet.prepare(PreparedStyleSheet.java:133) at com.icl.saxon.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.jav a:127) <snip why="going into my code"/> ----------------------------------------------------------- -oO jd.xslt Oo- xsl_global_definitions = javax.xml.transform.stream.StreamSource@8990e4 TransformPreviewSiteXmlFilter.navigate:javax.xml.transform.TransformerConfig urationException: jd.xml.xslt.parser.XsltPar seException: '' includes directly or indirectly itself (baseUri='' Element=xsl:include (line 15)) javax.xml.transform.TransformerConfigurationException: jd.xml.xslt.parser.XsltParseException: '' includes directly or in directly itself (baseUri='' Element=xsl:include (line 15)) at jd.xml.xslt.trax.TransformerFactoryImpl.getException(Unknown Source) at jd.xml.xslt.trax.TransformerFactoryImpl.newTemplates(Unknown Source) at jd.xml.xslt.trax.TransformerFactoryImpl.newTemplates(Unknown Source) <snip why="going into my code"/> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Question about Page-Maste, Wendell Piez | Thread | RE: [xsl] {java} JNDI lookup for a , Michael Kay |
[xsl] xsl:number and including node, Denis Haskin | Date | Re: [xsl] xsl:number and including , Bill Keese |
Month |