[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Problem running a 2.0 transformation with JAXP
Subject: RE: [xsl] Problem running a 2.0 transformation with JAXP From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 20 Mar 2008 09:08:59 -0000 |
It's not immediately clear to me what's happening here, but I suspect that the problem might not be with the URI passed to unparsed-text(), but rather with the base URI of the stylesheet. Although in principle when you supply an absolute URI to unparsed-text() it shouldn't matter what the base URI is, in practice it might well be that problems with the base URI get reported on this path. The most likely reason for a problem with the base URI is that you didn't call setSystemId() on the Source object defining the stylesheet. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] > Sent: 20 March 2008 04:22 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Problem running a 2.0 transformation with JAXP > > Hi all, > I am using Saxon 9 XSLT processor to run my program. Below > is a description of my problem. > > In a 2.0 stylesheet, I am using 'unparsed-text' function as following: > > <xsl:param name="file" /> <!-- this is a global stylesheet > parameter --> > > <xsl:variable name="fileStr" select="unparsed-text($file,'UTF-8')" /> > > I am passing the value of parameter 'file' as a URI string > value of format, file:/C:/dirname/filename.csv > > I am calling the transformation from a Java program using the > JAXP API. Below is the code fragment of my Java program: > > File f = new File("filename.csv"); > String file = f.toURI().toString(); //this generates string > of format, file:/C:/dirname/filename.xyz > > transformer.setParameter("file", file); > transformer.transform(xmlSource, new StreamResult(new > File("result.csv"))); > > (I am actually using the syntax, <xsl:output method="text" /> > in the stylesheet, to generate a CSV output). > > When the Java program is run, I get the following error: > > Error > XTDE1170: Cannot resolve relative URI: no protocol: > net.sf.saxon.trans.DynamicError: Cannot resolve relative URI > at > net.sf.saxon.functions.UnparsedText.readFile(UnparsedText.java:112) > at > net.sf.saxon.functions.UnparsedText.evaluateItem(UnparsedText.java:72 > ) > at > net.sf.saxon.expr.ExpressionTool.eagerEvaluate(ExpressionTool.java:29 > 7) > at > net.sf.saxon.expr.ExpressionTool.lazyEvaluate(ExpressionTool.java:245 > ) > at > net.sf.saxon.instruct.GlobalVariable.getSelectValue(GlobalVariable.ja > va:168) > at > net.sf.saxon.instruct.GlobalVariable.evaluateVariable(GlobalVariable. > > If I run the stylesheet from command line, passing the > relevant URI parameter as string, in the same format, I do > not get the error. > > It seems, 'unparsed-text' function is having some problem > working with the passed value. > > Could somebody please help me with this. > > > -- > Regards, > Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Problem running a 2.0 tra, Owen Rees | Thread | Re: [xsl] Problem running a 2.0 tra, Mukul Gandhi |
Re: [xsl] Problem running a 2.0 tra, Owen Rees | Date | Re: [xsl] Problem running a 2.0 tra, Mukul Gandhi |
Month |
Keywords