[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [docbook-apps] Manual chunking with component level toc
Thanks Bob, excellent support. This is exactly what I was looking for. I've found it is necessary also for several chapters, but the customization was very similar. Jan > -----Original Message----- > From: Bob Stayton [mailto:bobs@sagehill.net] > Sent: Tuesday, March 03, 2009 2:33 AM > To: honyk; docbook-apps@lists.oasis-open.org > Subject: Re: [docbook-apps] Manual chunking with component level toc > > 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 > bobs@sagehill.net > > > ----- Original Message ----- > From: "honyk" <j.tosovsky@email.cz> > To: <docbook-apps@lists.oasis-open.org> > 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]