This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
xsl:include blues..
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: [xsl] xsl:include blues..
- From: "Kevin Duffey" <kevin dot duffey at home dot com>
- Date: Tue, 13 Feb 2001 00:30:32 -0800
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi there,
I am having two dilemas with using an XSL include. First, I want to include
a "header" and "footer" on every page. The header would be the opening HTML
(<html><head></head><body>), and the footer would be the closing
</body></html>. I thought of putting these in a "library" of templates, so
that I can match a <header> and <footer> tag in the source XML, but
apparently you have to close the tags you open even in a template. I figure
the resulting XML had to be well-formed. For example, here is a snippet of
xsl I thought would work:
-----------
include.xsl
-----------
<xsl:template match="header">
<html>
<head>
</head>
<body>
</xsl:template>
<xsl:template match="footer">
</body>
</html>
</xsl:template>
------------
somepage.xsl
------------
<xsl:include file="include.xsl"/>
<xsl:template match="ob">
<xsl:apply-templates select="header"/>
... some HTML
<xsl:apply-templates select="footer"/>
</xsl:template>
I am not sure why the above doesn't work, but I assume its because the
templates must be well-formed? So the question is, how can I include the
same "header" and "footer" in every XSL page so that I can use a consistent
look to my site, but still get the benefits of using XSL?
On that note, an odd thing happens and I am not sure if there is a way to
circumvent this problem. I am using Java (J2EE specifically) and following
the web application (WAR) format. In that format the ROOT of a web-app is
the start of the www folder. In other words, in any path info the "/"
defines the root of the web app, which is the www folder. When I try to
include an XSL file and use something like <xsl:include
href="/path/page.xsl"/> it does NOT use my root web app, but instead seems
to be looking in the dir of the app server I am using (Orion App server). I
am using the latest Xerces with TrAX API, and am using saxon, as well as
have tried with the latest xalan. I am unclear why the xsl:include is not
looking in my web application root. Can anyone shed light on this as well?
Thanks very much.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list