Rocco Rutte:
[apps/madmutt.git] / doc / xslt / xhtml / titlepage.templates.xsl
1 <?xml version="1.0" encoding="US-ASCII"?>
2 <!--This file was created automatically by html2xhtml-->
3 <!--from the HTML stylesheets. Do not edit this file.-->
4 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns="http://www.w3.org/1999/xhtml" version="1.0" exclude-result-prefixes="exsl">
5
6 <!-- This stylesheet was created by template/titlepage.xsl; do not edit it by hand. -->
7
8 <xsl:template name="article.titlepage.recto">
9   <xsl:choose>
10     <xsl:when test="articleinfo/title">
11       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
12     </xsl:when>
13     <xsl:when test="artheader/title">
14       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
15     </xsl:when>
16     <xsl:when test="info/title">
17       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
18     </xsl:when>
19     <xsl:when test="title">
20       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
21     </xsl:when>
22   </xsl:choose>
23
24   <xsl:choose>
25     <xsl:when test="articleinfo/subtitle">
26       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
27     </xsl:when>
28     <xsl:when test="artheader/subtitle">
29       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
30     </xsl:when>
31     <xsl:when test="info/subtitle">
32       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
33     </xsl:when>
34     <xsl:when test="subtitle">
35       <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
36     </xsl:when>
37   </xsl:choose>
38
39   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
40   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
41   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
42   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
43   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
44   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
45   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
46   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
47   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
48   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
49   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
50   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
51   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
52   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
53   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
54   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
55   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
56   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
57   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
58   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
59   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
60   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
61   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
62   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
63   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
64   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
65   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
66   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
67   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
68   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
69   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
70   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
71   <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
72 </xsl:template>
73
74 <xsl:template name="article.titlepage.verso">
75 </xsl:template>
76
77 <xsl:template name="article.titlepage.separator"><hr/>
78 </xsl:template>
79
80 <xsl:template name="article.titlepage.before.recto">
81 </xsl:template>
82
83 <xsl:template name="article.titlepage.before.verso">
84 </xsl:template>
85
86 <xsl:template name="article.titlepage">
87   <div class="titlepage">
88     <xsl:variable name="recto.content">
89       <xsl:call-template name="article.titlepage.before.recto"/>
90       <xsl:call-template name="article.titlepage.recto"/>
91     </xsl:variable>
92     <xsl:variable name="recto.elements.count">
93       <xsl:choose>
94         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
95         <xsl:otherwise>1</xsl:otherwise>
96       </xsl:choose>
97     </xsl:variable>
98     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
99       <div><xsl:copy-of select="$recto.content"/></div>
100     </xsl:if>
101     <xsl:variable name="verso.content">
102       <xsl:call-template name="article.titlepage.before.verso"/>
103       <xsl:call-template name="article.titlepage.verso"/>
104     </xsl:variable>
105     <xsl:variable name="verso.elements.count">
106       <xsl:choose>
107         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
108         <xsl:otherwise>1</xsl:otherwise>
109       </xsl:choose>
110     </xsl:variable>
111     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
112       <div><xsl:copy-of select="$verso.content"/></div>
113     </xsl:if>
114     <xsl:call-template name="article.titlepage.separator"/>
115   </div>
116 </xsl:template>
117
118 <xsl:template match="*" mode="article.titlepage.recto.mode">
119   <!-- if an element isn't found in this mode, -->
120   <!-- try the generic titlepage.mode -->
121   <xsl:apply-templates select="." mode="titlepage.mode"/>
122 </xsl:template>
123
124 <xsl:template match="*" mode="article.titlepage.verso.mode">
125   <!-- if an element isn't found in this mode, -->
126   <!-- try the generic titlepage.mode -->
127   <xsl:apply-templates select="." mode="titlepage.mode"/>
128 </xsl:template>
129
130 <xsl:template match="title" mode="article.titlepage.recto.auto.mode">
131 <div xsl:use-attribute-sets="article.titlepage.recto.style">
132 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
133 </div>
134 </xsl:template>
135
136 <xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
137 <div xsl:use-attribute-sets="article.titlepage.recto.style">
138 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
139 </div>
140 </xsl:template>
141
142 <xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
143 <div xsl:use-attribute-sets="article.titlepage.recto.style">
144 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
145 </div>
146 </xsl:template>
147
148 <xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
149 <div xsl:use-attribute-sets="article.titlepage.recto.style">
150 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
151 </div>
152 </xsl:template>
153
154 <xsl:template match="author" mode="article.titlepage.recto.auto.mode">
155 <div xsl:use-attribute-sets="article.titlepage.recto.style">
156 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
157 </div>
158 </xsl:template>
159
160 <xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
161 <div xsl:use-attribute-sets="article.titlepage.recto.style">
162 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
163 </div>
164 </xsl:template>
165
166 <xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
167 <div xsl:use-attribute-sets="article.titlepage.recto.style">
168 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
169 </div>
170 </xsl:template>
171
172 <xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
173 <div xsl:use-attribute-sets="article.titlepage.recto.style">
174 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
175 </div>
176 </xsl:template>
177
178 <xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
179 <div xsl:use-attribute-sets="article.titlepage.recto.style">
180 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
181 </div>
182 </xsl:template>
183
184 <xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
185 <div xsl:use-attribute-sets="article.titlepage.recto.style">
186 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
187 </div>
188 </xsl:template>
189
190 <xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
191 <div xsl:use-attribute-sets="article.titlepage.recto.style">
192 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
193 </div>
194 </xsl:template>
195
196 <xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
197 <div xsl:use-attribute-sets="article.titlepage.recto.style">
198 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
199 </div>
200 </xsl:template>
201
202 <xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
203 <div xsl:use-attribute-sets="article.titlepage.recto.style">
204 <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
205 </div>
206 </xsl:template>
207
208 <xsl:template name="set.titlepage.recto">
209   <xsl:choose>
210     <xsl:when test="setinfo/title">
211       <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
212     </xsl:when>
213     <xsl:when test="info/title">
214       <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
215     </xsl:when>
216     <xsl:when test="title">
217       <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
218     </xsl:when>
219   </xsl:choose>
220
221   <xsl:choose>
222     <xsl:when test="setinfo/subtitle">
223       <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
224     </xsl:when>
225     <xsl:when test="info/subtitle">
226       <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
227     </xsl:when>
228     <xsl:when test="subtitle">
229       <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
230     </xsl:when>
231   </xsl:choose>
232
233   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
234   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
235   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
236   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
237   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
238   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
239   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
240   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
241   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
242   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
243   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
244   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
245   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
246   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
247   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
248   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
249   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
250   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
251   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
252   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
253   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
254   <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
255 </xsl:template>
256
257 <xsl:template name="set.titlepage.verso">
258 </xsl:template>
259
260 <xsl:template name="set.titlepage.separator"><hr/>
261 </xsl:template>
262
263 <xsl:template name="set.titlepage.before.recto">
264 </xsl:template>
265
266 <xsl:template name="set.titlepage.before.verso">
267 </xsl:template>
268
269 <xsl:template name="set.titlepage">
270   <div class="titlepage">
271     <xsl:variable name="recto.content">
272       <xsl:call-template name="set.titlepage.before.recto"/>
273       <xsl:call-template name="set.titlepage.recto"/>
274     </xsl:variable>
275     <xsl:variable name="recto.elements.count">
276       <xsl:choose>
277         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
278         <xsl:otherwise>1</xsl:otherwise>
279       </xsl:choose>
280     </xsl:variable>
281     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
282       <div><xsl:copy-of select="$recto.content"/></div>
283     </xsl:if>
284     <xsl:variable name="verso.content">
285       <xsl:call-template name="set.titlepage.before.verso"/>
286       <xsl:call-template name="set.titlepage.verso"/>
287     </xsl:variable>
288     <xsl:variable name="verso.elements.count">
289       <xsl:choose>
290         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
291         <xsl:otherwise>1</xsl:otherwise>
292       </xsl:choose>
293     </xsl:variable>
294     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
295       <div><xsl:copy-of select="$verso.content"/></div>
296     </xsl:if>
297     <xsl:call-template name="set.titlepage.separator"/>
298   </div>
299 </xsl:template>
300
301 <xsl:template match="*" mode="set.titlepage.recto.mode">
302   <!-- if an element isn't found in this mode, -->
303   <!-- try the generic titlepage.mode -->
304   <xsl:apply-templates select="." mode="titlepage.mode"/>
305 </xsl:template>
306
307 <xsl:template match="*" mode="set.titlepage.verso.mode">
308   <!-- if an element isn't found in this mode, -->
309   <!-- try the generic titlepage.mode -->
310   <xsl:apply-templates select="." mode="titlepage.mode"/>
311 </xsl:template>
312
313 <xsl:template match="title" mode="set.titlepage.recto.auto.mode">
314 <div xsl:use-attribute-sets="set.titlepage.recto.style">
315 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
316 </div>
317 </xsl:template>
318
319 <xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
320 <div xsl:use-attribute-sets="set.titlepage.recto.style">
321 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
322 </div>
323 </xsl:template>
324
325 <xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
326 <div xsl:use-attribute-sets="set.titlepage.recto.style">
327 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
328 </div>
329 </xsl:template>
330
331 <xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
332 <div xsl:use-attribute-sets="set.titlepage.recto.style">
333 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
334 </div>
335 </xsl:template>
336
337 <xsl:template match="author" mode="set.titlepage.recto.auto.mode">
338 <div xsl:use-attribute-sets="set.titlepage.recto.style">
339 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
340 </div>
341 </xsl:template>
342
343 <xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
344 <div xsl:use-attribute-sets="set.titlepage.recto.style">
345 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
346 </div>
347 </xsl:template>
348
349 <xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
350 <div xsl:use-attribute-sets="set.titlepage.recto.style">
351 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
352 </div>
353 </xsl:template>
354
355 <xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
356 <div xsl:use-attribute-sets="set.titlepage.recto.style">
357 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
358 </div>
359 </xsl:template>
360
361 <xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
362 <div xsl:use-attribute-sets="set.titlepage.recto.style">
363 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
364 </div>
365 </xsl:template>
366
367 <xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
368 <div xsl:use-attribute-sets="set.titlepage.recto.style">
369 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
370 </div>
371 </xsl:template>
372
373 <xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
374 <div xsl:use-attribute-sets="set.titlepage.recto.style">
375 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
376 </div>
377 </xsl:template>
378
379 <xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
380 <div xsl:use-attribute-sets="set.titlepage.recto.style">
381 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
382 </div>
383 </xsl:template>
384
385 <xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
386 <div xsl:use-attribute-sets="set.titlepage.recto.style">
387 <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
388 </div>
389 </xsl:template>
390
391 <xsl:template name="book.titlepage.recto">
392   <xsl:choose>
393     <xsl:when test="bookinfo/title">
394       <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
395     </xsl:when>
396     <xsl:when test="info/title">
397       <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
398     </xsl:when>
399     <xsl:when test="title">
400       <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
401     </xsl:when>
402   </xsl:choose>
403
404   <xsl:choose>
405     <xsl:when test="bookinfo/subtitle">
406       <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
407     </xsl:when>
408     <xsl:when test="info/subtitle">
409       <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
410     </xsl:when>
411     <xsl:when test="subtitle">
412       <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
413     </xsl:when>
414   </xsl:choose>
415
416   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
417   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
418   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
419   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
420   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
421   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
422   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
423   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
424   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
425   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
426   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
427   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
428   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
429   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
430   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
431   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
432   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
433   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
434   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
435   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
436   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
437   <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
438 </xsl:template>
439
440 <xsl:template name="book.titlepage.verso">
441 </xsl:template>
442
443 <xsl:template name="book.titlepage.separator"><hr/>
444 </xsl:template>
445
446 <xsl:template name="book.titlepage.before.recto">
447 </xsl:template>
448
449 <xsl:template name="book.titlepage.before.verso">
450 </xsl:template>
451
452 <xsl:template name="book.titlepage">
453   <div class="titlepage">
454     <xsl:variable name="recto.content">
455       <xsl:call-template name="book.titlepage.before.recto"/>
456       <xsl:call-template name="book.titlepage.recto"/>
457     </xsl:variable>
458     <xsl:variable name="recto.elements.count">
459       <xsl:choose>
460         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
461         <xsl:otherwise>1</xsl:otherwise>
462       </xsl:choose>
463     </xsl:variable>
464     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
465       <div><xsl:copy-of select="$recto.content"/></div>
466     </xsl:if>
467     <xsl:variable name="verso.content">
468       <xsl:call-template name="book.titlepage.before.verso"/>
469       <xsl:call-template name="book.titlepage.verso"/>
470     </xsl:variable>
471     <xsl:variable name="verso.elements.count">
472       <xsl:choose>
473         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
474         <xsl:otherwise>1</xsl:otherwise>
475       </xsl:choose>
476     </xsl:variable>
477     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
478       <div><xsl:copy-of select="$verso.content"/></div>
479     </xsl:if>
480     <xsl:call-template name="book.titlepage.separator"/>
481   </div>
482 </xsl:template>
483
484 <xsl:template match="*" mode="book.titlepage.recto.mode">
485   <!-- if an element isn't found in this mode, -->
486   <!-- try the generic titlepage.mode -->
487   <xsl:apply-templates select="." mode="titlepage.mode"/>
488 </xsl:template>
489
490 <xsl:template match="*" mode="book.titlepage.verso.mode">
491   <!-- if an element isn't found in this mode, -->
492   <!-- try the generic titlepage.mode -->
493   <xsl:apply-templates select="." mode="titlepage.mode"/>
494 </xsl:template>
495
496 <xsl:template match="title" mode="book.titlepage.recto.auto.mode">
497 <div xsl:use-attribute-sets="book.titlepage.recto.style">
498 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
499 </div>
500 </xsl:template>
501
502 <xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
503 <div xsl:use-attribute-sets="book.titlepage.recto.style">
504 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
505 </div>
506 </xsl:template>
507
508 <xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
509 <div xsl:use-attribute-sets="book.titlepage.recto.style">
510 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
511 </div>
512 </xsl:template>
513
514 <xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
515 <div xsl:use-attribute-sets="book.titlepage.recto.style">
516 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
517 </div>
518 </xsl:template>
519
520 <xsl:template match="author" mode="book.titlepage.recto.auto.mode">
521 <div xsl:use-attribute-sets="book.titlepage.recto.style">
522 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
523 </div>
524 </xsl:template>
525
526 <xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
527 <div xsl:use-attribute-sets="book.titlepage.recto.style">
528 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
529 </div>
530 </xsl:template>
531
532 <xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
533 <div xsl:use-attribute-sets="book.titlepage.recto.style">
534 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
535 </div>
536 </xsl:template>
537
538 <xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
539 <div xsl:use-attribute-sets="book.titlepage.recto.style">
540 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
541 </div>
542 </xsl:template>
543
544 <xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
545 <div xsl:use-attribute-sets="book.titlepage.recto.style">
546 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
547 </div>
548 </xsl:template>
549
550 <xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
551 <div xsl:use-attribute-sets="book.titlepage.recto.style">
552 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
553 </div>
554 </xsl:template>
555
556 <xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
557 <div xsl:use-attribute-sets="book.titlepage.recto.style">
558 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
559 </div>
560 </xsl:template>
561
562 <xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
563 <div xsl:use-attribute-sets="book.titlepage.recto.style">
564 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
565 </div>
566 </xsl:template>
567
568 <xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
569 <div xsl:use-attribute-sets="book.titlepage.recto.style">
570 <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
571 </div>
572 </xsl:template>
573
574 <xsl:template name="part.titlepage.recto">
575   <div xsl:use-attribute-sets="part.titlepage.recto.style">
576 <xsl:call-template name="division.title">
577 <xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
578 </xsl:call-template></div>
579   <xsl:choose>
580     <xsl:when test="partinfo/subtitle">
581       <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
582     </xsl:when>
583     <xsl:when test="docinfo/subtitle">
584       <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
585     </xsl:when>
586     <xsl:when test="info/subtitle">
587       <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
588     </xsl:when>
589     <xsl:when test="subtitle">
590       <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
591     </xsl:when>
592   </xsl:choose>
593
594   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
595   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
596   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
597   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
598   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
599   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
600   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
601   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
602   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
603   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
604   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
605   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
606   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
607   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
608   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
609   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
610   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
611   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
612   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
613   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
614   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
615   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
616   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
617   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
618   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
619   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
620   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
621   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
622   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
623   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
624   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
625   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
626   <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
627 </xsl:template>
628
629 <xsl:template name="part.titlepage.verso">
630 </xsl:template>
631
632 <xsl:template name="part.titlepage.separator">
633 </xsl:template>
634
635 <xsl:template name="part.titlepage.before.recto">
636 </xsl:template>
637
638 <xsl:template name="part.titlepage.before.verso">
639 </xsl:template>
640
641 <xsl:template name="part.titlepage">
642   <div class="titlepage">
643     <xsl:variable name="recto.content">
644       <xsl:call-template name="part.titlepage.before.recto"/>
645       <xsl:call-template name="part.titlepage.recto"/>
646     </xsl:variable>
647     <xsl:variable name="recto.elements.count">
648       <xsl:choose>
649         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
650         <xsl:otherwise>1</xsl:otherwise>
651       </xsl:choose>
652     </xsl:variable>
653     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
654       <div><xsl:copy-of select="$recto.content"/></div>
655     </xsl:if>
656     <xsl:variable name="verso.content">
657       <xsl:call-template name="part.titlepage.before.verso"/>
658       <xsl:call-template name="part.titlepage.verso"/>
659     </xsl:variable>
660     <xsl:variable name="verso.elements.count">
661       <xsl:choose>
662         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
663         <xsl:otherwise>1</xsl:otherwise>
664       </xsl:choose>
665     </xsl:variable>
666     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
667       <div><xsl:copy-of select="$verso.content"/></div>
668     </xsl:if>
669     <xsl:call-template name="part.titlepage.separator"/>
670   </div>
671 </xsl:template>
672
673 <xsl:template match="*" mode="part.titlepage.recto.mode">
674   <!-- if an element isn't found in this mode, -->
675   <!-- try the generic titlepage.mode -->
676   <xsl:apply-templates select="." mode="titlepage.mode"/>
677 </xsl:template>
678
679 <xsl:template match="*" mode="part.titlepage.verso.mode">
680   <!-- if an element isn't found in this mode, -->
681   <!-- try the generic titlepage.mode -->
682   <xsl:apply-templates select="." mode="titlepage.mode"/>
683 </xsl:template>
684
685 <xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
686 <div xsl:use-attribute-sets="part.titlepage.recto.style">
687 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
688 </div>
689 </xsl:template>
690
691 <xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
692 <div xsl:use-attribute-sets="part.titlepage.recto.style">
693 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
694 </div>
695 </xsl:template>
696
697 <xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
698 <div xsl:use-attribute-sets="part.titlepage.recto.style">
699 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
700 </div>
701 </xsl:template>
702
703 <xsl:template match="author" mode="part.titlepage.recto.auto.mode">
704 <div xsl:use-attribute-sets="part.titlepage.recto.style">
705 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
706 </div>
707 </xsl:template>
708
709 <xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
710 <div xsl:use-attribute-sets="part.titlepage.recto.style">
711 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
712 </div>
713 </xsl:template>
714
715 <xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
716 <div xsl:use-attribute-sets="part.titlepage.recto.style">
717 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
718 </div>
719 </xsl:template>
720
721 <xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
722 <div xsl:use-attribute-sets="part.titlepage.recto.style">
723 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
724 </div>
725 </xsl:template>
726
727 <xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
728 <div xsl:use-attribute-sets="part.titlepage.recto.style">
729 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
730 </div>
731 </xsl:template>
732
733 <xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
734 <div xsl:use-attribute-sets="part.titlepage.recto.style">
735 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
736 </div>
737 </xsl:template>
738
739 <xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
740 <div xsl:use-attribute-sets="part.titlepage.recto.style">
741 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
742 </div>
743 </xsl:template>
744
745 <xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
746 <div xsl:use-attribute-sets="part.titlepage.recto.style">
747 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
748 </div>
749 </xsl:template>
750
751 <xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
752 <div xsl:use-attribute-sets="part.titlepage.recto.style">
753 <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
754 </div>
755 </xsl:template>
756
757 <xsl:template name="partintro.titlepage.recto">
758   <xsl:choose>
759     <xsl:when test="partintroinfo/title">
760       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
761     </xsl:when>
762     <xsl:when test="docinfo/title">
763       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
764     </xsl:when>
765     <xsl:when test="info/title">
766       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
767     </xsl:when>
768     <xsl:when test="title">
769       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
770     </xsl:when>
771   </xsl:choose>
772
773   <xsl:choose>
774     <xsl:when test="partintroinfo/subtitle">
775       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
776     </xsl:when>
777     <xsl:when test="docinfo/subtitle">
778       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
779     </xsl:when>
780     <xsl:when test="info/subtitle">
781       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
782     </xsl:when>
783     <xsl:when test="subtitle">
784       <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
785     </xsl:when>
786   </xsl:choose>
787
788   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
789   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
790   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
791   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
792   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
793   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
794   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
795   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
796   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
797   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
798   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
799   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
800   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
801   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
802   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
803   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
804   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
805   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
806   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
807   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
808   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
809   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
810   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
811   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
812   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
813   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
814   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
815   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
816   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
817   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
818   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
819   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
820   <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
821 </xsl:template>
822
823 <xsl:template name="partintro.titlepage.verso">
824 </xsl:template>
825
826 <xsl:template name="partintro.titlepage.separator">
827 </xsl:template>
828
829 <xsl:template name="partintro.titlepage.before.recto">
830 </xsl:template>
831
832 <xsl:template name="partintro.titlepage.before.verso">
833 </xsl:template>
834
835 <xsl:template name="partintro.titlepage">
836   <div>
837     <xsl:variable name="recto.content">
838       <xsl:call-template name="partintro.titlepage.before.recto"/>
839       <xsl:call-template name="partintro.titlepage.recto"/>
840     </xsl:variable>
841     <xsl:variable name="recto.elements.count">
842       <xsl:choose>
843         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
844         <xsl:otherwise>1</xsl:otherwise>
845       </xsl:choose>
846     </xsl:variable>
847     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
848       <div><xsl:copy-of select="$recto.content"/></div>
849     </xsl:if>
850     <xsl:variable name="verso.content">
851       <xsl:call-template name="partintro.titlepage.before.verso"/>
852       <xsl:call-template name="partintro.titlepage.verso"/>
853     </xsl:variable>
854     <xsl:variable name="verso.elements.count">
855       <xsl:choose>
856         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
857         <xsl:otherwise>1</xsl:otherwise>
858       </xsl:choose>
859     </xsl:variable>
860     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
861       <div><xsl:copy-of select="$verso.content"/></div>
862     </xsl:if>
863     <xsl:call-template name="partintro.titlepage.separator"/>
864   </div>
865 </xsl:template>
866
867 <xsl:template match="*" mode="partintro.titlepage.recto.mode">
868   <!-- if an element isn't found in this mode, -->
869   <!-- try the generic titlepage.mode -->
870   <xsl:apply-templates select="." mode="titlepage.mode"/>
871 </xsl:template>
872
873 <xsl:template match="*" mode="partintro.titlepage.verso.mode">
874   <!-- if an element isn't found in this mode, -->
875   <!-- try the generic titlepage.mode -->
876   <xsl:apply-templates select="." mode="titlepage.mode"/>
877 </xsl:template>
878
879 <xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
880 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
881 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
882 </div>
883 </xsl:template>
884
885 <xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
886 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
887 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
888 </div>
889 </xsl:template>
890
891 <xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
892 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
893 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
894 </div>
895 </xsl:template>
896
897 <xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
898 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
899 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
900 </div>
901 </xsl:template>
902
903 <xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
904 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
905 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
906 </div>
907 </xsl:template>
908
909 <xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
910 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
911 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
912 </div>
913 </xsl:template>
914
915 <xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
916 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
917 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
918 </div>
919 </xsl:template>
920
921 <xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
922 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
923 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
924 </div>
925 </xsl:template>
926
927 <xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
928 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
929 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
930 </div>
931 </xsl:template>
932
933 <xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
934 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
935 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
936 </div>
937 </xsl:template>
938
939 <xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
940 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
941 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
942 </div>
943 </xsl:template>
944
945 <xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
946 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
947 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
948 </div>
949 </xsl:template>
950
951 <xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
952 <div xsl:use-attribute-sets="partintro.titlepage.recto.style">
953 <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
954 </div>
955 </xsl:template>
956
957 <xsl:template name="reference.titlepage.recto">
958   <xsl:choose>
959     <xsl:when test="referenceinfo/title">
960       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
961     </xsl:when>
962     <xsl:when test="docinfo/title">
963       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
964     </xsl:when>
965     <xsl:when test="info/title">
966       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
967     </xsl:when>
968     <xsl:when test="title">
969       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
970     </xsl:when>
971   </xsl:choose>
972
973   <xsl:choose>
974     <xsl:when test="referenceinfo/subtitle">
975       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
976     </xsl:when>
977     <xsl:when test="docinfo/subtitle">
978       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
979     </xsl:when>
980     <xsl:when test="info/subtitle">
981       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
982     </xsl:when>
983     <xsl:when test="subtitle">
984       <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
985     </xsl:when>
986   </xsl:choose>
987
988   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
989   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
990   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
991   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
992   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
993   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
994   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
995   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
996   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
997   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
998   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
999   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
1000   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
1001   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1002   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1003   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
1004   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1005   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
1006   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
1007   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1008   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
1009   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
1010   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1011   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
1012   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
1013   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
1014   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
1015   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
1016   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1017   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
1018   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
1019   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1020   <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
1021 </xsl:template>
1022
1023 <xsl:template name="reference.titlepage.verso">
1024 </xsl:template>
1025
1026 <xsl:template name="reference.titlepage.separator"><hr/>
1027 </xsl:template>
1028
1029 <xsl:template name="reference.titlepage.before.recto">
1030 </xsl:template>
1031
1032 <xsl:template name="reference.titlepage.before.verso">
1033 </xsl:template>
1034
1035 <xsl:template name="reference.titlepage">
1036   <div class="titlepage">
1037     <xsl:variable name="recto.content">
1038       <xsl:call-template name="reference.titlepage.before.recto"/>
1039       <xsl:call-template name="reference.titlepage.recto"/>
1040     </xsl:variable>
1041     <xsl:variable name="recto.elements.count">
1042       <xsl:choose>
1043         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1044         <xsl:otherwise>1</xsl:otherwise>
1045       </xsl:choose>
1046     </xsl:variable>
1047     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1048       <div><xsl:copy-of select="$recto.content"/></div>
1049     </xsl:if>
1050     <xsl:variable name="verso.content">
1051       <xsl:call-template name="reference.titlepage.before.verso"/>
1052       <xsl:call-template name="reference.titlepage.verso"/>
1053     </xsl:variable>
1054     <xsl:variable name="verso.elements.count">
1055       <xsl:choose>
1056         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1057         <xsl:otherwise>1</xsl:otherwise>
1058       </xsl:choose>
1059     </xsl:variable>
1060     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1061       <div><xsl:copy-of select="$verso.content"/></div>
1062     </xsl:if>
1063     <xsl:call-template name="reference.titlepage.separator"/>
1064   </div>
1065 </xsl:template>
1066
1067 <xsl:template match="*" mode="reference.titlepage.recto.mode">
1068   <!-- if an element isn't found in this mode, -->
1069   <!-- try the generic titlepage.mode -->
1070   <xsl:apply-templates select="." mode="titlepage.mode"/>
1071 </xsl:template>
1072
1073 <xsl:template match="*" mode="reference.titlepage.verso.mode">
1074   <!-- if an element isn't found in this mode, -->
1075   <!-- try the generic titlepage.mode -->
1076   <xsl:apply-templates select="." mode="titlepage.mode"/>
1077 </xsl:template>
1078
1079 <xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
1080 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1081 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1082 </div>
1083 </xsl:template>
1084
1085 <xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
1086 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1087 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1088 </div>
1089 </xsl:template>
1090
1091 <xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
1092 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1093 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1094 </div>
1095 </xsl:template>
1096
1097 <xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
1098 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1099 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1100 </div>
1101 </xsl:template>
1102
1103 <xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
1104 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1105 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1106 </div>
1107 </xsl:template>
1108
1109 <xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
1110 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1111 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1112 </div>
1113 </xsl:template>
1114
1115 <xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
1116 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1117 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1118 </div>
1119 </xsl:template>
1120
1121 <xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
1122 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1123 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1124 </div>
1125 </xsl:template>
1126
1127 <xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
1128 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1129 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1130 </div>
1131 </xsl:template>
1132
1133 <xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
1134 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1135 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1136 </div>
1137 </xsl:template>
1138
1139 <xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
1140 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1141 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1142 </div>
1143 </xsl:template>
1144
1145 <xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
1146 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1147 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1148 </div>
1149 </xsl:template>
1150
1151 <xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
1152 <div xsl:use-attribute-sets="reference.titlepage.recto.style">
1153 <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1154 </div>
1155 </xsl:template>
1156
1157 <xsl:template name="refentry.titlepage.recto">
1158 </xsl:template>
1159
1160 <xsl:template name="refentry.titlepage.verso">
1161 </xsl:template>
1162
1163 <xsl:template name="refentry.titlepage.separator">
1164 </xsl:template>
1165
1166 <xsl:template name="refentry.titlepage.before.recto">
1167 </xsl:template>
1168
1169 <xsl:template name="refentry.titlepage.before.verso">
1170 </xsl:template>
1171
1172 <xsl:template name="refentry.titlepage">
1173   <div class="titlepage">
1174     <xsl:variable name="recto.content">
1175       <xsl:call-template name="refentry.titlepage.before.recto"/>
1176       <xsl:call-template name="refentry.titlepage.recto"/>
1177     </xsl:variable>
1178     <xsl:variable name="recto.elements.count">
1179       <xsl:choose>
1180         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1181         <xsl:otherwise>1</xsl:otherwise>
1182       </xsl:choose>
1183     </xsl:variable>
1184     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1185       <div><xsl:copy-of select="$recto.content"/></div>
1186     </xsl:if>
1187     <xsl:variable name="verso.content">
1188       <xsl:call-template name="refentry.titlepage.before.verso"/>
1189       <xsl:call-template name="refentry.titlepage.verso"/>
1190     </xsl:variable>
1191     <xsl:variable name="verso.elements.count">
1192       <xsl:choose>
1193         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1194         <xsl:otherwise>1</xsl:otherwise>
1195       </xsl:choose>
1196     </xsl:variable>
1197     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1198       <div><xsl:copy-of select="$verso.content"/></div>
1199     </xsl:if>
1200     <xsl:call-template name="refentry.titlepage.separator"/>
1201   </div>
1202 </xsl:template>
1203
1204 <xsl:template match="*" mode="refentry.titlepage.recto.mode">
1205   <!-- if an element isn't found in this mode, -->
1206   <!-- try the generic titlepage.mode -->
1207   <xsl:apply-templates select="." mode="titlepage.mode"/>
1208 </xsl:template>
1209
1210 <xsl:template match="*" mode="refentry.titlepage.verso.mode">
1211   <!-- if an element isn't found in this mode, -->
1212   <!-- try the generic titlepage.mode -->
1213   <xsl:apply-templates select="." mode="titlepage.mode"/>
1214 </xsl:template>
1215
1216 <xsl:template name="dedication.titlepage.recto">
1217   <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
1218 <xsl:call-template name="component.title">
1219 <xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
1220 </xsl:call-template></div>
1221   <xsl:choose>
1222     <xsl:when test="dedicationinfo/subtitle">
1223       <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
1224     </xsl:when>
1225     <xsl:when test="docinfo/subtitle">
1226       <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1227     </xsl:when>
1228     <xsl:when test="info/subtitle">
1229       <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
1230     </xsl:when>
1231     <xsl:when test="subtitle">
1232       <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
1233     </xsl:when>
1234   </xsl:choose>
1235
1236 </xsl:template>
1237
1238 <xsl:template name="dedication.titlepage.verso">
1239 </xsl:template>
1240
1241 <xsl:template name="dedication.titlepage.separator">
1242 </xsl:template>
1243
1244 <xsl:template name="dedication.titlepage.before.recto">
1245 </xsl:template>
1246
1247 <xsl:template name="dedication.titlepage.before.verso">
1248 </xsl:template>
1249
1250 <xsl:template name="dedication.titlepage">
1251   <div class="titlepage">
1252     <xsl:variable name="recto.content">
1253       <xsl:call-template name="dedication.titlepage.before.recto"/>
1254       <xsl:call-template name="dedication.titlepage.recto"/>
1255     </xsl:variable>
1256     <xsl:variable name="recto.elements.count">
1257       <xsl:choose>
1258         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1259         <xsl:otherwise>1</xsl:otherwise>
1260       </xsl:choose>
1261     </xsl:variable>
1262     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1263       <div><xsl:copy-of select="$recto.content"/></div>
1264     </xsl:if>
1265     <xsl:variable name="verso.content">
1266       <xsl:call-template name="dedication.titlepage.before.verso"/>
1267       <xsl:call-template name="dedication.titlepage.verso"/>
1268     </xsl:variable>
1269     <xsl:variable name="verso.elements.count">
1270       <xsl:choose>
1271         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1272         <xsl:otherwise>1</xsl:otherwise>
1273       </xsl:choose>
1274     </xsl:variable>
1275     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1276       <div><xsl:copy-of select="$verso.content"/></div>
1277     </xsl:if>
1278     <xsl:call-template name="dedication.titlepage.separator"/>
1279   </div>
1280 </xsl:template>
1281
1282 <xsl:template match="*" mode="dedication.titlepage.recto.mode">
1283   <!-- if an element isn't found in this mode, -->
1284   <!-- try the generic titlepage.mode -->
1285   <xsl:apply-templates select="." mode="titlepage.mode"/>
1286 </xsl:template>
1287
1288 <xsl:template match="*" mode="dedication.titlepage.verso.mode">
1289   <!-- if an element isn't found in this mode, -->
1290   <!-- try the generic titlepage.mode -->
1291   <xsl:apply-templates select="." mode="titlepage.mode"/>
1292 </xsl:template>
1293
1294 <xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
1295 <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
1296 <xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
1297 </div>
1298 </xsl:template>
1299
1300 <xsl:template name="preface.titlepage.recto">
1301   <xsl:choose>
1302     <xsl:when test="prefaceinfo/title">
1303       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
1304     </xsl:when>
1305     <xsl:when test="docinfo/title">
1306       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
1307     </xsl:when>
1308     <xsl:when test="info/title">
1309       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
1310     </xsl:when>
1311     <xsl:when test="title">
1312       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
1313     </xsl:when>
1314   </xsl:choose>
1315
1316   <xsl:choose>
1317     <xsl:when test="prefaceinfo/subtitle">
1318       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
1319     </xsl:when>
1320     <xsl:when test="docinfo/subtitle">
1321       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1322     </xsl:when>
1323     <xsl:when test="info/subtitle">
1324       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
1325     </xsl:when>
1326     <xsl:when test="subtitle">
1327       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
1328     </xsl:when>
1329   </xsl:choose>
1330
1331   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
1332   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1333   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
1334   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
1335   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1336   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
1337   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
1338   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
1339   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
1340   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
1341   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1342   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
1343   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
1344   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1345   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1346   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
1347   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1348   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
1349   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
1350   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1351   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
1352   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
1353   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1354   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
1355   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
1356   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
1357   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
1358   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
1359   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1360   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
1361   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
1362   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1363   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
1364 </xsl:template>
1365
1366 <xsl:template name="preface.titlepage.verso">
1367 </xsl:template>
1368
1369 <xsl:template name="preface.titlepage.separator">
1370 </xsl:template>
1371
1372 <xsl:template name="preface.titlepage.before.recto">
1373 </xsl:template>
1374
1375 <xsl:template name="preface.titlepage.before.verso">
1376 </xsl:template>
1377
1378 <xsl:template name="preface.titlepage">
1379   <div class="titlepage">
1380     <xsl:variable name="recto.content">
1381       <xsl:call-template name="preface.titlepage.before.recto"/>
1382       <xsl:call-template name="preface.titlepage.recto"/>
1383     </xsl:variable>
1384     <xsl:variable name="recto.elements.count">
1385       <xsl:choose>
1386         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1387         <xsl:otherwise>1</xsl:otherwise>
1388       </xsl:choose>
1389     </xsl:variable>
1390     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1391       <div><xsl:copy-of select="$recto.content"/></div>
1392     </xsl:if>
1393     <xsl:variable name="verso.content">
1394       <xsl:call-template name="preface.titlepage.before.verso"/>
1395       <xsl:call-template name="preface.titlepage.verso"/>
1396     </xsl:variable>
1397     <xsl:variable name="verso.elements.count">
1398       <xsl:choose>
1399         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1400         <xsl:otherwise>1</xsl:otherwise>
1401       </xsl:choose>
1402     </xsl:variable>
1403     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1404       <div><xsl:copy-of select="$verso.content"/></div>
1405     </xsl:if>
1406     <xsl:call-template name="preface.titlepage.separator"/>
1407   </div>
1408 </xsl:template>
1409
1410 <xsl:template match="*" mode="preface.titlepage.recto.mode">
1411   <!-- if an element isn't found in this mode, -->
1412   <!-- try the generic titlepage.mode -->
1413   <xsl:apply-templates select="." mode="titlepage.mode"/>
1414 </xsl:template>
1415
1416 <xsl:template match="*" mode="preface.titlepage.verso.mode">
1417   <!-- if an element isn't found in this mode, -->
1418   <!-- try the generic titlepage.mode -->
1419   <xsl:apply-templates select="." mode="titlepage.mode"/>
1420 </xsl:template>
1421
1422 <xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
1423 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1424 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1425 </div>
1426 </xsl:template>
1427
1428 <xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
1429 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1430 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1431 </div>
1432 </xsl:template>
1433
1434 <xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
1435 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1436 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1437 </div>
1438 </xsl:template>
1439
1440 <xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
1441 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1442 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1443 </div>
1444 </xsl:template>
1445
1446 <xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
1447 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1448 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1449 </div>
1450 </xsl:template>
1451
1452 <xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
1453 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1454 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1455 </div>
1456 </xsl:template>
1457
1458 <xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
1459 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1460 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1461 </div>
1462 </xsl:template>
1463
1464 <xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
1465 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1466 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1467 </div>
1468 </xsl:template>
1469
1470 <xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
1471 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1472 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1473 </div>
1474 </xsl:template>
1475
1476 <xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
1477 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1478 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1479 </div>
1480 </xsl:template>
1481
1482 <xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
1483 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1484 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1485 </div>
1486 </xsl:template>
1487
1488 <xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
1489 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1490 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1491 </div>
1492 </xsl:template>
1493
1494 <xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
1495 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1496 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1497 </div>
1498 </xsl:template>
1499
1500 <xsl:template name="chapter.titlepage.recto">
1501   <xsl:choose>
1502     <xsl:when test="chapterinfo/title">
1503       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
1504     </xsl:when>
1505     <xsl:when test="docinfo/title">
1506       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
1507     </xsl:when>
1508     <xsl:when test="info/title">
1509       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
1510     </xsl:when>
1511     <xsl:when test="title">
1512       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
1513     </xsl:when>
1514   </xsl:choose>
1515
1516   <xsl:choose>
1517     <xsl:when test="chapterinfo/subtitle">
1518       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
1519     </xsl:when>
1520     <xsl:when test="docinfo/subtitle">
1521       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1522     </xsl:when>
1523     <xsl:when test="info/subtitle">
1524       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
1525     </xsl:when>
1526     <xsl:when test="subtitle">
1527       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
1528     </xsl:when>
1529   </xsl:choose>
1530
1531   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
1532   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1533   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
1534   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
1535   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1536   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
1537   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
1538   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
1539   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
1540   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
1541   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1542   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
1543   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
1544   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1545   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1546   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
1547   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1548   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
1549   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
1550   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1551   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
1552   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
1553   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1554   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
1555   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
1556   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
1557   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
1558   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
1559   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1560   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
1561   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
1562   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1563   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
1564 </xsl:template>
1565
1566 <xsl:template name="chapter.titlepage.verso">
1567 </xsl:template>
1568
1569 <xsl:template name="chapter.titlepage.separator">
1570 </xsl:template>
1571
1572 <xsl:template name="chapter.titlepage.before.recto">
1573 </xsl:template>
1574
1575 <xsl:template name="chapter.titlepage.before.verso">
1576 </xsl:template>
1577
1578 <xsl:template name="chapter.titlepage">
1579   <div class="titlepage">
1580     <xsl:variable name="recto.content">
1581       <xsl:call-template name="chapter.titlepage.before.recto"/>
1582       <xsl:call-template name="chapter.titlepage.recto"/>
1583     </xsl:variable>
1584     <xsl:variable name="recto.elements.count">
1585       <xsl:choose>
1586         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1587         <xsl:otherwise>1</xsl:otherwise>
1588       </xsl:choose>
1589     </xsl:variable>
1590     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1591       <div><xsl:copy-of select="$recto.content"/></div>
1592     </xsl:if>
1593     <xsl:variable name="verso.content">
1594       <xsl:call-template name="chapter.titlepage.before.verso"/>
1595       <xsl:call-template name="chapter.titlepage.verso"/>
1596     </xsl:variable>
1597     <xsl:variable name="verso.elements.count">
1598       <xsl:choose>
1599         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1600         <xsl:otherwise>1</xsl:otherwise>
1601       </xsl:choose>
1602     </xsl:variable>
1603     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1604       <div><xsl:copy-of select="$verso.content"/></div>
1605     </xsl:if>
1606     <xsl:call-template name="chapter.titlepage.separator"/>
1607   </div>
1608 </xsl:template>
1609
1610 <xsl:template match="*" mode="chapter.titlepage.recto.mode">
1611   <!-- if an element isn't found in this mode, -->
1612   <!-- try the generic titlepage.mode -->
1613   <xsl:apply-templates select="." mode="titlepage.mode"/>
1614 </xsl:template>
1615
1616 <xsl:template match="*" mode="chapter.titlepage.verso.mode">
1617   <!-- if an element isn't found in this mode, -->
1618   <!-- try the generic titlepage.mode -->
1619   <xsl:apply-templates select="." mode="titlepage.mode"/>
1620 </xsl:template>
1621
1622 <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
1623 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1624 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1625 </div>
1626 </xsl:template>
1627
1628 <xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
1629 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1630 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1631 </div>
1632 </xsl:template>
1633
1634 <xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
1635 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1636 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1637 </div>
1638 </xsl:template>
1639
1640 <xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
1641 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1642 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1643 </div>
1644 </xsl:template>
1645
1646 <xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
1647 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1648 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1649 </div>
1650 </xsl:template>
1651
1652 <xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
1653 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1654 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1655 </div>
1656 </xsl:template>
1657
1658 <xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
1659 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1660 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1661 </div>
1662 </xsl:template>
1663
1664 <xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
1665 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1666 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1667 </div>
1668 </xsl:template>
1669
1670 <xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
1671 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1672 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1673 </div>
1674 </xsl:template>
1675
1676 <xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
1677 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1678 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1679 </div>
1680 </xsl:template>
1681
1682 <xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
1683 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1684 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1685 </div>
1686 </xsl:template>
1687
1688 <xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
1689 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1690 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1691 </div>
1692 </xsl:template>
1693
1694 <xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
1695 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1696 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1697 </div>
1698 </xsl:template>
1699
1700 <xsl:template name="appendix.titlepage.recto">
1701   <xsl:choose>
1702     <xsl:when test="appendixinfo/title">
1703       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
1704     </xsl:when>
1705     <xsl:when test="docinfo/title">
1706       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
1707     </xsl:when>
1708     <xsl:when test="info/title">
1709       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
1710     </xsl:when>
1711     <xsl:when test="title">
1712       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
1713     </xsl:when>
1714   </xsl:choose>
1715
1716   <xsl:choose>
1717     <xsl:when test="appendixinfo/subtitle">
1718       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
1719     </xsl:when>
1720     <xsl:when test="docinfo/subtitle">
1721       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1722     </xsl:when>
1723     <xsl:when test="info/subtitle">
1724       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
1725     </xsl:when>
1726     <xsl:when test="subtitle">
1727       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
1728     </xsl:when>
1729   </xsl:choose>
1730
1731   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
1732   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1733   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
1734   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
1735   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1736   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
1737   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
1738   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
1739   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
1740   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
1741   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1742   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
1743   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
1744   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1745   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1746   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
1747   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1748   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
1749   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
1750   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1751   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
1752   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
1753   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1754   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
1755   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
1756   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
1757   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
1758   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
1759   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1760   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
1761   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
1762   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1763   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
1764 </xsl:template>
1765
1766 <xsl:template name="appendix.titlepage.verso">
1767 </xsl:template>
1768
1769 <xsl:template name="appendix.titlepage.separator">
1770 </xsl:template>
1771
1772 <xsl:template name="appendix.titlepage.before.recto">
1773 </xsl:template>
1774
1775 <xsl:template name="appendix.titlepage.before.verso">
1776 </xsl:template>
1777
1778 <xsl:template name="appendix.titlepage">
1779   <div class="titlepage">
1780     <xsl:variable name="recto.content">
1781       <xsl:call-template name="appendix.titlepage.before.recto"/>
1782       <xsl:call-template name="appendix.titlepage.recto"/>
1783     </xsl:variable>
1784     <xsl:variable name="recto.elements.count">
1785       <xsl:choose>
1786         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1787         <xsl:otherwise>1</xsl:otherwise>
1788       </xsl:choose>
1789     </xsl:variable>
1790     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1791       <div><xsl:copy-of select="$recto.content"/></div>
1792     </xsl:if>
1793     <xsl:variable name="verso.content">
1794       <xsl:call-template name="appendix.titlepage.before.verso"/>
1795       <xsl:call-template name="appendix.titlepage.verso"/>
1796     </xsl:variable>
1797     <xsl:variable name="verso.elements.count">
1798       <xsl:choose>
1799         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1800         <xsl:otherwise>1</xsl:otherwise>
1801       </xsl:choose>
1802     </xsl:variable>
1803     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1804       <div><xsl:copy-of select="$verso.content"/></div>
1805     </xsl:if>
1806     <xsl:call-template name="appendix.titlepage.separator"/>
1807   </div>
1808 </xsl:template>
1809
1810 <xsl:template match="*" mode="appendix.titlepage.recto.mode">
1811   <!-- if an element isn't found in this mode, -->
1812   <!-- try the generic titlepage.mode -->
1813   <xsl:apply-templates select="." mode="titlepage.mode"/>
1814 </xsl:template>
1815
1816 <xsl:template match="*" mode="appendix.titlepage.verso.mode">
1817   <!-- if an element isn't found in this mode, -->
1818   <!-- try the generic titlepage.mode -->
1819   <xsl:apply-templates select="." mode="titlepage.mode"/>
1820 </xsl:template>
1821
1822 <xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
1823 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1824 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1825 </div>
1826 </xsl:template>
1827
1828 <xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
1829 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1830 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1831 </div>
1832 </xsl:template>
1833
1834 <xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
1835 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1836 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1837 </div>
1838 </xsl:template>
1839
1840 <xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
1841 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1842 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1843 </div>
1844 </xsl:template>
1845
1846 <xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
1847 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1848 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1849 </div>
1850 </xsl:template>
1851
1852 <xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
1853 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1854 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1855 </div>
1856 </xsl:template>
1857
1858 <xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
1859 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1860 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1861 </div>
1862 </xsl:template>
1863
1864 <xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
1865 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1866 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1867 </div>
1868 </xsl:template>
1869
1870 <xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
1871 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1872 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1873 </div>
1874 </xsl:template>
1875
1876 <xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
1877 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1878 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1879 </div>
1880 </xsl:template>
1881
1882 <xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
1883 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1884 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1885 </div>
1886 </xsl:template>
1887
1888 <xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
1889 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1890 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1891 </div>
1892 </xsl:template>
1893
1894 <xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
1895 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1896 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1897 </div>
1898 </xsl:template>
1899
1900 <xsl:template name="section.titlepage.recto">
1901   <xsl:choose>
1902     <xsl:when test="sectioninfo/title">
1903       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
1904     </xsl:when>
1905     <xsl:when test="info/title">
1906       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
1907     </xsl:when>
1908     <xsl:when test="title">
1909       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
1910     </xsl:when>
1911   </xsl:choose>
1912
1913   <xsl:choose>
1914     <xsl:when test="sectioninfo/subtitle">
1915       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
1916     </xsl:when>
1917     <xsl:when test="info/subtitle">
1918       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
1919     </xsl:when>
1920     <xsl:when test="subtitle">
1921       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
1922     </xsl:when>
1923   </xsl:choose>
1924
1925   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
1926   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
1927   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
1928   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
1929   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
1930   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
1931   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
1932   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
1933   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
1934   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1935   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
1936   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
1937   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
1938   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
1939   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
1940   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
1941   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
1942   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
1943   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
1944   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
1945   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
1946   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
1947 </xsl:template>
1948
1949 <xsl:template name="section.titlepage.verso">
1950 </xsl:template>
1951
1952 <xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
1953 </xsl:template>
1954
1955 <xsl:template name="section.titlepage.before.recto">
1956 </xsl:template>
1957
1958 <xsl:template name="section.titlepage.before.verso">
1959 </xsl:template>
1960
1961 <xsl:template name="section.titlepage">
1962   <div class="titlepage">
1963     <xsl:variable name="recto.content">
1964       <xsl:call-template name="section.titlepage.before.recto"/>
1965       <xsl:call-template name="section.titlepage.recto"/>
1966     </xsl:variable>
1967     <xsl:variable name="recto.elements.count">
1968       <xsl:choose>
1969         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1970         <xsl:otherwise>1</xsl:otherwise>
1971       </xsl:choose>
1972     </xsl:variable>
1973     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1974       <div><xsl:copy-of select="$recto.content"/></div>
1975     </xsl:if>
1976     <xsl:variable name="verso.content">
1977       <xsl:call-template name="section.titlepage.before.verso"/>
1978       <xsl:call-template name="section.titlepage.verso"/>
1979     </xsl:variable>
1980     <xsl:variable name="verso.elements.count">
1981       <xsl:choose>
1982         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1983         <xsl:otherwise>1</xsl:otherwise>
1984       </xsl:choose>
1985     </xsl:variable>
1986     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1987       <div><xsl:copy-of select="$verso.content"/></div>
1988     </xsl:if>
1989     <xsl:call-template name="section.titlepage.separator"/>
1990   </div>
1991 </xsl:template>
1992
1993 <xsl:template match="*" mode="section.titlepage.recto.mode">
1994   <!-- if an element isn't found in this mode, -->
1995   <!-- try the generic titlepage.mode -->
1996   <xsl:apply-templates select="." mode="titlepage.mode"/>
1997 </xsl:template>
1998
1999 <xsl:template match="*" mode="section.titlepage.verso.mode">
2000   <!-- if an element isn't found in this mode, -->
2001   <!-- try the generic titlepage.mode -->
2002   <xsl:apply-templates select="." mode="titlepage.mode"/>
2003 </xsl:template>
2004
2005 <xsl:template match="title" mode="section.titlepage.recto.auto.mode">
2006 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2007 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2008 </div>
2009 </xsl:template>
2010
2011 <xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
2012 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2013 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2014 </div>
2015 </xsl:template>
2016
2017 <xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
2018 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2019 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2020 </div>
2021 </xsl:template>
2022
2023 <xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
2024 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2025 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2026 </div>
2027 </xsl:template>
2028
2029 <xsl:template match="author" mode="section.titlepage.recto.auto.mode">
2030 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2031 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2032 </div>
2033 </xsl:template>
2034
2035 <xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
2036 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2037 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2038 </div>
2039 </xsl:template>
2040
2041 <xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
2042 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2043 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2044 </div>
2045 </xsl:template>
2046
2047 <xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
2048 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2049 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2050 </div>
2051 </xsl:template>
2052
2053 <xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
2054 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2055 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2056 </div>
2057 </xsl:template>
2058
2059 <xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
2060 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2061 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2062 </div>
2063 </xsl:template>
2064
2065 <xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
2066 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2067 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2068 </div>
2069 </xsl:template>
2070
2071 <xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
2072 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2073 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2074 </div>
2075 </xsl:template>
2076
2077 <xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
2078 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2079 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2080 </div>
2081 </xsl:template>
2082
2083 <xsl:template name="sect1.titlepage.recto">
2084   <xsl:choose>
2085     <xsl:when test="sect1info/title">
2086       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
2087     </xsl:when>
2088     <xsl:when test="info/title">
2089       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
2090     </xsl:when>
2091     <xsl:when test="title">
2092       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
2093     </xsl:when>
2094   </xsl:choose>
2095
2096   <xsl:choose>
2097     <xsl:when test="sect1info/subtitle">
2098       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
2099     </xsl:when>
2100     <xsl:when test="info/subtitle">
2101       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
2102     </xsl:when>
2103     <xsl:when test="subtitle">
2104       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
2105     </xsl:when>
2106   </xsl:choose>
2107
2108   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
2109   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
2110   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
2111   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
2112   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
2113   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
2114   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
2115   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
2116   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
2117   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2118   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
2119   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
2120   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
2121   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
2122   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
2123   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
2124   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
2125   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
2126   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
2127   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
2128   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
2129   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
2130 </xsl:template>
2131
2132 <xsl:template name="sect1.titlepage.verso">
2133 </xsl:template>
2134
2135 <xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2136 </xsl:template>
2137
2138 <xsl:template name="sect1.titlepage.before.recto">
2139 </xsl:template>
2140
2141 <xsl:template name="sect1.titlepage.before.verso">
2142 </xsl:template>
2143
2144 <xsl:template name="sect1.titlepage">
2145   <div class="titlepage">
2146     <xsl:variable name="recto.content">
2147       <xsl:call-template name="sect1.titlepage.before.recto"/>
2148       <xsl:call-template name="sect1.titlepage.recto"/>
2149     </xsl:variable>
2150     <xsl:variable name="recto.elements.count">
2151       <xsl:choose>
2152         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2153         <xsl:otherwise>1</xsl:otherwise>
2154       </xsl:choose>
2155     </xsl:variable>
2156     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2157       <div><xsl:copy-of select="$recto.content"/></div>
2158     </xsl:if>
2159     <xsl:variable name="verso.content">
2160       <xsl:call-template name="sect1.titlepage.before.verso"/>
2161       <xsl:call-template name="sect1.titlepage.verso"/>
2162     </xsl:variable>
2163     <xsl:variable name="verso.elements.count">
2164       <xsl:choose>
2165         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2166         <xsl:otherwise>1</xsl:otherwise>
2167       </xsl:choose>
2168     </xsl:variable>
2169     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2170       <div><xsl:copy-of select="$verso.content"/></div>
2171     </xsl:if>
2172     <xsl:call-template name="sect1.titlepage.separator"/>
2173   </div>
2174 </xsl:template>
2175
2176 <xsl:template match="*" mode="sect1.titlepage.recto.mode">
2177   <!-- if an element isn't found in this mode, -->
2178   <!-- try the generic titlepage.mode -->
2179   <xsl:apply-templates select="." mode="titlepage.mode"/>
2180 </xsl:template>
2181
2182 <xsl:template match="*" mode="sect1.titlepage.verso.mode">
2183   <!-- if an element isn't found in this mode, -->
2184   <!-- try the generic titlepage.mode -->
2185   <xsl:apply-templates select="." mode="titlepage.mode"/>
2186 </xsl:template>
2187
2188 <xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
2189 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2190 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2191 </div>
2192 </xsl:template>
2193
2194 <xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
2195 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2196 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2197 </div>
2198 </xsl:template>
2199
2200 <xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
2201 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2202 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2203 </div>
2204 </xsl:template>
2205
2206 <xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
2207 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2208 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2209 </div>
2210 </xsl:template>
2211
2212 <xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
2213 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2214 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2215 </div>
2216 </xsl:template>
2217
2218 <xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
2219 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2220 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2221 </div>
2222 </xsl:template>
2223
2224 <xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
2225 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2226 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2227 </div>
2228 </xsl:template>
2229
2230 <xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
2231 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2232 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2233 </div>
2234 </xsl:template>
2235
2236 <xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
2237 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2238 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2239 </div>
2240 </xsl:template>
2241
2242 <xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
2243 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2244 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2245 </div>
2246 </xsl:template>
2247
2248 <xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
2249 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2250 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2251 </div>
2252 </xsl:template>
2253
2254 <xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
2255 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2256 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2257 </div>
2258 </xsl:template>
2259
2260 <xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
2261 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2262 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2263 </div>
2264 </xsl:template>
2265
2266 <xsl:template name="sect2.titlepage.recto">
2267   <xsl:choose>
2268     <xsl:when test="sect2info/title">
2269       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
2270     </xsl:when>
2271     <xsl:when test="info/title">
2272       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
2273     </xsl:when>
2274     <xsl:when test="title">
2275       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
2276     </xsl:when>
2277   </xsl:choose>
2278
2279   <xsl:choose>
2280     <xsl:when test="sect2info/subtitle">
2281       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
2282     </xsl:when>
2283     <xsl:when test="info/subtitle">
2284       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
2285     </xsl:when>
2286     <xsl:when test="subtitle">
2287       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
2288     </xsl:when>
2289   </xsl:choose>
2290
2291   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
2292   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
2293   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
2294   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
2295   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
2296   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
2297   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
2298   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
2299   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
2300   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2301   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
2302   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
2303   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
2304   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
2305   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
2306   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
2307   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
2308   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
2309   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
2310   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
2311   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
2312   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
2313 </xsl:template>
2314
2315 <xsl:template name="sect2.titlepage.verso">
2316 </xsl:template>
2317
2318 <xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2319 </xsl:template>
2320
2321 <xsl:template name="sect2.titlepage.before.recto">
2322 </xsl:template>
2323
2324 <xsl:template name="sect2.titlepage.before.verso">
2325 </xsl:template>
2326
2327 <xsl:template name="sect2.titlepage">
2328   <div class="titlepage">
2329     <xsl:variable name="recto.content">
2330       <xsl:call-template name="sect2.titlepage.before.recto"/>
2331       <xsl:call-template name="sect2.titlepage.recto"/>
2332     </xsl:variable>
2333     <xsl:variable name="recto.elements.count">
2334       <xsl:choose>
2335         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2336         <xsl:otherwise>1</xsl:otherwise>
2337       </xsl:choose>
2338     </xsl:variable>
2339     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2340       <div><xsl:copy-of select="$recto.content"/></div>
2341     </xsl:if>
2342     <xsl:variable name="verso.content">
2343       <xsl:call-template name="sect2.titlepage.before.verso"/>
2344       <xsl:call-template name="sect2.titlepage.verso"/>
2345     </xsl:variable>
2346     <xsl:variable name="verso.elements.count">
2347       <xsl:choose>
2348         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2349         <xsl:otherwise>1</xsl:otherwise>
2350       </xsl:choose>
2351     </xsl:variable>
2352     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2353       <div><xsl:copy-of select="$verso.content"/></div>
2354     </xsl:if>
2355     <xsl:call-template name="sect2.titlepage.separator"/>
2356   </div>
2357 </xsl:template>
2358
2359 <xsl:template match="*" mode="sect2.titlepage.recto.mode">
2360   <!-- if an element isn't found in this mode, -->
2361   <!-- try the generic titlepage.mode -->
2362   <xsl:apply-templates select="." mode="titlepage.mode"/>
2363 </xsl:template>
2364
2365 <xsl:template match="*" mode="sect2.titlepage.verso.mode">
2366   <!-- if an element isn't found in this mode, -->
2367   <!-- try the generic titlepage.mode -->
2368   <xsl:apply-templates select="." mode="titlepage.mode"/>
2369 </xsl:template>
2370
2371 <xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
2372 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2373 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2374 </div>
2375 </xsl:template>
2376
2377 <xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
2378 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2379 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2380 </div>
2381 </xsl:template>
2382
2383 <xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
2384 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2385 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2386 </div>
2387 </xsl:template>
2388
2389 <xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
2390 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2391 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2392 </div>
2393 </xsl:template>
2394
2395 <xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
2396 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2397 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2398 </div>
2399 </xsl:template>
2400
2401 <xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
2402 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2403 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2404 </div>
2405 </xsl:template>
2406
2407 <xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
2408 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2409 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2410 </div>
2411 </xsl:template>
2412
2413 <xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
2414 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2415 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2416 </div>
2417 </xsl:template>
2418
2419 <xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
2420 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2421 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2422 </div>
2423 </xsl:template>
2424
2425 <xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
2426 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2427 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2428 </div>
2429 </xsl:template>
2430
2431 <xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
2432 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2433 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2434 </div>
2435 </xsl:template>
2436
2437 <xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
2438 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2439 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2440 </div>
2441 </xsl:template>
2442
2443 <xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
2444 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2445 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2446 </div>
2447 </xsl:template>
2448
2449 <xsl:template name="sect3.titlepage.recto">
2450   <xsl:choose>
2451     <xsl:when test="sect3info/title">
2452       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
2453     </xsl:when>
2454     <xsl:when test="info/title">
2455       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
2456     </xsl:when>
2457     <xsl:when test="title">
2458       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
2459     </xsl:when>
2460   </xsl:choose>
2461
2462   <xsl:choose>
2463     <xsl:when test="sect3info/subtitle">
2464       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
2465     </xsl:when>
2466     <xsl:when test="info/subtitle">
2467       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
2468     </xsl:when>
2469     <xsl:when test="subtitle">
2470       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
2471     </xsl:when>
2472   </xsl:choose>
2473
2474   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
2475   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
2476   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
2477   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
2478   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
2479   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
2480   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
2481   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
2482   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
2483   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2484   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
2485   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
2486   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
2487   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
2488   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
2489   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
2490   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
2491   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
2492   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
2493   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
2494   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
2495   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
2496 </xsl:template>
2497
2498 <xsl:template name="sect3.titlepage.verso">
2499 </xsl:template>
2500
2501 <xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2502 </xsl:template>
2503
2504 <xsl:template name="sect3.titlepage.before.recto">
2505 </xsl:template>
2506
2507 <xsl:template name="sect3.titlepage.before.verso">
2508 </xsl:template>
2509
2510 <xsl:template name="sect3.titlepage">
2511   <div class="titlepage">
2512     <xsl:variable name="recto.content">
2513       <xsl:call-template name="sect3.titlepage.before.recto"/>
2514       <xsl:call-template name="sect3.titlepage.recto"/>
2515     </xsl:variable>
2516     <xsl:variable name="recto.elements.count">
2517       <xsl:choose>
2518         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2519         <xsl:otherwise>1</xsl:otherwise>
2520       </xsl:choose>
2521     </xsl:variable>
2522     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2523       <div><xsl:copy-of select="$recto.content"/></div>
2524     </xsl:if>
2525     <xsl:variable name="verso.content">
2526       <xsl:call-template name="sect3.titlepage.before.verso"/>
2527       <xsl:call-template name="sect3.titlepage.verso"/>
2528     </xsl:variable>
2529     <xsl:variable name="verso.elements.count">
2530       <xsl:choose>
2531         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2532         <xsl:otherwise>1</xsl:otherwise>
2533       </xsl:choose>
2534     </xsl:variable>
2535     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2536       <div><xsl:copy-of select="$verso.content"/></div>
2537     </xsl:if>
2538     <xsl:call-template name="sect3.titlepage.separator"/>
2539   </div>
2540 </xsl:template>
2541
2542 <xsl:template match="*" mode="sect3.titlepage.recto.mode">
2543   <!-- if an element isn't found in this mode, -->
2544   <!-- try the generic titlepage.mode -->
2545   <xsl:apply-templates select="." mode="titlepage.mode"/>
2546 </xsl:template>
2547
2548 <xsl:template match="*" mode="sect3.titlepage.verso.mode">
2549   <!-- if an element isn't found in this mode, -->
2550   <!-- try the generic titlepage.mode -->
2551   <xsl:apply-templates select="." mode="titlepage.mode"/>
2552 </xsl:template>
2553
2554 <xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
2555 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2556 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2557 </div>
2558 </xsl:template>
2559
2560 <xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
2561 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2562 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2563 </div>
2564 </xsl:template>
2565
2566 <xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
2567 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2568 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2569 </div>
2570 </xsl:template>
2571
2572 <xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
2573 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2574 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2575 </div>
2576 </xsl:template>
2577
2578 <xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
2579 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2580 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2581 </div>
2582 </xsl:template>
2583
2584 <xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
2585 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2586 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2587 </div>
2588 </xsl:template>
2589
2590 <xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
2591 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2592 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2593 </div>
2594 </xsl:template>
2595
2596 <xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
2597 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2598 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2599 </div>
2600 </xsl:template>
2601
2602 <xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
2603 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2604 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2605 </div>
2606 </xsl:template>
2607
2608 <xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
2609 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2610 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2611 </div>
2612 </xsl:template>
2613
2614 <xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
2615 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2616 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2617 </div>
2618 </xsl:template>
2619
2620 <xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
2621 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2622 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2623 </div>
2624 </xsl:template>
2625
2626 <xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
2627 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2628 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2629 </div>
2630 </xsl:template>
2631
2632 <xsl:template name="sect4.titlepage.recto">
2633   <xsl:choose>
2634     <xsl:when test="sect4info/title">
2635       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
2636     </xsl:when>
2637     <xsl:when test="info/title">
2638       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
2639     </xsl:when>
2640     <xsl:when test="title">
2641       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
2642     </xsl:when>
2643   </xsl:choose>
2644
2645   <xsl:choose>
2646     <xsl:when test="sect4info/subtitle">
2647       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
2648     </xsl:when>
2649     <xsl:when test="info/subtitle">
2650       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
2651     </xsl:when>
2652     <xsl:when test="subtitle">
2653       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
2654     </xsl:when>
2655   </xsl:choose>
2656
2657   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
2658   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
2659   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
2660   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
2661   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
2662   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
2663   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
2664   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
2665   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
2666   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2667   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
2668   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
2669   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
2670   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
2671   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
2672   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
2673   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
2674   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
2675   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
2676   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
2677   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
2678   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
2679 </xsl:template>
2680
2681 <xsl:template name="sect4.titlepage.verso">
2682 </xsl:template>
2683
2684 <xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2685 </xsl:template>
2686
2687 <xsl:template name="sect4.titlepage.before.recto">
2688 </xsl:template>
2689
2690 <xsl:template name="sect4.titlepage.before.verso">
2691 </xsl:template>
2692
2693 <xsl:template name="sect4.titlepage">
2694   <div class="titlepage">
2695     <xsl:variable name="recto.content">
2696       <xsl:call-template name="sect4.titlepage.before.recto"/>
2697       <xsl:call-template name="sect4.titlepage.recto"/>
2698     </xsl:variable>
2699     <xsl:variable name="recto.elements.count">
2700       <xsl:choose>
2701         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2702         <xsl:otherwise>1</xsl:otherwise>
2703       </xsl:choose>
2704     </xsl:variable>
2705     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2706       <div><xsl:copy-of select="$recto.content"/></div>
2707     </xsl:if>
2708     <xsl:variable name="verso.content">
2709       <xsl:call-template name="sect4.titlepage.before.verso"/>
2710       <xsl:call-template name="sect4.titlepage.verso"/>
2711     </xsl:variable>
2712     <xsl:variable name="verso.elements.count">
2713       <xsl:choose>
2714         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2715         <xsl:otherwise>1</xsl:otherwise>
2716       </xsl:choose>
2717     </xsl:variable>
2718     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2719       <div><xsl:copy-of select="$verso.content"/></div>
2720     </xsl:if>
2721     <xsl:call-template name="sect4.titlepage.separator"/>
2722   </div>
2723 </xsl:template>
2724
2725 <xsl:template match="*" mode="sect4.titlepage.recto.mode">
2726   <!-- if an element isn't found in this mode, -->
2727   <!-- try the generic titlepage.mode -->
2728   <xsl:apply-templates select="." mode="titlepage.mode"/>
2729 </xsl:template>
2730
2731 <xsl:template match="*" mode="sect4.titlepage.verso.mode">
2732   <!-- if an element isn't found in this mode, -->
2733   <!-- try the generic titlepage.mode -->
2734   <xsl:apply-templates select="." mode="titlepage.mode"/>
2735 </xsl:template>
2736
2737 <xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
2738 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2739 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2740 </div>
2741 </xsl:template>
2742
2743 <xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
2744 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2745 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2746 </div>
2747 </xsl:template>
2748
2749 <xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
2750 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2751 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2752 </div>
2753 </xsl:template>
2754
2755 <xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
2756 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2757 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2758 </div>
2759 </xsl:template>
2760
2761 <xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
2762 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2763 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2764 </div>
2765 </xsl:template>
2766
2767 <xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
2768 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2769 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2770 </div>
2771 </xsl:template>
2772
2773 <xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
2774 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2775 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2776 </div>
2777 </xsl:template>
2778
2779 <xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
2780 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2781 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2782 </div>
2783 </xsl:template>
2784
2785 <xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
2786 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2787 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2788 </div>
2789 </xsl:template>
2790
2791 <xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
2792 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2793 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2794 </div>
2795 </xsl:template>
2796
2797 <xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
2798 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2799 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2800 </div>
2801 </xsl:template>
2802
2803 <xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
2804 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2805 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2806 </div>
2807 </xsl:template>
2808
2809 <xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
2810 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2811 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2812 </div>
2813 </xsl:template>
2814
2815 <xsl:template name="sect5.titlepage.recto">
2816   <xsl:choose>
2817     <xsl:when test="sect5info/title">
2818       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
2819     </xsl:when>
2820     <xsl:when test="info/title">
2821       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
2822     </xsl:when>
2823     <xsl:when test="title">
2824       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
2825     </xsl:when>
2826   </xsl:choose>
2827
2828   <xsl:choose>
2829     <xsl:when test="sect5info/subtitle">
2830       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
2831     </xsl:when>
2832     <xsl:when test="info/subtitle">
2833       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
2834     </xsl:when>
2835     <xsl:when test="subtitle">
2836       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
2837     </xsl:when>
2838   </xsl:choose>
2839
2840   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
2841   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
2842   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
2843   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
2844   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
2845   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
2846   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
2847   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
2848   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
2849   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2850   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
2851   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
2852   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
2853   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
2854   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
2855   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
2856   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
2857   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
2858   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
2859   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
2860   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
2861   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
2862 </xsl:template>
2863
2864 <xsl:template name="sect5.titlepage.verso">
2865 </xsl:template>
2866
2867 <xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2868 </xsl:template>
2869
2870 <xsl:template name="sect5.titlepage.before.recto">
2871 </xsl:template>
2872
2873 <xsl:template name="sect5.titlepage.before.verso">
2874 </xsl:template>
2875
2876 <xsl:template name="sect5.titlepage">
2877   <div class="titlepage">
2878     <xsl:variable name="recto.content">
2879       <xsl:call-template name="sect5.titlepage.before.recto"/>
2880       <xsl:call-template name="sect5.titlepage.recto"/>
2881     </xsl:variable>
2882     <xsl:variable name="recto.elements.count">
2883       <xsl:choose>
2884         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2885         <xsl:otherwise>1</xsl:otherwise>
2886       </xsl:choose>
2887     </xsl:variable>
2888     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2889       <div><xsl:copy-of select="$recto.content"/></div>
2890     </xsl:if>
2891     <xsl:variable name="verso.content">
2892       <xsl:call-template name="sect5.titlepage.before.verso"/>
2893       <xsl:call-template name="sect5.titlepage.verso"/>
2894     </xsl:variable>
2895     <xsl:variable name="verso.elements.count">
2896       <xsl:choose>
2897         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2898         <xsl:otherwise>1</xsl:otherwise>
2899       </xsl:choose>
2900     </xsl:variable>
2901     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2902       <div><xsl:copy-of select="$verso.content"/></div>
2903     </xsl:if>
2904     <xsl:call-template name="sect5.titlepage.separator"/>
2905   </div>
2906 </xsl:template>
2907
2908 <xsl:template match="*" mode="sect5.titlepage.recto.mode">
2909   <!-- if an element isn't found in this mode, -->
2910   <!-- try the generic titlepage.mode -->
2911   <xsl:apply-templates select="." mode="titlepage.mode"/>
2912 </xsl:template>
2913
2914 <xsl:template match="*" mode="sect5.titlepage.verso.mode">
2915   <!-- if an element isn't found in this mode, -->
2916   <!-- try the generic titlepage.mode -->
2917   <xsl:apply-templates select="." mode="titlepage.mode"/>
2918 </xsl:template>
2919
2920 <xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
2921 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2922 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2923 </div>
2924 </xsl:template>
2925
2926 <xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
2927 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2928 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2929 </div>
2930 </xsl:template>
2931
2932 <xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
2933 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2934 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2935 </div>
2936 </xsl:template>
2937
2938 <xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
2939 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2940 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2941 </div>
2942 </xsl:template>
2943
2944 <xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
2945 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2946 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2947 </div>
2948 </xsl:template>
2949
2950 <xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
2951 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2952 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2953 </div>
2954 </xsl:template>
2955
2956 <xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
2957 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2958 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2959 </div>
2960 </xsl:template>
2961
2962 <xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
2963 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2964 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2965 </div>
2966 </xsl:template>
2967
2968 <xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
2969 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2970 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2971 </div>
2972 </xsl:template>
2973
2974 <xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
2975 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2976 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2977 </div>
2978 </xsl:template>
2979
2980 <xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
2981 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2982 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2983 </div>
2984 </xsl:template>
2985
2986 <xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
2987 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2988 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2989 </div>
2990 </xsl:template>
2991
2992 <xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
2993 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
2994 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
2995 </div>
2996 </xsl:template>
2997
2998 <xsl:template name="simplesect.titlepage.recto">
2999   <xsl:choose>
3000     <xsl:when test="simplesectinfo/title">
3001       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
3002     </xsl:when>
3003     <xsl:when test="docinfo/title">
3004       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
3005     </xsl:when>
3006     <xsl:when test="info/title">
3007       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
3008     </xsl:when>
3009     <xsl:when test="title">
3010       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
3011     </xsl:when>
3012   </xsl:choose>
3013
3014   <xsl:choose>
3015     <xsl:when test="simplesectinfo/subtitle">
3016       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
3017     </xsl:when>
3018     <xsl:when test="docinfo/subtitle">
3019       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3020     </xsl:when>
3021     <xsl:when test="info/subtitle">
3022       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
3023     </xsl:when>
3024     <xsl:when test="subtitle">
3025       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
3026     </xsl:when>
3027   </xsl:choose>
3028
3029   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
3030   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
3031   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
3032   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
3033   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
3034   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
3035   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
3036   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
3037   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
3038   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
3039   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
3040   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
3041   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
3042   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
3043   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
3044   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
3045   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
3046   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
3047   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
3048   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
3049   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
3050   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
3051   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
3052   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
3053   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
3054   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
3055   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
3056   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
3057   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
3058   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
3059   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
3060   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
3061   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
3062 </xsl:template>
3063
3064 <xsl:template name="simplesect.titlepage.verso">
3065 </xsl:template>
3066
3067 <xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
3068 </xsl:template>
3069
3070 <xsl:template name="simplesect.titlepage.before.recto">
3071 </xsl:template>
3072
3073 <xsl:template name="simplesect.titlepage.before.verso">
3074 </xsl:template>
3075
3076 <xsl:template name="simplesect.titlepage">
3077   <div class="titlepage">
3078     <xsl:variable name="recto.content">
3079       <xsl:call-template name="simplesect.titlepage.before.recto"/>
3080       <xsl:call-template name="simplesect.titlepage.recto"/>
3081     </xsl:variable>
3082     <xsl:variable name="recto.elements.count">
3083       <xsl:choose>
3084         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3085         <xsl:otherwise>1</xsl:otherwise>
3086       </xsl:choose>
3087     </xsl:variable>
3088     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3089       <div><xsl:copy-of select="$recto.content"/></div>
3090     </xsl:if>
3091     <xsl:variable name="verso.content">
3092       <xsl:call-template name="simplesect.titlepage.before.verso"/>
3093       <xsl:call-template name="simplesect.titlepage.verso"/>
3094     </xsl:variable>
3095     <xsl:variable name="verso.elements.count">
3096       <xsl:choose>
3097         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3098         <xsl:otherwise>1</xsl:otherwise>
3099       </xsl:choose>
3100     </xsl:variable>
3101     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3102       <div><xsl:copy-of select="$verso.content"/></div>
3103     </xsl:if>
3104     <xsl:call-template name="simplesect.titlepage.separator"/>
3105   </div>
3106 </xsl:template>
3107
3108 <xsl:template match="*" mode="simplesect.titlepage.recto.mode">
3109   <!-- if an element isn't found in this mode, -->
3110   <!-- try the generic titlepage.mode -->
3111   <xsl:apply-templates select="." mode="titlepage.mode"/>
3112 </xsl:template>
3113
3114 <xsl:template match="*" mode="simplesect.titlepage.verso.mode">
3115   <!-- if an element isn't found in this mode, -->
3116   <!-- try the generic titlepage.mode -->
3117   <xsl:apply-templates select="." mode="titlepage.mode"/>
3118 </xsl:template>
3119
3120 <xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
3121 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3122 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3123 </div>
3124 </xsl:template>
3125
3126 <xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
3127 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3128 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3129 </div>
3130 </xsl:template>
3131
3132 <xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
3133 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3134 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3135 </div>
3136 </xsl:template>
3137
3138 <xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
3139 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3140 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3141 </div>
3142 </xsl:template>
3143
3144 <xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
3145 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3146 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3147 </div>
3148 </xsl:template>
3149
3150 <xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
3151 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3152 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3153 </div>
3154 </xsl:template>
3155
3156 <xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
3157 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3158 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3159 </div>
3160 </xsl:template>
3161
3162 <xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
3163 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3164 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3165 </div>
3166 </xsl:template>
3167
3168 <xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
3169 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3170 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3171 </div>
3172 </xsl:template>
3173
3174 <xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
3175 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3176 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3177 </div>
3178 </xsl:template>
3179
3180 <xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
3181 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3182 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3183 </div>
3184 </xsl:template>
3185
3186 <xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
3187 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3188 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3189 </div>
3190 </xsl:template>
3191
3192 <xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
3193 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3194 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3195 </div>
3196 </xsl:template>
3197
3198 <xsl:template name="bibliography.titlepage.recto">
3199   <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
3200 <xsl:call-template name="component.title">
3201 <xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
3202 </xsl:call-template></div>
3203   <xsl:choose>
3204     <xsl:when test="bibliographyinfo/subtitle">
3205       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
3206     </xsl:when>
3207     <xsl:when test="docinfo/subtitle">
3208       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3209     </xsl:when>
3210     <xsl:when test="info/subtitle">
3211       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
3212     </xsl:when>
3213     <xsl:when test="subtitle">
3214       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
3215     </xsl:when>
3216   </xsl:choose>
3217
3218 </xsl:template>
3219
3220 <xsl:template name="bibliography.titlepage.verso">
3221 </xsl:template>
3222
3223 <xsl:template name="bibliography.titlepage.separator">
3224 </xsl:template>
3225
3226 <xsl:template name="bibliography.titlepage.before.recto">
3227 </xsl:template>
3228
3229 <xsl:template name="bibliography.titlepage.before.verso">
3230 </xsl:template>
3231
3232 <xsl:template name="bibliography.titlepage">
3233   <div class="titlepage">
3234     <xsl:variable name="recto.content">
3235       <xsl:call-template name="bibliography.titlepage.before.recto"/>
3236       <xsl:call-template name="bibliography.titlepage.recto"/>
3237     </xsl:variable>
3238     <xsl:variable name="recto.elements.count">
3239       <xsl:choose>
3240         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3241         <xsl:otherwise>1</xsl:otherwise>
3242       </xsl:choose>
3243     </xsl:variable>
3244     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3245       <div><xsl:copy-of select="$recto.content"/></div>
3246     </xsl:if>
3247     <xsl:variable name="verso.content">
3248       <xsl:call-template name="bibliography.titlepage.before.verso"/>
3249       <xsl:call-template name="bibliography.titlepage.verso"/>
3250     </xsl:variable>
3251     <xsl:variable name="verso.elements.count">
3252       <xsl:choose>
3253         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3254         <xsl:otherwise>1</xsl:otherwise>
3255       </xsl:choose>
3256     </xsl:variable>
3257     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3258       <div><xsl:copy-of select="$verso.content"/></div>
3259     </xsl:if>
3260     <xsl:call-template name="bibliography.titlepage.separator"/>
3261   </div>
3262 </xsl:template>
3263
3264 <xsl:template match="*" mode="bibliography.titlepage.recto.mode">
3265   <!-- if an element isn't found in this mode, -->
3266   <!-- try the generic titlepage.mode -->
3267   <xsl:apply-templates select="." mode="titlepage.mode"/>
3268 </xsl:template>
3269
3270 <xsl:template match="*" mode="bibliography.titlepage.verso.mode">
3271   <!-- if an element isn't found in this mode, -->
3272   <!-- try the generic titlepage.mode -->
3273   <xsl:apply-templates select="." mode="titlepage.mode"/>
3274 </xsl:template>
3275
3276 <xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
3277 <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
3278 <xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
3279 </div>
3280 </xsl:template>
3281
3282 <xsl:template name="glossary.titlepage.recto">
3283   <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
3284 <xsl:call-template name="component.title">
3285 <xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
3286 </xsl:call-template></div>
3287   <xsl:choose>
3288     <xsl:when test="glossaryinfo/subtitle">
3289       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
3290     </xsl:when>
3291     <xsl:when test="docinfo/subtitle">
3292       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3293     </xsl:when>
3294     <xsl:when test="info/subtitle">
3295       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
3296     </xsl:when>
3297     <xsl:when test="subtitle">
3298       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
3299     </xsl:when>
3300   </xsl:choose>
3301
3302 </xsl:template>
3303
3304 <xsl:template name="glossary.titlepage.verso">
3305 </xsl:template>
3306
3307 <xsl:template name="glossary.titlepage.separator">
3308 </xsl:template>
3309
3310 <xsl:template name="glossary.titlepage.before.recto">
3311 </xsl:template>
3312
3313 <xsl:template name="glossary.titlepage.before.verso">
3314 </xsl:template>
3315
3316 <xsl:template name="glossary.titlepage">
3317   <div class="titlepage">
3318     <xsl:variable name="recto.content">
3319       <xsl:call-template name="glossary.titlepage.before.recto"/>
3320       <xsl:call-template name="glossary.titlepage.recto"/>
3321     </xsl:variable>
3322     <xsl:variable name="recto.elements.count">
3323       <xsl:choose>
3324         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3325         <xsl:otherwise>1</xsl:otherwise>
3326       </xsl:choose>
3327     </xsl:variable>
3328     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3329       <div><xsl:copy-of select="$recto.content"/></div>
3330     </xsl:if>
3331     <xsl:variable name="verso.content">
3332       <xsl:call-template name="glossary.titlepage.before.verso"/>
3333       <xsl:call-template name="glossary.titlepage.verso"/>
3334     </xsl:variable>
3335     <xsl:variable name="verso.elements.count">
3336       <xsl:choose>
3337         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3338         <xsl:otherwise>1</xsl:otherwise>
3339       </xsl:choose>
3340     </xsl:variable>
3341     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3342       <div><xsl:copy-of select="$verso.content"/></div>
3343     </xsl:if>
3344     <xsl:call-template name="glossary.titlepage.separator"/>
3345   </div>
3346 </xsl:template>
3347
3348 <xsl:template match="*" mode="glossary.titlepage.recto.mode">
3349   <!-- if an element isn't found in this mode, -->
3350   <!-- try the generic titlepage.mode -->
3351   <xsl:apply-templates select="." mode="titlepage.mode"/>
3352 </xsl:template>
3353
3354 <xsl:template match="*" mode="glossary.titlepage.verso.mode">
3355   <!-- if an element isn't found in this mode, -->
3356   <!-- try the generic titlepage.mode -->
3357   <xsl:apply-templates select="." mode="titlepage.mode"/>
3358 </xsl:template>
3359
3360 <xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
3361 <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
3362 <xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
3363 </div>
3364 </xsl:template>
3365
3366 <xsl:template name="index.titlepage.recto">
3367   <div xsl:use-attribute-sets="index.titlepage.recto.style">
3368 <xsl:call-template name="component.title">
3369 <xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
3370 </xsl:call-template></div>
3371   <xsl:choose>
3372     <xsl:when test="indexinfo/subtitle">
3373       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
3374     </xsl:when>
3375     <xsl:when test="docinfo/subtitle">
3376       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3377     </xsl:when>
3378     <xsl:when test="info/subtitle">
3379       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
3380     </xsl:when>
3381     <xsl:when test="subtitle">
3382       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
3383     </xsl:when>
3384   </xsl:choose>
3385
3386 </xsl:template>
3387
3388 <xsl:template name="index.titlepage.verso">
3389 </xsl:template>
3390
3391 <xsl:template name="index.titlepage.separator">
3392 </xsl:template>
3393
3394 <xsl:template name="index.titlepage.before.recto">
3395 </xsl:template>
3396
3397 <xsl:template name="index.titlepage.before.verso">
3398 </xsl:template>
3399
3400 <xsl:template name="index.titlepage">
3401   <div class="titlepage">
3402     <xsl:variable name="recto.content">
3403       <xsl:call-template name="index.titlepage.before.recto"/>
3404       <xsl:call-template name="index.titlepage.recto"/>
3405     </xsl:variable>
3406     <xsl:variable name="recto.elements.count">
3407       <xsl:choose>
3408         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3409         <xsl:otherwise>1</xsl:otherwise>
3410       </xsl:choose>
3411     </xsl:variable>
3412     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3413       <div><xsl:copy-of select="$recto.content"/></div>
3414     </xsl:if>
3415     <xsl:variable name="verso.content">
3416       <xsl:call-template name="index.titlepage.before.verso"/>
3417       <xsl:call-template name="index.titlepage.verso"/>
3418     </xsl:variable>
3419     <xsl:variable name="verso.elements.count">
3420       <xsl:choose>
3421         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3422         <xsl:otherwise>1</xsl:otherwise>
3423       </xsl:choose>
3424     </xsl:variable>
3425     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3426       <div><xsl:copy-of select="$verso.content"/></div>
3427     </xsl:if>
3428     <xsl:call-template name="index.titlepage.separator"/>
3429   </div>
3430 </xsl:template>
3431
3432 <xsl:template match="*" mode="index.titlepage.recto.mode">
3433   <!-- if an element isn't found in this mode, -->
3434   <!-- try the generic titlepage.mode -->
3435   <xsl:apply-templates select="." mode="titlepage.mode"/>
3436 </xsl:template>
3437
3438 <xsl:template match="*" mode="index.titlepage.verso.mode">
3439   <!-- if an element isn't found in this mode, -->
3440   <!-- try the generic titlepage.mode -->
3441   <xsl:apply-templates select="." mode="titlepage.mode"/>
3442 </xsl:template>
3443
3444 <xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
3445 <div xsl:use-attribute-sets="index.titlepage.recto.style">
3446 <xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
3447 </div>
3448 </xsl:template>
3449
3450 <xsl:template name="setindex.titlepage.recto">
3451   <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
3452 <xsl:call-template name="component.title">
3453 <xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
3454 </xsl:call-template></div>
3455   <xsl:choose>
3456     <xsl:when test="setindexinfo/subtitle">
3457       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
3458     </xsl:when>
3459     <xsl:when test="docinfo/subtitle">
3460       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3461     </xsl:when>
3462     <xsl:when test="info/subtitle">
3463       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
3464     </xsl:when>
3465     <xsl:when test="subtitle">
3466       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
3467     </xsl:when>
3468   </xsl:choose>
3469
3470 </xsl:template>
3471
3472 <xsl:template name="setindex.titlepage.verso">
3473 </xsl:template>
3474
3475 <xsl:template name="setindex.titlepage.separator">
3476 </xsl:template>
3477
3478 <xsl:template name="setindex.titlepage.before.recto">
3479 </xsl:template>
3480
3481 <xsl:template name="setindex.titlepage.before.verso">
3482 </xsl:template>
3483
3484 <xsl:template name="setindex.titlepage">
3485   <div class="titlepage">
3486     <xsl:variable name="recto.content">
3487       <xsl:call-template name="setindex.titlepage.before.recto"/>
3488       <xsl:call-template name="setindex.titlepage.recto"/>
3489     </xsl:variable>
3490     <xsl:variable name="recto.elements.count">
3491       <xsl:choose>
3492         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3493         <xsl:otherwise>1</xsl:otherwise>
3494       </xsl:choose>
3495     </xsl:variable>
3496     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3497       <div><xsl:copy-of select="$recto.content"/></div>
3498     </xsl:if>
3499     <xsl:variable name="verso.content">
3500       <xsl:call-template name="setindex.titlepage.before.verso"/>
3501       <xsl:call-template name="setindex.titlepage.verso"/>
3502     </xsl:variable>
3503     <xsl:variable name="verso.elements.count">
3504       <xsl:choose>
3505         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3506         <xsl:otherwise>1</xsl:otherwise>
3507       </xsl:choose>
3508     </xsl:variable>
3509     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3510       <div><xsl:copy-of select="$verso.content"/></div>
3511     </xsl:if>
3512     <xsl:call-template name="setindex.titlepage.separator"/>
3513   </div>
3514 </xsl:template>
3515
3516 <xsl:template match="*" mode="setindex.titlepage.recto.mode">
3517   <!-- if an element isn't found in this mode, -->
3518   <!-- try the generic titlepage.mode -->
3519   <xsl:apply-templates select="." mode="titlepage.mode"/>
3520 </xsl:template>
3521
3522 <xsl:template match="*" mode="setindex.titlepage.verso.mode">
3523   <!-- if an element isn't found in this mode, -->
3524   <!-- try the generic titlepage.mode -->
3525   <xsl:apply-templates select="." mode="titlepage.mode"/>
3526 </xsl:template>
3527
3528 <xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
3529 <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
3530 <xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
3531 </div>
3532 </xsl:template>
3533
3534 </xsl:stylesheet>