|
top
|
Subject: Re: xsl:import imports at design time, not at runtime. Author: Daniel Thompson Date: 26 Jun 2004 06:22 PM
|
Sorry for the previous kludge, once you edit, it you lose line breaks, never to return (after removing the html breaks). I apologize to all for the lack of readability and double post.
Minollo,
Thank you for your reply. Here is the best that I can come up with. First off, I apologize, this is day two now of me using Stylus Studio.
I am using Stylus Studio to take a pre-existing xslt and create an xslt:fo for use in the generation of pdfs. I have three documents:
compare.xsl: the xml-to-html conversion
compare.xml: source document
markup.xsl: global templates
While warming up with Stylus Studio, I thought I would learn about and set up the environment by getting the top images to display in the wysiwyg without red x's. I therefore set up the documents as I've included them. When I was done with my "boilerplate template" as I call it, I went to the wysiwyg. Upon returning to XSLT source, the boilderplate template had been embedded into compare.xsl's source.
I'm afraid due to the nature of the project, I can't just throw up the source on the Internet. I apologize for this inconvenience. I will show you the compare.xsl as I had it:
<code>
<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="markup.xsl"/>
<xsl:output method="html" indent="yes" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd"/>
<xsl:strip-space elements="*"/>
<!-- root: call boilerplate template -->
<xsl:template match="/">
<xsl:call-template name="boilerplate"><xsl:with-param name="title">
<xsl:value-of select="compare/options/name"/>: track by
<xsl:value-of select="compare/options/@trackby"/>
</xsl:with-param><xsl:with-param name="sections">
<xsl:value-of select="false()"/>
</xsl:with-param><xsl:with-param name="sectionsFix">
<xsl:value-of select="true()"/>
</xsl:with-param></xsl:call-template>
</xsl:template>
</xsl:stylesheet>
</code>
And the boilerplate template:
<code>
<xsl:template name="boilerplate"><xsl:param name="title"/><xsl:param name="datetime"/><xsl:param name="legend"/><xsl:param name="section"/><xsl:param name="sections"/><xsl:param name="sectionsFix"/><xsl:param name="tabs"/><xsl:param name="sci"/>
<xsl:if test=".//options">
<xsl:for-each select="options"/>
</xsl:if>
<html><head/>
<body>
<div id="tmp"/>
<div id="page">
<div id="header">
<a name="top" id="top"/>
<a href="/">
<img id="logo" src="images/logo_200x20.png" alt="logo"/>
</a>
<hr class="wiper"/>
<img id="tagline" src="images/tagline_212x16.png" alt="tagline"/>
</div>
<h1 id="title">
<xsl:value-of select="$title"/>
<xsl:if test="$datetime">[<xsl:value-of select="$datetime"/>]</xsl:if>
</h1>
<hr class="wiper"/>
<!-- Page-level Navigation -->
<div id="local_nav">
<xsl:if test="$section = true()">
<ul>
<li>
<a href="htm/javascript_required.htm">
<xsl:attribute name="onclick___">expandAll(); return false</xsl:attribute>
<xsl:attribute name="onmouseover___">window.status='';</xsl:attribute>Expand All</a>
</li>
<li>
<a href="htm/javascript_required.htm">
<xsl:attribute name="onclick___">collapseAll(); return false</xsl:attribute>
<xsl:attribute name="onmouseover___">window.status='';</xsl:attribute>Collapse All</a>
</li>
</ul>
</xsl:if>
</div><!-- Begin Report -->
<div id="report">
<xsl:apply-templates/>
</div>
<hr class="wiper"/>
</div>
</body>
</html>
</xsl:template>
</code>
Now, in playing around, if I get further along in the development (i.e., have other templates in compare.xsl matching nodes), then this is not reproducible. If you wish, I can send these documents via ftp to you directly. Also, it appears when the imported xsl is brought it, the imported xsl (markup.xsl in my case) gets a "I've been modified" asterisk in it's tab.
Thanks,
-dt
|
|
|