[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: HTML Output using folders
Dear all,
I want to add some comments on this message "Chunked output with .css and
images folder" which has been posted here some while ago.
http://lists.oasis-open.org/archives/docbook-apps/200305/msg00002.html
Chunking the HTML files in a hierachical folder structure was one of the
things I had to realize in my recent project and I worked out a pragmatic
solution using the exsl features of XSLTproc. Please let me know what you
think.
At first some information:
- XSLTPROC
- Chunking on section level using <?dbhtml dir="xy"?>.
- Folder structure:
root
/images
/css
/scripts
/files
/subdir1
/subdir2
/subsubdir
I had to customize all templates with generate references to the file system
(images, admons, css, scripts).
Cross-references still work fine.
Here some (not all) of my customizations to make chunking in folders work:
<!--
returns the path to root dir e.g. ../../
-->
<xsl:template name="pathtorootdir">
<xsl:variable name="dir">
<xsl:call-template name="dbhtml-dir">
<xsl:with-param name="context" select="."/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="token" select="str:tokenize($dir, '/')"/>
<xsl:for-each select="$token">
<xsl:text>../</xsl:text>
</xsl:for-each>
</xsl:template>
<xsl:template name="admon.graphic">
*snip*
<xsl:variable name="pathtorootdir">
<xsl:call-template name="pathtorootdir"/>
</xsl:variable>
<xsl:param name="node" select="."/>
<xsl:value-of select="concat($pathtorootdir,
$admon.graphics.path)"/>
<xsl:choose>
*snap*
<xsl:template name="callout-bug">
<xsl:variable name="pathtorootdir">
<xsl:call-template name="pathtorootdir"/>
</xsl:variable>
*snip*
<img
src="{$pathtorootdir}{$callout.graphics.path}{$conum}{$callout.graphics.exte
nsion}" alt="{$conum}" border="0"/>
*snap*
<xsl:template name="user.head.content">
<xsl:variable name="pathtorootdir">
<xsl:call-template name="pathtorootdir"/>
</xsl:variable>
*snip*
<link rel="stylesheet" type="text/css">
<xsl:attribute name="href">
<xsl:value-of select="concat($pathtorootdir,
$html.stylesheet.cstm)"/>
</xsl:attribute>
</link>
*snap*
Best wishes.
Ludger Thomas
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]