]> granicus.if.org Git - apache/blob - docs/manual/style/manual.xsl
A few changes of my own:
[apache] / docs / manual / style / manual.xsl
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp "&#160;"> ]>
3 <xsl:stylesheet version="1.0"
4               xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
5                   xmlns="http://www.w3.org/TR/xhtml1/strict">
6
7 <!-- Include constants, variables, and macros -->
8 <xsl:import href="settings.xsl" />
9
10 <xsl:output method="html" encoding="iso-8859-1" indent="yes"/>
11
12  <!-- Process an entire document into an HTML page -->
13  <xsl:template match="modulesynopsis">
14 <html>
15  <head>
16 <xsl:comment>
17 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
18      This file is generated from xml source: DO NOT EDIT
19 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
20 </xsl:comment>
21   <xsl:apply-templates select="meta"/>
22   <title><xsl:value-of select="name"/> - Apache HTTP Server</title>
23   <link rel="stylesheet" type="text/css" href="../style/manual.css" />
24  </head>
25  <body>
26   <blockquote>
27    <div align="center">
28     <img src="../images/sub.gif" alt="[APACHE DOCUMENTATION]" /> 
29     <h3>Apache HTTP Server Version 2.0</h3>
30    </div>
31    <h1 align="center"><xsl:value-of select="$messages/message[@name='apachemodule']"/><xsl:text> </xsl:text> <xsl:value-of select="name"/></h1>
32    <!-- Description and module-headers -->
33    <table bgcolor="#cccccc" cellpadding="0" cellspacing="1"><tr><td>
34     <table bgcolor="#ffffff">
35      <tr><td valign="top"><span class="help"><xsl:value-of select="$messages/message[@name='description']"/>:</span> </td>
36          <td><xsl:apply-templates select="description"/></td></tr>
37      <tr><td><a class="help" href="module-dict.html#Status"><xsl:value-of select="$messages/message[@name='status']"/>:</a> </td>
38          <td><xsl:value-of select="status"/></td></tr>
39   <xsl:if test="identifier">
40      <tr><td><a class="help" href="module-dict.html#ModuleIdentifier"><xsl:value-of select="$messages/message[@name='moduleidentifier']"/>:</a> </td>
41          <td><xsl:value-of select="identifier"/></td></tr>
42   </xsl:if>
43   <xsl:if test="compatibility">
44      <tr><td valign="top" align="left"><a class="help" href="module-dict.html#Compatibility"
45        ><xsl:value-of select="$messages/message[@name='compatibility']"/>:</a> </td>
46          <td><xsl:apply-templates select="compatibility"/></td>
47      </tr>
48     </xsl:if>
49    </table>
50  </td></tr></table>
51
52 <!-- Summary of module features/usage (1 to 3 paragraphs, optional) -->
53
54 <xsl:if test="summary">
55   <h2>Summary</h2>
56   <xsl:apply-templates select="summary"/>
57 </xsl:if>
58
59 <xsl:if test="seealso">
60  <p><strong><xsl:value-of select="$messages/message[@name='seealso']"/></strong></p>
61  <ul>
62   <xsl:for-each select="seealso">
63    <li><xsl:apply-templates/></li>
64   </xsl:for-each>
65  </ul>
66 </xsl:if>
67
68 <!-- Index of directives, automatically generated from
69      directivesynopsis/name -->
70
71 <h2>Directives</h2>
72
73 <xsl:if test="directivesynopsis">
74   <ul>
75      <xsl:for-each select="directivesynopsis">
76        <xsl:sort select="name"/>
77        <xsl:variable name="name">
78          <xsl:value-of select="name"/>
79        </xsl:variable>
80        <xsl:variable name="lowername" 
81          select="translate($name, $uppercase, $lowercase)" />
82        <xsl:if test="not(@location)">
83          <li><a href="#{$lowername}"><xsl:value-of select="name"/></a></li>
84        </xsl:if>
85        <xsl:if test="./@location">
86          <xsl:variable name="location">
87            <xsl:value-of select="./@location"/>
88          </xsl:variable>
89          <xsl:variable name="lowerlocation" 
90            select="translate($location, $uppercase, $lowercase)" />
91          <li><a href="{$lowerlocation}.html#{$lowername}"><xsl:value-of select="name"/></a></li>
92        </xsl:if>
93      </xsl:for-each>
94   </ul>
95 </xsl:if>
96 <xsl:if test="not(directivesynopsis)">
97   <p>This module provides no directives.</p>
98 </xsl:if>
99
100 <!-- Sections of documentation about the module as a whole -->
101
102 <xsl:apply-templates select="section"/>
103
104 <hr />
105
106 <!-- Directive documentation -->
107
108 <xsl:apply-templates select="directivesynopsis">
109   <xsl:sort select="name"/>
110 </xsl:apply-templates> 
111
112 <!-- Page footer -->
113
114 <h3 align="center">Apache HTTP Server Version 2.0</h3>
115 <a href="./"><img src="../images/index.gif" alt="Index" /></a>
116 <a href="../"><img src="../images/home.gif" alt="Home" /></a>
117
118 </blockquote>
119 </body>
120 </html>
121 </xsl:template> <!-- /modulesynopsis -->
122
123
124 <!-- Subsections: get a lower level heading -->
125   <xsl:template match="section/section">
126    <xsl:variable name="href">
127       <xsl:value-of select="@id"/>
128     </xsl:variable>
129       <!-- Section heading -->
130     <xsl:if test="@id">
131       <h3><a name="{$href}"><xsl:apply-templates select="./title" mode="print"/></a></h3>
132     </xsl:if>
133     <xsl:if test="not(@id)">
134       <h3><xsl:apply-templates select="./title" mode="print"/></h3>
135     </xsl:if>
136       <!-- Section body -->
137         <xsl:apply-templates/>
138   </xsl:template>
139
140 <!-- Process a documentation section -->
141   <xsl:template match="section">
142     <xsl:variable name="href">
143       <xsl:value-of select="@id"/>
144     </xsl:variable>
145       <!-- Section heading -->
146     <xsl:if test="@id">
147       <h2><a name="{$href}"><xsl:apply-templates select="./title" mode="print"/></a></h2>
148     </xsl:if>
149     <xsl:if test="not(@id)">
150       <h2><xsl:apply-templates select="./title" mode="print"/></h2>
151     </xsl:if>
152       <!-- Section body -->
153         <xsl:apply-templates/>
154   </xsl:template>
155
156   <xsl:template match="section/title" mode="print">
157     <xsl:apply-templates/>
158   </xsl:template>
159
160   <!-- Don't print the title twice -->
161   <xsl:template match="section/title"></xsl:template>
162
163   <xsl:template match="directivesynopsis">
164
165   <xsl:if test="not(@location)">
166   <xsl:variable name="name">
167     <xsl:value-of select="./name"/>
168   </xsl:variable>
169   <xsl:variable name="lowername" 
170      select="translate($name, $uppercase, $lowercase)" />
171   <!-- Directive heading gets both mixed case and lowercase anchors,
172        and includes lt/gt only for "section" directives -->
173   <h2><a name="{$name}"><xsl:if test="./@type='section'">&lt;</xsl:if
174       ><xsl:value-of select="./name"/><xsl:if test="./@type='section'"
175       >&gt;</xsl:if></a><xsl:text> </xsl:text><a 
176       name="{$lowername}">Directive</a></h2>
177
178 <!-- Directive header -->
179 <table bgcolor="#cccccc" border="0" cellspacing="0" cellpadding="1">
180 <tr><td>
181 <table bgcolor="#ffffff">
182   <tr><td><strong><xsl:value-of select="$messages/message[@name='description']"/>: </strong></td>
183     <td><xsl:value-of select="description"/></td></tr>
184   <tr><td><a class="help" href="directive-dict.html#Syntax"><xsl:value-of select="$messages/message[@name='syntax']"/>:</a> </td>
185     <td><xsl:apply-templates select="syntax"/></td></tr>
186   <xsl:if test="default">
187     <tr><td><a class="help" href="directive-dict.html#Default"
188       ><xsl:value-of select="$messages/message[@name='default']"/>:</a> </td>
189       <td><code><xsl:value-of select="default"/></code></td></tr>
190   </xsl:if>
191   <tr><td><a class="help" href="directive-dict.html#Context"><xsl:value-of select="$messages/message[@name='context']"/>:</a> </td>
192     <td><xsl:apply-templates select="contextlist"/></td></tr>
193   <xsl:if test="override">
194     <tr><td><a class="help" href="directive-dict.html#Override"
195     ><xsl:value-of select="$messages/message[@name='override']"/>:</a> </td>
196     <td><xsl:value-of select="override"/></td></tr>
197   </xsl:if>
198   <tr><td><a class="help" href="directive-dict.html#Status"><xsl:value-of select="$messages/message[@name='status']"/>:</a> </td>
199     <td><xsl:value-of select="/modulesynopsis/status"/></td></tr>
200   <tr><td><a class="help" href="directive-dict.html#Module"><xsl:value-of select="$messages/message[@name='module']"/>:</a> </td>
201     <td>
202     <xsl:if test="modulelist"><xsl:apply-templates select="modulelist"/>
203       </xsl:if>
204     <xsl:if test="not(modulelist)">
205       <xsl:value-of select="/modulesynopsis/name"/>
206     </xsl:if>
207     </td></tr>
208   <xsl:if test="compatibility">
209     <tr><td valign="top" align="left"><a class="help" href="directive-dict.html#Compatibility"
210       ><xsl:value-of select="$messages/message[@name='compatibility']"/>:</a> </td>
211       <td><xsl:value-of select="compatibility"/></td></tr>
212   </xsl:if>
213 </table>
214 </td></tr></table>
215
216 <xsl:apply-templates select="usage"/>
217 <xsl:if test="seealso">
218   <p><strong><xsl:value-of select="$messages/message[@name='seealso']"/></strong></p>
219   <ul>
220     <xsl:for-each select="seealso">
221       <li><xsl:apply-templates/></li>
222     </xsl:for-each>
223   </ul>
224 </xsl:if>
225
226 <hr />
227 </xsl:if> <!-- not(@location) -->
228 </xsl:template> <!-- /directivesynopsis -->
229
230   <xsl:template match="contextlist">
231     <xsl:apply-templates select="context"/>
232   </xsl:template>
233
234   <xsl:template match="context">
235     <xsl:value-of select="." />
236     <xsl:if test="not(position()=last())">, </xsl:if>
237   </xsl:template>
238
239   <xsl:template match="modulelist">
240     <xsl:apply-templates select="module"/>
241   </xsl:template>
242
243   <xsl:template match="example">
244   <blockquote>
245   <table cellpadding="10"><tr><td bgcolor="#eeeeee">
246      <xsl:apply-templates select="title" mode="print"/>
247      <code><xsl:apply-templates/></code>
248   </td></tr></table>
249   </blockquote>
250   </xsl:template>
251
252   <xsl:template match="example/title" mode="print">
253      <p align="center"><strong><xsl:apply-templates/></strong></p>
254   </xsl:template>
255   <xsl:template match="example/title"></xsl:template>
256
257   <xsl:template match="note">
258   <blockquote>
259   <table><tr><td>
260    <xsl:choose>
261     <xsl:when test="@type='warning'">
262      <xsl:attribute name="bgcolor">#ffe5f5</xsl:attribute>
263     </xsl:when>
264     <xsl:otherwise>
265      <xsl:attribute name="bgcolor">#e0e5f5</xsl:attribute>
266     </xsl:otherwise>
267    </xsl:choose>
268      <xsl:apply-templates/>
269   </td></tr></table>
270   </blockquote>
271   </xsl:template>
272   <xsl:template match="note/title">
273      <p align="center"><strong><xsl:apply-templates/></strong></p>
274   </xsl:template>
275
276   <xsl:template match="directive">
277     <xsl:if test="@module">
278       <xsl:variable name="module">
279         <xsl:value-of select="./@module"/>
280       </xsl:variable>
281       <xsl:variable name="directive">
282         <xsl:value-of select="."/>
283       </xsl:variable>
284       <xsl:variable name="lowerdirective" select="translate($directive, $uppercase, $lowercase)" />
285       <xsl:if test="@module=/modulesynopsis/name">
286         <code class="directive"><a class="directive" href="#{$lowerdirective}"><xsl:if test="./@type='section'">&lt;</xsl:if><xsl:value-of select="."/><xsl:if test="./@type='section'">&gt;</xsl:if></a></code>
287       </xsl:if>
288       <xsl:if test="@module!=/modulesynopsis/name">
289         <code class="directive"><a class="directive" href="{$module}.html#{$lowerdirective}"><xsl:if test="./@type='section'">&lt;</xsl:if><xsl:value-of select="."/><xsl:if test="./@type='section'">&gt;</xsl:if></a></code>
290       </xsl:if>
291     </xsl:if>
292     <xsl:if test="not(@module)">
293        <code class="directive"><xsl:if test="./@type='section'">&lt;</xsl:if><xsl:value-of select="."/><xsl:if test="./@type='section'">&gt;</xsl:if></code>
294     </xsl:if>
295   </xsl:template>
296
297   <xsl:template match="module">
298     <code><a href="{.}.html"><xsl:value-of select="."/></a></code><xsl:if test="parent::modulelist"><xsl:if test="not(position()=last())">, </xsl:if>
299     </xsl:if>
300   </xsl:template>
301
302   <!-- Process everything else by just passing it through -->
303   <xsl:template match="*|@*">
304     <xsl:copy>
305       <xsl:apply-templates select="@*|*|text()"/>
306     </xsl:copy>
307   </xsl:template>
308
309 </xsl:stylesheet>