Next update of VFS modules development guide
[kai/samba.git] / docs-xml / xslt / db2latex-xsl / xsl / docbook.xsl
1 <?xml version='1.0'?>
2 <!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
3 <!--############################################################################# 
4 |       $Id: docbook.xsl,v 1.14 2004/01/04 09:03:25 j-devenish Exp $
5 |- #############################################################################
6 |       $Author: j-devenish $
7 + ############################################################################## -->
8
9 <xsl:stylesheet 
10         xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
11         xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
12         exclude-result-prefixes="doc" version='1.0'>
13
14         <doc:reference id="docbook" xmlns="">
15                 <referenceinfo>
16                         <releaseinfo role="meta">
17                                 $Id: docbook.xsl,v 1.14 2004/01/04 09:03:25 j-devenish Exp $
18                         </releaseinfo>
19                         <authorgroup>
20                                 &ramon;
21                                 &james;
22                         </authorgroup>
23                         <copyright>
24                                 <year>2000</year><year>2001</year><year>2002</year><year>2003</year>
25                                 <holder>Ramon Casellas</holder>
26                         </copyright>
27                         <revhistory>
28                                 <doc:revision rcasver="1.10">&rev_2003_05;</doc:revision>
29                         </revhistory>
30                 </referenceinfo>
31                 <title>DocBook Driver <filename>docbook.xsl</filename></title>
32                 <partintro>
33                         <para>
34                                 
35                                 This is the <quote>parent</quote> stylesheet. The used
36                                 <quote>modules</quote> are included here. The output encoding
37                                 is <literal>text</literal> in ISO-8859-1, indented. Parameters
38                                 may be found in
39                                 <!--
40                                 <link linkend="vars">vars.mod.xsl</link>,
41                                 -->
42                                 <link linkend="param-common">param-common.xsl</link>,
43                                 <link linkend="param-switch">param-switch.xsl</link> and
44                                 <link linkend="param-direct">param-direct.xsl</link>. Users
45                                 may use this stylesheets directory or may construct their own
46                                 <quote>customisation layer</quote> that uses
47                                 <literal>xsl:import</literal>. Users may also override the
48                                 <link linkend="latex.mapping">default &latex; mappings</link>.
49                                 
50                         </para>
51                         <para>
52                                 
53                                 An <literal>id</literal> XSLT key is defined for all elements,
54                                 matching their <sgmltag class="attribute">id</sgmltag>
55                                 attribute, to work around <productname>xsltproc</productname>
56                                 bugs.
57                                 
58                         </para>
59                 </partintro>
60         </doc:reference>
61
62         <xsl:output method="text" encoding="ISO-8859-1" indent="yes"/>
63         <xsl:key name="id" match="*" use="@id"/>
64
65         <xsl:include href="common/l10n.xsl"/>
66         <xsl:include href="common/common.xsl"/>
67         <xsl:include href="common/gentext.xsl"/>
68         <xsl:include href="common/subtitles.xsl"/>
69         <xsl:include href="common/titles.xsl"/>
70         <!--
71         <xsl:include href="lib/lib.xsl"/>
72         -->
73
74         <xsl:include href="VERSION.xml"/>
75         <xsl:include href="param-common.mod.xsl"/>
76         <xsl:include href="param-switch.mod.xsl"/>
77         <xsl:include href="param-direct.mod.xsl"/>
78         <xsl:include href="latex.mapping.xsl"/>
79         <xsl:include href="preamble.mod.xsl"/>
80         <xsl:include href="labelid.mod.xsl"/>
81
82         <xsl:include href="book-article.mod.xsl"/>
83
84         <xsl:include href="component.mod.xsl"/>
85
86         <xsl:include href="part-chap-app.mod.xsl"/>
87
88         <xsl:include href="sections.mod.xsl"/>
89         <xsl:include href="bridgehead.mod.xsl"/>
90
91         <xsl:include href="abstract.mod.xsl"/>
92         <xsl:include href="biblio.mod.xsl"/>
93         <xsl:include href="revision.mod.xsl"/>
94
95         <xsl:include href="admonition.mod.xsl"/>
96         <xsl:include href="verbatim.mod.xsl"/>
97         <xsl:include href="email.mod.xsl"/>
98         <xsl:include href="sgmltag.mod.xsl"/>
99         <xsl:include href="citation.mod.xsl"/>
100         <xsl:include href="qandaset.mod.xsl"/>
101         <xsl:include href="procedure.mod.xsl"/>
102         <xsl:include href="lists.mod.xsl"/>
103         <xsl:include href="callout.mod.xsl"/>
104
105         <xsl:include href="figure.mod.xsl"/>
106         <xsl:include href="graphic.mod.xsl"/>
107         <xsl:include href="mediaobject.mod.xsl"/>
108
109         <xsl:include href="index.mod.xsl"/>
110
111         <xsl:include href="xref.mod.xsl"/>
112         <xsl:include href="formal.mod.xsl"/>
113         <xsl:include href="example.mod.xsl"/>
114         <xsl:include href="table.mod.xsl"/>
115         <xsl:include href="inline.mod.xsl"/>
116         <xsl:include href="authorgroup.mod.xsl"/>
117         <xsl:include href="dingbat.mod.xsl"/>
118         <xsl:include href="keywords.mod.xsl"/>
119         <xsl:include href="refentry.mod.xsl"/>
120         <xsl:include href="glossary.mod.xsl"/>
121         <xsl:include href="block.mod.xsl"/>
122
123         <xsl:include href="synop-oop.mod.xsl"/>
124         <xsl:include href="synop-struct.mod.xsl"/>
125
126         <xsl:include href="pi.mod.xsl"/>
127
128         <xsl:include href="footnote.mod.xsl"/>
129
130         <xsl:include href="texmath.mod.xsl"/>
131         <xsl:include href="mathelem.mod.xsl"/>
132         <xsl:include href="mathml/mathml.mod.xsl"/>
133         <xsl:include href="mathml/mathml.presentation.mod.xsl"/>
134         <xsl:include href="mathml/mathml.content.mod.xsl"/>
135         <xsl:include href="mathml/mathml.content.token.mod.xsl"/>
136         <xsl:include href="mathml/mathml.content.functions.mod.xsl"/>
137         <xsl:include href="mathml/mathml.content.constsymb.mod.xsl"/>
138
139         <xsl:include href="para.mod.xsl"/>
140         <xsl:include href="msgset.mod.xsl"/>
141
142         <xsl:include href="normalize-scape.mod.xsl"/>
143
144         <doc:template match="/" xmlns="">
145                 <refpurpose>Root node</refpurpose>
146                 <doc:description>
147                         <para>
148
149                                 This template begins the conversion of a &docbook; document to
150                                 &latex;.
151
152                         </para>
153                 </doc:description>
154                 <doc:variables>
155                         &no_var;
156                 </doc:variables>
157         </doc:template>
158         <xsl:template match="/">
159                 <xsl:variable name="xsl-vendor" select="system-property('xsl:vendor')"/>
160                 <xsl:message>################################################################################</xsl:message>
161                 <xsl:message> XSLT stylesheets DocBook - LaTeX 2e                                            </xsl:message>
162                 <xsl:message> Reqs: LaTeX 2e installation common packages                                    </xsl:message>
163                 <xsl:message>################################################################################</xsl:message>
164                 <xsl:message> RELEASE : <xsl:value-of select="$VERSION"/>                                    </xsl:message>
165                 <xsl:message> VERSION : <xsl:value-of select="$CVSVERSION"/>                                 </xsl:message>
166                 <xsl:message>     TAG : <xsl:value-of select="$TAG"/>                                        </xsl:message>
167                 <xsl:message>     WWW : http://db2latex.sourceforge.net                                      </xsl:message>
168                 <xsl:message> SUMMARY : http://www.sourceforge.net/projects/db2latex                         </xsl:message>
169                 <xsl:message>  AUTHOR : Ramon Casellas  casellas@infres.enst.fr                              </xsl:message>
170                 <xsl:message>  AUTHOR : James Devenish  j-devenish@users.sf.net                              </xsl:message>
171                 <xsl:message>   USING : <xsl:call-template name="set-vendor"/>                               </xsl:message>
172                 <xsl:message>################################################################################</xsl:message>
173                 <xsl:apply-templates/>
174         </xsl:template>
175
176         <!--############################################################################# -->
177         <!-- XSL Processor Vendor                                                                                                                 -->
178         <!-- XSL Mailing Lists http://www.dpawson.co.uk/xsl/N10378.html                                   -->
179         <!--############################################################################# -->
180         <xsl:template name="set-vendor">
181                 <xsl:variable name="xsl-vendor" select="system-property('xsl:vendor')"/>
182                 <xsl:choose>
183                         <xsl:when test="contains($xsl-vendor, 'SAXON 6.4')">
184                         <xsl:text>SAXON 6.4.X</xsl:text>
185                         </xsl:when>
186                         <xsl:when test="contains($xsl-vendor, 'SAXON 6.2')">
187                         <xsl:text>SAXON 6.2.X</xsl:text>
188                         </xsl:when>
189                         <xsl:when test="starts-with($xsl-vendor,'SAXON')">
190                         <xsl:text>SAXON</xsl:text>
191                         </xsl:when>
192                         <xsl:when test="contains($xsl-vendor,'Apache')">
193                         <xsl:text>XALAN</xsl:text>
194                         </xsl:when>
195                         <xsl:when test="contains($xsl-vendor,'Xalan')">
196                         <xsl:text>XALAN</xsl:text>
197                         </xsl:when>
198                         <xsl:when test="contains($xsl-vendor,'libxslt')">
199                         <xsl:text>libxslt/xsltproc</xsl:text>
200                         </xsl:when>
201                         <xsl:when test="contains($xsl-vendor,'Clark')">
202                         <xsl:text>XT</xsl:text>
203                         </xsl:when>
204                         <xsl:otherwise>
205                         <xsl:text>UNKNOWN</xsl:text>
206                         </xsl:otherwise>
207                 </xsl:choose>
208         </xsl:template>
209
210         <doc:template match="*" xmlns="">
211                 <refpurpose>Catches unhandled elements</refpurpose>
212                 <doc:description>
213                         <para>
214
215                                 This template emits an XSL message when &db2latex; has no
216                                 template for an element that was encountered.
217
218                         </para>
219                 </doc:description>
220                 <doc:variables>
221                         &no_var;
222                 </doc:variables>
223         </doc:template>
224         <xsl:template match="*">
225                 <xsl:message>DB2LaTeX: Need to process XPath match <xsl:value-of select="concat(name(..),'/',name(.))"/></xsl:message>
226                 <xsl:text> [</xsl:text><xsl:value-of select="name(.)"/><xsl:text>] &#10;</xsl:text>
227                 <xsl:apply-templates/> 
228                 <xsl:text> [/</xsl:text><xsl:value-of select="name(.)"/><xsl:text>] &#10;</xsl:text>
229         </xsl:template>
230
231 </xsl:stylesheet>
232