OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] Does DocBook XSL support framed HTML output?


Hello Paul,

> Do the DocBook XSL stylesheets support production of chunked output that
> includes a navigation frame?

With a little workaround they do.
Take a look at the generation of the HTMLHelp stylesheets.
The templates which have mode hhc generate a html file with the 
navigation tree for the HTMLHelp-output. It generates a file toc.hhc 
which is a navigation tree in html.

You can easy write a Stylesheet which generates a Navigation from this. 
I filled a JavaScript-Array and presented an alternative HTML-Tree if 
JavaScript is deactivated. The Stylesheet is quite short. The part which 
is not for the JavaScript output looks like the following:

  <xsl:template match="object" mode="noscript">
     <xsl:if test="./@type='text/sitemap'">
       <a href='{param[2]/@value}' title='{param/@value}' target="body">
        <xsl:value-of select="param/@value"/>
       </a>
     </xsl:if>
   </xsl:template>
<xsl:template match="li" mode="noscript">
     <li><xsl:apply-templates mode="noscript"/></li>
   </xsl:template>

  <xsl:template match="ul" mode="noscript">
     <xsl:choose>
       <xsl:when test="(position()=2)">
	<ul class="top">
	  <xsl:apply-templates mode="noscript"/>
	</ul>
       </xsl:when>
       <xsl:otherwise>
	<ul class="list">
	  <xsl:apply-templates mode="noscript"/>
	</ul>
       </xsl:otherwise>
     </xsl:choose>

   </xsl:template>
You should also include a stylesheet. You can delete the mode if you 
have only a none JavaScript navigation. Save the output in a file called 
toc.html.

Next step you write an index.html. Example:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
   <head>
     <title>V_TITLE</title>
   </head>

   <frameset cols="25%,*">
     <frame src="toc.html" name="list"></frame>
     <frame src="index2.html" name="body"></frame>
   </frameset>
</html>

The first output-file of your chunked html-files is called index2.html. 
Thats it. You can easy automate this process.

Regards
Kai



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]