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