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] toc customization question


Hi Tim,
Your customization does not work because that template is used for handling that section within a toc that has already started, not for starting the toc in the first place for the section.

You'll need to customize the short template named 'section.toc' from html/autotoc.xsl. That template calls 'make.toc', so you just need to add a conditional statement to skip calling 'make.toc' if that attribute is set:

<xsl:template name="section.toc">
 <xsl:param name="toc-context" select="."/>
 <xsl:param name="toc.title.p" select="true()"/>

 <xsl:choose>
   <xsl:when test="$toc-context/@userlevel = 'syntax'">
   </xsl:when>
   <xsl:otherwise>
     <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:otherwise>
 </xsl:choose>
</xsl:template>


Bob Stayton
Sagehill Enterprises
bobs@sagehill.net


----- Original Message ----- From: "Tim Arnold" <jtim.arnold@gmail.com>
To: "Richard Hamilton" <hamilton@xmlpress.net>
Cc: "DocBook Apps" <docbook-apps@lists.oasis-open.org>
Sent: Friday, June 01, 2012 6:18 AM
Subject: Re: [docbook-apps] toc customization question


Hi Dick,
Thanks, I have been reading that section, but it's not that I want to
control the toc on every section, just one section that has a
particular attribute. My question wasn't clear that I do want section
tocs, just not for this particular section.

As far as I can tell, I can't put selectors in the generate.toc
parameter. Here is what I have:
<xsl:param name="generate.toc">book toc
   part toc
   preface toc
   chapter toc
   appendix toc
   section toc
 </xsl:param>

And if it were possible I would do this:
<xsl:param name="generate.toc">book toc
   part toc
   preface toc
   chapter toc
   appendix toc
   section[not(@userlevel='syntax')] toc
 </xsl:param>

so that all sections except that particular one gets the toc
generated. That's the reason for my attempt to override the template
for that section with mode='toc' (in my previous message).

I don't understand why my override template is not having an effect.
thanks,
--Tim


On Thu, May 31, 2012 at 9:24 PM, Richard Hamilton <hamilton@xmlpress.net> wrote:
Tim,

I'm not 100% sure what you're trying to do, but it looks like you're trying to control what levels in the structure get TOCs. This is controlled through a parameter called generate.toc, and you shouldn't need to customize any templates to assign TOCs at various levels in the structure.

You can find a description of how to set generate.toc in Bob Stayton's book. Here is a link to the pertinent section:

http://www.sagehill.net/docbookxsl/TOCcontrol.html

If I'm missing something, and you need to do something more, you will find a complete description of TOC customization in that same section.

I hope that helps.

Best Regards,
Dick Hamilton
-------
XML Press
XML for Technical Communicators
http://xmlpress.net
hamilton@xmlpress.net



On May 31, 2012, at 1:42 PM, Tim Arnold wrote:

hi, I have one particular section in which I would like to omit the
table of contents.
I want the section to appear in the chapter table of contents, just
not have a toc generated on this section.

The section has the attribute userlevel='syntax'. I tried the
following template but it had no effect I could see (the toc showed up
on the section). I thought it would not generate the toc in the
specified section and produce a single level toc for chapters (i.e. a
toc of the top-level sections in the chapter):

<xsl:template match="d:section[@userlevel='syntax']" mode="toc">
<xsl:param name="toc-context" select="." />
<xsl:if test="local-name($toc-context) = 'chapter'">
<xsl:call-template name="subtoc">
<xsl:with-param name="toc-context" select="$toc-context"/>
<xsl:with-param name="nodes" select="foo"/>
</xsl:call-template>
</xsl:if>
</xsl:template>

How can I omit the toc for section[@userlevel='syntax'] and still have
the section listed in the chapter toc?

thanks,
--Tim

---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org



---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org





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