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


Thanks Bob! That works exactly as I needed, and now I understand why
my earlier attempt didn't work.

thanks,
--Tim


On Fri, Jun 1, 2012 at 12:53 PM, Bob Stayton <bobs@sagehill.net> wrote:
> 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]