[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Conditionals in TOCs
|
Hello again everyone Something I’ve been trying to
hammer out in my stylesheet is how to control some of the output in the TOCs
that my book has. I have a book which has a main TOC and
then each chapter in the book has its own TOC as well. I need the main TOC to only list
chapter/title and the chapter TOCs to list only chapter/sect1/title or
chapter/sect2/title or chapter/sect3/title The main TOC is also bolded and the
chapter TOCs are not. To get this to work I’ve been
modeling the XSLT code below: <xsl:template
name="toc.line"> <xsl:param
name="pageclass" select="''"/> <xsl:param
name="sequence" select="''"/> <xsl:param
name="position" select="''"/> <xsl:param
name="gentext-key" select="''"/> <xsl:variable
name="id"> <xsl:call-template
name="object.id"/> </xsl:variable> <xsl:variable
name="label"> <xsl:apply-templates
select="." mode="label.markup"/> </xsl:variable> <fo:block
text-align-last="justify" text-align="start" end-indent="1in
+ {$toc.indent.width}pt" last-line-end-indent="-{$toc.indent.width}pt"
font-family="{$body.font.family}" span="all"> <xsl:choose> <xsl:when
test="self::chapter or self::preface or self::appendix"> <xsl:attribute
name="space-before">4pt</xsl:attribute> <xsl:attribute
name="space-after">4pt</xsl:attribute> </xsl:when> <xsl:when
test="self::sect1"> <xsl:attribute
name="space-before">4pt</xsl:attribute> </xsl:when> </xsl:choose> <fo:inline
keep-with-next.within-line="always"> <xsl:choose> <xsl:when
test="self::chapter or self::preface or self::appendix"> <xsl:attribute
name="font-weight">bold</xsl:attribute> </xsl:when> </xsl:choose> <fo:basic-link
internal-destination="{$id}"> <xsl:if
test="$label != ''"> <xsl:copy-of
select="$label"/> <xsl:value-of
select="$autotoc.label.separator"/> </xsl:if> <xsl:apply-templates
select="." mode="titleabbrev.markup"/> </fo:basic-link> </fo:inline> <fo:inline
keep-together.within-line="always"> <xsl:text>
</xsl:text> <fo:leader
leader-pattern="dots" leader-pattern-width="3pt"
leader-alignment="reference-area" keep-with-next.within-line="always"/> <xsl:text>
</xsl:text> <fo:basic-link
internal-destination="{$id}"> <fo:page-number-citation
ref-id="{$id}" font-family="{$body.font.family}"/> </fo:basic-link> </fo:inline> </fo:block> </xsl:template> However, my question is: how can I get these params <xsl:param
name="pageclass" select="''"/> <xsl:param
name="sequence" select="''"/> <xsl:param
name="position" select="''"/> <xsl:param
name="gentext-key" select="''"/> To have values? When I output them they
are blank in the above template… Thanks, David White |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]