Actually, this is pretty easy to customize. Let's say you want a section
TOC only for those sections that contain a processing instruction such as
this:
<section>
<?section-toc on?>
<title>etc.
You can add this template customization (from html/autotoc.xsl) to your
stylesheet. The section.toc template is called whenever the section level
is one of those to set a section toc (within the range of
$generate.section.toc.level). The context node for the template is the
section in question. You just need to have it check for your processing
instruction child before calling the make.toc template.
<xsl:param name="generate.section.toc.level" select="8"/>
<xsl:template name="section.toc">
<xsl:param name="toc-context" select="."/>
<xsl:param name="toc.title.p" select="true()"/>
<!-- Add this variable -->
<xsl:variable name="section.toc.pi">
<xsl:value-of select="processing-instruction('section-toc')"/>
</xsl:variable>
<xsl:if test="$section.toc.pi = 'on'"> <!-- Add this test -->
<xsl:call-template name="make.toc">
<xsl:with-param name="toc-context" select="$toc-context"/>
<xsl:with-param name="toc.title.p" select="$toc.title.p"/>
<xsl:with-param name="nodes"
select="section|sect1|sect2|sect3|sect4|sect5|refentry
|bridgehead[$bridgehead.in.toc != 0]"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
Now only those sections with the PI will have a TOC, and this change will
not affect any other TOCs.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: "honyk" <[email protected]>
To: <[email protected]>
Sent: Monday, March 02, 2009 10:32 AM
Subject: RE: [docbook-apps] Manual chunking with component level toc
There is missing top-level content of chapter or section as
there is no corresponding xml file.
<book>
<chapter id="objects">
<title>Objects</title>
<xi:include href="objects/server.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="objects/input.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
</chapter>
</book>
Ooops. I am wrong. I am mixing several things together.
Chapter has own file, of course. As I have switched the component toc off,
chapter pages created as mentioned above have title only - sections are on
the separate html pages.
Ok, for chapter level, if I switch toc on, I'd get what needed.
But in deeper level I'll have to switch on toc for section too. And I
remember this is the reason why everything I have switched off. I need to
mix section with and without toc. Toc is required for sections included
directly in the main XML file with other included subsections. On the
contrary, if subsections aren't included as separate file (they are
directly
in parent section, in the same file), toc would be disturbing in this
place.
I suppose there is no way to mix both behaviour so I am looking for
method,
how to invoke toc generation only when necessary. I think any attribute
will
have to be added to such element, but I don't know how to customize
stylesheets in this case.
Jan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]