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