Re: [xsl] include css in xsl

Subject: Re: [xsl] include css in xsl
From: "TP" <tpass001@xxxxxxxxxxx>
Date: Thu, 20 Mar 2003 09:13:39 -0600
Hello Robert,

The solution you mentioned worked. As I said, something that you spend a lot
of time on turn out to be very simple

So this is the structure for people who might encounter this problem

webapps
-- my_app
---htmlfiles
---css folder
----style.css
---js folder
----script.js
---WEB-INF
----classes
----lib
----xslt

In the xslt include css and js as within the <head> section as
<head>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<script language="JavaScript" type="text/javascript" src="../js/tree.js"/>
</head>

This shud do it.

Thanks.

TP.


----- Original Message ----- 
From: "Robert Koberg" <rob@xxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, March 19, 2003 11:19 AM
Subject: RE: [xsl] include css in xsl


> Hi,
>
> A couple of things:
>
> 1. You do realize that anything behind WEB-INF (in a servelet container)
is
> protected. That is, it is not available to the client.
>
> 2. You are using backslashes when you should be using forward slashes:
>  href="../css/style.css"
>
> Solution:
>
> Put your CSS folder in your docroot and reference by a root relative path:
>
>  href="/css/style.css"
>
> you can still use relative paths (perhaps you want to generated pages
offline?)
> by figuring out where your transformation places the rendered version in
your
> server's path. I assume you are using a servlet - so you can see what the
> url-pattern is and assume that is where your rendered version is in
relation to
> the CSS.
>
> For example, if you have:
>
> <servlet>
>     <servlet-name>Blah</servlet-name>
>     <servlet-class>com.Blah</servlet-class>
>     <load-on-startup/>
>    </servlet>
>    <servlet-mapping>
>       <servlet-name>Blah</servlet-name>
>       <url-pattern>/Blah</url-pattern>
>    </servlet-mapping>
>
> in a webapp that is living off of:
>
> http://myserver.com/myapp
>
> you would need a style href like the following:
>
> root relative - href="/myapp/css/style.css"
> document relative - href="css/style.css"
>
> best,
> -Rob
>
>
> > -----Original Message-----
> > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of TP
> > Sent: Wednesday, March 19, 2003 8:55 AM
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: Re: [xsl] include css in xsl
> >
> >
> > Thanks Passin and Blix (interesting name)
> >
> > This is the xsl below
> > ==================================================
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> >     xmlns:lxslt="http://xml.apache.org/xslt";
> >     xmlns:counter="MyCounter"
> >     extension-element-prefixes="counter"
> >     version="1.0">
> >
> > <xsl:output method = "html" />
> >  <xsl:template match="message">
> > <html>
> >    <head>
> >    <link rel="stylesheet" href="..\css\style.css" type="text/css"
> > media="screen"/>
> >   </head>
> > <body>
> >   etc...
> > </body>
> > </html>
> > </xsl:template>
> > </xsl:stylesheet>
> > ==================================================
> >
> > the filesystem is as
> > WEB-INF
> > -- classes
> > -- lib
> > -- xslt
> > ---- this.xsl
> > -- css
> > ---- style.css
> >
> > This is a subset of the entire stylesheets. The reason I am saying that
is
> > because my stylesheets use templates and include/import other
stylesheets
> > which are getting resolved properly. I use the implement URIResolver in
my
> > servlet so that the files are picked up from the appropriate folder.
> >
> > You know those errors which you think are nothing but take a long time
to
> > resolve but end up being something small. this cud be one of them.
> >
> > I appreciate the help.
> >
> > Thanks.
> >
> > TP.
> > ----- Original Message -----
> > From: "Passin, Tom" <tpassin@xxxxxxxxxxxx>
> > To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> > Sent: Wednesday, March 19, 2003 10:23 AM
> > Subject: RE: [xsl] include css in xsl
> >
> >
> > > [ I have copied this question over to the right thread.  Please
respond
> > > to this thread]
> > >
> > > It sounds as if you are expecting something to happen that is not
going
> > > to happen.  the html code you show below is apparently in an html file
> > > (the output of your transformation, I imagine?).  At this point, when
> > > you load the file into a browser, no xslt transformation is going to
be
> > > invoked.  On the other hand, the css stylesheet should be applied to
the
> > > page, via the "link" element.
> > >
> > > If that is not happening, probably the path to the css file is wrong,
or
> > > the css file is not valid css.  Perhaps the external css file contains
> > > xml instead of css (it should not have a "style" element, for
example)?
> > >
> > > You have to decide whether your xslt stylesheet is going to insert the
> > > __css text__ from an xml file into your html output document, or
whether
> > > it is going to insert a reference to a css file, as you have it below.
> > > You cannot succees with a mix and match approach.
> > >
> > > Cheers,
> > >
> > > Tom P
> > >
> > > > > [ TP]
> > > > > > I wrote this in the head of the xsl
> > > > > > ----------------------------------------------------------------
> > > > > > <head>
> > > > > > <link  rel="stylesheet" href="style.css" type="text/css"/>
> > > > > > </head>
> > > > > > ----------------------------------------------------------------
> > > > > > It did not pick it up..... any ideas.....
> > > > > >
> > > > >
> > > > > What do you mean?  What do you mean by "the head of the xsl"?
> > > >
> > > > This is the code that apears in "View source"
> > > >
> > > > <html>
> > > > <head>
> > > > <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
> > > > <title>Test</title>
> > > > <link media="screen" type="text/css" href="../css/style.css"
> > > > rel="stylesheet">
> > > > </head>
> > > > <body>
> > > > etc....
> > > >
> > > > I dont belive that the xsl is picking up the css file when it
> > > > renders the
> > > > html.
> > > >
> > >
> > >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> > >
> >
> >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> >
>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread