]> git.stg.codes - stg.git/blob - doc/xslt/xhtml-1_1/titlepage.templates.xsl
Merge branch 'naffanya-dev'
[stg.git] / doc / xslt / xhtml-1_1 / titlepage.templates.xsl
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="acknowledgements.titlepage.recto">
1333   <div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style">
1334 <xsl:call-template name="component.title">
1335 <xsl:with-param name="node" select="ancestor-or-self::acknowledgements[1]"/>
1336 </xsl:call-template></div>
1337   <xsl:choose>
1338     <xsl:when test="acknowledgementsinfo/subtitle">
1339       <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="acknowledgementsinfo/subtitle"/>
1340     </xsl:when>
1341     <xsl:when test="docinfo/subtitle">
1342       <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1343     </xsl:when>
1344     <xsl:when test="info/subtitle">
1345       <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="info/subtitle"/>
1346     </xsl:when>
1347     <xsl:when test="subtitle">
1348       <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="subtitle"/>
1349     </xsl:when>
1350   </xsl:choose>
1351
1352 </xsl:template>
1353
1354 <xsl:template name="acknowledgements.titlepage.verso">
1355 </xsl:template>
1356
1357 <xsl:template name="acknowledgements.titlepage.separator">
1358 </xsl:template>
1359
1360 <xsl:template name="acknowledgements.titlepage.before.recto">
1361 </xsl:template>
1362
1363 <xsl:template name="acknowledgements.titlepage.before.verso">
1364 </xsl:template>
1365
1366 <xsl:template name="acknowledgements.titlepage">
1367   <div class="titlepage">
1368     <xsl:variable name="recto.content">
1369       <xsl:call-template name="acknowledgements.titlepage.before.recto"/>
1370       <xsl:call-template name="acknowledgements.titlepage.recto"/>
1371     </xsl:variable>
1372     <xsl:variable name="recto.elements.count">
1373       <xsl:choose>
1374         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1375         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1376           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1377         <xsl:otherwise>1</xsl:otherwise>
1378       </xsl:choose>
1379     </xsl:variable>
1380     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1381       <div><xsl:copy-of select="$recto.content"/></div>
1382     </xsl:if>
1383     <xsl:variable name="verso.content">
1384       <xsl:call-template name="acknowledgements.titlepage.before.verso"/>
1385       <xsl:call-template name="acknowledgements.titlepage.verso"/>
1386     </xsl:variable>
1387     <xsl:variable name="verso.elements.count">
1388       <xsl:choose>
1389         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1390         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1391           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1392         <xsl:otherwise>1</xsl:otherwise>
1393       </xsl:choose>
1394     </xsl:variable>
1395     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1396       <div><xsl:copy-of select="$verso.content"/></div>
1397     </xsl:if>
1398     <xsl:call-template name="acknowledgements.titlepage.separator"/>
1399   </div>
1400 </xsl:template>
1401
1402 <xsl:template match="*" mode="acknowledgements.titlepage.recto.mode">
1403   <!-- if an element isn't found in this mode, -->
1404   <!-- try the generic titlepage.mode -->
1405   <xsl:apply-templates select="." mode="titlepage.mode"/>
1406 </xsl:template>
1407
1408 <xsl:template match="*" mode="acknowledgements.titlepage.verso.mode">
1409   <!-- if an element isn't found in this mode, -->
1410   <!-- try the generic titlepage.mode -->
1411   <xsl:apply-templates select="." mode="titlepage.mode"/>
1412 </xsl:template>
1413
1414 <xsl:template match="subtitle" mode="acknowledgements.titlepage.recto.auto.mode">
1415 <div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style">
1416 <xsl:apply-templates select="." mode="acknowledgements.titlepage.recto.mode"/>
1417 </div>
1418 </xsl:template>
1419
1420 <xsl:template name="preface.titlepage.recto">
1421   <xsl:choose>
1422     <xsl:when test="prefaceinfo/title">
1423       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
1424     </xsl:when>
1425     <xsl:when test="docinfo/title">
1426       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
1427     </xsl:when>
1428     <xsl:when test="info/title">
1429       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
1430     </xsl:when>
1431     <xsl:when test="title">
1432       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
1433     </xsl:when>
1434   </xsl:choose>
1435
1436   <xsl:choose>
1437     <xsl:when test="prefaceinfo/subtitle">
1438       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
1439     </xsl:when>
1440     <xsl:when test="docinfo/subtitle">
1441       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1442     </xsl:when>
1443     <xsl:when test="info/subtitle">
1444       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
1445     </xsl:when>
1446     <xsl:when test="subtitle">
1447       <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
1448     </xsl:when>
1449   </xsl:choose>
1450
1451   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
1452   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1453   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
1454   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
1455   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1456   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
1457   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
1458   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
1459   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
1460   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
1461   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1462   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
1463   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
1464   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1465   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1466   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
1467   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1468   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
1469   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
1470   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1471   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
1472   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
1473   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1474   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
1475   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
1476   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
1477   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
1478   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
1479   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1480   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
1481   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
1482   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1483   <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
1484 </xsl:template>
1485
1486 <xsl:template name="preface.titlepage.verso">
1487 </xsl:template>
1488
1489 <xsl:template name="preface.titlepage.separator">
1490 </xsl:template>
1491
1492 <xsl:template name="preface.titlepage.before.recto">
1493 </xsl:template>
1494
1495 <xsl:template name="preface.titlepage.before.verso">
1496 </xsl:template>
1497
1498 <xsl:template name="preface.titlepage">
1499   <div class="titlepage">
1500     <xsl:variable name="recto.content">
1501       <xsl:call-template name="preface.titlepage.before.recto"/>
1502       <xsl:call-template name="preface.titlepage.recto"/>
1503     </xsl:variable>
1504     <xsl:variable name="recto.elements.count">
1505       <xsl:choose>
1506         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1507         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1508           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1509         <xsl:otherwise>1</xsl:otherwise>
1510       </xsl:choose>
1511     </xsl:variable>
1512     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1513       <div><xsl:copy-of select="$recto.content"/></div>
1514     </xsl:if>
1515     <xsl:variable name="verso.content">
1516       <xsl:call-template name="preface.titlepage.before.verso"/>
1517       <xsl:call-template name="preface.titlepage.verso"/>
1518     </xsl:variable>
1519     <xsl:variable name="verso.elements.count">
1520       <xsl:choose>
1521         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1522         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1523           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1524         <xsl:otherwise>1</xsl:otherwise>
1525       </xsl:choose>
1526     </xsl:variable>
1527     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1528       <div><xsl:copy-of select="$verso.content"/></div>
1529     </xsl:if>
1530     <xsl:call-template name="preface.titlepage.separator"/>
1531   </div>
1532 </xsl:template>
1533
1534 <xsl:template match="*" mode="preface.titlepage.recto.mode">
1535   <!-- if an element isn't found in this mode, -->
1536   <!-- try the generic titlepage.mode -->
1537   <xsl:apply-templates select="." mode="titlepage.mode"/>
1538 </xsl:template>
1539
1540 <xsl:template match="*" mode="preface.titlepage.verso.mode">
1541   <!-- if an element isn't found in this mode, -->
1542   <!-- try the generic titlepage.mode -->
1543   <xsl:apply-templates select="." mode="titlepage.mode"/>
1544 </xsl:template>
1545
1546 <xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
1547 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1548 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1549 </div>
1550 </xsl:template>
1551
1552 <xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
1553 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1554 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1555 </div>
1556 </xsl:template>
1557
1558 <xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
1559 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1560 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1561 </div>
1562 </xsl:template>
1563
1564 <xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
1565 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1566 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1567 </div>
1568 </xsl:template>
1569
1570 <xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
1571 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1572 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1573 </div>
1574 </xsl:template>
1575
1576 <xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
1577 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1578 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1579 </div>
1580 </xsl:template>
1581
1582 <xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
1583 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1584 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1585 </div>
1586 </xsl:template>
1587
1588 <xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
1589 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1590 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1591 </div>
1592 </xsl:template>
1593
1594 <xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
1595 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1596 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1597 </div>
1598 </xsl:template>
1599
1600 <xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
1601 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1602 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1603 </div>
1604 </xsl:template>
1605
1606 <xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
1607 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1608 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1609 </div>
1610 </xsl:template>
1611
1612 <xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
1613 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1614 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1615 </div>
1616 </xsl:template>
1617
1618 <xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
1619 <div xsl:use-attribute-sets="preface.titlepage.recto.style">
1620 <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1621 </div>
1622 </xsl:template>
1623
1624 <xsl:template name="chapter.titlepage.recto">
1625   <xsl:choose>
1626     <xsl:when test="chapterinfo/title">
1627       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
1628     </xsl:when>
1629     <xsl:when test="docinfo/title">
1630       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
1631     </xsl:when>
1632     <xsl:when test="info/title">
1633       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
1634     </xsl:when>
1635     <xsl:when test="title">
1636       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
1637     </xsl:when>
1638   </xsl:choose>
1639
1640   <xsl:choose>
1641     <xsl:when test="chapterinfo/subtitle">
1642       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
1643     </xsl:when>
1644     <xsl:when test="docinfo/subtitle">
1645       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1646     </xsl:when>
1647     <xsl:when test="info/subtitle">
1648       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
1649     </xsl:when>
1650     <xsl:when test="subtitle">
1651       <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
1652     </xsl:when>
1653   </xsl:choose>
1654
1655   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
1656   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1657   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
1658   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
1659   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1660   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
1661   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
1662   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
1663   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
1664   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
1665   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1666   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
1667   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
1668   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1669   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1670   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
1671   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1672   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
1673   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
1674   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1675   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
1676   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
1677   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1678   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
1679   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
1680   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
1681   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
1682   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
1683   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1684   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
1685   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
1686   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1687   <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
1688 </xsl:template>
1689
1690 <xsl:template name="chapter.titlepage.verso">
1691 </xsl:template>
1692
1693 <xsl:template name="chapter.titlepage.separator">
1694 </xsl:template>
1695
1696 <xsl:template name="chapter.titlepage.before.recto">
1697 </xsl:template>
1698
1699 <xsl:template name="chapter.titlepage.before.verso">
1700 </xsl:template>
1701
1702 <xsl:template name="chapter.titlepage">
1703   <div class="titlepage">
1704     <xsl:variable name="recto.content">
1705       <xsl:call-template name="chapter.titlepage.before.recto"/>
1706       <xsl:call-template name="chapter.titlepage.recto"/>
1707     </xsl:variable>
1708     <xsl:variable name="recto.elements.count">
1709       <xsl:choose>
1710         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1711         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1712           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1713         <xsl:otherwise>1</xsl:otherwise>
1714       </xsl:choose>
1715     </xsl:variable>
1716     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1717       <div><xsl:copy-of select="$recto.content"/></div>
1718     </xsl:if>
1719     <xsl:variable name="verso.content">
1720       <xsl:call-template name="chapter.titlepage.before.verso"/>
1721       <xsl:call-template name="chapter.titlepage.verso"/>
1722     </xsl:variable>
1723     <xsl:variable name="verso.elements.count">
1724       <xsl:choose>
1725         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1726         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1727           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1728         <xsl:otherwise>1</xsl:otherwise>
1729       </xsl:choose>
1730     </xsl:variable>
1731     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1732       <div><xsl:copy-of select="$verso.content"/></div>
1733     </xsl:if>
1734     <xsl:call-template name="chapter.titlepage.separator"/>
1735   </div>
1736 </xsl:template>
1737
1738 <xsl:template match="*" mode="chapter.titlepage.recto.mode">
1739   <!-- if an element isn't found in this mode, -->
1740   <!-- try the generic titlepage.mode -->
1741   <xsl:apply-templates select="." mode="titlepage.mode"/>
1742 </xsl:template>
1743
1744 <xsl:template match="*" mode="chapter.titlepage.verso.mode">
1745   <!-- if an element isn't found in this mode, -->
1746   <!-- try the generic titlepage.mode -->
1747   <xsl:apply-templates select="." mode="titlepage.mode"/>
1748 </xsl:template>
1749
1750 <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
1751 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1752 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1753 </div>
1754 </xsl:template>
1755
1756 <xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
1757 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1758 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1759 </div>
1760 </xsl:template>
1761
1762 <xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
1763 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1764 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1765 </div>
1766 </xsl:template>
1767
1768 <xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
1769 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1770 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1771 </div>
1772 </xsl:template>
1773
1774 <xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
1775 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1776 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1777 </div>
1778 </xsl:template>
1779
1780 <xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
1781 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1782 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1783 </div>
1784 </xsl:template>
1785
1786 <xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
1787 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1788 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1789 </div>
1790 </xsl:template>
1791
1792 <xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
1793 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1794 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1795 </div>
1796 </xsl:template>
1797
1798 <xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
1799 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1800 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1801 </div>
1802 </xsl:template>
1803
1804 <xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
1805 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1806 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1807 </div>
1808 </xsl:template>
1809
1810 <xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
1811 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1812 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1813 </div>
1814 </xsl:template>
1815
1816 <xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
1817 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1818 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1819 </div>
1820 </xsl:template>
1821
1822 <xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
1823 <div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1824 <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1825 </div>
1826 </xsl:template>
1827
1828 <xsl:template name="appendix.titlepage.recto">
1829   <xsl:choose>
1830     <xsl:when test="appendixinfo/title">
1831       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
1832     </xsl:when>
1833     <xsl:when test="docinfo/title">
1834       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
1835     </xsl:when>
1836     <xsl:when test="info/title">
1837       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
1838     </xsl:when>
1839     <xsl:when test="title">
1840       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
1841     </xsl:when>
1842   </xsl:choose>
1843
1844   <xsl:choose>
1845     <xsl:when test="appendixinfo/subtitle">
1846       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
1847     </xsl:when>
1848     <xsl:when test="docinfo/subtitle">
1849       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1850     </xsl:when>
1851     <xsl:when test="info/subtitle">
1852       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
1853     </xsl:when>
1854     <xsl:when test="subtitle">
1855       <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
1856     </xsl:when>
1857   </xsl:choose>
1858
1859   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
1860   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1861   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
1862   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
1863   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1864   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
1865   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
1866   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
1867   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
1868   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
1869   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1870   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
1871   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
1872   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1873   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1874   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
1875   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1876   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
1877   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
1878   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1879   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
1880   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
1881   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1882   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
1883   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
1884   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
1885   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
1886   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
1887   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1888   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
1889   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
1890   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1891   <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
1892 </xsl:template>
1893
1894 <xsl:template name="appendix.titlepage.verso">
1895 </xsl:template>
1896
1897 <xsl:template name="appendix.titlepage.separator">
1898 </xsl:template>
1899
1900 <xsl:template name="appendix.titlepage.before.recto">
1901 </xsl:template>
1902
1903 <xsl:template name="appendix.titlepage.before.verso">
1904 </xsl:template>
1905
1906 <xsl:template name="appendix.titlepage">
1907   <div class="titlepage">
1908     <xsl:variable name="recto.content">
1909       <xsl:call-template name="appendix.titlepage.before.recto"/>
1910       <xsl:call-template name="appendix.titlepage.recto"/>
1911     </xsl:variable>
1912     <xsl:variable name="recto.elements.count">
1913       <xsl:choose>
1914         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1915         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1916           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1917         <xsl:otherwise>1</xsl:otherwise>
1918       </xsl:choose>
1919     </xsl:variable>
1920     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1921       <div><xsl:copy-of select="$recto.content"/></div>
1922     </xsl:if>
1923     <xsl:variable name="verso.content">
1924       <xsl:call-template name="appendix.titlepage.before.verso"/>
1925       <xsl:call-template name="appendix.titlepage.verso"/>
1926     </xsl:variable>
1927     <xsl:variable name="verso.elements.count">
1928       <xsl:choose>
1929         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1930         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1931           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1932         <xsl:otherwise>1</xsl:otherwise>
1933       </xsl:choose>
1934     </xsl:variable>
1935     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1936       <div><xsl:copy-of select="$verso.content"/></div>
1937     </xsl:if>
1938     <xsl:call-template name="appendix.titlepage.separator"/>
1939   </div>
1940 </xsl:template>
1941
1942 <xsl:template match="*" mode="appendix.titlepage.recto.mode">
1943   <!-- if an element isn't found in this mode, -->
1944   <!-- try the generic titlepage.mode -->
1945   <xsl:apply-templates select="." mode="titlepage.mode"/>
1946 </xsl:template>
1947
1948 <xsl:template match="*" mode="appendix.titlepage.verso.mode">
1949   <!-- if an element isn't found in this mode, -->
1950   <!-- try the generic titlepage.mode -->
1951   <xsl:apply-templates select="." mode="titlepage.mode"/>
1952 </xsl:template>
1953
1954 <xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
1955 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1956 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1957 </div>
1958 </xsl:template>
1959
1960 <xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
1961 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1962 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1963 </div>
1964 </xsl:template>
1965
1966 <xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
1967 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1968 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1969 </div>
1970 </xsl:template>
1971
1972 <xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
1973 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1974 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1975 </div>
1976 </xsl:template>
1977
1978 <xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
1979 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1980 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1981 </div>
1982 </xsl:template>
1983
1984 <xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
1985 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1986 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1987 </div>
1988 </xsl:template>
1989
1990 <xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
1991 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1992 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1993 </div>
1994 </xsl:template>
1995
1996 <xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
1997 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1998 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1999 </div>
2000 </xsl:template>
2001
2002 <xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
2003 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2004 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2005 </div>
2006 </xsl:template>
2007
2008 <xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
2009 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2010 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2011 </div>
2012 </xsl:template>
2013
2014 <xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
2015 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2016 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2017 </div>
2018 </xsl:template>
2019
2020 <xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
2021 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2022 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2023 </div>
2024 </xsl:template>
2025
2026 <xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
2027 <div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2028 <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2029 </div>
2030 </xsl:template>
2031
2032 <xsl:template name="section.titlepage.recto">
2033   <xsl:choose>
2034     <xsl:when test="sectioninfo/title">
2035       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
2036     </xsl:when>
2037     <xsl:when test="info/title">
2038       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
2039     </xsl:when>
2040     <xsl:when test="title">
2041       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
2042     </xsl:when>
2043   </xsl:choose>
2044
2045   <xsl:choose>
2046     <xsl:when test="sectioninfo/subtitle">
2047       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
2048     </xsl:when>
2049     <xsl:when test="info/subtitle">
2050       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
2051     </xsl:when>
2052     <xsl:when test="subtitle">
2053       <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
2054     </xsl:when>
2055   </xsl:choose>
2056
2057   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
2058   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
2059   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
2060   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
2061   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
2062   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
2063   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
2064   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
2065   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
2066   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2067   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
2068   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
2069   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
2070   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
2071   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
2072   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
2073   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
2074   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
2075   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
2076   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
2077   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
2078   <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
2079 </xsl:template>
2080
2081 <xsl:template name="section.titlepage.verso">
2082 </xsl:template>
2083
2084 <xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2085 </xsl:template>
2086
2087 <xsl:template name="section.titlepage.before.recto">
2088 </xsl:template>
2089
2090 <xsl:template name="section.titlepage.before.verso">
2091 </xsl:template>
2092
2093 <xsl:template name="section.titlepage">
2094   <div class="titlepage">
2095     <xsl:variable name="recto.content">
2096       <xsl:call-template name="section.titlepage.before.recto"/>
2097       <xsl:call-template name="section.titlepage.recto"/>
2098     </xsl:variable>
2099     <xsl:variable name="recto.elements.count">
2100       <xsl:choose>
2101         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2102         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2103           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2104         <xsl:otherwise>1</xsl:otherwise>
2105       </xsl:choose>
2106     </xsl:variable>
2107     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2108       <div><xsl:copy-of select="$recto.content"/></div>
2109     </xsl:if>
2110     <xsl:variable name="verso.content">
2111       <xsl:call-template name="section.titlepage.before.verso"/>
2112       <xsl:call-template name="section.titlepage.verso"/>
2113     </xsl:variable>
2114     <xsl:variable name="verso.elements.count">
2115       <xsl:choose>
2116         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2117         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2118           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2119         <xsl:otherwise>1</xsl:otherwise>
2120       </xsl:choose>
2121     </xsl:variable>
2122     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2123       <div><xsl:copy-of select="$verso.content"/></div>
2124     </xsl:if>
2125     <xsl:call-template name="section.titlepage.separator"/>
2126   </div>
2127 </xsl:template>
2128
2129 <xsl:template match="*" mode="section.titlepage.recto.mode">
2130   <!-- if an element isn't found in this mode, -->
2131   <!-- try the generic titlepage.mode -->
2132   <xsl:apply-templates select="." mode="titlepage.mode"/>
2133 </xsl:template>
2134
2135 <xsl:template match="*" mode="section.titlepage.verso.mode">
2136   <!-- if an element isn't found in this mode, -->
2137   <!-- try the generic titlepage.mode -->
2138   <xsl:apply-templates select="." mode="titlepage.mode"/>
2139 </xsl:template>
2140
2141 <xsl:template match="title" mode="section.titlepage.recto.auto.mode">
2142 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2143 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2144 </div>
2145 </xsl:template>
2146
2147 <xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
2148 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2149 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2150 </div>
2151 </xsl:template>
2152
2153 <xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
2154 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2155 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2156 </div>
2157 </xsl:template>
2158
2159 <xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
2160 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2161 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2162 </div>
2163 </xsl:template>
2164
2165 <xsl:template match="author" mode="section.titlepage.recto.auto.mode">
2166 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2167 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2168 </div>
2169 </xsl:template>
2170
2171 <xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
2172 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2173 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2174 </div>
2175 </xsl:template>
2176
2177 <xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
2178 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2179 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2180 </div>
2181 </xsl:template>
2182
2183 <xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
2184 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2185 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2186 </div>
2187 </xsl:template>
2188
2189 <xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
2190 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2191 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2192 </div>
2193 </xsl:template>
2194
2195 <xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
2196 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2197 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2198 </div>
2199 </xsl:template>
2200
2201 <xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
2202 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2203 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2204 </div>
2205 </xsl:template>
2206
2207 <xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
2208 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2209 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2210 </div>
2211 </xsl:template>
2212
2213 <xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
2214 <div xsl:use-attribute-sets="section.titlepage.recto.style">
2215 <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2216 </div>
2217 </xsl:template>
2218
2219 <xsl:template name="sect1.titlepage.recto">
2220   <xsl:choose>
2221     <xsl:when test="sect1info/title">
2222       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
2223     </xsl:when>
2224     <xsl:when test="info/title">
2225       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
2226     </xsl:when>
2227     <xsl:when test="title">
2228       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
2229     </xsl:when>
2230   </xsl:choose>
2231
2232   <xsl:choose>
2233     <xsl:when test="sect1info/subtitle">
2234       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
2235     </xsl:when>
2236     <xsl:when test="info/subtitle">
2237       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
2238     </xsl:when>
2239     <xsl:when test="subtitle">
2240       <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
2241     </xsl:when>
2242   </xsl:choose>
2243
2244   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
2245   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
2246   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
2247   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
2248   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
2249   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
2250   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
2251   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
2252   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
2253   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2254   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
2255   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
2256   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
2257   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
2258   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
2259   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
2260   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
2261   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
2262   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
2263   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
2264   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
2265   <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
2266 </xsl:template>
2267
2268 <xsl:template name="sect1.titlepage.verso">
2269 </xsl:template>
2270
2271 <xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2272 </xsl:template>
2273
2274 <xsl:template name="sect1.titlepage.before.recto">
2275 </xsl:template>
2276
2277 <xsl:template name="sect1.titlepage.before.verso">
2278 </xsl:template>
2279
2280 <xsl:template name="sect1.titlepage">
2281   <div class="titlepage">
2282     <xsl:variable name="recto.content">
2283       <xsl:call-template name="sect1.titlepage.before.recto"/>
2284       <xsl:call-template name="sect1.titlepage.recto"/>
2285     </xsl:variable>
2286     <xsl:variable name="recto.elements.count">
2287       <xsl:choose>
2288         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2289         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2290           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2291         <xsl:otherwise>1</xsl:otherwise>
2292       </xsl:choose>
2293     </xsl:variable>
2294     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2295       <div><xsl:copy-of select="$recto.content"/></div>
2296     </xsl:if>
2297     <xsl:variable name="verso.content">
2298       <xsl:call-template name="sect1.titlepage.before.verso"/>
2299       <xsl:call-template name="sect1.titlepage.verso"/>
2300     </xsl:variable>
2301     <xsl:variable name="verso.elements.count">
2302       <xsl:choose>
2303         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2304         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2305           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2306         <xsl:otherwise>1</xsl:otherwise>
2307       </xsl:choose>
2308     </xsl:variable>
2309     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2310       <div><xsl:copy-of select="$verso.content"/></div>
2311     </xsl:if>
2312     <xsl:call-template name="sect1.titlepage.separator"/>
2313   </div>
2314 </xsl:template>
2315
2316 <xsl:template match="*" mode="sect1.titlepage.recto.mode">
2317   <!-- if an element isn't found in this mode, -->
2318   <!-- try the generic titlepage.mode -->
2319   <xsl:apply-templates select="." mode="titlepage.mode"/>
2320 </xsl:template>
2321
2322 <xsl:template match="*" mode="sect1.titlepage.verso.mode">
2323   <!-- if an element isn't found in this mode, -->
2324   <!-- try the generic titlepage.mode -->
2325   <xsl:apply-templates select="." mode="titlepage.mode"/>
2326 </xsl:template>
2327
2328 <xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
2329 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2330 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2331 </div>
2332 </xsl:template>
2333
2334 <xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
2335 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2336 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2337 </div>
2338 </xsl:template>
2339
2340 <xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
2341 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2342 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2343 </div>
2344 </xsl:template>
2345
2346 <xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
2347 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2348 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2349 </div>
2350 </xsl:template>
2351
2352 <xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
2353 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2354 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2355 </div>
2356 </xsl:template>
2357
2358 <xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
2359 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2360 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2361 </div>
2362 </xsl:template>
2363
2364 <xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
2365 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2366 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2367 </div>
2368 </xsl:template>
2369
2370 <xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
2371 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2372 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2373 </div>
2374 </xsl:template>
2375
2376 <xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
2377 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2378 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2379 </div>
2380 </xsl:template>
2381
2382 <xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
2383 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2384 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2385 </div>
2386 </xsl:template>
2387
2388 <xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
2389 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2390 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2391 </div>
2392 </xsl:template>
2393
2394 <xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
2395 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2396 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2397 </div>
2398 </xsl:template>
2399
2400 <xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
2401 <div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2402 <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2403 </div>
2404 </xsl:template>
2405
2406 <xsl:template name="sect2.titlepage.recto">
2407   <xsl:choose>
2408     <xsl:when test="sect2info/title">
2409       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
2410     </xsl:when>
2411     <xsl:when test="info/title">
2412       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
2413     </xsl:when>
2414     <xsl:when test="title">
2415       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
2416     </xsl:when>
2417   </xsl:choose>
2418
2419   <xsl:choose>
2420     <xsl:when test="sect2info/subtitle">
2421       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
2422     </xsl:when>
2423     <xsl:when test="info/subtitle">
2424       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
2425     </xsl:when>
2426     <xsl:when test="subtitle">
2427       <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
2428     </xsl:when>
2429   </xsl:choose>
2430
2431   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
2432   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
2433   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
2434   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
2435   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
2436   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
2437   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
2438   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
2439   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
2440   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2441   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
2442   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
2443   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
2444   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
2445   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
2446   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
2447   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
2448   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
2449   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
2450   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
2451   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
2452   <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
2453 </xsl:template>
2454
2455 <xsl:template name="sect2.titlepage.verso">
2456 </xsl:template>
2457
2458 <xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2459 </xsl:template>
2460
2461 <xsl:template name="sect2.titlepage.before.recto">
2462 </xsl:template>
2463
2464 <xsl:template name="sect2.titlepage.before.verso">
2465 </xsl:template>
2466
2467 <xsl:template name="sect2.titlepage">
2468   <div class="titlepage">
2469     <xsl:variable name="recto.content">
2470       <xsl:call-template name="sect2.titlepage.before.recto"/>
2471       <xsl:call-template name="sect2.titlepage.recto"/>
2472     </xsl:variable>
2473     <xsl:variable name="recto.elements.count">
2474       <xsl:choose>
2475         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2476         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2477           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2478         <xsl:otherwise>1</xsl:otherwise>
2479       </xsl:choose>
2480     </xsl:variable>
2481     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2482       <div><xsl:copy-of select="$recto.content"/></div>
2483     </xsl:if>
2484     <xsl:variable name="verso.content">
2485       <xsl:call-template name="sect2.titlepage.before.verso"/>
2486       <xsl:call-template name="sect2.titlepage.verso"/>
2487     </xsl:variable>
2488     <xsl:variable name="verso.elements.count">
2489       <xsl:choose>
2490         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2491         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2492           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2493         <xsl:otherwise>1</xsl:otherwise>
2494       </xsl:choose>
2495     </xsl:variable>
2496     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2497       <div><xsl:copy-of select="$verso.content"/></div>
2498     </xsl:if>
2499     <xsl:call-template name="sect2.titlepage.separator"/>
2500   </div>
2501 </xsl:template>
2502
2503 <xsl:template match="*" mode="sect2.titlepage.recto.mode">
2504   <!-- if an element isn't found in this mode, -->
2505   <!-- try the generic titlepage.mode -->
2506   <xsl:apply-templates select="." mode="titlepage.mode"/>
2507 </xsl:template>
2508
2509 <xsl:template match="*" mode="sect2.titlepage.verso.mode">
2510   <!-- if an element isn't found in this mode, -->
2511   <!-- try the generic titlepage.mode -->
2512   <xsl:apply-templates select="." mode="titlepage.mode"/>
2513 </xsl:template>
2514
2515 <xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
2516 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2517 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2518 </div>
2519 </xsl:template>
2520
2521 <xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
2522 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2523 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2524 </div>
2525 </xsl:template>
2526
2527 <xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
2528 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2529 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2530 </div>
2531 </xsl:template>
2532
2533 <xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
2534 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2535 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2536 </div>
2537 </xsl:template>
2538
2539 <xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
2540 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2541 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2542 </div>
2543 </xsl:template>
2544
2545 <xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
2546 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2547 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2548 </div>
2549 </xsl:template>
2550
2551 <xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
2552 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2553 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2554 </div>
2555 </xsl:template>
2556
2557 <xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
2558 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2559 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2560 </div>
2561 </xsl:template>
2562
2563 <xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
2564 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2565 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2566 </div>
2567 </xsl:template>
2568
2569 <xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
2570 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2571 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2572 </div>
2573 </xsl:template>
2574
2575 <xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
2576 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2577 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2578 </div>
2579 </xsl:template>
2580
2581 <xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
2582 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2583 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2584 </div>
2585 </xsl:template>
2586
2587 <xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
2588 <div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2589 <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2590 </div>
2591 </xsl:template>
2592
2593 <xsl:template name="sect3.titlepage.recto">
2594   <xsl:choose>
2595     <xsl:when test="sect3info/title">
2596       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
2597     </xsl:when>
2598     <xsl:when test="info/title">
2599       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
2600     </xsl:when>
2601     <xsl:when test="title">
2602       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
2603     </xsl:when>
2604   </xsl:choose>
2605
2606   <xsl:choose>
2607     <xsl:when test="sect3info/subtitle">
2608       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
2609     </xsl:when>
2610     <xsl:when test="info/subtitle">
2611       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
2612     </xsl:when>
2613     <xsl:when test="subtitle">
2614       <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
2615     </xsl:when>
2616   </xsl:choose>
2617
2618   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
2619   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
2620   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
2621   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
2622   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
2623   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
2624   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
2625   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
2626   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
2627   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2628   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
2629   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
2630   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
2631   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
2632   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
2633   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
2634   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
2635   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
2636   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
2637   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
2638   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
2639   <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
2640 </xsl:template>
2641
2642 <xsl:template name="sect3.titlepage.verso">
2643 </xsl:template>
2644
2645 <xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2646 </xsl:template>
2647
2648 <xsl:template name="sect3.titlepage.before.recto">
2649 </xsl:template>
2650
2651 <xsl:template name="sect3.titlepage.before.verso">
2652 </xsl:template>
2653
2654 <xsl:template name="sect3.titlepage">
2655   <div class="titlepage">
2656     <xsl:variable name="recto.content">
2657       <xsl:call-template name="sect3.titlepage.before.recto"/>
2658       <xsl:call-template name="sect3.titlepage.recto"/>
2659     </xsl:variable>
2660     <xsl:variable name="recto.elements.count">
2661       <xsl:choose>
2662         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2663         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2664           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2665         <xsl:otherwise>1</xsl:otherwise>
2666       </xsl:choose>
2667     </xsl:variable>
2668     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2669       <div><xsl:copy-of select="$recto.content"/></div>
2670     </xsl:if>
2671     <xsl:variable name="verso.content">
2672       <xsl:call-template name="sect3.titlepage.before.verso"/>
2673       <xsl:call-template name="sect3.titlepage.verso"/>
2674     </xsl:variable>
2675     <xsl:variable name="verso.elements.count">
2676       <xsl:choose>
2677         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2678         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2679           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2680         <xsl:otherwise>1</xsl:otherwise>
2681       </xsl:choose>
2682     </xsl:variable>
2683     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2684       <div><xsl:copy-of select="$verso.content"/></div>
2685     </xsl:if>
2686     <xsl:call-template name="sect3.titlepage.separator"/>
2687   </div>
2688 </xsl:template>
2689
2690 <xsl:template match="*" mode="sect3.titlepage.recto.mode">
2691   <!-- if an element isn't found in this mode, -->
2692   <!-- try the generic titlepage.mode -->
2693   <xsl:apply-templates select="." mode="titlepage.mode"/>
2694 </xsl:template>
2695
2696 <xsl:template match="*" mode="sect3.titlepage.verso.mode">
2697   <!-- if an element isn't found in this mode, -->
2698   <!-- try the generic titlepage.mode -->
2699   <xsl:apply-templates select="." mode="titlepage.mode"/>
2700 </xsl:template>
2701
2702 <xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
2703 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2704 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2705 </div>
2706 </xsl:template>
2707
2708 <xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
2709 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2710 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2711 </div>
2712 </xsl:template>
2713
2714 <xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
2715 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2716 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2717 </div>
2718 </xsl:template>
2719
2720 <xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
2721 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2722 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2723 </div>
2724 </xsl:template>
2725
2726 <xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
2727 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2728 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2729 </div>
2730 </xsl:template>
2731
2732 <xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
2733 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2734 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2735 </div>
2736 </xsl:template>
2737
2738 <xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
2739 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2740 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2741 </div>
2742 </xsl:template>
2743
2744 <xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
2745 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2746 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2747 </div>
2748 </xsl:template>
2749
2750 <xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
2751 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2752 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2753 </div>
2754 </xsl:template>
2755
2756 <xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
2757 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2758 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2759 </div>
2760 </xsl:template>
2761
2762 <xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
2763 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2764 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2765 </div>
2766 </xsl:template>
2767
2768 <xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
2769 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2770 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2771 </div>
2772 </xsl:template>
2773
2774 <xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
2775 <div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2776 <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2777 </div>
2778 </xsl:template>
2779
2780 <xsl:template name="sect4.titlepage.recto">
2781   <xsl:choose>
2782     <xsl:when test="sect4info/title">
2783       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
2784     </xsl:when>
2785     <xsl:when test="info/title">
2786       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
2787     </xsl:when>
2788     <xsl:when test="title">
2789       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
2790     </xsl:when>
2791   </xsl:choose>
2792
2793   <xsl:choose>
2794     <xsl:when test="sect4info/subtitle">
2795       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
2796     </xsl:when>
2797     <xsl:when test="info/subtitle">
2798       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
2799     </xsl:when>
2800     <xsl:when test="subtitle">
2801       <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
2802     </xsl:when>
2803   </xsl:choose>
2804
2805   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
2806   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
2807   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
2808   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
2809   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
2810   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
2811   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
2812   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
2813   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
2814   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2815   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
2816   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
2817   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
2818   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
2819   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
2820   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
2821   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
2822   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
2823   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
2824   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
2825   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
2826   <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
2827 </xsl:template>
2828
2829 <xsl:template name="sect4.titlepage.verso">
2830 </xsl:template>
2831
2832 <xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2833 </xsl:template>
2834
2835 <xsl:template name="sect4.titlepage.before.recto">
2836 </xsl:template>
2837
2838 <xsl:template name="sect4.titlepage.before.verso">
2839 </xsl:template>
2840
2841 <xsl:template name="sect4.titlepage">
2842   <div class="titlepage">
2843     <xsl:variable name="recto.content">
2844       <xsl:call-template name="sect4.titlepage.before.recto"/>
2845       <xsl:call-template name="sect4.titlepage.recto"/>
2846     </xsl:variable>
2847     <xsl:variable name="recto.elements.count">
2848       <xsl:choose>
2849         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2850         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2851           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2852         <xsl:otherwise>1</xsl:otherwise>
2853       </xsl:choose>
2854     </xsl:variable>
2855     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2856       <div><xsl:copy-of select="$recto.content"/></div>
2857     </xsl:if>
2858     <xsl:variable name="verso.content">
2859       <xsl:call-template name="sect4.titlepage.before.verso"/>
2860       <xsl:call-template name="sect4.titlepage.verso"/>
2861     </xsl:variable>
2862     <xsl:variable name="verso.elements.count">
2863       <xsl:choose>
2864         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2865         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2866           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2867         <xsl:otherwise>1</xsl:otherwise>
2868       </xsl:choose>
2869     </xsl:variable>
2870     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2871       <div><xsl:copy-of select="$verso.content"/></div>
2872     </xsl:if>
2873     <xsl:call-template name="sect4.titlepage.separator"/>
2874   </div>
2875 </xsl:template>
2876
2877 <xsl:template match="*" mode="sect4.titlepage.recto.mode">
2878   <!-- if an element isn't found in this mode, -->
2879   <!-- try the generic titlepage.mode -->
2880   <xsl:apply-templates select="." mode="titlepage.mode"/>
2881 </xsl:template>
2882
2883 <xsl:template match="*" mode="sect4.titlepage.verso.mode">
2884   <!-- if an element isn't found in this mode, -->
2885   <!-- try the generic titlepage.mode -->
2886   <xsl:apply-templates select="." mode="titlepage.mode"/>
2887 </xsl:template>
2888
2889 <xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
2890 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2891 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2892 </div>
2893 </xsl:template>
2894
2895 <xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
2896 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2897 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2898 </div>
2899 </xsl:template>
2900
2901 <xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
2902 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2903 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2904 </div>
2905 </xsl:template>
2906
2907 <xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
2908 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2909 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2910 </div>
2911 </xsl:template>
2912
2913 <xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
2914 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2915 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2916 </div>
2917 </xsl:template>
2918
2919 <xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
2920 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2921 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2922 </div>
2923 </xsl:template>
2924
2925 <xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
2926 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2927 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2928 </div>
2929 </xsl:template>
2930
2931 <xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
2932 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2933 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2934 </div>
2935 </xsl:template>
2936
2937 <xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
2938 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2939 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2940 </div>
2941 </xsl:template>
2942
2943 <xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
2944 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2945 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2946 </div>
2947 </xsl:template>
2948
2949 <xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
2950 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2951 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2952 </div>
2953 </xsl:template>
2954
2955 <xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
2956 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2957 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2958 </div>
2959 </xsl:template>
2960
2961 <xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
2962 <div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2963 <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2964 </div>
2965 </xsl:template>
2966
2967 <xsl:template name="sect5.titlepage.recto">
2968   <xsl:choose>
2969     <xsl:when test="sect5info/title">
2970       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
2971     </xsl:when>
2972     <xsl:when test="info/title">
2973       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
2974     </xsl:when>
2975     <xsl:when test="title">
2976       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
2977     </xsl:when>
2978   </xsl:choose>
2979
2980   <xsl:choose>
2981     <xsl:when test="sect5info/subtitle">
2982       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
2983     </xsl:when>
2984     <xsl:when test="info/subtitle">
2985       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
2986     </xsl:when>
2987     <xsl:when test="subtitle">
2988       <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
2989     </xsl:when>
2990   </xsl:choose>
2991
2992   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
2993   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
2994   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
2995   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
2996   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
2997   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
2998   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
2999   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
3000   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
3001   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
3002   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
3003   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
3004   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
3005   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
3006   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
3007   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
3008   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
3009   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
3010   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
3011   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
3012   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
3013   <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
3014 </xsl:template>
3015
3016 <xsl:template name="sect5.titlepage.verso">
3017 </xsl:template>
3018
3019 <xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
3020 </xsl:template>
3021
3022 <xsl:template name="sect5.titlepage.before.recto">
3023 </xsl:template>
3024
3025 <xsl:template name="sect5.titlepage.before.verso">
3026 </xsl:template>
3027
3028 <xsl:template name="sect5.titlepage">
3029   <div class="titlepage">
3030     <xsl:variable name="recto.content">
3031       <xsl:call-template name="sect5.titlepage.before.recto"/>
3032       <xsl:call-template name="sect5.titlepage.recto"/>
3033     </xsl:variable>
3034     <xsl:variable name="recto.elements.count">
3035       <xsl:choose>
3036         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3037         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3038           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3039         <xsl:otherwise>1</xsl:otherwise>
3040       </xsl:choose>
3041     </xsl:variable>
3042     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3043       <div><xsl:copy-of select="$recto.content"/></div>
3044     </xsl:if>
3045     <xsl:variable name="verso.content">
3046       <xsl:call-template name="sect5.titlepage.before.verso"/>
3047       <xsl:call-template name="sect5.titlepage.verso"/>
3048     </xsl:variable>
3049     <xsl:variable name="verso.elements.count">
3050       <xsl:choose>
3051         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3052         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3053           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3054         <xsl:otherwise>1</xsl:otherwise>
3055       </xsl:choose>
3056     </xsl:variable>
3057     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3058       <div><xsl:copy-of select="$verso.content"/></div>
3059     </xsl:if>
3060     <xsl:call-template name="sect5.titlepage.separator"/>
3061   </div>
3062 </xsl:template>
3063
3064 <xsl:template match="*" mode="sect5.titlepage.recto.mode">
3065   <!-- if an element isn't found in this mode, -->
3066   <!-- try the generic titlepage.mode -->
3067   <xsl:apply-templates select="." mode="titlepage.mode"/>
3068 </xsl:template>
3069
3070 <xsl:template match="*" mode="sect5.titlepage.verso.mode">
3071   <!-- if an element isn't found in this mode, -->
3072   <!-- try the generic titlepage.mode -->
3073   <xsl:apply-templates select="." mode="titlepage.mode"/>
3074 </xsl:template>
3075
3076 <xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
3077 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3078 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3079 </div>
3080 </xsl:template>
3081
3082 <xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
3083 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3084 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3085 </div>
3086 </xsl:template>
3087
3088 <xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
3089 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3090 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3091 </div>
3092 </xsl:template>
3093
3094 <xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
3095 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3096 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3097 </div>
3098 </xsl:template>
3099
3100 <xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
3101 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3102 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3103 </div>
3104 </xsl:template>
3105
3106 <xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
3107 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3108 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3109 </div>
3110 </xsl:template>
3111
3112 <xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
3113 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3114 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3115 </div>
3116 </xsl:template>
3117
3118 <xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
3119 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3120 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3121 </div>
3122 </xsl:template>
3123
3124 <xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
3125 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3126 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3127 </div>
3128 </xsl:template>
3129
3130 <xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
3131 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3132 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3133 </div>
3134 </xsl:template>
3135
3136 <xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
3137 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3138 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3139 </div>
3140 </xsl:template>
3141
3142 <xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
3143 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3144 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3145 </div>
3146 </xsl:template>
3147
3148 <xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
3149 <div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3150 <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3151 </div>
3152 </xsl:template>
3153
3154 <xsl:template name="simplesect.titlepage.recto">
3155   <xsl:choose>
3156     <xsl:when test="simplesectinfo/title">
3157       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
3158     </xsl:when>
3159     <xsl:when test="docinfo/title">
3160       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
3161     </xsl:when>
3162     <xsl:when test="info/title">
3163       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
3164     </xsl:when>
3165     <xsl:when test="title">
3166       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
3167     </xsl:when>
3168   </xsl:choose>
3169
3170   <xsl:choose>
3171     <xsl:when test="simplesectinfo/subtitle">
3172       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
3173     </xsl:when>
3174     <xsl:when test="docinfo/subtitle">
3175       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3176     </xsl:when>
3177     <xsl:when test="info/subtitle">
3178       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
3179     </xsl:when>
3180     <xsl:when test="subtitle">
3181       <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
3182     </xsl:when>
3183   </xsl:choose>
3184
3185   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
3186   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
3187   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
3188   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
3189   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
3190   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
3191   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
3192   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
3193   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
3194   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
3195   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
3196   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
3197   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
3198   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
3199   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
3200   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
3201   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
3202   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
3203   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
3204   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
3205   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
3206   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
3207   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
3208   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
3209   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
3210   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
3211   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
3212   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
3213   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
3214   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
3215   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
3216   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
3217   <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
3218 </xsl:template>
3219
3220 <xsl:template name="simplesect.titlepage.verso">
3221 </xsl:template>
3222
3223 <xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
3224 </xsl:template>
3225
3226 <xsl:template name="simplesect.titlepage.before.recto">
3227 </xsl:template>
3228
3229 <xsl:template name="simplesect.titlepage.before.verso">
3230 </xsl:template>
3231
3232 <xsl:template name="simplesect.titlepage">
3233   <div class="titlepage">
3234     <xsl:variable name="recto.content">
3235       <xsl:call-template name="simplesect.titlepage.before.recto"/>
3236       <xsl:call-template name="simplesect.titlepage.recto"/>
3237     </xsl:variable>
3238     <xsl:variable name="recto.elements.count">
3239       <xsl:choose>
3240         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3241         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3242           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3243         <xsl:otherwise>1</xsl:otherwise>
3244       </xsl:choose>
3245     </xsl:variable>
3246     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3247       <div><xsl:copy-of select="$recto.content"/></div>
3248     </xsl:if>
3249     <xsl:variable name="verso.content">
3250       <xsl:call-template name="simplesect.titlepage.before.verso"/>
3251       <xsl:call-template name="simplesect.titlepage.verso"/>
3252     </xsl:variable>
3253     <xsl:variable name="verso.elements.count">
3254       <xsl:choose>
3255         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3256         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3257           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3258         <xsl:otherwise>1</xsl:otherwise>
3259       </xsl:choose>
3260     </xsl:variable>
3261     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3262       <div><xsl:copy-of select="$verso.content"/></div>
3263     </xsl:if>
3264     <xsl:call-template name="simplesect.titlepage.separator"/>
3265   </div>
3266 </xsl:template>
3267
3268 <xsl:template match="*" mode="simplesect.titlepage.recto.mode">
3269   <!-- if an element isn't found in this mode, -->
3270   <!-- try the generic titlepage.mode -->
3271   <xsl:apply-templates select="." mode="titlepage.mode"/>
3272 </xsl:template>
3273
3274 <xsl:template match="*" mode="simplesect.titlepage.verso.mode">
3275   <!-- if an element isn't found in this mode, -->
3276   <!-- try the generic titlepage.mode -->
3277   <xsl:apply-templates select="." mode="titlepage.mode"/>
3278 </xsl:template>
3279
3280 <xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
3281 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3282 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3283 </div>
3284 </xsl:template>
3285
3286 <xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
3287 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3288 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3289 </div>
3290 </xsl:template>
3291
3292 <xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
3293 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3294 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3295 </div>
3296 </xsl:template>
3297
3298 <xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
3299 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3300 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3301 </div>
3302 </xsl:template>
3303
3304 <xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
3305 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3306 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3307 </div>
3308 </xsl:template>
3309
3310 <xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
3311 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3312 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3313 </div>
3314 </xsl:template>
3315
3316 <xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
3317 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3318 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3319 </div>
3320 </xsl:template>
3321
3322 <xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
3323 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3324 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3325 </div>
3326 </xsl:template>
3327
3328 <xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
3329 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3330 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3331 </div>
3332 </xsl:template>
3333
3334 <xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
3335 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3336 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3337 </div>
3338 </xsl:template>
3339
3340 <xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
3341 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3342 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3343 </div>
3344 </xsl:template>
3345
3346 <xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
3347 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3348 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3349 </div>
3350 </xsl:template>
3351
3352 <xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
3353 <div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3354 <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3355 </div>
3356 </xsl:template>
3357
3358 <xsl:template name="bibliography.titlepage.recto">
3359   <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
3360 <xsl:call-template name="component.title">
3361 <xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
3362 </xsl:call-template></div>
3363   <xsl:choose>
3364     <xsl:when test="bibliographyinfo/subtitle">
3365       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
3366     </xsl:when>
3367     <xsl:when test="docinfo/subtitle">
3368       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3369     </xsl:when>
3370     <xsl:when test="info/subtitle">
3371       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
3372     </xsl:when>
3373     <xsl:when test="subtitle">
3374       <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
3375     </xsl:when>
3376   </xsl:choose>
3377
3378 </xsl:template>
3379
3380 <xsl:template name="bibliography.titlepage.verso">
3381 </xsl:template>
3382
3383 <xsl:template name="bibliography.titlepage.separator">
3384 </xsl:template>
3385
3386 <xsl:template name="bibliography.titlepage.before.recto">
3387 </xsl:template>
3388
3389 <xsl:template name="bibliography.titlepage.before.verso">
3390 </xsl:template>
3391
3392 <xsl:template name="bibliography.titlepage">
3393   <div class="titlepage">
3394     <xsl:variable name="recto.content">
3395       <xsl:call-template name="bibliography.titlepage.before.recto"/>
3396       <xsl:call-template name="bibliography.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="bibliography.titlepage.before.verso"/>
3411       <xsl:call-template name="bibliography.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="bibliography.titlepage.separator"/>
3425   </div>
3426 </xsl:template>
3427
3428 <xsl:template match="*" mode="bibliography.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="bibliography.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="bibliography.titlepage.recto.auto.mode">
3441 <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
3442 <xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
3443 </div>
3444 </xsl:template>
3445
3446 <xsl:template name="glossary.titlepage.recto">
3447   <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
3448 <xsl:call-template name="component.title">
3449 <xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
3450 </xsl:call-template></div>
3451   <xsl:choose>
3452     <xsl:when test="glossaryinfo/subtitle">
3453       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
3454     </xsl:when>
3455     <xsl:when test="docinfo/subtitle">
3456       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3457     </xsl:when>
3458     <xsl:when test="info/subtitle">
3459       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
3460     </xsl:when>
3461     <xsl:when test="subtitle">
3462       <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
3463     </xsl:when>
3464   </xsl:choose>
3465
3466 </xsl:template>
3467
3468 <xsl:template name="glossary.titlepage.verso">
3469 </xsl:template>
3470
3471 <xsl:template name="glossary.titlepage.separator">
3472 </xsl:template>
3473
3474 <xsl:template name="glossary.titlepage.before.recto">
3475 </xsl:template>
3476
3477 <xsl:template name="glossary.titlepage.before.verso">
3478 </xsl:template>
3479
3480 <xsl:template name="glossary.titlepage">
3481   <div class="titlepage">
3482     <xsl:variable name="recto.content">
3483       <xsl:call-template name="glossary.titlepage.before.recto"/>
3484       <xsl:call-template name="glossary.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="glossary.titlepage.before.verso"/>
3499       <xsl:call-template name="glossary.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="glossary.titlepage.separator"/>
3513   </div>
3514 </xsl:template>
3515
3516 <xsl:template match="*" mode="glossary.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="glossary.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="glossary.titlepage.recto.auto.mode">
3529 <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
3530 <xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
3531 </div>
3532 </xsl:template>
3533
3534 <xsl:template name="index.titlepage.recto">
3535   <div xsl:use-attribute-sets="index.titlepage.recto.style">
3536 <xsl:call-template name="component.title">
3537 <xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
3538 </xsl:call-template></div>
3539   <xsl:choose>
3540     <xsl:when test="indexinfo/subtitle">
3541       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
3542     </xsl:when>
3543     <xsl:when test="docinfo/subtitle">
3544       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3545     </xsl:when>
3546     <xsl:when test="info/subtitle">
3547       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
3548     </xsl:when>
3549     <xsl:when test="subtitle">
3550       <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
3551     </xsl:when>
3552   </xsl:choose>
3553
3554 </xsl:template>
3555
3556 <xsl:template name="index.titlepage.verso">
3557 </xsl:template>
3558
3559 <xsl:template name="index.titlepage.separator">
3560 </xsl:template>
3561
3562 <xsl:template name="index.titlepage.before.recto">
3563 </xsl:template>
3564
3565 <xsl:template name="index.titlepage.before.verso">
3566 </xsl:template>
3567
3568 <xsl:template name="index.titlepage">
3569   <div class="titlepage">
3570     <xsl:variable name="recto.content">
3571       <xsl:call-template name="index.titlepage.before.recto"/>
3572       <xsl:call-template name="index.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="index.titlepage.before.verso"/>
3587       <xsl:call-template name="index.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="index.titlepage.separator"/>
3601   </div>
3602 </xsl:template>
3603
3604 <xsl:template match="*" mode="index.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="index.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="index.titlepage.recto.auto.mode">
3617 <div xsl:use-attribute-sets="index.titlepage.recto.style">
3618 <xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
3619 </div>
3620 </xsl:template>
3621
3622 <xsl:template name="setindex.titlepage.recto">
3623   <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
3624 <xsl:call-template name="component.title">
3625 <xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
3626 </xsl:call-template></div>
3627   <xsl:choose>
3628     <xsl:when test="setindexinfo/subtitle">
3629       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
3630     </xsl:when>
3631     <xsl:when test="docinfo/subtitle">
3632       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3633     </xsl:when>
3634     <xsl:when test="info/subtitle">
3635       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
3636     </xsl:when>
3637     <xsl:when test="subtitle">
3638       <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
3639     </xsl:when>
3640   </xsl:choose>
3641
3642 </xsl:template>
3643
3644 <xsl:template name="setindex.titlepage.verso">
3645 </xsl:template>
3646
3647 <xsl:template name="setindex.titlepage.separator">
3648 </xsl:template>
3649
3650 <xsl:template name="setindex.titlepage.before.recto">
3651 </xsl:template>
3652
3653 <xsl:template name="setindex.titlepage.before.verso">
3654 </xsl:template>
3655
3656 <xsl:template name="setindex.titlepage">
3657   <div class="titlepage">
3658     <xsl:variable name="recto.content">
3659       <xsl:call-template name="setindex.titlepage.before.recto"/>
3660       <xsl:call-template name="setindex.titlepage.recto"/>
3661     </xsl:variable>
3662     <xsl:variable name="recto.elements.count">
3663       <xsl:choose>
3664         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3665         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3666           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3667         <xsl:otherwise>1</xsl:otherwise>
3668       </xsl:choose>
3669     </xsl:variable>
3670     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3671       <div><xsl:copy-of select="$recto.content"/></div>
3672     </xsl:if>
3673     <xsl:variable name="verso.content">
3674       <xsl:call-template name="setindex.titlepage.before.verso"/>
3675       <xsl:call-template name="setindex.titlepage.verso"/>
3676     </xsl:variable>
3677     <xsl:variable name="verso.elements.count">
3678       <xsl:choose>
3679         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3680         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3681           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3682         <xsl:otherwise>1</xsl:otherwise>
3683       </xsl:choose>
3684     </xsl:variable>
3685     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3686       <div><xsl:copy-of select="$verso.content"/></div>
3687     </xsl:if>
3688     <xsl:call-template name="setindex.titlepage.separator"/>
3689   </div>
3690 </xsl:template>
3691
3692 <xsl:template match="*" mode="setindex.titlepage.recto.mode">
3693   <!-- if an element isn't found in this mode, -->
3694   <!-- try the generic titlepage.mode -->
3695   <xsl:apply-templates select="." mode="titlepage.mode"/>
3696 </xsl:template>
3697
3698 <xsl:template match="*" mode="setindex.titlepage.verso.mode">
3699   <!-- if an element isn't found in this mode, -->
3700   <!-- try the generic titlepage.mode -->
3701   <xsl:apply-templates select="." mode="titlepage.mode"/>
3702 </xsl:template>
3703
3704 <xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
3705 <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
3706 <xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
3707 </div>
3708 </xsl:template>
3709
3710 <xsl:template name="sidebar.titlepage.recto">
3711   <xsl:choose>
3712     <xsl:when test="sidebarinfo/title">
3713       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/title"/>
3714     </xsl:when>
3715     <xsl:when test="docinfo/title">
3716       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/title"/>
3717     </xsl:when>
3718     <xsl:when test="info/title">
3719       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/title"/>
3720     </xsl:when>
3721     <xsl:when test="title">
3722       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="title"/>
3723     </xsl:when>
3724   </xsl:choose>
3725
3726   <xsl:choose>
3727     <xsl:when test="sidebarinfo/subtitle">
3728       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/subtitle"/>
3729     </xsl:when>
3730     <xsl:when test="docinfo/subtitle">
3731       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3732     </xsl:when>
3733     <xsl:when test="info/subtitle">
3734       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/subtitle"/>
3735     </xsl:when>
3736     <xsl:when test="subtitle">
3737       <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="subtitle"/>
3738     </xsl:when>
3739   </xsl:choose>
3740
3741 </xsl:template>
3742
3743 <xsl:template name="sidebar.titlepage.verso">
3744 </xsl:template>
3745
3746 <xsl:template name="sidebar.titlepage.separator">
3747 </xsl:template>
3748
3749 <xsl:template name="sidebar.titlepage.before.recto">
3750 </xsl:template>
3751
3752 <xsl:template name="sidebar.titlepage.before.verso">
3753 </xsl:template>
3754
3755 <xsl:template name="sidebar.titlepage">
3756   <div class="titlepage">
3757     <xsl:variable name="recto.content">
3758       <xsl:call-template name="sidebar.titlepage.before.recto"/>
3759       <xsl:call-template name="sidebar.titlepage.recto"/>
3760     </xsl:variable>
3761     <xsl:variable name="recto.elements.count">
3762       <xsl:choose>
3763         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3764         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3765           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3766         <xsl:otherwise>1</xsl:otherwise>
3767       </xsl:choose>
3768     </xsl:variable>
3769     <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3770       <div><xsl:copy-of select="$recto.content"/></div>
3771     </xsl:if>
3772     <xsl:variable name="verso.content">
3773       <xsl:call-template name="sidebar.titlepage.before.verso"/>
3774       <xsl:call-template name="sidebar.titlepage.verso"/>
3775     </xsl:variable>
3776     <xsl:variable name="verso.elements.count">
3777       <xsl:choose>
3778         <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3779         <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3780           <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3781         <xsl:otherwise>1</xsl:otherwise>
3782       </xsl:choose>
3783     </xsl:variable>
3784     <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3785       <div><xsl:copy-of select="$verso.content"/></div>
3786     </xsl:if>
3787     <xsl:call-template name="sidebar.titlepage.separator"/>
3788   </div>
3789 </xsl:template>
3790
3791 <xsl:template match="*" mode="sidebar.titlepage.recto.mode">
3792   <!-- if an element isn't found in this mode, -->
3793   <!-- try the generic titlepage.mode -->
3794   <xsl:apply-templates select="." mode="titlepage.mode"/>
3795 </xsl:template>
3796
3797 <xsl:template match="*" mode="sidebar.titlepage.verso.mode">
3798   <!-- if an element isn't found in this mode, -->
3799   <!-- try the generic titlepage.mode -->
3800   <xsl:apply-templates select="." mode="titlepage.mode"/>
3801 </xsl:template>
3802
3803 <xsl:template match="title" mode="sidebar.titlepage.recto.auto.mode">
3804 <div xsl:use-attribute-sets="sidebar.titlepage.recto.style">
3805 <xsl:call-template name="formal.object.heading">
3806 <xsl:with-param name="object" select="ancestor-or-self::sidebar[1]"/>
3807 </xsl:call-template>
3808 </div>
3809 </xsl:template>
3810
3811 <xsl:template match="subtitle" mode="sidebar.titlepage.recto.auto.mode">
3812 <div xsl:use-attribute-sets="sidebar.titlepage.recto.style">
3813 <xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/>
3814 </div>
3815 </xsl:template>
3816
3817 </xsl:stylesheet>