tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Farrow" <marc.far...@gmail.com>
Subject Re: Problem with the xsl:import
Date Tue, 25 Apr 2006 12:25:08 GMT
Geoff,

   As Tim stated.  The <XSL:import... tag is an HTTP request.  Even though
it is coming in through the JSP page it is still and HTTP request and not a
"relative" file path issue in regards to the context.

I think we at least have you on the right path.



On 4/25/06, BLAND, Geoff, GBM <Geoff.Bland@rbos.com> wrote:
>
> 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
>
>


--
Marc Farrow
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message