You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Kimus Linuxus <ki...@gmail.com> on 2006/10/26 13:03:36 UTC

cant use xsl:include, xsl:import, or document()

Hi,

I'm using the xslt resut type and I cant use xsl:include, xsl:import, or
document()!

I have a main,xsl file that includes another xsl in the same directory.
And gives me the following error:

ERROR:  '/home/share/software/develop/eclipse/variables.xsl (No such
file or directory)'
FATAL ERROR:  'Could not compile stylesheet'
Oct 26, 2006 11:21:10 AM org.apache.struts2.views.xslt.XSLTResult
execute
SEVERE: Unable to render XSLT Template, '/WEB-INF/templates/main.xsl'
javax.xml.transform.TransformerConfigurationException: Could not compile
stylesheet
at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
at
org.apache.struts2.views.xslt.XSLTResult.getTemplates(XSLTResult.java:335)
at org.apache.struts2.views.xslt.XSLTResult.execute(XSLTResult.java:254)

also if I do:
<xsl:variable name="page"
select="document('/home/develop/portal/webapp/WEB-INF/pages/welcome.xml')/page" />

in the main.xsl gives me the following error:

ERROR:  'File not found: Cannot handle procotol of
resource /home/develop/portal/webapp/WEB-INF/pages/welcome.xml' (***
here protocol is misspelled!! ***)
ERROR:  'com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.io.FileNotFoundException: /home/develop/portal/webapp/WEB-INF/pages/welcome.xml'
Oct 26, 2006 11:24:27 AM org.apache.struts2.views.xslt.XSLTResult
execute
SEVERE: Unable to render XSLT Template, '/WEB-INF/templates/main.xsl'
javax.xml.transform.TransformerException:
com.sun.org.apache.xalan.internal.xsltc.TransletException:
com.sun.org.apache.xalan.internal.xsltc.TransletException:
java.io.FileNotFoundException: /home/develop/portal/webapp/WEB-INF/pages/welcome.xml
	at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
	at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:279)
	at
org.apache.struts2.views.xslt.XSLTResult.execute(XSLTResult.java:279)

the file EXISTS!!


I taked a look at the XSLTResult source and there is a line that
contains:
transformer.setURIResolver(getURIResolver());

This code adds ths URI Resolver to be called by the processor when it
encounters an xsl:include, xsl:import, or document()
function. The default is an instance of ServletURIResolver, which
operates relative to the servlet context. So, what is wrong?!


thank you

Re: cant use xsl:include, xsl:import, or document() for Struts 2.0.1

Posted by Kimus Linuxus <ki...@gmail.com>.
no one can help me here??

On Thu, 2006-10-26 at 12:03 +0100, Kimus Linuxus wrote:

> Hi,
> 
> I'm using the xslt resut type and I cant use xsl:include, xsl:import, or
> document()!
> 
> I have a main,xsl file that includes another xsl in the same directory.
> And gives me the following error:
> 
> ERROR:  '/home/share/software/develop/eclipse/variables.xsl (No such
> file or directory)'
> FATAL ERROR:  'Could not compile stylesheet'
> Oct 26, 2006 11:21:10 AM org.apache.struts2.views.xslt.XSLTResult
> execute
> SEVERE: Unable to render XSLT Template, '/WEB-INF/templates/main.xsl'
> javax.xml.transform.TransformerConfigurationException: Could not compile
> stylesheet
> at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:824)
> at
> org.apache.struts2.views.xslt.XSLTResult.getTemplates(XSLTResult.java:335)
> at org.apache.struts2.views.xslt.XSLTResult.execute(XSLTResult.java:254)
> 
> also if I do:
> <xsl:variable name="page"
> select="document('/home/develop/portal/webapp/WEB-INF/pages/welcome.xml')/page" />
> 
> in the main.xsl gives me the following error:
> 
> ERROR:  'File not found: Cannot handle procotol of
> resource /home/develop/portal/webapp/WEB-INF/pages/welcome.xml' (***
> here protocol is misspelled!! ***)
> ERROR:  'com.sun.org.apache.xalan.internal.xsltc.TransletException:
> java.io.FileNotFoundException: /home/develop/portal/webapp/WEB-INF/pages/welcome.xml'
> Oct 26, 2006 11:24:27 AM org.apache.struts2.views.xslt.XSLTResult
> execute
> SEVERE: Unable to render XSLT Template, '/WEB-INF/templates/main.xsl'
> javax.xml.transform.TransformerException:
> com.sun.org.apache.xalan.internal.xsltc.TransletException:
> com.sun.org.apache.xalan.internal.xsltc.TransletException:
> java.io.FileNotFoundException: /home/develop/portal/webapp/WEB-INF/pages/welcome.xml
> 	at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
> 	at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:279)
> 	at
> org.apache.struts2.views.xslt.XSLTResult.execute(XSLTResult.java:279)
> 
> the file EXISTS!!
> 
> 
> I taked a look at the XSLTResult source and there is a line that
> contains:
> transformer.setURIResolver(getURIResolver());
> 
> This code adds ths URI Resolver to be called by the processor when it
> encounters an xsl:include, xsl:import, or document()
> function. The default is an instance of ServletURIResolver, which
> operates relative to the servlet context. So, what is wrong?!
> 
> 
> thank you