tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "BLAND, Geoff, GBM" <Geoff.Bl...@rbos.com>
Subject RE: Problem with the xsl:import
Date Tue, 25 Apr 2006 12:20:12 GMT
Marc,

The <xsl:import href="..." /> statement to include routesummarycontent.xsl
is in another XSLT script (routesummaryheader.xsl) which is loaded correctly
from a JSP (routesummary.jsp) using the command <xsl:apply
nameXml="routesummary" xsl="/xsl/routesummaryheader.xsl" />.

To recap; routesummary.jsp calls routesummaryheader.xsl which imports
routesummarycontent.xsl.

>This has to do with how HTTP requests are processed on your server.
We _think_ that the XSLT processor used by Tomcat can't use relative paths
as it doesn't "know" what context it resides in (even if Tomcat does).

Thanks
Geoff


-----Original Message-----
From: Marc Farrow [mailto:marc.farrow@gmail.com] 
Sent: 25 April 2006 13:03
To: Tomcat Users List
Subject: Re: Problem with the xsl:import


This has to do with how HTTP requests are processed on your server.  You
control (by url pattern matching or some other technique) which "service"
(Tomcat or Apache) gets to handle the request.

Help me out a bit here.  What "language" the tag <XSL> belong to?  Is it a
JSP tag or an HTML tag or what?



