source: BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/titlepage.templates.xsl @ f8c4e94

clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change on this file since f8c4e94 was f8c4e94, checked in by Manuel Canales Esparcia <manuel@…>, 17 years ago

Added LFS XSL Stylesheets.

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