OLD | NEW |
| (Empty) |
1 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | |
2 xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" | |
3 version="1.0" | |
4 exclude-result-prefixes="doc"> | |
5 | |
6 <!-- ******************************************************************** | |
7 $Id: maketoc.xsl 6910 2007-06-28 23:23:30Z xmldoc $ | |
8 ******************************************************************** | |
9 | |
10 This file is part of the XSL DocBook Stylesheet distribution. | |
11 See ../README or http://docbook.sf.net/release/xsl/current/ for | |
12 copyright and other information. | |
13 | |
14 ******************************************************************** --> | |
15 | |
16 <!-- ==================================================================== --> | |
17 | |
18 <xsl:import href="docbook.xsl"/> | |
19 <xsl:import href="chunk.xsl"/> | |
20 | |
21 <xsl:output method="xml" indent="no" encoding='utf-8'/> | |
22 | |
23 <xsl:param name="toc.list.type" select="'tocentry'"/> | |
24 | |
25 <!-- refentry in autotoc.xsl does not use subtoc, so must | |
26 handle it explicitly here. --> | |
27 <xsl:template match="refentry" mode="toc"> | |
28 <xsl:param name="toc-context" select="."/> | |
29 | |
30 <xsl:call-template name="subtoc"> | |
31 <xsl:with-param name="toc-context" select="$toc-context"/> | |
32 </xsl:call-template> | |
33 </xsl:template> | |
34 | |
35 | |
36 <xsl:template name="subtoc"> | |
37 <xsl:param name="nodes" select="NOT-AN-ELEMENT"/> | |
38 <xsl:variable name="filename"> | |
39 <xsl:apply-templates select="." mode="chunk-filename"/> | |
40 </xsl:variable> | |
41 | |
42 <xsl:variable name="chunk"> | |
43 <xsl:call-template name="chunk"/> | |
44 </xsl:variable> | |
45 | |
46 <xsl:if test="$chunk != 0"> | |
47 <xsl:call-template name="indent-spaces"/> | |
48 <xsl:variable name="id"> | |
49 <xsl:call-template name="object.id"/> | |
50 </xsl:variable> | |
51 <tocentry linkend="{$id}"> | |
52 <xsl:processing-instruction name="dbhtml"> | |
53 <xsl:text>filename="</xsl:text> | |
54 <xsl:value-of select="$filename"/> | |
55 <xsl:text>"</xsl:text> | |
56 </xsl:processing-instruction> | |
57 <xsl:text>
</xsl:text> | |
58 <xsl:apply-templates mode="toc" select="$nodes"/> | |
59 <xsl:call-template name="indent-spaces"/> | |
60 </tocentry> | |
61 <xsl:text>
</xsl:text> | |
62 </xsl:if> | |
63 </xsl:template> | |
64 | |
65 <xsl:template name="indent-spaces"> | |
66 <xsl:param name="node" select="."/> | |
67 <xsl:text> </xsl:text> | |
68 <xsl:if test="$node/parent::*"> | |
69 <xsl:call-template name="indent-spaces"> | |
70 <xsl:with-param name="node" select="$node/parent::*"/> | |
71 </xsl:call-template> | |
72 </xsl:if> | |
73 </xsl:template> | |
74 | |
75 <!-- ==================================================================== --> | |
76 | |
77 <xsl:template match="/" priority="-1"> | |
78 <xsl:text>
</xsl:text> | |
79 <toc role="chunk-toc"> | |
80 <xsl:text>
</xsl:text> | |
81 <xsl:apply-templates select="/" mode="toc"/> | |
82 </toc> | |
83 <xsl:text>
</xsl:text> | |
84 </xsl:template> | |
85 | |
86 </xsl:stylesheet> | |
OLD | NEW |