source: trunk/third/gtk-doc/gtk-doc.xsl @ 20745

Revision 20745, 9.6 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r20744, which included commits to RCS files with non-trunk default branches.
Line 
1<?xml version='1.0'?> <!--*- mode: xml -*-->
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                version="1.0">
4
5  <!-- import the chunked XSL stylesheet -->
6  <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
7  <xsl:include href="devhelp.xsl"/>
8
9  <!-- change some parameters -->
10  <xsl:param name="toc.section.depth">1</xsl:param>
11
12  <xsl:param name="default.encoding" select="'ISO-8859-1'"/>
13  <xsl:param name="chunk.fast" select="1"/>
14  <xsl:param name="chapter.autolabel" select="0"/>
15  <xsl:param name="use.id.as.filename" select="'1'"/>
16  <xsl:param name="html.ext" select="'.html'"/>
17  <xsl:param name="refentry.generate.name" select="0"/>
18  <xsl:param name="refentry.generate.title" select="1"/>
19
20  <!-- display variablelists as tables -->
21  <xsl:param name="variablelist.as.table" select="1"/>
22
23  <!-- this gets set on the command line ... -->
24  <xsl:param name="gtkdoc.version" select="''"/>
25  <xsl:param name="gtkdoc.bookname" select="''"/>
26
27  <!-- ========================================================= -->
28  <!-- template to create the index.sgml anchor index -->
29
30  <xsl:template match="book|article">
31    <xsl:apply-imports/>
32
33    <!-- generate the index.sgml href index -->
34    <xsl:call-template name="generate.index"/>
35    <xsl:call-template name="generate.devhelp"/>
36  </xsl:template>
37
38  <xsl:template name="generate.index">
39    <xsl:call-template name="write.text.chunk">
40      <xsl:with-param name="filename" select="'index.sgml'"/>
41      <xsl:with-param name="content">
42        <!-- check all anchor and refentry elements -->
43        <xsl:apply-templates select="//anchor|//refentry"
44                             mode="generate.index.mode"/>
45      </xsl:with-param>
46      <xsl:with-param name="encoding" select="'utf-8'"/>
47    </xsl:call-template>
48  </xsl:template>
49
50  <xsl:template match="*" mode="generate.index.mode">
51    <xsl:if test="not(@href)">
52      <xsl:text>&lt;ANCHOR id=&quot;</xsl:text>
53      <xsl:value-of select="@id"/>
54      <xsl:text>&quot; href=&quot;</xsl:text>
55      <xsl:if test="$gtkdoc.bookname">
56        <xsl:value-of select="$gtkdoc.bookname"/>
57        <xsl:text>/</xsl:text>
58      </xsl:if>
59      <xsl:call-template name="href.target"/>
60      <xsl:text>&quot;&gt;
61</xsl:text>
62    </xsl:if>
63  </xsl:template>
64
65  <!-- ========================================================= -->
66  <!-- template to output gtkdoclink elements for the unknown targets -->
67
68  <xsl:template match="link">
69    <xsl:choose>
70      <xsl:when test="id(@linkend)">
71        <xsl:apply-imports/>
72      </xsl:when>
73      <xsl:otherwise>
74        <GTKDOCLINK HREF="{@linkend}">
75          <xsl:apply-templates/>
76        </GTKDOCLINK>
77      </xsl:otherwise>
78    </xsl:choose>
79  </xsl:template>
80
81  <!-- ========================================================= -->
82  <!-- Below are the visual portions of the stylesheet.  They provide
83       the normal gtk-doc output style. -->
84
85  <xsl:param name="shade.verbatim" select="0"/>
86  <xsl:param name="refentry.separator" select="0"/>
87
88  <xsl:template match="refsect2">
89    <xsl:if test="preceding-sibling::refsect2">
90      <hr/>
91    </xsl:if>
92    <xsl:apply-imports/>
93  </xsl:template>
94
95  <xsl:template name="user.head.content">
96    <xsl:if test="$gtkdoc.version">
97      <meta name="generator"
98            content="GTK-Doc V{$gtkdoc.version} (XML mode)"/>
99    </xsl:if>
100    <style type="text/css">
101      <xsl:text>
102        .synopsis, .classsynopsis {
103            background: #eeeeee;
104            border: solid 1px #aaaaaa;
105            padding: 0.5em;
106        }
107        .programlisting {
108            background: #eeeeff;
109            border: solid 1px #aaaaff;
110            padding: 0.5em;
111        }
112        .variablelist {
113            padding: 4px;
114            margin-left: 3em;
115        }
116        .navigation {
117            background: #ffeeee;
118            border: solid 1px #ffaaaa;
119            margin-top: 0.5em;
120            margin-bottom: 0.5em;
121        }
122        .navigation a {
123            color: #770000;
124        }
125        .navigation a:visited {
126            color: #550000;
127        }
128        .navigation .title {
129            font-size: 200%;
130        }
131      </xsl:text>
132    </style>
133  </xsl:template>
134
135  <xsl:template match="title" mode="book.titlepage.recto.mode">
136    <table class="navigation" width="100%"
137           cellpadding="2" cellspacing="0">
138      <tr>
139        <th valign="middle">
140          <p class="{name(.)}">
141            <xsl:value-of select="."/>
142          </p>
143        </th>
144      </tr>
145    </table>
146  </xsl:template>
147
148  <xsl:template name="header.navigation">
149    <xsl:param name="prev" select="/foo"/>
150    <xsl:param name="next" select="/foo"/>
151    <xsl:variable name="home" select="/*[1]"/>
152    <xsl:variable name="up" select="parent::*"/>
153
154    <xsl:if test="$suppress.navigation = '0' and $home != .">
155      <table class="navigation" width="100%"
156             summary = "Navigation header" cellpadding="2" cellspacing="2">
157        <tr valign="middle">
158          <xsl:if test="count($prev) > 0">
159            <td>
160              <a accesskey="p">
161                <xsl:attribute name="href">
162                  <xsl:call-template name="href.target">
163                    <xsl:with-param name="object" select="$prev"/>
164                  </xsl:call-template>
165                </xsl:attribute>
166                <img src="left.png" width="24" height="24" border="0">
167                  <xsl:attribute name="alt">
168                    <xsl:call-template name="gentext">
169                      <xsl:with-param name="key">nav-prev</xsl:with-param>
170                    </xsl:call-template>
171                  </xsl:attribute>
172                </img>
173              </a>
174            </td>
175          </xsl:if>
176          <xsl:if test="count($up) > 0 and $up != $home">
177            <td>
178              <a accesskey="u">
179                <xsl:attribute name="href">
180                  <xsl:call-template name="href.target">
181                    <xsl:with-param name="object" select="$up"/>
182                  </xsl:call-template>
183                </xsl:attribute>
184                <img src="up.png" width="24" height="24" border="0">
185                  <xsl:attribute name="alt">
186                    <xsl:call-template name="gentext">
187                      <xsl:with-param name="key">nav-up</xsl:with-param>
188                    </xsl:call-template>
189                  </xsl:attribute>
190                </img>
191              </a>
192            </td>
193          </xsl:if>
194          <xsl:if test="$home != .">
195            <td>
196              <a accesskey="h">
197                <xsl:attribute name="href">
198                  <xsl:call-template name="href.target">
199                    <xsl:with-param name="object" select="$home"/>
200                  </xsl:call-template>
201                </xsl:attribute>
202                <img src="home.png" width="24" height="24" border="0">
203                  <xsl:attribute name="alt">
204                    <xsl:call-template name="gentext">
205                      <xsl:with-param name="key">nav-home</xsl:with-param>
206                    </xsl:call-template>
207                  </xsl:attribute>
208                </img>
209              </a>
210            </td>
211          </xsl:if>
212          <th width="100%" align="center">
213            <xsl:apply-templates select="$home"
214                                 mode="object.title.markup"/>
215          </th>
216          <xsl:if test="count($next) > 0">
217            <td>
218              <a accesskey="n">
219                <xsl:attribute name="href">
220                  <xsl:call-template name="href.target">
221                    <xsl:with-param name="object" select="$next"/>
222                  </xsl:call-template>
223                </xsl:attribute>
224                <img src="right.png" width="24" height="24" border="0">
225                  <xsl:attribute name="alt">
226                    <xsl:call-template name="gentext">
227                      <xsl:with-param name="key">nav-next</xsl:with-param>
228                    </xsl:call-template>
229                  </xsl:attribute>
230                </img>
231              </a>
232            </td>
233          </xsl:if>
234        </tr>
235      </table>
236    </xsl:if>
237  </xsl:template>
238
239  <xsl:template name="footer.navigation">
240    <xsl:param name="prev" select="/foo"/>
241    <xsl:param name="next" select="/foo"/>
242
243    <xsl:if test="$suppress.navigation = '0'">
244      <table class="navigation" width="100%"
245             summary="Navigation footer" cellpadding="2" cellspacing="0">
246        <tr valign="middle">
247          <td align="left">
248            <xsl:if test="count($prev) > 0">
249              <a accesskey="p">
250                <xsl:attribute name="href">
251                  <xsl:call-template name="href.target">
252                    <xsl:with-param name="object" select="$prev"/>
253                  </xsl:call-template>
254                </xsl:attribute>
255                <b>
256                  <xsl:text>&lt;&lt;&#160;</xsl:text>
257                  <xsl:apply-templates select="$prev"
258                                       mode="object.title.markup"/>
259                </b>
260              </a>
261            </xsl:if>
262          </td>
263          <td align="right">
264            <xsl:if test="count($next) > 0">
265              <a accesskey="n">
266                <xsl:attribute name="href">
267                  <xsl:call-template name="href.target">
268                    <xsl:with-param name="object" select="$next"/>
269                  </xsl:call-template>
270                </xsl:attribute>
271                <b>
272                  <xsl:apply-templates select="$next"
273                                       mode="object.title.markup"/>
274                  <xsl:text>&#160;&gt;&gt;</xsl:text>
275                </b>
276              </a>
277            </xsl:if>
278          </td>
279        </tr>
280      </table>
281    </xsl:if>
282  </xsl:template>
283
284</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.