Log In
New Account
  
Home My Page Project Cloud Code Snippets Project Openings Maemo C++ Bindings
Summary Tracker SCM Files
4b4159165157e27124367c0de8849cfe6d2e78f8
1 <?xml version="1.0"?>\r
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"\r
3                 version="1.0">\r
4 \r
5 <!-- Import of the original stylesheet which "just" creates \r
6      a bunch of HTML files from any valid DocBook instance -->\r
7 <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>\r
8 \r
9 <!-- You must plug-in your custom templates here --> \r
10 <xsl:template match="/">\r
11   <!-- Call original code from the imported stylesheet -->\r
12   <xsl:apply-imports/>\r
13 \r
14   <!-- Call custom templates for the ToC and the manifest -->\r
15   <xsl:call-template name="etoc"/>\r
16   <xsl:call-template name="plugin.xml"/>\r
17 </xsl:template>\r
18 \r
19 <!-- Template for creating auxiliary ToC file -->\r
20 <xsl:template name="etoc">\r
21   <xsl:call-template name="write.chunk">\r
22     <xsl:with-param name="filename" select="'toc.xml'"/>\r
23     <xsl:with-param name="method" select="'xml'"/>\r
24     <xsl:with-param name="encoding" select="'utf-8'"/>\r
25     <xsl:with-param name="indent" select="'yes'"/>\r
26     <xsl:with-param name="content">\r
27 \r
28       <!-- Get the title of the root element -->\r
29       <xsl:variable name="title">\r
30         <xsl:apply-templates select="/*" mode="title.markup"/>\r
31       </xsl:variable>\r
32     \r
33       <!-- Get HTML filename for the root element -->\r
34       <xsl:variable name="href">\r
35         <xsl:call-template name="href.target.with.base.dir">\r
36           <xsl:with-param name="object" select="/*"/>\r
37         </xsl:call-template>\r
38       </xsl:variable>\r
39       \r
40       <!-- Create root element of ToC file -->\r
41       <toc label="{$title}" topic="{$href}">\r
42         <!-- Get ToC for all children of the root element -->\r
43         <xsl:apply-templates select="/*/*" mode="etoc"/>\r
44       </toc>\r
45       \r
46     </xsl:with-param>\r
47   </xsl:call-template>\r
48 </xsl:template>\r
49 \r
50 <!-- Template which converts all DocBook containers into \r
51      one entry in the ToC file -->\r
52 <xsl:template match="book|part|reference|preface|chapter|\r
53                      bibliography|appendix|article|glossary|\r
54                      section|sect1|sect2|sect3|sect4|sect5|\r
55                      refentry|colophon|bibliodiv|index" \r
56               mode="etoc">\r
57   <!-- Get the title of the current element -->\r
58   <xsl:variable name="title">\r
59     <xsl:apply-templates select="." mode="title.markup"/>\r
60   </xsl:variable>\r
61 \r
62   <!-- Get HTML filename for the current element -->\r
63   <xsl:variable name="href">\r
64     <xsl:call-template name="href.target.with.base.dir"/>\r
65   </xsl:variable>\r
66 \r
67   <!-- Create ToC entry for the current node and process its \r
68        container-type children further -->\r
69   <topic label="{$title}" href="{$href}">\r
70     <xsl:apply-templates select="part|reference|preface|chapter|\r
71                                  bibliography|appendix|article|\r
72                                  glossary|section|sect1|sect2|\r
73                                  sect3|sect4|sect5|refentry|\r
74                                  colophon|bibliodiv|index" \r
75                          mode="etoc"/>\r
76   </topic>\r
77 \r
78 </xsl:template>\r
79 \r
80 <!-- Default processing in the etoc mode is no processing -->\r
81 <xsl:template match="text()" mode="etoc"/>\r
82 \r
83 <!-- Template for generating the manifest file -->\r
84 <xsl:template name="plugin.xml">\r
85   <xsl:call-template name="write.chunk">\r
86     <xsl:with-param name="filename" select="'plugin.xml'"/>\r
87     <xsl:with-param name="method" select="'xml'"/>\r
88     <xsl:with-param name="encoding" select="'utf-8'"/>\r
89     <xsl:with-param name="indent" select="'yes'"/>\r
90     <xsl:with-param name="content">\r
91       <plugin name="{$eclipse.plugin.name}"\r
92               id="{$eclipse.plugin.id}"\r
93               version="1.0"\r
94               provider-name="{$eclipse.plugin.provider}">\r
95         <extension point="org.eclipse.help.toc">\r
96           <toc file="toc.xml" primary="true"/>\r
97         </extension>\r
98       </plugin>\r
99     </xsl:with-param>\r
100   </xsl:call-template>\r
101 </xsl:template>\r
102 \r
103 <!-- Customization parameters for the manifest file -->\r
104 <xsl:param name="eclipse.plugin.name">DocBook Online Help Sample</xsl:param>\r
105 <xsl:param name="eclipse.plugin.id">com.example.help</xsl:param>\r
106 <xsl:param name="eclipse.plugin.provider">Example provider</xsl:param>\r
107 \r
108 </xsl:stylesheet>

Terms of Use    Privacy Policy    Contribution Guidelines    Feedback

Powered By GForge Collaborative Development Environment