Log In
New Account
  
Home My Page Project Cloud Code Snippets Project Openings Maemo C++ Bindings
Summary Tracker SCM Files
f5b4604cd1724ca36e0d3c743777c799ccfa689b
1 <?xml version="1.0"?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                 version="1.0">
5 <!-- Import of the original stylesheet which "just" creates 
6      a bunch of HTML files from any valid DocBook instance -->
7 <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
9 <!-- Base path for generated documentation URIs. Must contain trailing slash or be blank. -->
10 <xsl:param name="base-path"/>
11 <xsl:param name="toc-link"/>
12     
13 <!-- You must plug-in your custom templates here --> 
14 <xsl:template match="/">
15   <!-- Call original code from the imported stylesheet -->
16   <xsl:apply-imports/>
18   <!-- Call custom templates for the ToC and the manifest -->
19   <xsl:call-template name="etoc"/>
20 </xsl:template>
22 <!-- Template for creating auxiliary ToC file -->
23 <xsl:template name="etoc">
24   <xsl:call-template name="write.chunk">
25     <xsl:with-param name="filename" select="'toc.xml'"/>
26     <xsl:with-param name="method" select="'xml'"/>
27     <xsl:with-param name="encoding" select="'utf-8'"/>
28     <xsl:with-param name="indent" select="'yes'"/>
29     <xsl:with-param name="content">
31       <!-- Get the title of the root element -->
32       <xsl:variable name="title">
33         <xsl:apply-templates select="/*" mode="title.markup"/>
34       </xsl:variable>
35     
36       <!-- Get HTML filename for the root element -->
37       <xsl:variable name="href">
38         <xsl:call-template name="href.target.with.base.dir">
39           <xsl:with-param name="object" select="/*"/>
40         </xsl:call-template>
41       </xsl:variable>
42       
43       <!-- Create root element of ToC file -->
44       <toc label="{$title}" link_to="{$toc-link}">
45         <topic label="{$title}"  topic="{$base-path}{$href}">
46                 <!-- Get ToC for all children of the root element -->
47                 <xsl:apply-templates select="/*/*" mode="etoc"/>
48         </topic>
49       </toc>
50       
51     </xsl:with-param>
52   </xsl:call-template>
53 </xsl:template>
55 <!-- Template which converts all DocBook containers into 
56      one entry in the ToC file -->
57 <xsl:template match="book|part|reference|preface|chapter|
58                      bibliography|appendix|article|glossary|
59                      section|sect1|sect2|sect3|sect4|sect5|
60                      refentry|colophon|bibliodiv|index" 
61               mode="etoc">
62   <!-- Get the title of the current element -->
63   <xsl:variable name="title">
64     <xsl:apply-templates select="." mode="title.markup"/>
65   </xsl:variable>
67   <!-- Get HTML filename for the current element -->
68   <xsl:variable name="href">
69     <xsl:call-template name="href.target.with.base.dir"/>
70   </xsl:variable>
72   <!-- Create ToC entry for the current node and process its 
73        container-type children further -->
74   <topic label="{$title}" href="{$base-path}{$href}">
75     <xsl:apply-templates select="part|reference|preface|chapter|
76                                  bibliography|appendix|article|
77                                  glossary|section|sect1|sect2|
78                                  sect3|sect4|sect5|refentry|
79                                  colophon|bibliodiv|index" 
80                          mode="etoc"/>
81   </topic>
83 </xsl:template>
85 <!-- Default processing in the etoc mode is no processing -->
86 <xsl:template match="text()" mode="etoc"/>
87 </xsl:stylesheet>

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment