| [9882b55] | 1 | <?xml version='1.0'?> | 
|---|
|  | 2 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | 
|---|
|  | 3 | xmlns:fo="http://www.w3.org/1999/XSL/Format" | 
|---|
|  | 4 | xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" | 
|---|
|  | 5 | version='1.0'> | 
|---|
|  | 6 |  | 
|---|
|  | 7 | <!-- ******************************************************************** | 
|---|
|  | 8 | $Id$ | 
|---|
|  | 9 | ******************************************************************** | 
|---|
|  | 10 |  | 
|---|
|  | 11 | This file is part of the XSL DocBook Stylesheet distribution. | 
|---|
|  | 12 | See ../README or http://docbook.sf.net/release/xsl/current/ for | 
|---|
|  | 13 | copyright and other information. | 
|---|
|  | 14 |  | 
|---|
|  | 15 | ******************************************************************** --> | 
|---|
|  | 16 |  | 
|---|
|  | 17 | <!-- ==================================================================== --> | 
|---|
|  | 18 |  | 
|---|
|  | 19 | <xsl:template name="set.toc"> | 
|---|
|  | 20 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 21 |  | 
|---|
|  | 22 | <xsl:variable name="id"> | 
|---|
|  | 23 | <xsl:call-template name="object.id"/> | 
|---|
|  | 24 | </xsl:variable> | 
|---|
|  | 25 |  | 
|---|
|  | 26 | <xsl:variable name="cid"> | 
|---|
|  | 27 | <xsl:call-template name="object.id"> | 
|---|
|  | 28 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 29 | </xsl:call-template> | 
|---|
|  | 30 | </xsl:variable> | 
|---|
|  | 31 |  | 
|---|
|  | 32 | <xsl:variable name="nodes" select="book|setindex"/> | 
|---|
|  | 33 |  | 
|---|
|  | 34 | <xsl:if test="$nodes"> | 
|---|
|  | 35 | <fo:block id="toc...{$id}" | 
|---|
|  | 36 | xsl:use-attribute-sets="toc.margin.properties"> | 
|---|
|  | 37 | <xsl:if test="$axf.extensions != 0"> | 
|---|
|  | 38 | <xsl:attribute name="axf:outline-level">1</xsl:attribute> | 
|---|
|  | 39 | <xsl:attribute name="axf:outline-expand">false</xsl:attribute> | 
|---|
|  | 40 | <xsl:attribute name="axf:outline-title"> | 
|---|
|  | 41 | <xsl:call-template name="gentext"> | 
|---|
|  | 42 | <xsl:with-param name="key" select="'TableofContents'"/> | 
|---|
|  | 43 | </xsl:call-template> | 
|---|
|  | 44 | </xsl:attribute> | 
|---|
|  | 45 | </xsl:if> | 
|---|
|  | 46 | <xsl:call-template name="table.of.contents.titlepage"/> | 
|---|
|  | 47 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 48 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 49 | </xsl:apply-templates> | 
|---|
|  | 50 | </fo:block> | 
|---|
|  | 51 | </xsl:if> | 
|---|
|  | 52 | </xsl:template> | 
|---|
|  | 53 |  | 
|---|
|  | 54 | <xsl:template name="division.toc"> | 
|---|
|  | 55 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 56 | <xsl:param name="toc.title.p" select="true()"/> | 
|---|
|  | 57 |  | 
|---|
|  | 58 | <xsl:variable name="cid"> | 
|---|
|  | 59 | <xsl:call-template name="object.id"> | 
|---|
|  | 60 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 61 | </xsl:call-template> | 
|---|
|  | 62 | </xsl:variable> | 
|---|
|  | 63 |  | 
|---|
|  | 64 | <xsl:variable name="nodes" | 
|---|
|  | 65 | select="$toc-context/part | 
|---|
|  | 66 | |$toc-context/reference | 
|---|
|  | 67 | |$toc-context/preface | 
|---|
|  | 68 | |$toc-context/chapter | 
|---|
|  | 69 | |$toc-context/appendix | 
|---|
|  | 70 | |$toc-context/article | 
|---|
|  | 71 | |$toc-context/bibliography | 
|---|
|  | 72 | |$toc-context/glossary | 
|---|
|  | 73 | |$toc-context/index"/> | 
|---|
|  | 74 |  | 
|---|
|  | 75 | <xsl:if test="$nodes"> | 
|---|
|  | 76 | <fo:block id="toc...{$cid}" | 
|---|
|  | 77 | xsl:use-attribute-sets="toc.margin.properties"> | 
|---|
|  | 78 | <xsl:if test="$axf.extensions != 0"> | 
|---|
|  | 79 | <xsl:attribute name="axf:outline-level">1</xsl:attribute> | 
|---|
|  | 80 | <xsl:attribute name="axf:outline-expand">false</xsl:attribute> | 
|---|
|  | 81 | <xsl:attribute name="axf:outline-title"> | 
|---|
|  | 82 | <xsl:call-template name="gentext"> | 
|---|
|  | 83 | <xsl:with-param name="key" select="'TableofContents'"/> | 
|---|
|  | 84 | </xsl:call-template> | 
|---|
|  | 85 | </xsl:attribute> | 
|---|
|  | 86 | </xsl:if> | 
|---|
|  | 87 | <xsl:if test="$toc.title.p"> | 
|---|
|  | 88 | <xsl:call-template name="table.of.contents.titlepage"/> | 
|---|
|  | 89 | </xsl:if> | 
|---|
|  | 90 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 91 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 92 | </xsl:apply-templates> | 
|---|
|  | 93 | </fo:block> | 
|---|
|  | 94 | </xsl:if> | 
|---|
|  | 95 | </xsl:template> | 
|---|
|  | 96 |  | 
|---|
|  | 97 | <xsl:template name="component.toc"> | 
|---|
|  | 98 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 99 | <xsl:param name="toc.title.p" select="true()"/> | 
|---|
|  | 100 |  | 
|---|
|  | 101 | <xsl:variable name="id"> | 
|---|
|  | 102 | <xsl:call-template name="object.id"/> | 
|---|
|  | 103 | </xsl:variable> | 
|---|
|  | 104 |  | 
|---|
|  | 105 | <xsl:variable name="cid"> | 
|---|
|  | 106 | <xsl:call-template name="object.id"> | 
|---|
|  | 107 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 108 | </xsl:call-template> | 
|---|
|  | 109 | </xsl:variable> | 
|---|
|  | 110 |  | 
|---|
|  | 111 | <xsl:variable name="nodes" select="section|sect1|refentry | 
|---|
|  | 112 | |article|bibliography|glossary | 
|---|
|  | 113 | |qandaset[$qanda.in.toc != 0] | 
|---|
|  | 114 | |appendix|index"/> | 
|---|
|  | 115 | <xsl:if test="$nodes"> | 
|---|
|  | 116 | <fo:block id="toc...{$id}" | 
|---|
|  | 117 | xsl:use-attribute-sets="toc.margin.properties"> | 
|---|
|  | 118 | <xsl:if test="$toc.title.p"> | 
|---|
|  | 119 | <xsl:call-template name="table.of.contents.titlepage"/> | 
|---|
|  | 120 | </xsl:if> | 
|---|
|  | 121 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 122 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 123 | </xsl:apply-templates> | 
|---|
|  | 124 | </fo:block> | 
|---|
|  | 125 | </xsl:if> | 
|---|
|  | 126 | </xsl:template> | 
|---|
|  | 127 |  | 
|---|
|  | 128 | <xsl:template name="component.toc.separator"> | 
|---|
|  | 129 | <!-- Customize to output something between | 
|---|
|  | 130 | component.toc and first output --> | 
|---|
|  | 131 | </xsl:template> | 
|---|
|  | 132 |  | 
|---|
|  | 133 | <xsl:template name="section.toc"> | 
|---|
|  | 134 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 135 | <xsl:param name="toc.title.p" select="true()"/> | 
|---|
|  | 136 |  | 
|---|
|  | 137 | <xsl:variable name="id"> | 
|---|
|  | 138 | <xsl:call-template name="object.id"/> | 
|---|
|  | 139 | </xsl:variable> | 
|---|
|  | 140 |  | 
|---|
|  | 141 | <xsl:variable name="cid"> | 
|---|
|  | 142 | <xsl:call-template name="object.id"> | 
|---|
|  | 143 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 144 | </xsl:call-template> | 
|---|
|  | 145 | </xsl:variable> | 
|---|
|  | 146 |  | 
|---|
|  | 147 | <xsl:variable name="nodes" | 
|---|
|  | 148 | select="section|sect1|sect2|sect3|sect4|sect5|refentry | 
|---|
|  | 149 | |qandaset[$qanda.in.toc != 0] | 
|---|
|  | 150 | |bridgehead[$bridgehead.in.toc != 0]"/> | 
|---|
|  | 151 |  | 
|---|
|  | 152 | <xsl:variable name="level"> | 
|---|
|  | 153 | <xsl:call-template name="section.level"/> | 
|---|
|  | 154 | </xsl:variable> | 
|---|
|  | 155 |  | 
|---|
|  | 156 | <xsl:if test="$nodes"> | 
|---|
|  | 157 | <fo:block id="toc...{$id}" | 
|---|
|  | 158 | xsl:use-attribute-sets="toc.margin.properties"> | 
|---|
|  | 159 |  | 
|---|
|  | 160 | <xsl:if test="$toc.title.p"> | 
|---|
|  | 161 | <xsl:call-template name="section.heading"> | 
|---|
|  | 162 | <xsl:with-param name="level" select="$level + 1"/> | 
|---|
|  | 163 | <xsl:with-param name="title"> | 
|---|
|  | 164 | <fo:block space-after="0.5em"> | 
|---|
|  | 165 | <xsl:call-template name="gentext"> | 
|---|
|  | 166 | <xsl:with-param name="key" select="'TableofContents'"/> | 
|---|
|  | 167 | </xsl:call-template> | 
|---|
|  | 168 | </fo:block> | 
|---|
|  | 169 | </xsl:with-param> | 
|---|
|  | 170 | </xsl:call-template> | 
|---|
|  | 171 | </xsl:if> | 
|---|
|  | 172 |  | 
|---|
|  | 173 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 174 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 175 | </xsl:apply-templates> | 
|---|
|  | 176 | </fo:block> | 
|---|
|  | 177 | </xsl:if> | 
|---|
|  | 178 | </xsl:template> | 
|---|
|  | 179 |  | 
|---|
|  | 180 | <xsl:template name="section.toc.separator"> | 
|---|
|  | 181 | <!-- Customize to output something between | 
|---|
|  | 182 | section.toc and first output --> | 
|---|
|  | 183 | </xsl:template> | 
|---|
|  | 184 | <!-- ==================================================================== --> | 
|---|
|  | 185 |  | 
|---|
|  | 186 | <xsl:template name="toc.line"> | 
|---|
|  | 187 | <xsl:param name="toc-context" select="NOTANODE"/> | 
|---|
|  | 188 |  | 
|---|
|  | 189 | <xsl:variable name="id"> | 
|---|
|  | 190 | <xsl:call-template name="object.id"/> | 
|---|
|  | 191 | </xsl:variable> | 
|---|
|  | 192 |  | 
|---|
|  | 193 | <xsl:variable name="label"> | 
|---|
|  | 194 | <xsl:apply-templates select="." mode="label.markup"/> | 
|---|
|  | 195 | </xsl:variable> | 
|---|
|  | 196 |  | 
|---|
|  | 197 | <fo:block xsl:use-attribute-sets="toc.line.properties"> | 
|---|
|  | 198 | <fo:inline keep-with-next.within-line="always"> | 
|---|
|  | 199 | <fo:basic-link internal-destination="{$id}"> | 
|---|
|  | 200 | <xsl:if test="$label != ''"> | 
|---|
|  | 201 | <xsl:copy-of select="$label"/> | 
|---|
|  | 202 | <xsl:value-of select="$autotoc.label.separator"/> | 
|---|
|  | 203 | </xsl:if> | 
|---|
|  | 204 | <xsl:apply-templates select="." mode="titleabbrev.markup"/> | 
|---|
|  | 205 | </fo:basic-link> | 
|---|
|  | 206 | </fo:inline> | 
|---|
|  | 207 | <fo:inline keep-together.within-line="always"> | 
|---|
|  | 208 | <xsl:text> </xsl:text> | 
|---|
|  | 209 | <fo:leader leader-pattern="dots" | 
|---|
|  | 210 | leader-pattern-width="3pt" | 
|---|
|  | 211 | leader-alignment="reference-area" | 
|---|
|  | 212 | keep-with-next.within-line="always"/> | 
|---|
|  | 213 | <xsl:text> </xsl:text> | 
|---|
|  | 214 | <fo:basic-link internal-destination="{$id}"> | 
|---|
|  | 215 | <fo:page-number-citation ref-id="{$id}"/> | 
|---|
|  | 216 | </fo:basic-link> | 
|---|
|  | 217 | </fo:inline> | 
|---|
|  | 218 | </fo:block> | 
|---|
|  | 219 | </xsl:template> | 
|---|
|  | 220 |  | 
|---|
|  | 221 | <!-- ==================================================================== --> | 
|---|
|  | 222 | <xsl:template name="qandaset.toc"> | 
|---|
|  | 223 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 224 | <xsl:param name="toc.title.p" select="true()"/> | 
|---|
|  | 225 |  | 
|---|
|  | 226 | <xsl:variable name="id"> | 
|---|
|  | 227 | <xsl:call-template name="object.id"/> | 
|---|
|  | 228 | </xsl:variable> | 
|---|
|  | 229 |  | 
|---|
|  | 230 | <xsl:variable name="cid"> | 
|---|
|  | 231 | <xsl:call-template name="object.id"> | 
|---|
|  | 232 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 233 | </xsl:call-template> | 
|---|
|  | 234 | </xsl:variable> | 
|---|
|  | 235 |  | 
|---|
|  | 236 | <xsl:variable name="nodes" select="qandadiv|qandaentry"/> | 
|---|
|  | 237 |  | 
|---|
|  | 238 | <xsl:if test="$nodes"> | 
|---|
|  | 239 | <fo:block id="toc...{$id}" | 
|---|
|  | 240 | xsl:use-attribute-sets="toc.margin.properties"> | 
|---|
|  | 241 | <xsl:if test="$toc.title.p"> | 
|---|
|  | 242 | <xsl:call-template name="table.of.contents.titlepage"/> | 
|---|
|  | 243 | </xsl:if> | 
|---|
|  | 244 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 245 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 246 | </xsl:apply-templates> | 
|---|
|  | 247 | </fo:block> | 
|---|
|  | 248 | </xsl:if> | 
|---|
|  | 249 | </xsl:template> | 
|---|
|  | 250 |  | 
|---|
|  | 251 | <xsl:template name="qandaset.toc.separator"> | 
|---|
|  | 252 | <!-- Customize to output something between | 
|---|
|  | 253 | qandaset.toc and first output --> | 
|---|
|  | 254 | </xsl:template> | 
|---|
|  | 255 |  | 
|---|
|  | 256 | <xsl:template match="qandadiv" mode="toc"> | 
|---|
|  | 257 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 258 |  | 
|---|
|  | 259 | <xsl:variable name="id"> | 
|---|
|  | 260 | <xsl:call-template name="object.id"/> | 
|---|
|  | 261 | </xsl:variable> | 
|---|
|  | 262 |  | 
|---|
|  | 263 | <xsl:variable name="cid"> | 
|---|
|  | 264 | <xsl:call-template name="object.id"> | 
|---|
|  | 265 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 266 | </xsl:call-template> | 
|---|
|  | 267 | </xsl:variable> | 
|---|
|  | 268 |  | 
|---|
|  | 269 | <xsl:call-template name="toc.line"> | 
|---|
|  | 270 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 271 | </xsl:call-template> | 
|---|
|  | 272 |  | 
|---|
|  | 273 | <xsl:variable name="nodes" select="qandadiv|qandaentry"/> | 
|---|
|  | 274 |  | 
|---|
|  | 275 | <xsl:if test="$nodes"> | 
|---|
|  | 276 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 277 | <xsl:attribute name="margin-left"> | 
|---|
|  | 278 | <xsl:call-template name="set.toc.indent"/> | 
|---|
|  | 279 | </xsl:attribute> | 
|---|
|  | 280 |  | 
|---|
|  | 281 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 282 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 283 | </xsl:apply-templates> | 
|---|
|  | 284 | </fo:block> | 
|---|
|  | 285 | </xsl:if> | 
|---|
|  | 286 | </xsl:template> | 
|---|
|  | 287 |  | 
|---|
|  | 288 | <xsl:template match="qandaentry" mode="toc"> | 
|---|
|  | 289 | <xsl:apply-templates select="question" mode="toc"/> | 
|---|
|  | 290 | </xsl:template> | 
|---|
|  | 291 |  | 
|---|
|  | 292 | <xsl:template match="question" mode="toc"> | 
|---|
|  | 293 | <xsl:variable name="firstchunk"> | 
|---|
|  | 294 | <xsl:apply-templates select="(*[local-name(.)!='label'])[1]/node()"/> | 
|---|
|  | 295 | </xsl:variable> | 
|---|
|  | 296 |  | 
|---|
|  | 297 | <xsl:variable name="deflabel"> | 
|---|
|  | 298 | <xsl:choose> | 
|---|
|  | 299 | <xsl:when test="ancestor-or-self::*[@defaultlabel]"> | 
|---|
|  | 300 | <xsl:value-of select="(ancestor-or-self::*[@defaultlabel])[last()] | 
|---|
|  | 301 | /@defaultlabel"/> | 
|---|
|  | 302 | </xsl:when> | 
|---|
|  | 303 | <xsl:otherwise> | 
|---|
|  | 304 | <xsl:value-of select="$qanda.defaultlabel"/> | 
|---|
|  | 305 | </xsl:otherwise> | 
|---|
|  | 306 | </xsl:choose> | 
|---|
|  | 307 | </xsl:variable> | 
|---|
|  | 308 |  | 
|---|
|  | 309 | <xsl:variable name="id"> | 
|---|
|  | 310 | <xsl:call-template name="object.id"/> | 
|---|
|  | 311 | </xsl:variable> | 
|---|
|  | 312 |  | 
|---|
|  | 313 | <xsl:variable name="label"> | 
|---|
|  | 314 | <xsl:apply-templates select="." mode="label.markup"/> | 
|---|
|  | 315 | </xsl:variable> | 
|---|
|  | 316 |  | 
|---|
|  | 317 | <fo:block xsl:use-attribute-sets="toc.line.properties" | 
|---|
|  | 318 | margin-left="3em" | 
|---|
|  | 319 | text-indent="-3em" | 
|---|
|  | 320 | end-indent="{$toc.indent.width}pt" | 
|---|
|  | 321 | last-line-end-indent="-{$toc.indent.width}pt"> | 
|---|
|  | 322 | <fo:inline keep-with-next.within-line="always"> | 
|---|
|  | 323 | <fo:basic-link internal-destination="{$id}"> | 
|---|
|  | 324 | <xsl:if test="$label != ''"> | 
|---|
|  | 325 | <xsl:copy-of select="$label"/> | 
|---|
|  | 326 | <xsl:if test="$deflabel = 'number' and not(label)"> | 
|---|
|  | 327 | <xsl:value-of select="$autotoc.label.separator"/> | 
|---|
|  | 328 | </xsl:if> | 
|---|
|  | 329 | <xsl:text> </xsl:text> | 
|---|
|  | 330 | </xsl:if> | 
|---|
|  | 331 | <xsl:copy-of select="$firstchunk"/> | 
|---|
|  | 332 | </fo:basic-link> | 
|---|
|  | 333 | </fo:inline> | 
|---|
|  | 334 | <fo:inline keep-together.within-line="always"> | 
|---|
|  | 335 | <xsl:text> </xsl:text> | 
|---|
|  | 336 | <fo:leader leader-pattern="dots" | 
|---|
|  | 337 | leader-pattern-width="3pt" | 
|---|
|  | 338 | leader-alignment="reference-area" | 
|---|
|  | 339 | keep-with-next.within-line="always"/> | 
|---|
|  | 340 | <xsl:text> </xsl:text> | 
|---|
|  | 341 | <fo:basic-link internal-destination="{$id}"> | 
|---|
|  | 342 | <fo:page-number-citation ref-id="{$id}"/> | 
|---|
|  | 343 | </fo:basic-link> | 
|---|
|  | 344 | </fo:inline> | 
|---|
|  | 345 | </fo:block> | 
|---|
|  | 346 |  | 
|---|
|  | 347 | </xsl:template> | 
|---|
|  | 348 |  | 
|---|
|  | 349 | <!-- ==================================================================== --> | 
|---|
|  | 350 |  | 
|---|
|  | 351 | <xsl:template match="book|setindex" mode="toc"> | 
|---|
|  | 352 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 353 |  | 
|---|
|  | 354 | <xsl:variable name="id"> | 
|---|
|  | 355 | <xsl:call-template name="object.id"/> | 
|---|
|  | 356 | </xsl:variable> | 
|---|
|  | 357 |  | 
|---|
|  | 358 | <xsl:variable name="cid"> | 
|---|
|  | 359 | <xsl:call-template name="object.id"> | 
|---|
|  | 360 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 361 | </xsl:call-template> | 
|---|
|  | 362 | </xsl:variable> | 
|---|
|  | 363 |  | 
|---|
|  | 364 | <xsl:call-template name="toc.line"> | 
|---|
|  | 365 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 366 | </xsl:call-template> | 
|---|
|  | 367 |  | 
|---|
|  | 368 | <xsl:variable name="nodes" select="glossary|bibliography|preface|chapter | 
|---|
|  | 369 | |reference|part|article|appendix|index"/> | 
|---|
|  | 370 |  | 
|---|
|  | 371 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 372 |  | 
|---|
|  | 373 | <xsl:if test="$toc.section.depth > 0 | 
|---|
|  | 374 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 375 | and $nodes"> | 
|---|
|  | 376 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 377 | <xsl:attribute name="margin-left"> | 
|---|
|  | 378 | <xsl:call-template name="set.toc.indent"/> | 
|---|
|  | 379 | </xsl:attribute> | 
|---|
|  | 380 |  | 
|---|
|  | 381 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 382 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 383 | </xsl:apply-templates> | 
|---|
|  | 384 | </fo:block> | 
|---|
|  | 385 | </xsl:if> | 
|---|
|  | 386 | </xsl:template> | 
|---|
|  | 387 |  | 
|---|
|  | 388 | <xsl:template match="part" mode="toc"> | 
|---|
|  | 389 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 390 |  | 
|---|
|  | 391 | <xsl:variable name="id"> | 
|---|
|  | 392 | <xsl:call-template name="object.id"/> | 
|---|
|  | 393 | </xsl:variable> | 
|---|
|  | 394 |  | 
|---|
|  | 395 | <xsl:variable name="cid"> | 
|---|
|  | 396 | <xsl:call-template name="object.id"> | 
|---|
|  | 397 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 398 | </xsl:call-template> | 
|---|
|  | 399 | </xsl:variable> | 
|---|
|  | 400 |  | 
|---|
|  | 401 | <xsl:call-template name="toc.line"> | 
|---|
|  | 402 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 403 | </xsl:call-template> | 
|---|
|  | 404 |  | 
|---|
|  | 405 | <xsl:variable name="nodes" select="chapter|appendix|preface|reference| | 
|---|
|  | 406 | refentry|article|index|glossary| | 
|---|
|  | 407 | bibliography"/> | 
|---|
|  | 408 |  | 
|---|
|  | 409 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 410 |  | 
|---|
|  | 411 | <xsl:if test="$toc.section.depth > 0 | 
|---|
|  | 412 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 413 | and $nodes"> | 
|---|
|  | 414 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 415 | <xsl:attribute name="margin-left"> | 
|---|
|  | 416 | <xsl:call-template name="set.toc.indent"/> | 
|---|
|  | 417 | </xsl:attribute> | 
|---|
|  | 418 |  | 
|---|
|  | 419 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 420 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 421 | </xsl:apply-templates> | 
|---|
|  | 422 | </fo:block> | 
|---|
|  | 423 | </xsl:if> | 
|---|
|  | 424 | </xsl:template> | 
|---|
|  | 425 |  | 
|---|
|  | 426 | <xsl:template match="reference" mode="toc"> | 
|---|
|  | 427 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 428 |  | 
|---|
|  | 429 | <xsl:variable name="id"> | 
|---|
|  | 430 | <xsl:call-template name="object.id"/> | 
|---|
|  | 431 | </xsl:variable> | 
|---|
|  | 432 |  | 
|---|
|  | 433 | <xsl:variable name="cid"> | 
|---|
|  | 434 | <xsl:call-template name="object.id"> | 
|---|
|  | 435 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 436 | </xsl:call-template> | 
|---|
|  | 437 | </xsl:variable> | 
|---|
|  | 438 |  | 
|---|
|  | 439 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 440 |  | 
|---|
|  | 441 | <xsl:call-template name="toc.line"> | 
|---|
|  | 442 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 443 | </xsl:call-template> | 
|---|
|  | 444 |  | 
|---|
|  | 445 | <xsl:if test="$toc.section.depth > 0 | 
|---|
|  | 446 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 447 | and refentry"> | 
|---|
|  | 448 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 449 | <xsl:attribute name="margin-left"> | 
|---|
|  | 450 | <xsl:call-template name="set.toc.indent"/> | 
|---|
|  | 451 | </xsl:attribute> | 
|---|
|  | 452 |  | 
|---|
|  | 453 | <xsl:apply-templates select="refentry" mode="toc"> | 
|---|
|  | 454 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 455 | </xsl:apply-templates> | 
|---|
|  | 456 | </fo:block> | 
|---|
|  | 457 | </xsl:if> | 
|---|
|  | 458 | </xsl:template> | 
|---|
|  | 459 |  | 
|---|
|  | 460 | <xsl:template match="refentry" mode="toc"> | 
|---|
|  | 461 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 462 |  | 
|---|
|  | 463 | <xsl:call-template name="toc.line"> | 
|---|
|  | 464 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 465 | </xsl:call-template> | 
|---|
|  | 466 | </xsl:template> | 
|---|
|  | 467 |  | 
|---|
|  | 468 | <xsl:template match="preface|chapter|appendix|article" | 
|---|
|  | 469 | mode="toc"> | 
|---|
|  | 470 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 471 |  | 
|---|
|  | 472 | <xsl:variable name="id"> | 
|---|
|  | 473 | <xsl:call-template name="object.id"/> | 
|---|
|  | 474 | </xsl:variable> | 
|---|
|  | 475 |  | 
|---|
|  | 476 | <xsl:variable name="cid"> | 
|---|
|  | 477 | <xsl:call-template name="object.id"> | 
|---|
|  | 478 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 479 | </xsl:call-template> | 
|---|
|  | 480 | </xsl:variable> | 
|---|
|  | 481 |  | 
|---|
|  | 482 | <xsl:call-template name="toc.line"> | 
|---|
|  | 483 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 484 | </xsl:call-template> | 
|---|
|  | 485 |  | 
|---|
|  | 486 | <xsl:variable name="nodes" select="section|sect1 | 
|---|
|  | 487 | |qandaset[$qanda.in.toc != 0] | 
|---|
|  | 488 | |simplesect[$simplesect.in.toc != 0] | 
|---|
|  | 489 | |refentry|appendix"/> | 
|---|
|  | 490 |  | 
|---|
|  | 491 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 492 |  | 
|---|
|  | 493 | <xsl:if test="$toc.section.depth > 0 | 
|---|
|  | 494 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 495 | and $nodes"> | 
|---|
|  | 496 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 497 | <xsl:attribute name="margin-left"> | 
|---|
|  | 498 | <xsl:call-template name="set.toc.indent"/> | 
|---|
|  | 499 | </xsl:attribute> | 
|---|
|  | 500 |  | 
|---|
|  | 501 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 502 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 503 | </xsl:apply-templates> | 
|---|
|  | 504 | </fo:block> | 
|---|
|  | 505 | </xsl:if> | 
|---|
|  | 506 | </xsl:template> | 
|---|
|  | 507 |  | 
|---|
|  | 508 | <xsl:template match="sect1" mode="toc"> | 
|---|
|  | 509 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 510 |  | 
|---|
|  | 511 | <xsl:variable name="id"> | 
|---|
|  | 512 | <xsl:call-template name="object.id"/> | 
|---|
|  | 513 | </xsl:variable> | 
|---|
|  | 514 |  | 
|---|
|  | 515 | <xsl:variable name="cid"> | 
|---|
|  | 516 | <xsl:call-template name="object.id"> | 
|---|
|  | 517 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 518 | </xsl:call-template> | 
|---|
|  | 519 | </xsl:variable> | 
|---|
|  | 520 |  | 
|---|
|  | 521 | <xsl:call-template name="toc.line"> | 
|---|
|  | 522 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 523 | </xsl:call-template> | 
|---|
|  | 524 |  | 
|---|
|  | 525 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 526 |  | 
|---|
|  | 527 | <xsl:if test="$toc.section.depth > 1 | 
|---|
|  | 528 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 529 | and sect2"> | 
|---|
|  | 530 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 531 | <xsl:attribute name="margin-left"> | 
|---|
|  | 532 | <xsl:call-template name="set.toc.indent"/> | 
|---|
|  | 533 | </xsl:attribute> | 
|---|
|  | 534 |  | 
|---|
|  | 535 | <xsl:apply-templates select="sect2|qandaset[$qanda.in.toc != 0]" | 
|---|
|  | 536 | mode="toc"> | 
|---|
|  | 537 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 538 | </xsl:apply-templates> | 
|---|
|  | 539 | </fo:block> | 
|---|
|  | 540 | </xsl:if> | 
|---|
|  | 541 | </xsl:template> | 
|---|
|  | 542 |  | 
|---|
|  | 543 | <xsl:template match="sect2" mode="toc"> | 
|---|
|  | 544 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 545 |  | 
|---|
|  | 546 | <xsl:variable name="id"> | 
|---|
|  | 547 | <xsl:call-template name="object.id"/> | 
|---|
|  | 548 | </xsl:variable> | 
|---|
|  | 549 |  | 
|---|
|  | 550 | <xsl:variable name="cid"> | 
|---|
|  | 551 | <xsl:call-template name="object.id"> | 
|---|
|  | 552 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 553 | </xsl:call-template> | 
|---|
|  | 554 | </xsl:variable> | 
|---|
|  | 555 |  | 
|---|
|  | 556 | <xsl:call-template name="toc.line"> | 
|---|
|  | 557 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 558 | </xsl:call-template> | 
|---|
|  | 559 |  | 
|---|
|  | 560 | <xsl:variable name="reldepth" | 
|---|
|  | 561 | select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 562 |  | 
|---|
|  | 563 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 564 |  | 
|---|
|  | 565 | <xsl:if test="$toc.section.depth > 2 | 
|---|
|  | 566 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 567 | and sect3"> | 
|---|
|  | 568 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 569 | <xsl:attribute name="margin-left"> | 
|---|
|  | 570 | <xsl:call-template name="set.toc.indent"> | 
|---|
|  | 571 | <xsl:with-param name="reldepth" select="$reldepth"/> | 
|---|
|  | 572 | </xsl:call-template> | 
|---|
|  | 573 | </xsl:attribute> | 
|---|
|  | 574 |  | 
|---|
|  | 575 | <xsl:apply-templates select="sect3|qandaset[$qanda.in.toc != 0]" | 
|---|
|  | 576 | mode="toc"> | 
|---|
|  | 577 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 578 | </xsl:apply-templates> | 
|---|
|  | 579 | </fo:block> | 
|---|
|  | 580 | </xsl:if> | 
|---|
|  | 581 | </xsl:template> | 
|---|
|  | 582 |  | 
|---|
|  | 583 | <xsl:template match="sect3" mode="toc"> | 
|---|
|  | 584 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 585 |  | 
|---|
|  | 586 | <xsl:variable name="id"> | 
|---|
|  | 587 | <xsl:call-template name="object.id"/> | 
|---|
|  | 588 | </xsl:variable> | 
|---|
|  | 589 |  | 
|---|
|  | 590 | <xsl:variable name="cid"> | 
|---|
|  | 591 | <xsl:call-template name="object.id"> | 
|---|
|  | 592 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 593 | </xsl:call-template> | 
|---|
|  | 594 | </xsl:variable> | 
|---|
|  | 595 |  | 
|---|
|  | 596 | <xsl:call-template name="toc.line"> | 
|---|
|  | 597 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 598 | </xsl:call-template> | 
|---|
|  | 599 |  | 
|---|
|  | 600 | <xsl:variable name="reldepth" | 
|---|
|  | 601 | select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 602 |  | 
|---|
|  | 603 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 604 |  | 
|---|
|  | 605 | <xsl:if test="$toc.section.depth > 3 | 
|---|
|  | 606 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 607 | and sect4"> | 
|---|
|  | 608 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 609 | <xsl:attribute name="margin-left"> | 
|---|
|  | 610 | <xsl:call-template name="set.toc.indent"> | 
|---|
|  | 611 | <xsl:with-param name="reldepth" select="$reldepth"/> | 
|---|
|  | 612 | </xsl:call-template> | 
|---|
|  | 613 | </xsl:attribute> | 
|---|
|  | 614 |  | 
|---|
|  | 615 | <xsl:apply-templates select="sect4|qandaset[$qanda.in.toc != 0]" | 
|---|
|  | 616 | mode="toc"> | 
|---|
|  | 617 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 618 | </xsl:apply-templates> | 
|---|
|  | 619 | </fo:block> | 
|---|
|  | 620 | </xsl:if> | 
|---|
|  | 621 | </xsl:template> | 
|---|
|  | 622 |  | 
|---|
|  | 623 | <xsl:template match="sect4" mode="toc"> | 
|---|
|  | 624 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 625 |  | 
|---|
|  | 626 | <xsl:variable name="id"> | 
|---|
|  | 627 | <xsl:call-template name="object.id"/> | 
|---|
|  | 628 | </xsl:variable> | 
|---|
|  | 629 |  | 
|---|
|  | 630 | <xsl:variable name="cid"> | 
|---|
|  | 631 | <xsl:call-template name="object.id"> | 
|---|
|  | 632 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 633 | </xsl:call-template> | 
|---|
|  | 634 | </xsl:variable> | 
|---|
|  | 635 |  | 
|---|
|  | 636 | <xsl:call-template name="toc.line"> | 
|---|
|  | 637 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 638 | </xsl:call-template> | 
|---|
|  | 639 |  | 
|---|
|  | 640 | <xsl:variable name="reldepth" | 
|---|
|  | 641 | select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 642 |  | 
|---|
|  | 643 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 644 |  | 
|---|
|  | 645 | <xsl:if test="$toc.section.depth > 4 | 
|---|
|  | 646 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 647 | and sect5"> | 
|---|
|  | 648 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 649 | <xsl:attribute name="margin-left"> | 
|---|
|  | 650 | <xsl:call-template name="set.toc.indent"> | 
|---|
|  | 651 | <xsl:with-param name="reldepth" select="$reldepth"/> | 
|---|
|  | 652 | </xsl:call-template> | 
|---|
|  | 653 | </xsl:attribute> | 
|---|
|  | 654 |  | 
|---|
|  | 655 | <xsl:apply-templates select="sect5|qandaset[$qanda.in.toc != 0]" | 
|---|
|  | 656 | mode="toc"> | 
|---|
|  | 657 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 658 | </xsl:apply-templates> | 
|---|
|  | 659 | </fo:block> | 
|---|
|  | 660 | </xsl:if> | 
|---|
|  | 661 | </xsl:template> | 
|---|
|  | 662 |  | 
|---|
|  | 663 | <xsl:template match="sect5|simplesect" mode="toc"> | 
|---|
|  | 664 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 665 |  | 
|---|
|  | 666 | <xsl:call-template name="toc.line"> | 
|---|
|  | 667 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 668 | </xsl:call-template> | 
|---|
|  | 669 | </xsl:template> | 
|---|
|  | 670 |  | 
|---|
|  | 671 | <xsl:template name="set.toc.indent"> | 
|---|
|  | 672 | <xsl:param name="reldepth"/> | 
|---|
|  | 673 |  | 
|---|
|  | 674 | <xsl:variable name="depth"> | 
|---|
|  | 675 | <xsl:choose> | 
|---|
|  | 676 | <xsl:when test="$reldepth != ''"> | 
|---|
|  | 677 | <xsl:value-of select="$reldepth"/> | 
|---|
|  | 678 | </xsl:when> | 
|---|
|  | 679 | <xsl:otherwise> | 
|---|
|  | 680 | <xsl:value-of select="count(ancestor::*)"/> | 
|---|
|  | 681 | </xsl:otherwise> | 
|---|
|  | 682 | </xsl:choose> | 
|---|
|  | 683 | </xsl:variable> | 
|---|
|  | 684 |  | 
|---|
|  | 685 | <xsl:choose> | 
|---|
|  | 686 | <xsl:when test="$fop.extensions != 0 or $passivetex.extensions != 0"> | 
|---|
|  | 687 | <xsl:value-of select="concat($depth*$toc.indent.width, 'pt')"/> | 
|---|
|  | 688 | </xsl:when> | 
|---|
|  | 689 | <xsl:otherwise> | 
|---|
|  | 690 | <xsl:value-of select="concat($toc.indent.width, 'pt')"/> | 
|---|
|  | 691 | </xsl:otherwise> | 
|---|
|  | 692 | </xsl:choose> | 
|---|
|  | 693 | </xsl:template> | 
|---|
|  | 694 |  | 
|---|
|  | 695 |  | 
|---|
|  | 696 | <xsl:template match="section" mode="toc"> | 
|---|
|  | 697 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 698 |  | 
|---|
|  | 699 | <xsl:variable name="id"> | 
|---|
|  | 700 | <xsl:call-template name="object.id"/> | 
|---|
|  | 701 | </xsl:variable> | 
|---|
|  | 702 |  | 
|---|
|  | 703 | <xsl:variable name="cid"> | 
|---|
|  | 704 | <xsl:call-template name="object.id"> | 
|---|
|  | 705 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 706 | </xsl:call-template> | 
|---|
|  | 707 | </xsl:variable> | 
|---|
|  | 708 |  | 
|---|
|  | 709 | <xsl:variable name="depth" select="count(ancestor::section) + 1"/> | 
|---|
|  | 710 | <xsl:variable name="reldepth" | 
|---|
|  | 711 | select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 712 |  | 
|---|
|  | 713 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 714 |  | 
|---|
|  | 715 | <xsl:if test="$toc.section.depth >= $depth"> | 
|---|
|  | 716 | <xsl:call-template name="toc.line"> | 
|---|
|  | 717 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 718 | </xsl:call-template> | 
|---|
|  | 719 |  | 
|---|
|  | 720 | <xsl:if test="$toc.section.depth > $depth | 
|---|
|  | 721 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 722 | and section"> | 
|---|
|  | 723 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 724 | <xsl:attribute name="margin-left"> | 
|---|
|  | 725 | <xsl:call-template name="set.toc.indent"> | 
|---|
|  | 726 | <xsl:with-param name="reldepth" select="$reldepth"/> | 
|---|
|  | 727 | </xsl:call-template> | 
|---|
|  | 728 | </xsl:attribute> | 
|---|
|  | 729 |  | 
|---|
|  | 730 | <xsl:apply-templates select="section|qandaset[$qanda.in.toc != 0]" | 
|---|
|  | 731 | mode="toc"> | 
|---|
|  | 732 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 733 | </xsl:apply-templates> | 
|---|
|  | 734 | </fo:block> | 
|---|
|  | 735 | </xsl:if> | 
|---|
|  | 736 | </xsl:if> | 
|---|
|  | 737 | </xsl:template> | 
|---|
|  | 738 |  | 
|---|
|  | 739 | <xsl:template match="bibliography|glossary" | 
|---|
|  | 740 | mode="toc"> | 
|---|
|  | 741 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 742 |  | 
|---|
|  | 743 | <xsl:call-template name="toc.line"> | 
|---|
|  | 744 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 745 | </xsl:call-template> | 
|---|
|  | 746 | </xsl:template> | 
|---|
|  | 747 |  | 
|---|
|  | 748 | <xsl:template match="index" mode="toc"> | 
|---|
|  | 749 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 750 |  | 
|---|
|  | 751 | <xsl:if test="* or $generate.index != 0"> | 
|---|
|  | 752 | <xsl:call-template name="toc.line"> | 
|---|
|  | 753 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 754 | </xsl:call-template> | 
|---|
|  | 755 | </xsl:if> | 
|---|
|  | 756 | </xsl:template> | 
|---|
|  | 757 |  | 
|---|
|  | 758 | <xsl:template match="title" mode="toc"> | 
|---|
|  | 759 | <xsl:apply-templates/> | 
|---|
|  | 760 | </xsl:template> | 
|---|
|  | 761 |  | 
|---|
|  | 762 | <!-- ==================================================================== --> | 
|---|
|  | 763 |  | 
|---|
|  | 764 | <xsl:template name="list.of.titles"> | 
|---|
|  | 765 | <xsl:param name="titles" select="'table'"/> | 
|---|
|  | 766 | <xsl:param name="nodes" select=".//table"/> | 
|---|
|  | 767 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 768 |  | 
|---|
|  | 769 | <xsl:variable name="id"> | 
|---|
|  | 770 | <xsl:call-template name="object.id"/> | 
|---|
|  | 771 | </xsl:variable> | 
|---|
|  | 772 |  | 
|---|
|  | 773 | <xsl:if test="$nodes"> | 
|---|
|  | 774 | <fo:block id="lot...{$titles}...{$id}"> | 
|---|
|  | 775 | <xsl:choose> | 
|---|
|  | 776 | <xsl:when test="$titles='table'"> | 
|---|
|  | 777 | <xsl:call-template name="list.of.tables.titlepage"/> | 
|---|
|  | 778 | </xsl:when> | 
|---|
|  | 779 | <xsl:when test="$titles='figure'"> | 
|---|
|  | 780 | <xsl:call-template name="list.of.figures.titlepage"/> | 
|---|
|  | 781 | </xsl:when> | 
|---|
|  | 782 | <xsl:when test="$titles='equation'"> | 
|---|
|  | 783 | <xsl:call-template name="list.of.equations.titlepage"/> | 
|---|
|  | 784 | </xsl:when> | 
|---|
|  | 785 | <xsl:when test="$titles='example'"> | 
|---|
|  | 786 | <xsl:call-template name="list.of.examples.titlepage"/> | 
|---|
|  | 787 | </xsl:when> | 
|---|
|  | 788 | <xsl:when test="$titles='procedure'"> | 
|---|
|  | 789 | <xsl:call-template name="list.of.procedures.titlepage"/> | 
|---|
|  | 790 | </xsl:when> | 
|---|
|  | 791 | <xsl:otherwise> | 
|---|
|  | 792 | <xsl:call-template name="list.of.unknowns.titlepage"/> | 
|---|
|  | 793 | </xsl:otherwise> | 
|---|
|  | 794 | </xsl:choose> | 
|---|
|  | 795 | <xsl:apply-templates select="$nodes" mode="toc"> | 
|---|
|  | 796 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 797 | </xsl:apply-templates> | 
|---|
|  | 798 | </fo:block> | 
|---|
|  | 799 | </xsl:if> | 
|---|
|  | 800 | </xsl:template> | 
|---|
|  | 801 |  | 
|---|
|  | 802 | <xsl:template match="figure|table|example|equation|procedure" mode="toc"> | 
|---|
|  | 803 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 804 | <xsl:call-template name="toc.line"> | 
|---|
|  | 805 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 806 | </xsl:call-template> | 
|---|
|  | 807 | </xsl:template> | 
|---|
|  | 808 |  | 
|---|
|  | 809 | <!-- ==================================================================== --> | 
|---|
|  | 810 |  | 
|---|
|  | 811 | <!-- qandaset handled like a section when qanda.in.toc is set --> | 
|---|
|  | 812 | <xsl:template match="qandaset" mode="toc"> | 
|---|
|  | 813 | <xsl:param name="toc-context" select="."/> | 
|---|
|  | 814 |  | 
|---|
|  | 815 | <xsl:variable name="id"> | 
|---|
|  | 816 | <xsl:call-template name="object.id"/> | 
|---|
|  | 817 | </xsl:variable> | 
|---|
|  | 818 |  | 
|---|
|  | 819 | <xsl:variable name="cid"> | 
|---|
|  | 820 | <xsl:call-template name="object.id"> | 
|---|
|  | 821 | <xsl:with-param name="object" select="$toc-context"/> | 
|---|
|  | 822 | </xsl:call-template> | 
|---|
|  | 823 | </xsl:variable> | 
|---|
|  | 824 |  | 
|---|
|  | 825 | <xsl:variable name="depth" select="count(ancestor::section) + 1"/> | 
|---|
|  | 826 | <xsl:variable name="reldepth" | 
|---|
|  | 827 | select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 828 |  | 
|---|
|  | 829 | <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/> | 
|---|
|  | 830 |  | 
|---|
|  | 831 | <xsl:if test="$toc.section.depth >= $depth"> | 
|---|
|  | 832 | <xsl:call-template name="toc.line"> | 
|---|
|  | 833 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 834 | </xsl:call-template> | 
|---|
|  | 835 |  | 
|---|
|  | 836 | <xsl:if test="$toc.section.depth > $depth | 
|---|
|  | 837 | and $toc.max.depth > $depth.from.context | 
|---|
|  | 838 | and (child::qandadiv or child::qandaentry)"> | 
|---|
|  | 839 | <fo:block id="toc.{$cid}.{$id}"> | 
|---|
|  | 840 | <xsl:attribute name="margin-left"> | 
|---|
|  | 841 | <xsl:call-template name="set.toc.indent"> | 
|---|
|  | 842 | <xsl:with-param name="reldepth" select="$reldepth"/> | 
|---|
|  | 843 | </xsl:call-template> | 
|---|
|  | 844 | </xsl:attribute> | 
|---|
|  | 845 |  | 
|---|
|  | 846 | <xsl:apply-templates select="qandadiv|qandaentry" mode="toc"> | 
|---|
|  | 847 | <xsl:with-param name="toc-context" select="$toc-context"/> | 
|---|
|  | 848 | </xsl:apply-templates> | 
|---|
|  | 849 | </fo:block> | 
|---|
|  | 850 | </xsl:if> | 
|---|
|  | 851 | </xsl:if> | 
|---|
|  | 852 | </xsl:template> | 
|---|
|  | 853 |  | 
|---|
|  | 854 | </xsl:stylesheet> | 
|---|
|  | 855 |  | 
|---|