[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: File:New generates error

Subject: RE: File:New generates error
From: Cool The Breezer <techcool.kumar@xxxxxxxxx>
Date: Wed, 18 Mar 2009 03:53:34 -0700 (PDT)
RE:  File:New generates error
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:  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:  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:  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:  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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.