Subject: RE: [xsl] File:New generates error From: Cool The Breezer <techcool.kumar@xxxxxxxxx> Date: Wed, 18 Mar 2009 03:53:34 -0700 (PDT) |
Hi, we are exactly doing the same thing as suggested by you. The static block in the class sets the system property for TransforerFactory static { System.setProperty("javax.xml.parsers.DocumentBuilderFactory", "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"); System.setProperty("javax.xml.parsers.SAXParserFactory", "org.apache.xerces.jaxp.SAXParserFactoryImpl"); System.setProperty("javax.xml.transform.TransformerFactory", "com.icl.saxon.TransformerFactoryImpl } But still, why processor still picks up factory from rt.jar. Any idea? regards, Ranjan --- On Wed, 3/18/09, Michael Kay <mike@xxxxxxxxxxxx> wrote: > From: Michael Kay <mike@xxxxxxxxxxxx> > Subject: RE: [xsl] File:New generates error > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Date: Wednesday, March 18, 2009, 6:13 AM > > The JAXP factory mechanism, which relies on searching the > classpath for the > first XSLT processor it finds, is really best avoided. It's > expensive and > unpredictable. If your code is written to only work with > one particular > processor, then instantiate it directly (replace > TransformerFactory.newInstance() by new > net.sf.saxon.TransformerFactoryImpl()). Or set the Java > system property > javax.xml.transform.TransformerFactory to the value > "net.sf.saxon.TransformerFactoryImpl". > > Michael Kay > http://www.saxonica.com/ > > > -----Original Message----- > > From: Cool The Breezer [mailto:techcool.kumar@xxxxxxxxx] > > > Sent: 18 March 2009 09:29 > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: RE: [xsl] File:New generates error > > > > > > Hi, We have this problem appeared again. We found that > > > Saxon.jar file was present in the classpath. I > understand > > that this might not be directly related to XSLT > problem but > > it is something which is caused when java is not able > to > > access saxon.jar or xalan.jar in classpath and > accesses > > default processor from rt.jar. As this problem occurs > > > randomly, it makes me very difficult to find the root > cause > > of the problem. Any help/suggestion/input would be > highly appreciated. > > > > - RB > > > > --- On Mon, 3/16/09, Cool The Breezer > > <techcool.kumar@xxxxxxxxx> > wrote: > > > > > From: Cool The Breezer <techcool.kumar@xxxxxxxxx> > > > Subject: RE: [xsl] File:New generates error > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > Date: Monday, March 16, 2009, 12:08 PM > > > > > > Thanks lot for pointing me in right direction. In > the code > > base system > > > property for transformation factory is set to > "null" that's why > > > processor uses sun's transformation > > > packages(XSLTC) instead of saxon which gives > error. I realized that > > > > com.sun.org.apache.xalan.internal.xsltc.compiler.Variable > > > present in rt.jar which is part of JDK. This does > not occur always, > > > becos the part of code setting system property > for transformation > > > factory to null is executed in *Some* > conditions. > > > > > > -RB > > > > > > --- On Mon, 3/16/09, Michael Kay <mike@xxxxxxxxxxxx> > > > wrote: > > > > > > > From: Michael Kay <mike@xxxxxxxxxxxx> > > > > Subject: RE: [xsl] File:New generates error > > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > > Date: Monday, March 16, 2009, 8:52 AM > > > > > > > > You're not using Saxon here, you're using > the XSLTC > > processor (part > > > > of the Xalan product). I suspect that's > related to the > > the problem, > > > > since calling conventions for extension > functions depend on the > > > processor > > > > you are using. > > > > > > > > Since file:exists in Java returns a boolean, > I would > > suggest taking > > > > out the " = 'true'" part of the test, since > comparing a > > > boolean to > > > > a string is > > > > somewhat error-prone. > > > > > > > > Michael Kay > > > > http://www.saxonica.com/ > > > > > > > > > -----Original Message----- > > > > > From: Cool The Breezer [mailto:techcool.kumar@xxxxxxxxx] > > > > > > > > > Sent: 16 March 2009 12:18 > > > > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > > > > Subject: [xsl] File:New generates > error > > > > > > > > > > > > > > > Hi, > > > > > We have strange error started coming > recently > > > for > > > > using java > > > > > A= PI to check file existence. Recently > we moved > > > to > > > > saxon and > > > > > earlier we were using Xalan but I dont > think > > > this > > > > caused the > > > > > error. We were using this code since > years or so > > > > without any > > > > > problem and this error =A0comes > randomly. I am > > > not > > > > able to > > > > > replicate this in dev environment. I > would > > > appreciate > > > > your > > > > > help on finding root cause of this > problem. > > > > > > > > > > XSL Code: > > > > > > > > > > <xsl:template name="file-exists" > > > > xmlns:file="java.io.File"> > > > > > > > > > > <xsl:param > > > > name="filename"/> > > > > > > > > > <xsl:choose> > > > > > > > > > <xsl:when > > > > > test="file:exists(file:new($filename)) > = > > > > 'true'">true</xsl:when> > > > > > > > > > > > > > > <xsl:otherwise>false</xsl:otherwise> > > > > > > > > > </xsl:choose> > > > > > </xsl:template> > > > > > > > > > > Error: > > > > > ERROR: 'Cannot convert > argument/return type in > > > > call to > > > > > method 'java.io.File.new(reference)'' > > > > > > > > > > FATAL ERROR: 'Could not compile > stylesheet' > > > > > > > > > > > > > > > > > > > > java.lang.ClassCastException: > > > > > > > > > > > > > com.sun.org.apache.xalan.internal.xsltc.compiler.Variable > > > > > cannot be cast to > > > > > > > > > > > > > com.sun.org.apache.xalan.internal.xsltc.compiler.Param > > > > > > > > > > at > > > > > > > > > > > > > com.sun.org.apache.xalan.internal.xsltc.compiler.SymbolTable.a > > > > > ddParam(Unknown Source) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] File:New generates error, Michael Kay | Thread | RE: [xsl] File:New generates error, Michael Kay |
Re: [xsl] [XSL] Adding namespaces t, Anna Södling | Date | RE: [xsl] File:New generates error, Michael Kay |
Month |