On 4/25/06, BLAND, Geoff, GBM <Geoff.Bland@rbos.com> wrote:
>
> Marc,
>
> Again thanks for the reply, we've kind of done what you say should 
> work - it appears not to work.
>
> We have put in
>
> <xsl:import href="/aaem/xsl/routesummarycontent.xsl" />
>
> And also (I think this is more correct as we're already at the "aaem"
> level)
>
> <xsl:import href="/xsl/routesummarycontent.xsl" />
>
> Neither work.
>
> I'm pretty sure that alias is set correctly as if I put 
> http://myserver:thisport/aaem/xsl/routesummarycontent.xsl into a web 
> browser the XSLT script is found.
>
> I'm not sure quite what you mean by "make sure XSL content is 
> Processed by Tomcat". I assume this is happening as if we put in the 
> full address the XSLT is processed with no problem.
>
> Thanks
> Geoff Bland
>
>
> -----Original Message-----
> From: Marc Farrow [mailto:marc.farrow@gmail.com]
> Sent: 25 April 2006 12:29
> To: Tomcat Users List
> Subject: Re: Problem with the xsl:import
>
>
> It is not impossible.  Try
>
> <xsl:import href="/aaem/xsl/routesummarycontent.xsl" />
>
> You just have to make sure that the XSL content is either
>
> 1)  Processed by Tomcat (by your connector properties)
>    a)  in the MOD_JK* worlds, this is making sure the URL pattern 
> matching is set to forward
>         the appropriate requests to Tomcat.  In other connectors, you 
> will have to do basically
>         the same thing by whatever means is needed with that 
> connector.
> 2)  Apache can see the "aaem" webapp via an alias.
>
> We use the second method.  You let Apache handle all requests that do 
> not require a servlet container and forward everything else (JSPs and
> servlets)
> to Tomcat.  This works even if we have "static" content within our 
> Tomcat webapp.
>
> hth
>
>
> On 4/25/06, BLAND, Geoff, GBM <Geoff.Bland@rbos.com> wrote:
> >
> > Marc,
> >
> > Thanks for the reply.
> >
> > We can put in an import of the form
> >
> > <xsl:import href="http://localhost/aaem/xsl/routesummarycontent.xsl"
> > />
> >
> > and that works fine (for a single web server).
> >
> > But we have multiple web servers on the box (using different ports 
> > and different install paths) and they may be different versions 
> > (development, UAT, production) having different versions of 
> > routesummarycontent.xsl. If we use the import above all servers end 
> > up selecting the XSL for just one of the versions.
> >
> > We don't want to have a different import for each version either as 
> > that will need modifying as we migrate updated versions between 
> > servers.
> >
> > What we need is a "relative" import, for example,
> >
> > <xsl:import href="/xsl/routesummarycontent.xsl" />  <!-- doesn't 
> > work
> > -->
> >
> > But I'm thinking this is impossible.
> >
> > Thanks
> > Geoff
> >
> >
> > -----Original Message-----
> > From: Marc Farrow [mailto:marc.farrow@gmail.com]
> > Sent: 21 April 2006 14:41
> > To: Tomcat Users List
> > Subject: Re: Problem with the xsl:import
> >
> >
> > You need to put the XML import file (in your case
> > routesummarycontent.xsl) somewhere that whomever is providing the 
> > resource (Apache or Tomcat) can see it.  Let me try to elaborate.
> >
> > We use an AJP connector with Tomcat and receives requests from 
> > Apache on port 8009.  We forward all "Servlet" stuff to the Tomcat, 
> > but we let Apache handle everything else.  Even images, js files, 
> > etc that are contained within a web application (context).  In order 
> > to accomplish this, we have an alias set up for each web application 
> > in Apache.  Thus, when we go to 
> > http://localhost/mywebapp/js/myjsfile.js we know that Apache is 
> > pulling
> up
> > that page.  However, if we have a js file in a JSP page that is
> referenced
> > such as
> >
> > <script src="/mywebapp/js/myjsfile.js" 
> > language="Javascript"></script>
> >
> > we know that Tomcat is processing the JSP page, but Apache is 
> > processing the handling of sending the JS file to the client.  As 
> > this is another "http" request inside the page that was request.
> >
> > So, the short of it is that you need to place your XSL somewhere 
> > that can be accessed via HTTP.  So you need to either move the XSL 
> > file to a place where an alias is defined for Apache (even root) or 
> > create an alias for your Tomcat context and then point your html tag 
> > to:
> >
> > <xsl:import href="http://localhost/aaem/xsl/routesummarycontent.xsl"
> > />
> >
> > HTH
> >
> >
> >
> > On 4/21/06, BLAND, Geoff, GBM <Geoff.Bland@rbos.com> wrote:
> > >
> > > Using Apache Tomcat 5.0.28 I'm having a problem with the 
> > > xsl:import command.
> > >
> > > I have several Tomcat running on the same server (they could be 
> > > different releases of code so can't share resources).
> > >
> > > An XSLT script is called via a JSP to convert XML to HTML 
> > > (<xsl:apply nameXml="routesummary" 
> > > xsl="/xsl/routesummaryheader.xsl" />).
> > >
> > > This routesummaryheader.xsl script then needs to call another XSLT 
> > > script routesummarycontent.xsl and it does this via an import, for 
> > > example,
> > >
> > > <xsl:import 
> > > href="http://localhost:8080/aaem/xsl/routesummarycontent.xsl"
> > > />
> > >
> > > Now this works fine.
> > >
> > > But I run many Tomcat servers on this box and so a specific URI is 
> > > no good. So I want to replace that import with a relative URI
> > >
> > > <xsl:import href="routesummarycontent.xsl" />
> > >
> > > This does not work, I get "Had IO Exception with stylesheet file: 
> > > routesummarycontent.xsl".
> > >
> > > Note routesummaryheader.xsl and routesummarycontent.xsl are in the 
> > > same directory.
> > >
> > > I've tried all kinds of relative paths in the import nothing seems 
> > > to work.
> > >
> > > The JSP file is under webapps\app-dir\jsp. The XSLT files are 
> > > under webapps\app-dir\xsl.
> > >
> > >
> > > How do I fix this?
> > >

***********************************************************************************
The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered Office: 36 St
Andrew Square, Edinburgh EH2 2YB. 
Authorized and regulated by the Financial Services Authority 
 
This e-mail message is confidential and for use by the 
addressee only. If the message is received by anyone other 
than the addressee, please return the message to the sender 
by replying to it and then delete the message from your 
computer. Internet e-mails are not necessarily secure. The 
Royal Bank of Scotland plc does not accept responsibility for 
changes made to this message after it was sent. 

Whilst all reasonable care has been taken to avoid the 
transmission of viruses, it is the responsibility of the recipient to 
ensure that the onward transmission, opening or use of this 
message and any attachments will not adversely affect its 
systems or data. No responsibility is accepted by The Royal 
Bank of Scotland plc in this regard and the recipient should carry 
out such virus and other checks as it considers appropriate. 
Visit our websites at: 
http://www.rbos.com
http://www.rbsmarkets.com 
***********************************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message