root/docs/docbook-xsl/fo/titlepage.templates.xsl

Revision 23dea7e00df87480acb58bb3398283c2bb227949, 215.3 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 8 years ago)

pull docs into master

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