diff options
author | Adrian Dudau <adrian.dudau@enea.com> | 2014-06-26 14:38:37 +0200 |
---|---|---|
committer | Adrian Dudau <adrian.dudau@enea.com> | 2014-06-26 14:38:37 +0200 |
commit | 067445c1487c1a73e0ee8a9ae3e82d446406ab57 (patch) | |
tree | d47aa232ce1c82cf47aa348f20902937e073239a /documentation/yocto-project-qs | |
download | yocto-docs-daisy.tar.gz |
initial commit for Enea Linux 4.0daisy
Migrated from the internal git server on the daisy-enea branch
Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'documentation/yocto-project-qs')
-rwxr-xr-x | documentation/yocto-project-qs/figures/building-an-image.png | bin | 0 -> 14891 bytes | |||
-rw-r--r-- | documentation/yocto-project-qs/figures/using-a-pre-built-image.png | bin | 0 -> 12733 bytes | |||
-rw-r--r-- | documentation/yocto-project-qs/figures/yocto-environment.png | bin | 0 -> 73095 bytes | |||
-rwxr-xr-x | documentation/yocto-project-qs/figures/yocto-project-transp.png | bin | 0 -> 8626 bytes | |||
-rw-r--r-- | documentation/yocto-project-qs/qs-style.css | 983 | ||||
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs-customization.xsl | 15 | ||||
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl | 25 | ||||
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs-titlepage.xsl | 3820 | ||||
-rw-r--r-- | documentation/yocto-project-qs/yocto-project-qs.xml | 948 |
9 files changed, 5791 insertions, 0 deletions
diff --git a/documentation/yocto-project-qs/figures/building-an-image.png b/documentation/yocto-project-qs/figures/building-an-image.png new file mode 100755 index 0000000..1fbea5a --- /dev/null +++ b/documentation/yocto-project-qs/figures/building-an-image.png | |||
Binary files differ | |||
diff --git a/documentation/yocto-project-qs/figures/using-a-pre-built-image.png b/documentation/yocto-project-qs/figures/using-a-pre-built-image.png new file mode 100644 index 0000000..b03130d --- /dev/null +++ b/documentation/yocto-project-qs/figures/using-a-pre-built-image.png | |||
Binary files differ | |||
diff --git a/documentation/yocto-project-qs/figures/yocto-environment.png b/documentation/yocto-project-qs/figures/yocto-environment.png new file mode 100644 index 0000000..82b7a55 --- /dev/null +++ b/documentation/yocto-project-qs/figures/yocto-environment.png | |||
Binary files differ | |||
diff --git a/documentation/yocto-project-qs/figures/yocto-project-transp.png b/documentation/yocto-project-qs/figures/yocto-project-transp.png new file mode 100755 index 0000000..31d2b14 --- /dev/null +++ b/documentation/yocto-project-qs/figures/yocto-project-transp.png | |||
Binary files differ | |||
diff --git a/documentation/yocto-project-qs/qs-style.css b/documentation/yocto-project-qs/qs-style.css new file mode 100644 index 0000000..235c85a --- /dev/null +++ b/documentation/yocto-project-qs/qs-style.css | |||
@@ -0,0 +1,983 @@ | |||
1 | /* | ||
2 | Generic XHTML / DocBook XHTML CSS Stylesheet. | ||
3 | |||
4 | Browser wrangling and typographic design by | ||
5 | Oyvind Kolas / pippin@gimp.org | ||
6 | |||
7 | Customised for Poky by | ||
8 | Matthew Allum / mallum@o-hand.com | ||
9 | |||
10 | Thanks to: | ||
11 | Liam R. E. Quin | ||
12 | William Skaggs | ||
13 | Jakub Steiner | ||
14 | |||
15 | Structure | ||
16 | --------- | ||
17 | |||
18 | The stylesheet is divided into the following sections: | ||
19 | |||
20 | Positioning | ||
21 | Margins, paddings, width, font-size, clearing. | ||
22 | Decorations | ||
23 | Borders, style | ||
24 | Colors | ||
25 | Colors | ||
26 | Graphics | ||
27 | Graphical backgrounds | ||
28 | Nasty IE tweaks | ||
29 | Workarounds needed to make it work in internet explorer, | ||
30 | currently makes the stylesheet non validating, but up until | ||
31 | this point it is validating. | ||
32 | Mozilla extensions | ||
33 | Transparency for footer | ||
34 | Rounded corners on boxes | ||
35 | |||
36 | */ | ||
37 | |||
38 | |||
39 | /*************** / | ||
40 | / Positioning / | ||
41 | / ***************/ | ||
42 | |||
43 | body { | ||
44 | font-family: Verdana, Sans, sans-serif; | ||
45 | |||
46 | min-width: 640px; | ||
47 | width: 80%; | ||
48 | margin: 0em auto; | ||
49 | padding: 2em 5em 5em 5em; | ||
50 | color: #333; | ||
51 | } | ||
52 | |||
53 | h1,h2,h3,h4,h5,h6,h7 { | ||
54 | font-family: Arial, Sans; | ||
55 | color: #00557D; | ||
56 | clear: both; | ||
57 | } | ||
58 | |||
59 | h1 { | ||
60 | font-size: 2em; | ||
61 | text-align: left; | ||
62 | padding: 0em 0em 0em 0em; | ||
63 | margin: 2em 0em 0em 0em; | ||
64 | } | ||
65 | |||
66 | h2.subtitle { | ||
67 | margin: 0.10em 0em 3.0em 0em; | ||
68 | padding: 0em 0em 0em 0em; | ||
69 | font-size: 1.8em; | ||
70 | padding-left: 20%; | ||
71 | font-weight: normal; | ||
72 | font-style: italic; | ||
73 | } | ||
74 | |||
75 | h2 { | ||
76 | margin: 2em 0em 0.66em 0em; | ||
77 | padding: 0.5em 0em 0em 0em; | ||
78 | font-size: 1.5em; | ||
79 | font-weight: bold; | ||
80 | } | ||
81 | |||
82 | h3.subtitle { | ||
83 | margin: 0em 0em 1em 0em; | ||
84 | padding: 0em 0em 0em 0em; | ||
85 | font-size: 142.14%; | ||
86 | text-align: right; | ||
87 | } | ||
88 | |||
89 | h3 { | ||
90 | margin: 1em 0em 0.5em 0em; | ||
91 | padding: 1em 0em 0em 0em; | ||
92 | font-size: 140%; | ||
93 | font-weight: bold; | ||
94 | } | ||
95 | |||
96 | h4 { | ||
97 | margin: 1em 0em 0.5em 0em; | ||
98 | padding: 1em 0em 0em 0em; | ||
99 | font-size: 120%; | ||
100 | font-weight: bold; | ||
101 | } | ||
102 | |||
103 | h5 { | ||
104 | margin: 1em 0em 0.5em 0em; | ||
105 | padding: 1em 0em 0em 0em; | ||
106 | font-size: 110%; | ||
107 | font-weight: bold; | ||
108 | } | ||
109 | |||
110 | h6 { | ||
111 | margin: 1em 0em 0em 0em; | ||
112 | padding: 1em 0em 0em 0em; | ||
113 | font-size: 110%; | ||
114 | font-weight: bold; | ||
115 | } | ||
116 | |||
117 | .authorgroup { | ||
118 | background-color: transparent; | ||
119 | background-repeat: no-repeat; | ||
120 | padding-top: 256px; | ||
121 | background-position: top; | ||
122 | margin-top: -256px; | ||
123 | padding-right: 50px; | ||
124 | margin-left: 50px; | ||
125 | text-align: center; | ||
126 | width: 600px; | ||
127 | } | ||
128 | |||
129 | h3.author { | ||
130 | margin: 0em 0me 0em 0em; | ||
131 | padding: 0em 0em 0em 0em; | ||
132 | font-weight: normal; | ||
133 | font-size: 100%; | ||
134 | color: #333; | ||
135 | clear: both; | ||
136 | } | ||
137 | |||
138 | .author tt.email { | ||
139 | font-size: 66%; | ||
140 | } | ||
141 | |||
142 | .titlepage hr { | ||
143 | width: 0em; | ||
144 | clear: both; | ||
145 | } | ||
146 | |||
147 | .revhistory { | ||
148 | padding-top: 2em; | ||
149 | clear: both; | ||
150 | } | ||
151 | |||
152 | .toc, | ||
153 | .list-of-tables, | ||
154 | .list-of-examples, | ||
155 | .list-of-figures { | ||
156 | padding: 1.33em 0em 2.5em 0em; | ||
157 | color: #00557D; | ||
158 | } | ||
159 | |||
160 | .toc p, | ||
161 | .list-of-tables p, | ||
162 | .list-of-figures p, | ||
163 | .list-of-examples p { | ||
164 | padding: 0em 0em 0em 0em; | ||
165 | padding: 0em 0em 0.3em; | ||
166 | margin: 1.5em 0em 0em 0em; | ||
167 | } | ||
168 | |||
169 | .toc p b, | ||
170 | .list-of-tables p b, | ||
171 | .list-of-figures p b, | ||
172 | .list-of-examples p b{ | ||
173 | font-size: 100.0%; | ||
174 | font-weight: bold; | ||
175 | } | ||
176 | |||
177 | .toc dl, | ||
178 | .list-of-tables dl, | ||
179 | .list-of-figures dl, | ||
180 | .list-of-examples dl { | ||
181 | margin: 0em 0em 0.5em 0em; | ||
182 | padding: 0em 0em 0em 0em; | ||
183 | } | ||
184 | |||
185 | .toc dt { | ||
186 | margin: 0em 0em 0em 0em; | ||
187 | padding: 0em 0em 0em 0em; | ||
188 | } | ||
189 | |||
190 | .toc dd { | ||
191 | margin: 0em 0em 0em 2.6em; | ||
192 | padding: 0em 0em 0em 0em; | ||
193 | } | ||
194 | |||
195 | div.glossary dl, | ||
196 | div.variablelist dl { | ||
197 | } | ||
198 | |||
199 | .glossary dl dt, | ||
200 | .variablelist dl dt, | ||
201 | .variablelist dl dt span.term { | ||
202 | font-weight: normal; | ||
203 | width: 20em; | ||
204 | text-align: right; | ||
205 | } | ||
206 | |||
207 | .variablelist dl dt { | ||
208 | margin-top: 0.5em; | ||
209 | } | ||
210 | |||
211 | .glossary dl dd, | ||
212 | .variablelist dl dd { | ||
213 | margin-top: -1em; | ||
214 | margin-left: 25.5em; | ||
215 | } | ||
216 | |||
217 | .glossary dd p, | ||
218 | .variablelist dd p { | ||
219 | margin-top: 0em; | ||
220 | margin-bottom: 1em; | ||
221 | } | ||
222 | |||
223 | |||
224 | div.calloutlist table td { | ||
225 | padding: 0em 0em 0em 0em; | ||
226 | margin: 0em 0em 0em 0em; | ||
227 | } | ||
228 | |||
229 | div.calloutlist table td p { | ||
230 | margin-top: 0em; | ||
231 | margin-bottom: 1em; | ||
232 | } | ||
233 | |||
234 | div p.copyright { | ||
235 | text-align: left; | ||
236 | } | ||
237 | |||
238 | div.legalnotice p.legalnotice-title { | ||
239 | margin-bottom: 0em; | ||
240 | } | ||
241 | |||
242 | p { | ||
243 | line-height: 1.5em; | ||
244 | margin-top: 0em; | ||
245 | |||
246 | } | ||
247 | |||
248 | dl { | ||
249 | padding-top: 0em; | ||
250 | } | ||
251 | |||
252 | hr { | ||
253 | border: solid 1px; | ||
254 | } | ||
255 | |||
256 | |||
257 | .mediaobject, | ||
258 | .mediaobjectco { | ||
259 | text-align: center; | ||
260 | } | ||
261 | |||
262 | img { | ||
263 | border: none; | ||
264 | } | ||
265 | |||
266 | ul { | ||
267 | padding: 0em 0em 0em 1.5em; | ||
268 | } | ||
269 | |||
270 | ul li { | ||
271 | padding: 0em 0em 0em 0em; | ||
272 | } | ||
273 | |||
274 | ul li p { | ||
275 | text-align: left; | ||
276 | } | ||
277 | |||
278 | table { | ||
279 | width :100%; | ||
280 | } | ||
281 | |||
282 | th { | ||
283 | padding: 0.25em; | ||
284 | text-align: left; | ||
285 | font-weight: normal; | ||
286 | vertical-align: top; | ||
287 | } | ||
288 | |||
289 | td { | ||
290 | padding: 0.25em; | ||
291 | vertical-align: top; | ||
292 | } | ||
293 | |||
294 | p a[id] { | ||
295 | margin: 0px; | ||
296 | padding: 0px; | ||
297 | display: inline; | ||
298 | background-image: none; | ||
299 | } | ||
300 | |||
301 | a { | ||
302 | text-decoration: underline; | ||
303 | color: #444; | ||
304 | } | ||
305 | |||
306 | pre { | ||
307 | overflow: auto; | ||
308 | } | ||
309 | |||
310 | a:hover { | ||
311 | text-decoration: underline; | ||
312 | /*font-weight: bold;*/ | ||
313 | } | ||
314 | |||
315 | /* This style defines how the permalink character | ||
316 | appears by itself and when hovered over with | ||
317 | the mouse. */ | ||
318 | |||
319 | [alt='Permalink'] { color: #eee; } | ||
320 | [alt='Permalink']:hover { color: black; } | ||
321 | |||
322 | |||
323 | div.informalfigure, | ||
324 | div.informalexample, | ||
325 | div.informaltable, | ||
326 | div.figure, | ||
327 | div.table, | ||
328 | div.example { | ||
329 | margin: 1em 0em; | ||
330 | padding: 1em; | ||
331 | page-break-inside: avoid; | ||
332 | } | ||
333 | |||
334 | |||
335 | div.informalfigure p.title b, | ||
336 | div.informalexample p.title b, | ||
337 | div.informaltable p.title b, | ||
338 | div.figure p.title b, | ||
339 | div.example p.title b, | ||
340 | div.table p.title b{ | ||
341 | padding-top: 0em; | ||
342 | margin-top: 0em; | ||
343 | font-size: 100%; | ||
344 | font-weight: normal; | ||
345 | } | ||
346 | |||
347 | .mediaobject .caption, | ||
348 | .mediaobject .caption p { | ||
349 | text-align: center; | ||
350 | font-size: 80%; | ||
351 | padding-top: 0.5em; | ||
352 | padding-bottom: 0.5em; | ||
353 | } | ||
354 | |||
355 | .epigraph { | ||
356 | padding-left: 55%; | ||
357 | margin-bottom: 1em; | ||
358 | } | ||
359 | |||
360 | .epigraph p { | ||
361 | text-align: left; | ||
362 | } | ||
363 | |||
364 | .epigraph .quote { | ||
365 | font-style: italic; | ||
366 | } | ||
367 | .epigraph .attribution { | ||
368 | font-style: normal; | ||
369 | text-align: right; | ||
370 | } | ||
371 | |||
372 | span.application { | ||
373 | font-style: italic; | ||
374 | } | ||
375 | |||
376 | .programlisting { | ||
377 | font-family: monospace; | ||
378 | font-size: 80%; | ||
379 | white-space: pre; | ||
380 | margin: 1.33em 0em; | ||
381 | padding: 1.33em; | ||
382 | } | ||
383 | |||
384 | .tip, | ||
385 | .warning, | ||
386 | .caution, | ||
387 | .note { | ||
388 | margin-top: 1em; | ||
389 | margin-bottom: 1em; | ||
390 | |||
391 | } | ||
392 | |||
393 | /* force full width of table within div */ | ||
394 | .tip table, | ||
395 | .warning table, | ||
396 | .caution table, | ||
397 | .note table { | ||
398 | border: none; | ||
399 | width: 100%; | ||
400 | } | ||
401 | |||
402 | |||
403 | .tip table th, | ||
404 | .warning table th, | ||
405 | .caution table th, | ||
406 | .note table th { | ||
407 | padding: 0.8em 0.0em 0.0em 0.0em; | ||
408 | margin : 0em 0em 0em 0em; | ||
409 | } | ||
410 | |||
411 | .tip p, | ||
412 | .warning p, | ||
413 | .caution p, | ||
414 | .note p { | ||
415 | margin-top: 0.5em; | ||
416 | margin-bottom: 0.5em; | ||
417 | padding-right: 1em; | ||
418 | text-align: left; | ||
419 | } | ||
420 | |||
421 | .acronym { | ||
422 | text-transform: uppercase; | ||
423 | } | ||
424 | |||
425 | b.keycap, | ||
426 | .keycap { | ||
427 | padding: 0.09em 0.3em; | ||
428 | margin: 0em; | ||
429 | } | ||
430 | |||
431 | .itemizedlist li { | ||
432 | clear: none; | ||
433 | } | ||
434 | |||
435 | .filename { | ||
436 | font-size: medium; | ||
437 | font-family: Courier, monospace; | ||
438 | } | ||
439 | |||
440 | |||
441 | div.navheader, div.heading{ | ||
442 | position: absolute; | ||
443 | left: 0em; | ||
444 | top: 0em; | ||
445 | width: 100%; | ||
446 | background-color: #cdf; | ||
447 | width: 100%; | ||
448 | } | ||
449 | |||
450 | div.navfooter, div.footing{ | ||
451 | position: fixed; | ||
452 | left: 0em; | ||
453 | bottom: 0em; | ||
454 | background-color: #eee; | ||
455 | width: 100%; | ||
456 | } | ||
457 | |||
458 | |||
459 | div.navheader td, | ||
460 | div.navfooter td { | ||
461 | font-size: 66%; | ||
462 | } | ||
463 | |||
464 | div.navheader table th { | ||
465 | /*font-family: Georgia, Times, serif;*/ | ||
466 | /*font-size: x-large;*/ | ||
467 | font-size: 80%; | ||
468 | } | ||
469 | |||
470 | div.navheader table { | ||
471 | border-left: 0em; | ||
472 | border-right: 0em; | ||
473 | border-top: 0em; | ||
474 | width: 100%; | ||
475 | } | ||
476 | |||
477 | div.navfooter table { | ||
478 | border-left: 0em; | ||
479 | border-right: 0em; | ||
480 | border-bottom: 0em; | ||
481 | width: 100%; | ||
482 | } | ||
483 | |||
484 | div.navheader table td a, | ||
485 | div.navfooter table td a { | ||
486 | color: #777; | ||
487 | text-decoration: none; | ||
488 | } | ||
489 | |||
490 | /* normal text in the footer */ | ||
491 | div.navfooter table td { | ||
492 | color: black; | ||
493 | } | ||
494 | |||
495 | div.navheader table td a:visited, | ||
496 | div.navfooter table td a:visited { | ||
497 | color: #444; | ||
498 | } | ||
499 | |||
500 | |||
501 | /* links in header and footer */ | ||
502 | div.navheader table td a:hover, | ||
503 | div.navfooter table td a:hover { | ||
504 | text-decoration: underline; | ||
505 | background-color: transparent; | ||
506 | color: #33a; | ||
507 | } | ||
508 | |||
509 | div.navheader hr, | ||
510 | div.navfooter hr { | ||
511 | display: none; | ||
512 | } | ||
513 | |||
514 | |||
515 | .qandaset tr.question td p { | ||
516 | margin: 0em 0em 1em 0em; | ||
517 | padding: 0em 0em 0em 0em; | ||
518 | } | ||
519 | |||
520 | .qandaset tr.answer td p { | ||
521 | margin: 0em 0em 1em 0em; | ||
522 | padding: 0em 0em 0em 0em; | ||
523 | } | ||
524 | .answer td { | ||
525 | padding-bottom: 1.5em; | ||
526 | } | ||
527 | |||
528 | .emphasis { | ||
529 | font-weight: bold; | ||
530 | } | ||
531 | |||
532 | |||
533 | /************* / | ||
534 | / decorations / | ||
535 | / *************/ | ||
536 | |||
537 | .titlepage { | ||
538 | } | ||
539 | |||
540 | .part .title { | ||
541 | } | ||
542 | |||
543 | .subtitle { | ||
544 | border: none; | ||
545 | } | ||
546 | |||
547 | /* | ||
548 | h1 { | ||
549 | border: none; | ||
550 | } | ||
551 | |||
552 | h2 { | ||
553 | border-top: solid 0.2em; | ||
554 | border-bottom: solid 0.06em; | ||
555 | } | ||
556 | |||
557 | h3 { | ||
558 | border-top: 0em; | ||
559 | border-bottom: solid 0.06em; | ||
560 | } | ||
561 | |||
562 | h4 { | ||
563 | border: 0em; | ||
564 | border-bottom: solid 0.06em; | ||
565 | } | ||
566 | |||
567 | h5 { | ||
568 | border: 0em; | ||
569 | } | ||
570 | */ | ||
571 | |||
572 | .programlisting { | ||
573 | border: solid 1px; | ||
574 | } | ||
575 | |||
576 | div.figure, | ||
577 | div.table, | ||
578 | div.informalfigure, | ||
579 | div.informaltable, | ||
580 | div.informalexample, | ||
581 | div.example { | ||
582 | border: 1px solid; | ||
583 | } | ||
584 | |||
585 | |||
586 | |||
587 | .tip, | ||
588 | .warning, | ||
589 | .caution, | ||
590 | .note { | ||
591 | border: 1px solid; | ||
592 | } | ||
593 | |||
594 | .tip table th, | ||
595 | .warning table th, | ||
596 | .caution table th, | ||
597 | .note table th { | ||
598 | border-bottom: 1px solid; | ||
599 | } | ||
600 | |||
601 | .question td { | ||
602 | border-top: 1px solid black; | ||
603 | } | ||
604 | |||
605 | .answer { | ||
606 | } | ||
607 | |||
608 | |||
609 | b.keycap, | ||
610 | .keycap { | ||
611 | border: 1px solid; | ||
612 | } | ||
613 | |||
614 | |||
615 | div.navheader, div.heading{ | ||
616 | border-bottom: 1px solid; | ||
617 | } | ||
618 | |||
619 | |||
620 | div.navfooter, div.footing{ | ||
621 | border-top: 1px solid; | ||
622 | } | ||
623 | |||
624 | /********* / | ||
625 | / colors / | ||
626 | / *********/ | ||
627 | |||
628 | body { | ||
629 | color: #333; | ||
630 | background: white; | ||
631 | } | ||
632 | |||
633 | a { | ||
634 | background: transparent; | ||
635 | } | ||
636 | |||
637 | a:hover { | ||
638 | background-color: #dedede; | ||
639 | } | ||
640 | |||
641 | |||
642 | h1, | ||
643 | h2, | ||
644 | h3, | ||
645 | h4, | ||
646 | h5, | ||
647 | h6, | ||
648 | h7, | ||
649 | h8 { | ||
650 | background-color: transparent; | ||
651 | } | ||
652 | |||
653 | hr { | ||
654 | border-color: #aaa; | ||
655 | } | ||
656 | |||
657 | |||
658 | .tip, .warning, .caution, .note { | ||
659 | border-color: #fff; | ||
660 | } | ||
661 | |||
662 | |||
663 | .tip table th, | ||
664 | .warning table th, | ||
665 | .caution table th, | ||
666 | .note table th { | ||
667 | border-bottom-color: #fff; | ||
668 | } | ||
669 | |||
670 | |||
671 | .warning { | ||
672 | background-color: #f0f0f2; | ||
673 | } | ||
674 | |||
675 | .caution { | ||
676 | background-color: #f0f0f2; | ||
677 | } | ||
678 | |||
679 | .tip { | ||
680 | background-color: #f0f0f2; | ||
681 | } | ||
682 | |||
683 | .note { | ||
684 | background-color: #f0f0f2; | ||
685 | } | ||
686 | |||
687 | .glossary dl dt, | ||
688 | .variablelist dl dt, | ||
689 | .variablelist dl dt span.term { | ||
690 | color: #044; | ||
691 | } | ||
692 | |||
693 | div.figure, | ||
694 | div.table, | ||
695 | div.example, | ||
696 | div.informalfigure, | ||
697 | div.informaltable, | ||
698 | div.informalexample { | ||
699 | border-color: #aaa; | ||
700 | } | ||
701 | |||
702 | pre.programlisting { | ||
703 | color: black; | ||
704 | background-color: #fff; | ||
705 | border-color: #aaa; | ||
706 | border-width: 2px; | ||
707 | } | ||
708 | |||
709 | .guimenu, | ||
710 | .guilabel, | ||
711 | .guimenuitem { | ||
712 | background-color: #eee; | ||
713 | } | ||
714 | |||
715 | |||
716 | b.keycap, | ||
717 | .keycap { | ||
718 | background-color: #eee; | ||
719 | border-color: #999; | ||
720 | } | ||
721 | |||
722 | |||
723 | div.navheader { | ||
724 | border-color: black; | ||
725 | } | ||
726 | |||
727 | |||
728 | div.navfooter { | ||
729 | border-color: black; | ||
730 | } | ||
731 | |||
732 | |||
733 | /*********** / | ||
734 | / graphics / | ||
735 | / ***********/ | ||
736 | |||
737 | /* | ||
738 | body { | ||
739 | background-image: url("images/body_bg.jpg"); | ||
740 | background-attachment: fixed; | ||
741 | } | ||
742 | |||
743 | .navheader, | ||
744 | .note, | ||
745 | .tip { | ||
746 | background-image: url("images/note_bg.jpg"); | ||
747 | background-attachment: fixed; | ||
748 | } | ||
749 | |||
750 | .warning, | ||
751 | .caution { | ||
752 | background-image: url("images/warning_bg.jpg"); | ||
753 | background-attachment: fixed; | ||
754 | } | ||
755 | |||
756 | .figure, | ||
757 | .informalfigure, | ||
758 | .example, | ||
759 | .informalexample, | ||
760 | .table, | ||
761 | .informaltable { | ||
762 | background-image: url("images/figure_bg.jpg"); | ||
763 | background-attachment: fixed; | ||
764 | } | ||
765 | |||
766 | */ | ||
767 | h1, | ||
768 | h2, | ||
769 | h3, | ||
770 | h4, | ||
771 | h5, | ||
772 | h6, | ||
773 | h7{ | ||
774 | } | ||
775 | |||
776 | /* | ||
777 | Example of how to stick an image as part of the title. | ||
778 | |||
779 | div.article .titlepage .title | ||
780 | { | ||
781 | background-image: url("figures/white-on-black.png"); | ||
782 | background-position: center; | ||
783 | background-repeat: repeat-x; | ||
784 | } | ||
785 | */ | ||
786 | |||
787 | div.preface .titlepage .title, | ||
788 | div.colophon .title, | ||
789 | div.chapter .titlepage .title, | ||
790 | div.article .titlepage .title | ||
791 | { | ||
792 | } | ||
793 | |||
794 | div.section div.section .titlepage .title, | ||
795 | div.sect2 .titlepage .title { | ||
796 | background: none; | ||
797 | } | ||
798 | |||
799 | |||
800 | h1.title { | ||
801 | background-color: transparent; | ||
802 | background-repeat: no-repeat; | ||
803 | height: 256px; | ||
804 | text-indent: -9000px; | ||
805 | overflow:hidden; | ||
806 | } | ||
807 | |||
808 | h2.subtitle { | ||
809 | background-color: transparent; | ||
810 | text-indent: -9000px; | ||
811 | overflow:hidden; | ||
812 | width: 0px; | ||
813 | display: none; | ||
814 | } | ||
815 | |||
816 | /*************************************** / | ||
817 | / pippin.gimp.org specific alterations / | ||
818 | / ***************************************/ | ||
819 | |||
820 | /* | ||
821 | div.heading, div.navheader { | ||
822 | color: #777; | ||
823 | font-size: 80%; | ||
824 | padding: 0; | ||
825 | margin: 0; | ||
826 | text-align: left; | ||
827 | position: absolute; | ||
828 | top: 0px; | ||
829 | left: 0px; | ||
830 | width: 100%; | ||
831 | height: 50px; | ||
832 | background: url('/gfx/heading_bg.png') transparent; | ||
833 | background-repeat: repeat-x; | ||
834 | background-attachment: fixed; | ||
835 | border: none; | ||
836 | } | ||
837 | |||
838 | div.heading a { | ||
839 | color: #444; | ||
840 | } | ||
841 | |||
842 | div.footing, div.navfooter { | ||
843 | border: none; | ||
844 | color: #ddd; | ||
845 | font-size: 80%; | ||
846 | text-align:right; | ||
847 | |||
848 | width: 100%; | ||
849 | padding-top: 10px; | ||
850 | position: absolute; | ||
851 | bottom: 0px; | ||
852 | left: 0px; | ||
853 | |||
854 | background: url('/gfx/footing_bg.png') transparent; | ||
855 | } | ||
856 | */ | ||
857 | |||
858 | |||
859 | |||
860 | /****************** / | ||
861 | / nasty ie tweaks / | ||
862 | / ******************/ | ||
863 | |||
864 | /* | ||
865 | div.heading, div.navheader { | ||
866 | width:expression(document.body.clientWidth + "px"); | ||
867 | } | ||
868 | |||
869 | div.footing, div.navfooter { | ||
870 | width:expression(document.body.clientWidth + "px"); | ||
871 | margin-left:expression("-5em"); | ||
872 | } | ||
873 | body { | ||
874 | padding:expression("4em 5em 0em 5em"); | ||
875 | } | ||
876 | */ | ||
877 | |||
878 | /**************************************** / | ||
879 | / mozilla vendor specific css extensions / | ||
880 | / ****************************************/ | ||
881 | /* | ||
882 | div.navfooter, div.footing{ | ||
883 | -moz-opacity: 0.8em; | ||
884 | } | ||
885 | |||
886 | div.figure, | ||
887 | div.table, | ||
888 | div.informalfigure, | ||
889 | div.informaltable, | ||
890 | div.informalexample, | ||
891 | div.example, | ||
892 | .tip, | ||
893 | .warning, | ||
894 | .caution, | ||
895 | .note { | ||
896 | -moz-border-radius: 0.5em; | ||
897 | } | ||
898 | |||
899 | b.keycap, | ||
900 | .keycap { | ||
901 | -moz-border-radius: 0.3em; | ||
902 | } | ||
903 | */ | ||
904 | |||
905 | table tr td table tr td { | ||
906 | display: none; | ||
907 | } | ||
908 | |||
909 | |||
910 | hr { | ||
911 | display: none; | ||
912 | } | ||
913 | |||
914 | table { | ||
915 | border: 0em; | ||
916 | } | ||
917 | |||
918 | .photo { | ||
919 | float: right; | ||
920 | margin-left: 1.5em; | ||
921 | margin-bottom: 1.5em; | ||
922 | margin-top: 0em; | ||
923 | max-width: 17em; | ||
924 | border: 1px solid gray; | ||
925 | padding: 3px; | ||
926 | background: white; | ||
927 | } | ||
928 | .seperator { | ||
929 | padding-top: 2em; | ||
930 | clear: both; | ||
931 | } | ||
932 | |||
933 | #validators { | ||
934 | margin-top: 5em; | ||
935 | text-align: right; | ||
936 | color: #777; | ||
937 | } | ||
938 | @media print { | ||
939 | body { | ||
940 | font-size: 8pt; | ||
941 | } | ||
942 | .noprint { | ||
943 | display: none; | ||
944 | } | ||
945 | } | ||
946 | |||
947 | |||
948 | .tip, | ||
949 | .note { | ||
950 | background: #f0f0f2; | ||
951 | color: #333; | ||
952 | padding: 20px; | ||
953 | margin: 20px; | ||
954 | } | ||
955 | |||
956 | .tip h3, | ||
957 | .note h3 { | ||
958 | padding: 0em; | ||
959 | margin: 0em; | ||
960 | font-size: 2em; | ||
961 | font-weight: bold; | ||
962 | color: #333; | ||
963 | } | ||
964 | |||
965 | .tip a, | ||
966 | .note a { | ||
967 | color: #333; | ||
968 | text-decoration: underline; | ||
969 | } | ||
970 | |||
971 | .footnote { | ||
972 | font-size: small; | ||
973 | color: #333; | ||
974 | } | ||
975 | |||
976 | /* Changes the announcement text */ | ||
977 | .tip h3, | ||
978 | .warning h3, | ||
979 | .caution h3, | ||
980 | .note h3 { | ||
981 | font-size:large; | ||
982 | color: #00557D; | ||
983 | } | ||
diff --git a/documentation/yocto-project-qs/yocto-project-qs-customization.xsl b/documentation/yocto-project-qs/yocto-project-qs-customization.xsl new file mode 100644 index 0000000..5d11e7e --- /dev/null +++ b/documentation/yocto-project-qs/yocto-project-qs-customization.xsl | |||
@@ -0,0 +1,15 @@ | |||
1 | <?xml version='1.0'?> | ||
2 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"> | ||
3 | |||
4 | <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" /> | ||
5 | <xsl:import href="yocto-project-qs-titlepage.xsl"/> | ||
6 | |||
7 | <xsl:include href="../template/permalinks.xsl"/> | ||
8 | <xsl:include href="../template/section.title.xsl"/> | ||
9 | <xsl:include href="../template/component.title.xsl"/> | ||
10 | <xsl:include href="../template/division.title.xsl"/> | ||
11 | <xsl:include href="../template/formal.object.heading.xsl"/> | ||
12 | |||
13 | <xsl:param name="generate.toc" select="'article nop'"></xsl:param> | ||
14 | <xsl:param name="html.stylesheet" select="'qs-style.css'" /> | ||
15 | </xsl:stylesheet> | ||
diff --git a/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl b/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl new file mode 100644 index 0000000..f8f8930 --- /dev/null +++ b/documentation/yocto-project-qs/yocto-project-qs-eclipse-customization.xsl | |||
@@ -0,0 +1,25 @@ | |||
1 | <?xml version='1.0'?> | ||
2 | <xsl:stylesheet | ||
3 | xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | ||
4 | xmlns="http://www.w3.org/1999/xhtml" | ||
5 | xmlns:fo="http://www.w3.org/1999/XSL/Format" | ||
6 | version="1.0"> | ||
7 | |||
8 | <xsl:import | ||
9 | href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" /> | ||
10 | <xsl:import href="yocto-project-qs-titlepage.xsl"/> | ||
11 | |||
12 | <xsl:param name="chunker.output.indent" select="'yes'"/> | ||
13 | <xsl:param name="chunk.quietly" select="1"/> | ||
14 | <xsl:param name="use.id.as.filename" select="1"/> | ||
15 | <xsl:param name="ulink.target" select="'_self'" /> | ||
16 | <xsl:param name="base.dir" select="'html/yocto-project-qs/'"/> | ||
17 | <xsl:param name="chunk.section.depth" select="0"/> | ||
18 | <xsl:param name="html.stylesheet" select="'../book.css'"/> | ||
19 | <xsl:param name="eclipse.manifest" select="0"/> | ||
20 | <xsl:param name="create.plugin.xml" select="0"/> | ||
21 | <xsl:param name="suppress.navigation" select="1"/> | ||
22 | <xsl:param name="generate.index" select="0"/> | ||
23 | <xsl:param name="generate.toc" select="'article nop'"></xsl:param> | ||
24 | <xsl:param name="html.stylesheet" select="'style.css'" /> | ||
25 | </xsl:stylesheet> | ||
diff --git a/documentation/yocto-project-qs/yocto-project-qs-titlepage.xsl b/documentation/yocto-project-qs/yocto-project-qs-titlepage.xsl new file mode 100644 index 0000000..a435ac7 --- /dev/null +++ b/documentation/yocto-project-qs/yocto-project-qs-titlepage.xsl | |||
@@ -0,0 +1,3820 @@ | |||
1 | <?xml version="1.0"?> | ||
2 | |||
3 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" version="1.0" exclude-result-prefixes="exsl"> | ||
4 | |||
5 | <!-- This stylesheet was created by template/titlepage.xsl--> | ||
6 | |||
7 | <xsl:template name="article.titlepage.recto"> | ||
8 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/> | ||
9 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/> | ||
10 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/> | ||
11 | <xsl:choose> | ||
12 | <xsl:when test="articleinfo/title"> | ||
13 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/> | ||
14 | </xsl:when> | ||
15 | <xsl:when test="artheader/title"> | ||
16 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/> | ||
17 | </xsl:when> | ||
18 | <xsl:when test="info/title"> | ||
19 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/> | ||
20 | </xsl:when> | ||
21 | <xsl:when test="title"> | ||
22 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/> | ||
23 | </xsl:when> | ||
24 | </xsl:choose> | ||
25 | |||
26 | <xsl:choose> | ||
27 | <xsl:when test="articleinfo/subtitle"> | ||
28 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/> | ||
29 | </xsl:when> | ||
30 | <xsl:when test="artheader/subtitle"> | ||
31 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/> | ||
32 | </xsl:when> | ||
33 | <xsl:when test="info/subtitle"> | ||
34 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
35 | </xsl:when> | ||
36 | <xsl:when test="subtitle"> | ||
37 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/> | ||
38 | </xsl:when> | ||
39 | </xsl:choose> | ||
40 | |||
41 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/> | ||
42 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/> | ||
43 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
44 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/> | ||
45 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/> | ||
46 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
47 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/> | ||
48 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/> | ||
49 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/> | ||
50 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/> | ||
51 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/> | ||
52 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
53 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/> | ||
54 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/> | ||
55 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
56 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/> | ||
57 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/> | ||
58 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/> | ||
59 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/> | ||
60 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/> | ||
61 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
62 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/> | ||
63 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/> | ||
64 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
65 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/> | ||
66 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/> | ||
67 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/> | ||
68 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/> | ||
69 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/> | ||
70 | <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
71 | </xsl:template> | ||
72 | |||
73 | <xsl:template name="article.titlepage.verso"> | ||
74 | </xsl:template> | ||
75 | |||
76 | <xsl:template name="article.titlepage.separator"><hr/> | ||
77 | </xsl:template> | ||
78 | |||
79 | <xsl:template name="article.titlepage.before.recto"> | ||
80 | </xsl:template> | ||
81 | |||
82 | <xsl:template name="article.titlepage.before.verso"> | ||
83 | </xsl:template> | ||
84 | |||
85 | <xsl:template name="article.titlepage"> | ||
86 | <div class="titlepage"> | ||
87 | <xsl:variable name="recto.content"> | ||
88 | <xsl:call-template name="article.titlepage.before.recto"/> | ||
89 | <xsl:call-template name="article.titlepage.recto"/> | ||
90 | </xsl:variable> | ||
91 | <xsl:variable name="recto.elements.count"> | ||
92 | <xsl:choose> | ||
93 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
94 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
95 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
96 | <xsl:otherwise>1</xsl:otherwise> | ||
97 | </xsl:choose> | ||
98 | </xsl:variable> | ||
99 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
100 | <div><xsl:copy-of select="$recto.content"/></div> | ||
101 | </xsl:if> | ||
102 | <xsl:variable name="verso.content"> | ||
103 | <xsl:call-template name="article.titlepage.before.verso"/> | ||
104 | <xsl:call-template name="article.titlepage.verso"/> | ||
105 | </xsl:variable> | ||
106 | <xsl:variable name="verso.elements.count"> | ||
107 | <xsl:choose> | ||
108 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
109 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
110 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
111 | <xsl:otherwise>1</xsl:otherwise> | ||
112 | </xsl:choose> | ||
113 | </xsl:variable> | ||
114 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
115 | <div><xsl:copy-of select="$verso.content"/></div> | ||
116 | </xsl:if> | ||
117 | <xsl:call-template name="article.titlepage.separator"/> | ||
118 | </div> | ||
119 | </xsl:template> | ||
120 | |||
121 | <xsl:template match="*" mode="article.titlepage.recto.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="*" mode="article.titlepage.verso.mode"> | ||
128 | <!-- if an element isn't found in this mode, --> | ||
129 | <!-- try the generic titlepage.mode --> | ||
130 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
131 | </xsl:template> | ||
132 | |||
133 | <xsl:template match="abstract" mode="article.titlepage.recto.auto.mode"> | ||
134 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
135 | <xsl:call-template name="anchor"/> | ||
136 | <xsl:apply-templates/> | ||
137 | <!-- orignally generated content --> | ||
138 | <!-- <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> --> | ||
139 | </div> | ||
140 | </xsl:template> | ||
141 | |||
142 | <xsl:template match="title" mode="article.titlepage.recto.auto.mode"> | ||
143 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
144 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
145 | </div> | ||
146 | </xsl:template> | ||
147 | |||
148 | <xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode"> | ||
149 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
150 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
151 | </div> | ||
152 | </xsl:template> | ||
153 | |||
154 | <xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode"> | ||
155 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
156 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
157 | </div> | ||
158 | </xsl:template> | ||
159 | |||
160 | <xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode"> | ||
161 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
162 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
163 | </div> | ||
164 | </xsl:template> | ||
165 | |||
166 | <xsl:template match="author" mode="article.titlepage.recto.auto.mode"> | ||
167 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
168 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
169 | </div> | ||
170 | </xsl:template> | ||
171 | |||
172 | <xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode"> | ||
173 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
174 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
175 | </div> | ||
176 | </xsl:template> | ||
177 | |||
178 | <xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode"> | ||
179 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
180 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
181 | </div> | ||
182 | </xsl:template> | ||
183 | |||
184 | <xsl:template match="copyright" mode="article.titlepage.recto.auto.mode"> | ||
185 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
186 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
187 | </div> | ||
188 | </xsl:template> | ||
189 | |||
190 | <xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode"> | ||
191 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
192 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
193 | </div> | ||
194 | </xsl:template> | ||
195 | |||
196 | <xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode"> | ||
197 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
198 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
199 | </div> | ||
200 | </xsl:template> | ||
201 | |||
202 | <xsl:template match="revision" mode="article.titlepage.recto.auto.mode"> | ||
203 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
204 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
205 | </div> | ||
206 | </xsl:template> | ||
207 | |||
208 | <xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode"> | ||
209 | <div xsl:use-attribute-sets="article.titlepage.recto.style"> | ||
210 | <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> | ||
211 | </div> | ||
212 | </xsl:template> | ||
213 | |||
214 | <xsl:template name="set.titlepage.recto"> | ||
215 | <xsl:choose> | ||
216 | <xsl:when test="setinfo/title"> | ||
217 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/> | ||
218 | </xsl:when> | ||
219 | <xsl:when test="info/title"> | ||
220 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/> | ||
221 | </xsl:when> | ||
222 | <xsl:when test="title"> | ||
223 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/> | ||
224 | </xsl:when> | ||
225 | </xsl:choose> | ||
226 | |||
227 | <xsl:choose> | ||
228 | <xsl:when test="setinfo/subtitle"> | ||
229 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/> | ||
230 | </xsl:when> | ||
231 | <xsl:when test="info/subtitle"> | ||
232 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
233 | </xsl:when> | ||
234 | <xsl:when test="subtitle"> | ||
235 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/> | ||
236 | </xsl:when> | ||
237 | </xsl:choose> | ||
238 | |||
239 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/> | ||
240 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
241 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/> | ||
242 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
243 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/> | ||
244 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/> | ||
245 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/> | ||
246 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
247 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/> | ||
248 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
249 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/> | ||
250 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/> | ||
251 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/> | ||
252 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
253 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/> | ||
254 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
255 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/> | ||
256 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/> | ||
257 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/> | ||
258 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
259 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/> | ||
260 | <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/> | ||
261 | </xsl:template> | ||
262 | |||
263 | <xsl:template name="set.titlepage.verso"> | ||
264 | </xsl:template> | ||
265 | |||
266 | <xsl:template name="set.titlepage.separator"><hr/> | ||
267 | </xsl:template> | ||
268 | |||
269 | <xsl:template name="set.titlepage.before.recto"> | ||
270 | </xsl:template> | ||
271 | |||
272 | <xsl:template name="set.titlepage.before.verso"> | ||
273 | </xsl:template> | ||
274 | |||
275 | <xsl:template name="set.titlepage"> | ||
276 | <div class="titlepage"> | ||
277 | <xsl:variable name="recto.content"> | ||
278 | <xsl:call-template name="set.titlepage.before.recto"/> | ||
279 | <xsl:call-template name="set.titlepage.recto"/> | ||
280 | </xsl:variable> | ||
281 | <xsl:variable name="recto.elements.count"> | ||
282 | <xsl:choose> | ||
283 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
284 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
285 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
286 | <xsl:otherwise>1</xsl:otherwise> | ||
287 | </xsl:choose> | ||
288 | </xsl:variable> | ||
289 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
290 | <div><xsl:copy-of select="$recto.content"/></div> | ||
291 | </xsl:if> | ||
292 | <xsl:variable name="verso.content"> | ||
293 | <xsl:call-template name="set.titlepage.before.verso"/> | ||
294 | <xsl:call-template name="set.titlepage.verso"/> | ||
295 | </xsl:variable> | ||
296 | <xsl:variable name="verso.elements.count"> | ||
297 | <xsl:choose> | ||
298 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
299 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
300 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
301 | <xsl:otherwise>1</xsl:otherwise> | ||
302 | </xsl:choose> | ||
303 | </xsl:variable> | ||
304 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
305 | <div><xsl:copy-of select="$verso.content"/></div> | ||
306 | </xsl:if> | ||
307 | <xsl:call-template name="set.titlepage.separator"/> | ||
308 | </div> | ||
309 | </xsl:template> | ||
310 | |||
311 | <xsl:template match="*" mode="set.titlepage.recto.mode"> | ||
312 | <!-- if an element isn't found in this mode, --> | ||
313 | <!-- try the generic titlepage.mode --> | ||
314 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
315 | </xsl:template> | ||
316 | |||
317 | <xsl:template match="*" mode="set.titlepage.verso.mode"> | ||
318 | <!-- if an element isn't found in this mode, --> | ||
319 | <!-- try the generic titlepage.mode --> | ||
320 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
321 | </xsl:template> | ||
322 | |||
323 | <xsl:template match="title" mode="set.titlepage.recto.auto.mode"> | ||
324 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
325 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
326 | </div> | ||
327 | </xsl:template> | ||
328 | |||
329 | <xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode"> | ||
330 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
331 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
332 | </div> | ||
333 | </xsl:template> | ||
334 | |||
335 | <xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode"> | ||
336 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
337 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
338 | </div> | ||
339 | </xsl:template> | ||
340 | |||
341 | <xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode"> | ||
342 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
343 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
344 | </div> | ||
345 | </xsl:template> | ||
346 | |||
347 | <xsl:template match="author" mode="set.titlepage.recto.auto.mode"> | ||
348 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
349 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
350 | </div> | ||
351 | </xsl:template> | ||
352 | |||
353 | <xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode"> | ||
354 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
355 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
356 | </div> | ||
357 | </xsl:template> | ||
358 | |||
359 | <xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode"> | ||
360 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
361 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
362 | </div> | ||
363 | </xsl:template> | ||
364 | |||
365 | <xsl:template match="copyright" mode="set.titlepage.recto.auto.mode"> | ||
366 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
367 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
368 | </div> | ||
369 | </xsl:template> | ||
370 | |||
371 | <xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode"> | ||
372 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
373 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
374 | </div> | ||
375 | </xsl:template> | ||
376 | |||
377 | <xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode"> | ||
378 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
379 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
380 | </div> | ||
381 | </xsl:template> | ||
382 | |||
383 | <xsl:template match="revision" mode="set.titlepage.recto.auto.mode"> | ||
384 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
385 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
386 | </div> | ||
387 | </xsl:template> | ||
388 | |||
389 | <xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode"> | ||
390 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
391 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
392 | </div> | ||
393 | </xsl:template> | ||
394 | |||
395 | <xsl:template match="abstract" mode="set.titlepage.recto.auto.mode"> | ||
396 | <div xsl:use-attribute-sets="set.titlepage.recto.style"> | ||
397 | <xsl:apply-templates select="." mode="set.titlepage.recto.mode"/> | ||
398 | </div> | ||
399 | </xsl:template> | ||
400 | |||
401 | <xsl:template name="book.titlepage.recto"> | ||
402 | <xsl:choose> | ||
403 | <xsl:when test="bookinfo/title"> | ||
404 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/> | ||
405 | </xsl:when> | ||
406 | <xsl:when test="info/title"> | ||
407 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/> | ||
408 | </xsl:when> | ||
409 | <xsl:when test="title"> | ||
410 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/> | ||
411 | </xsl:when> | ||
412 | </xsl:choose> | ||
413 | |||
414 | <xsl:choose> | ||
415 | <xsl:when test="bookinfo/subtitle"> | ||
416 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/> | ||
417 | </xsl:when> | ||
418 | <xsl:when test="info/subtitle"> | ||
419 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
420 | </xsl:when> | ||
421 | <xsl:when test="subtitle"> | ||
422 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/> | ||
423 | </xsl:when> | ||
424 | </xsl:choose> | ||
425 | |||
426 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/> | ||
427 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
428 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/> | ||
429 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
430 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/> | ||
431 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/> | ||
432 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/> | ||
433 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
434 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/> | ||
435 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
436 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/> | ||
437 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/> | ||
438 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/> | ||
439 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
440 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/> | ||
441 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
442 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/> | ||
443 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/> | ||
444 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/> | ||
445 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
446 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/> | ||
447 | <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/> | ||
448 | </xsl:template> | ||
449 | |||
450 | <xsl:template name="book.titlepage.verso"> | ||
451 | </xsl:template> | ||
452 | |||
453 | <xsl:template name="book.titlepage.separator"><hr/> | ||
454 | </xsl:template> | ||
455 | |||
456 | <xsl:template name="book.titlepage.before.recto"> | ||
457 | </xsl:template> | ||
458 | |||
459 | <xsl:template name="book.titlepage.before.verso"> | ||
460 | </xsl:template> | ||
461 | |||
462 | <xsl:template name="book.titlepage"> | ||
463 | <div class="titlepage"> | ||
464 | <xsl:variable name="recto.content"> | ||
465 | <xsl:call-template name="book.titlepage.before.recto"/> | ||
466 | <xsl:call-template name="book.titlepage.recto"/> | ||
467 | </xsl:variable> | ||
468 | <xsl:variable name="recto.elements.count"> | ||
469 | <xsl:choose> | ||
470 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
471 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
472 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
473 | <xsl:otherwise>1</xsl:otherwise> | ||
474 | </xsl:choose> | ||
475 | </xsl:variable> | ||
476 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
477 | <div><xsl:copy-of select="$recto.content"/></div> | ||
478 | </xsl:if> | ||
479 | <xsl:variable name="verso.content"> | ||
480 | <xsl:call-template name="book.titlepage.before.verso"/> | ||
481 | <xsl:call-template name="book.titlepage.verso"/> | ||
482 | </xsl:variable> | ||
483 | <xsl:variable name="verso.elements.count"> | ||
484 | <xsl:choose> | ||
485 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
486 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
487 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
488 | <xsl:otherwise>1</xsl:otherwise> | ||
489 | </xsl:choose> | ||
490 | </xsl:variable> | ||
491 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
492 | <div><xsl:copy-of select="$verso.content"/></div> | ||
493 | </xsl:if> | ||
494 | <xsl:call-template name="book.titlepage.separator"/> | ||
495 | </div> | ||
496 | </xsl:template> | ||
497 | |||
498 | <xsl:template match="*" mode="book.titlepage.recto.mode"> | ||
499 | <!-- if an element isn't found in this mode, --> | ||
500 | <!-- try the generic titlepage.mode --> | ||
501 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
502 | </xsl:template> | ||
503 | |||
504 | <xsl:template match="*" mode="book.titlepage.verso.mode"> | ||
505 | <!-- if an element isn't found in this mode, --> | ||
506 | <!-- try the generic titlepage.mode --> | ||
507 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
508 | </xsl:template> | ||
509 | |||
510 | <xsl:template match="title" mode="book.titlepage.recto.auto.mode"> | ||
511 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
512 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
513 | </div> | ||
514 | </xsl:template> | ||
515 | |||
516 | <xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode"> | ||
517 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
518 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
519 | </div> | ||
520 | </xsl:template> | ||
521 | |||
522 | <xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode"> | ||
523 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
524 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
525 | </div> | ||
526 | </xsl:template> | ||
527 | |||
528 | <xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode"> | ||
529 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
530 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
531 | </div> | ||
532 | </xsl:template> | ||
533 | |||
534 | <xsl:template match="author" mode="book.titlepage.recto.auto.mode"> | ||
535 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
536 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
537 | </div> | ||
538 | </xsl:template> | ||
539 | |||
540 | <xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode"> | ||
541 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
542 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
543 | </div> | ||
544 | </xsl:template> | ||
545 | |||
546 | <xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode"> | ||
547 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
548 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
549 | </div> | ||
550 | </xsl:template> | ||
551 | |||
552 | <xsl:template match="copyright" mode="book.titlepage.recto.auto.mode"> | ||
553 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
554 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
555 | </div> | ||
556 | </xsl:template> | ||
557 | |||
558 | <xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode"> | ||
559 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
560 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
561 | </div> | ||
562 | </xsl:template> | ||
563 | |||
564 | <xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode"> | ||
565 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
566 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
567 | </div> | ||
568 | </xsl:template> | ||
569 | |||
570 | <xsl:template match="revision" mode="book.titlepage.recto.auto.mode"> | ||
571 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
572 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
573 | </div> | ||
574 | </xsl:template> | ||
575 | |||
576 | <xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode"> | ||
577 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
578 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
579 | </div> | ||
580 | </xsl:template> | ||
581 | |||
582 | <xsl:template match="abstract" mode="book.titlepage.recto.auto.mode"> | ||
583 | <div xsl:use-attribute-sets="book.titlepage.recto.style"> | ||
584 | <xsl:apply-templates select="." mode="book.titlepage.recto.mode"/> | ||
585 | </div> | ||
586 | </xsl:template> | ||
587 | |||
588 | <xsl:template name="part.titlepage.recto"> | ||
589 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
590 | <xsl:call-template name="division.title"> | ||
591 | <xsl:with-param name="node" select="ancestor-or-self::part[1]"/> | ||
592 | </xsl:call-template></div> | ||
593 | <xsl:choose> | ||
594 | <xsl:when test="partinfo/subtitle"> | ||
595 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/> | ||
596 | </xsl:when> | ||
597 | <xsl:when test="docinfo/subtitle"> | ||
598 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
599 | </xsl:when> | ||
600 | <xsl:when test="info/subtitle"> | ||
601 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
602 | </xsl:when> | ||
603 | <xsl:when test="subtitle"> | ||
604 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/> | ||
605 | </xsl:when> | ||
606 | </xsl:choose> | ||
607 | |||
608 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/> | ||
609 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
610 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
611 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/> | ||
612 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
613 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
614 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/> | ||
615 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
616 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/> | ||
617 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/> | ||
618 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
619 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
620 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/> | ||
621 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
622 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
623 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/> | ||
624 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
625 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/> | ||
626 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/> | ||
627 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
628 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
629 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/> | ||
630 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
631 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
632 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/> | ||
633 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
634 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/> | ||
635 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/> | ||
636 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
637 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
638 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/> | ||
639 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
640 | <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/> | ||
641 | </xsl:template> | ||
642 | |||
643 | <xsl:template name="part.titlepage.verso"> | ||
644 | </xsl:template> | ||
645 | |||
646 | <xsl:template name="part.titlepage.separator"> | ||
647 | </xsl:template> | ||
648 | |||
649 | <xsl:template name="part.titlepage.before.recto"> | ||
650 | </xsl:template> | ||
651 | |||
652 | <xsl:template name="part.titlepage.before.verso"> | ||
653 | </xsl:template> | ||
654 | |||
655 | <xsl:template name="part.titlepage"> | ||
656 | <div class="titlepage"> | ||
657 | <xsl:variable name="recto.content"> | ||
658 | <xsl:call-template name="part.titlepage.before.recto"/> | ||
659 | <xsl:call-template name="part.titlepage.recto"/> | ||
660 | </xsl:variable> | ||
661 | <xsl:variable name="recto.elements.count"> | ||
662 | <xsl:choose> | ||
663 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
664 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
665 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
666 | <xsl:otherwise>1</xsl:otherwise> | ||
667 | </xsl:choose> | ||
668 | </xsl:variable> | ||
669 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
670 | <div><xsl:copy-of select="$recto.content"/></div> | ||
671 | </xsl:if> | ||
672 | <xsl:variable name="verso.content"> | ||
673 | <xsl:call-template name="part.titlepage.before.verso"/> | ||
674 | <xsl:call-template name="part.titlepage.verso"/> | ||
675 | </xsl:variable> | ||
676 | <xsl:variable name="verso.elements.count"> | ||
677 | <xsl:choose> | ||
678 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
679 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
680 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
681 | <xsl:otherwise>1</xsl:otherwise> | ||
682 | </xsl:choose> | ||
683 | </xsl:variable> | ||
684 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
685 | <div><xsl:copy-of select="$verso.content"/></div> | ||
686 | </xsl:if> | ||
687 | <xsl:call-template name="part.titlepage.separator"/> | ||
688 | </div> | ||
689 | </xsl:template> | ||
690 | |||
691 | <xsl:template match="*" mode="part.titlepage.recto.mode"> | ||
692 | <!-- if an element isn't found in this mode, --> | ||
693 | <!-- try the generic titlepage.mode --> | ||
694 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
695 | </xsl:template> | ||
696 | |||
697 | <xsl:template match="*" mode="part.titlepage.verso.mode"> | ||
698 | <!-- if an element isn't found in this mode, --> | ||
699 | <!-- try the generic titlepage.mode --> | ||
700 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
701 | </xsl:template> | ||
702 | |||
703 | <xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode"> | ||
704 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
705 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
706 | </div> | ||
707 | </xsl:template> | ||
708 | |||
709 | <xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode"> | ||
710 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
711 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
712 | </div> | ||
713 | </xsl:template> | ||
714 | |||
715 | <xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode"> | ||
716 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
717 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
718 | </div> | ||
719 | </xsl:template> | ||
720 | |||
721 | <xsl:template match="author" mode="part.titlepage.recto.auto.mode"> | ||
722 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
723 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
724 | </div> | ||
725 | </xsl:template> | ||
726 | |||
727 | <xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode"> | ||
728 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
729 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
730 | </div> | ||
731 | </xsl:template> | ||
732 | |||
733 | <xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode"> | ||
734 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
735 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
736 | </div> | ||
737 | </xsl:template> | ||
738 | |||
739 | <xsl:template match="copyright" mode="part.titlepage.recto.auto.mode"> | ||
740 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
741 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
742 | </div> | ||
743 | </xsl:template> | ||
744 | |||
745 | <xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode"> | ||
746 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
747 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
748 | </div> | ||
749 | </xsl:template> | ||
750 | |||
751 | <xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode"> | ||
752 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
753 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
754 | </div> | ||
755 | </xsl:template> | ||
756 | |||
757 | <xsl:template match="revision" mode="part.titlepage.recto.auto.mode"> | ||
758 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
759 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
760 | </div> | ||
761 | </xsl:template> | ||
762 | |||
763 | <xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode"> | ||
764 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
765 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
766 | </div> | ||
767 | </xsl:template> | ||
768 | |||
769 | <xsl:template match="abstract" mode="part.titlepage.recto.auto.mode"> | ||
770 | <div xsl:use-attribute-sets="part.titlepage.recto.style"> | ||
771 | <xsl:apply-templates select="." mode="part.titlepage.recto.mode"/> | ||
772 | </div> | ||
773 | </xsl:template> | ||
774 | |||
775 | <xsl:template name="partintro.titlepage.recto"> | ||
776 | <xsl:choose> | ||
777 | <xsl:when test="partintroinfo/title"> | ||
778 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/> | ||
779 | </xsl:when> | ||
780 | <xsl:when test="docinfo/title"> | ||
781 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
782 | </xsl:when> | ||
783 | <xsl:when test="info/title"> | ||
784 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/> | ||
785 | </xsl:when> | ||
786 | <xsl:when test="title"> | ||
787 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/> | ||
788 | </xsl:when> | ||
789 | </xsl:choose> | ||
790 | |||
791 | <xsl:choose> | ||
792 | <xsl:when test="partintroinfo/subtitle"> | ||
793 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/> | ||
794 | </xsl:when> | ||
795 | <xsl:when test="docinfo/subtitle"> | ||
796 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
797 | </xsl:when> | ||
798 | <xsl:when test="info/subtitle"> | ||
799 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
800 | </xsl:when> | ||
801 | <xsl:when test="subtitle"> | ||
802 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/> | ||
803 | </xsl:when> | ||
804 | </xsl:choose> | ||
805 | |||
806 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/> | ||
807 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
808 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
809 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/> | ||
810 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
811 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
812 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/> | ||
813 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
814 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/> | ||
815 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/> | ||
816 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
817 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
818 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/> | ||
819 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
820 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
821 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/> | ||
822 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
823 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/> | ||
824 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/> | ||
825 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
826 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
827 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/> | ||
828 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
829 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
830 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/> | ||
831 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
832 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/> | ||
833 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/> | ||
834 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
835 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
836 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/> | ||
837 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
838 | <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/> | ||
839 | </xsl:template> | ||
840 | |||
841 | <xsl:template name="partintro.titlepage.verso"> | ||
842 | </xsl:template> | ||
843 | |||
844 | <xsl:template name="partintro.titlepage.separator"> | ||
845 | </xsl:template> | ||
846 | |||
847 | <xsl:template name="partintro.titlepage.before.recto"> | ||
848 | </xsl:template> | ||
849 | |||
850 | <xsl:template name="partintro.titlepage.before.verso"> | ||
851 | </xsl:template> | ||
852 | |||
853 | <xsl:template name="partintro.titlepage"> | ||
854 | <div> | ||
855 | <xsl:variable name="recto.content"> | ||
856 | <xsl:call-template name="partintro.titlepage.before.recto"/> | ||
857 | <xsl:call-template name="partintro.titlepage.recto"/> | ||
858 | </xsl:variable> | ||
859 | <xsl:variable name="recto.elements.count"> | ||
860 | <xsl:choose> | ||
861 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
862 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
863 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
864 | <xsl:otherwise>1</xsl:otherwise> | ||
865 | </xsl:choose> | ||
866 | </xsl:variable> | ||
867 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
868 | <div><xsl:copy-of select="$recto.content"/></div> | ||
869 | </xsl:if> | ||
870 | <xsl:variable name="verso.content"> | ||
871 | <xsl:call-template name="partintro.titlepage.before.verso"/> | ||
872 | <xsl:call-template name="partintro.titlepage.verso"/> | ||
873 | </xsl:variable> | ||
874 | <xsl:variable name="verso.elements.count"> | ||
875 | <xsl:choose> | ||
876 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
877 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
878 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
879 | <xsl:otherwise>1</xsl:otherwise> | ||
880 | </xsl:choose> | ||
881 | </xsl:variable> | ||
882 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
883 | <div><xsl:copy-of select="$verso.content"/></div> | ||
884 | </xsl:if> | ||
885 | <xsl:call-template name="partintro.titlepage.separator"/> | ||
886 | </div> | ||
887 | </xsl:template> | ||
888 | |||
889 | <xsl:template match="*" mode="partintro.titlepage.recto.mode"> | ||
890 | <!-- if an element isn't found in this mode, --> | ||
891 | <!-- try the generic titlepage.mode --> | ||
892 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
893 | </xsl:template> | ||
894 | |||
895 | <xsl:template match="*" mode="partintro.titlepage.verso.mode"> | ||
896 | <!-- if an element isn't found in this mode, --> | ||
897 | <!-- try the generic titlepage.mode --> | ||
898 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
899 | </xsl:template> | ||
900 | |||
901 | <xsl:template match="title" mode="partintro.titlepage.recto.auto.mode"> | ||
902 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
903 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
904 | </div> | ||
905 | </xsl:template> | ||
906 | |||
907 | <xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode"> | ||
908 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
909 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
910 | </div> | ||
911 | </xsl:template> | ||
912 | |||
913 | <xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode"> | ||
914 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
915 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
916 | </div> | ||
917 | </xsl:template> | ||
918 | |||
919 | <xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode"> | ||
920 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
921 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
922 | </div> | ||
923 | </xsl:template> | ||
924 | |||
925 | <xsl:template match="author" mode="partintro.titlepage.recto.auto.mode"> | ||
926 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
927 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
928 | </div> | ||
929 | </xsl:template> | ||
930 | |||
931 | <xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode"> | ||
932 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
933 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
934 | </div> | ||
935 | </xsl:template> | ||
936 | |||
937 | <xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode"> | ||
938 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
939 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
940 | </div> | ||
941 | </xsl:template> | ||
942 | |||
943 | <xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode"> | ||
944 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
945 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
946 | </div> | ||
947 | </xsl:template> | ||
948 | |||
949 | <xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode"> | ||
950 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
951 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
952 | </div> | ||
953 | </xsl:template> | ||
954 | |||
955 | <xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode"> | ||
956 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
957 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
958 | </div> | ||
959 | </xsl:template> | ||
960 | |||
961 | <xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode"> | ||
962 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
963 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
964 | </div> | ||
965 | </xsl:template> | ||
966 | |||
967 | <xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode"> | ||
968 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
969 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
970 | </div> | ||
971 | </xsl:template> | ||
972 | |||
973 | <xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode"> | ||
974 | <div xsl:use-attribute-sets="partintro.titlepage.recto.style"> | ||
975 | <xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/> | ||
976 | </div> | ||
977 | </xsl:template> | ||
978 | |||
979 | <xsl:template name="reference.titlepage.recto"> | ||
980 | <xsl:choose> | ||
981 | <xsl:when test="referenceinfo/title"> | ||
982 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/> | ||
983 | </xsl:when> | ||
984 | <xsl:when test="docinfo/title"> | ||
985 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
986 | </xsl:when> | ||
987 | <xsl:when test="info/title"> | ||
988 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/> | ||
989 | </xsl:when> | ||
990 | <xsl:when test="title"> | ||
991 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/> | ||
992 | </xsl:when> | ||
993 | </xsl:choose> | ||
994 | |||
995 | <xsl:choose> | ||
996 | <xsl:when test="referenceinfo/subtitle"> | ||
997 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/> | ||
998 | </xsl:when> | ||
999 | <xsl:when test="docinfo/subtitle"> | ||
1000 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
1001 | </xsl:when> | ||
1002 | <xsl:when test="info/subtitle"> | ||
1003 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
1004 | </xsl:when> | ||
1005 | <xsl:when test="subtitle"> | ||
1006 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/> | ||
1007 | </xsl:when> | ||
1008 | </xsl:choose> | ||
1009 | |||
1010 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/> | ||
1011 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
1012 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
1013 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/> | ||
1014 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
1015 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
1016 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/> | ||
1017 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
1018 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/> | ||
1019 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/> | ||
1020 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
1021 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
1022 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/> | ||
1023 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
1024 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
1025 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/> | ||
1026 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
1027 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/> | ||
1028 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/> | ||
1029 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
1030 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
1031 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/> | ||
1032 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
1033 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
1034 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/> | ||
1035 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
1036 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/> | ||
1037 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/> | ||
1038 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
1039 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
1040 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/> | ||
1041 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
1042 | <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/> | ||
1043 | </xsl:template> | ||
1044 | |||
1045 | <xsl:template name="reference.titlepage.verso"> | ||
1046 | </xsl:template> | ||
1047 | |||
1048 | <xsl:template name="reference.titlepage.separator"><hr/> | ||
1049 | </xsl:template> | ||
1050 | |||
1051 | <xsl:template name="reference.titlepage.before.recto"> | ||
1052 | </xsl:template> | ||
1053 | |||
1054 | <xsl:template name="reference.titlepage.before.verso"> | ||
1055 | </xsl:template> | ||
1056 | |||
1057 | <xsl:template name="reference.titlepage"> | ||
1058 | <div class="titlepage"> | ||
1059 | <xsl:variable name="recto.content"> | ||
1060 | <xsl:call-template name="reference.titlepage.before.recto"/> | ||
1061 | <xsl:call-template name="reference.titlepage.recto"/> | ||
1062 | </xsl:variable> | ||
1063 | <xsl:variable name="recto.elements.count"> | ||
1064 | <xsl:choose> | ||
1065 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1066 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1067 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1068 | <xsl:otherwise>1</xsl:otherwise> | ||
1069 | </xsl:choose> | ||
1070 | </xsl:variable> | ||
1071 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1072 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1073 | </xsl:if> | ||
1074 | <xsl:variable name="verso.content"> | ||
1075 | <xsl:call-template name="reference.titlepage.before.verso"/> | ||
1076 | <xsl:call-template name="reference.titlepage.verso"/> | ||
1077 | </xsl:variable> | ||
1078 | <xsl:variable name="verso.elements.count"> | ||
1079 | <xsl:choose> | ||
1080 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1081 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1082 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1083 | <xsl:otherwise>1</xsl:otherwise> | ||
1084 | </xsl:choose> | ||
1085 | </xsl:variable> | ||
1086 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
1087 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1088 | </xsl:if> | ||
1089 | <xsl:call-template name="reference.titlepage.separator"/> | ||
1090 | </div> | ||
1091 | </xsl:template> | ||
1092 | |||
1093 | <xsl:template match="*" mode="reference.titlepage.recto.mode"> | ||
1094 | <!-- if an element isn't found in this mode, --> | ||
1095 | <!-- try the generic titlepage.mode --> | ||
1096 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1097 | </xsl:template> | ||
1098 | |||
1099 | <xsl:template match="*" mode="reference.titlepage.verso.mode"> | ||
1100 | <!-- if an element isn't found in this mode, --> | ||
1101 | <!-- try the generic titlepage.mode --> | ||
1102 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1103 | </xsl:template> | ||
1104 | |||
1105 | <xsl:template match="title" mode="reference.titlepage.recto.auto.mode"> | ||
1106 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1107 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1108 | </div> | ||
1109 | </xsl:template> | ||
1110 | |||
1111 | <xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode"> | ||
1112 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1113 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1114 | </div> | ||
1115 | </xsl:template> | ||
1116 | |||
1117 | <xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode"> | ||
1118 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1119 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1120 | </div> | ||
1121 | </xsl:template> | ||
1122 | |||
1123 | <xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode"> | ||
1124 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1125 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1126 | </div> | ||
1127 | </xsl:template> | ||
1128 | |||
1129 | <xsl:template match="author" mode="reference.titlepage.recto.auto.mode"> | ||
1130 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1131 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1132 | </div> | ||
1133 | </xsl:template> | ||
1134 | |||
1135 | <xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode"> | ||
1136 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1137 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1138 | </div> | ||
1139 | </xsl:template> | ||
1140 | |||
1141 | <xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode"> | ||
1142 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1143 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1144 | </div> | ||
1145 | </xsl:template> | ||
1146 | |||
1147 | <xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode"> | ||
1148 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1149 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1150 | </div> | ||
1151 | </xsl:template> | ||
1152 | |||
1153 | <xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode"> | ||
1154 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1155 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1156 | </div> | ||
1157 | </xsl:template> | ||
1158 | |||
1159 | <xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode"> | ||
1160 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1161 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1162 | </div> | ||
1163 | </xsl:template> | ||
1164 | |||
1165 | <xsl:template match="revision" mode="reference.titlepage.recto.auto.mode"> | ||
1166 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1167 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1168 | </div> | ||
1169 | </xsl:template> | ||
1170 | |||
1171 | <xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode"> | ||
1172 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1173 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1174 | </div> | ||
1175 | </xsl:template> | ||
1176 | |||
1177 | <xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode"> | ||
1178 | <div xsl:use-attribute-sets="reference.titlepage.recto.style"> | ||
1179 | <xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/> | ||
1180 | </div> | ||
1181 | </xsl:template> | ||
1182 | |||
1183 | <xsl:template name="refentry.titlepage.recto"> | ||
1184 | </xsl:template> | ||
1185 | |||
1186 | <xsl:template name="refentry.titlepage.verso"> | ||
1187 | </xsl:template> | ||
1188 | |||
1189 | <xsl:template name="refentry.titlepage.separator"> | ||
1190 | </xsl:template> | ||
1191 | |||
1192 | <xsl:template name="refentry.titlepage.before.recto"> | ||
1193 | </xsl:template> | ||
1194 | |||
1195 | <xsl:template name="refentry.titlepage.before.verso"> | ||
1196 | </xsl:template> | ||
1197 | |||
1198 | <xsl:template name="refentry.titlepage"> | ||
1199 | <div class="titlepage"> | ||
1200 | <xsl:variable name="recto.content"> | ||
1201 | <xsl:call-template name="refentry.titlepage.before.recto"/> | ||
1202 | <xsl:call-template name="refentry.titlepage.recto"/> | ||
1203 | </xsl:variable> | ||
1204 | <xsl:variable name="recto.elements.count"> | ||
1205 | <xsl:choose> | ||
1206 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1207 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1208 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1209 | <xsl:otherwise>1</xsl:otherwise> | ||
1210 | </xsl:choose> | ||
1211 | </xsl:variable> | ||
1212 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1213 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1214 | </xsl:if> | ||
1215 | <xsl:variable name="verso.content"> | ||
1216 | <xsl:call-template name="refentry.titlepage.before.verso"/> | ||
1217 | <xsl:call-template name="refentry.titlepage.verso"/> | ||
1218 | </xsl:variable> | ||
1219 | <xsl:variable name="verso.elements.count"> | ||
1220 | <xsl:choose> | ||
1221 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1222 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1223 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1224 | <xsl:otherwise>1</xsl:otherwise> | ||
1225 | </xsl:choose> | ||
1226 | </xsl:variable> | ||
1227 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
1228 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1229 | </xsl:if> | ||
1230 | <xsl:call-template name="refentry.titlepage.separator"/> | ||
1231 | </div> | ||
1232 | </xsl:template> | ||
1233 | |||
1234 | <xsl:template match="*" mode="refentry.titlepage.recto.mode"> | ||
1235 | <!-- if an element isn't found in this mode, --> | ||
1236 | <!-- try the generic titlepage.mode --> | ||
1237 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1238 | </xsl:template> | ||
1239 | |||
1240 | <xsl:template match="*" mode="refentry.titlepage.verso.mode"> | ||
1241 | <!-- if an element isn't found in this mode, --> | ||
1242 | <!-- try the generic titlepage.mode --> | ||
1243 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1244 | </xsl:template> | ||
1245 | |||
1246 | <xsl:template name="dedication.titlepage.recto"> | ||
1247 | <div xsl:use-attribute-sets="dedication.titlepage.recto.style"> | ||
1248 | <xsl:call-template name="component.title"> | ||
1249 | <xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/> | ||
1250 | </xsl:call-template></div> | ||
1251 | <xsl:choose> | ||
1252 | <xsl:when test="dedicationinfo/subtitle"> | ||
1253 | <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/> | ||
1254 | </xsl:when> | ||
1255 | <xsl:when test="docinfo/subtitle"> | ||
1256 | <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
1257 | </xsl:when> | ||
1258 | <xsl:when test="info/subtitle"> | ||
1259 | <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
1260 | </xsl:when> | ||
1261 | <xsl:when test="subtitle"> | ||
1262 | <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/> | ||
1263 | </xsl:when> | ||
1264 | </xsl:choose> | ||
1265 | |||
1266 | </xsl:template> | ||
1267 | |||
1268 | <xsl:template name="dedication.titlepage.verso"> | ||
1269 | </xsl:template> | ||
1270 | |||
1271 | <xsl:template name="dedication.titlepage.separator"> | ||
1272 | </xsl:template> | ||
1273 | |||
1274 | <xsl:template name="dedication.titlepage.before.recto"> | ||
1275 | </xsl:template> | ||
1276 | |||
1277 | <xsl:template name="dedication.titlepage.before.verso"> | ||
1278 | </xsl:template> | ||
1279 | |||
1280 | <xsl:template name="dedication.titlepage"> | ||
1281 | <div class="titlepage"> | ||
1282 | <xsl:variable name="recto.content"> | ||
1283 | <xsl:call-template name="dedication.titlepage.before.recto"/> | ||
1284 | <xsl:call-template name="dedication.titlepage.recto"/> | ||
1285 | </xsl:variable> | ||
1286 | <xsl:variable name="recto.elements.count"> | ||
1287 | <xsl:choose> | ||
1288 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1289 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1290 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1291 | <xsl:otherwise>1</xsl:otherwise> | ||
1292 | </xsl:choose> | ||
1293 | </xsl:variable> | ||
1294 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1295 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1296 | </xsl:if> | ||
1297 | <xsl:variable name="verso.content"> | ||
1298 | <xsl:call-template name="dedication.titlepage.before.verso"/> | ||
1299 | <xsl:call-template name="dedication.titlepage.verso"/> | ||
1300 | </xsl:variable> | ||
1301 | <xsl:variable name="verso.elements.count"> | ||
1302 | <xsl:choose> | ||
1303 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1304 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1305 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1306 | <xsl:otherwise>1</xsl:otherwise> | ||
1307 | </xsl:choose> | ||
1308 | </xsl:variable> | ||
1309 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
1310 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1311 | </xsl:if> | ||
1312 | <xsl:call-template name="dedication.titlepage.separator"/> | ||
1313 | </div> | ||
1314 | </xsl:template> | ||
1315 | |||
1316 | <xsl:template match="*" mode="dedication.titlepage.recto.mode"> | ||
1317 | <!-- if an element isn't found in this mode, --> | ||
1318 | <!-- try the generic titlepage.mode --> | ||
1319 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1320 | </xsl:template> | ||
1321 | |||
1322 | <xsl:template match="*" mode="dedication.titlepage.verso.mode"> | ||
1323 | <!-- if an element isn't found in this mode, --> | ||
1324 | <!-- try the generic titlepage.mode --> | ||
1325 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1326 | </xsl:template> | ||
1327 | |||
1328 | <xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode"> | ||
1329 | <div xsl:use-attribute-sets="dedication.titlepage.recto.style"> | ||
1330 | <xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/> | ||
1331 | </div> | ||
1332 | </xsl:template> | ||
1333 | |||
1334 | <xsl:template name="acknowledgements.titlepage.recto"> | ||
1335 | <div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style"> | ||
1336 | <xsl:call-template name="component.title"> | ||
1337 | <xsl:with-param name="node" select="ancestor-or-self::acknowledgements[1]"/> | ||
1338 | </xsl:call-template></div> | ||
1339 | <xsl:choose> | ||
1340 | <xsl:when test="acknowledgementsinfo/subtitle"> | ||
1341 | <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="acknowledgementsinfo/subtitle"/> | ||
1342 | </xsl:when> | ||
1343 | <xsl:when test="docinfo/subtitle"> | ||
1344 | <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
1345 | </xsl:when> | ||
1346 | <xsl:when test="info/subtitle"> | ||
1347 | <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
1348 | </xsl:when> | ||
1349 | <xsl:when test="subtitle"> | ||
1350 | <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="subtitle"/> | ||
1351 | </xsl:when> | ||
1352 | </xsl:choose> | ||
1353 | |||
1354 | </xsl:template> | ||
1355 | |||
1356 | <xsl:template name="acknowledgements.titlepage.verso"> | ||
1357 | </xsl:template> | ||
1358 | |||
1359 | <xsl:template name="acknowledgements.titlepage.separator"> | ||
1360 | </xsl:template> | ||
1361 | |||
1362 | <xsl:template name="acknowledgements.titlepage.before.recto"> | ||
1363 | </xsl:template> | ||
1364 | |||
1365 | <xsl:template name="acknowledgements.titlepage.before.verso"> | ||
1366 | </xsl:template> | ||
1367 | |||
1368 | <xsl:template name="acknowledgements.titlepage"> | ||
1369 | <div class="titlepage"> | ||
1370 | <xsl:variable name="recto.content"> | ||
1371 | <xsl:call-template name="acknowledgements.titlepage.before.recto"/> | ||
1372 | <xsl:call-template name="acknowledgements.titlepage.recto"/> | ||
1373 | </xsl:variable> | ||
1374 | <xsl:variable name="recto.elements.count"> | ||
1375 | <xsl:choose> | ||
1376 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1377 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1378 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1379 | <xsl:otherwise>1</xsl:otherwise> | ||
1380 | </xsl:choose> | ||
1381 | </xsl:variable> | ||
1382 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1383 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1384 | </xsl:if> | ||
1385 | <xsl:variable name="verso.content"> | ||
1386 | <xsl:call-template name="acknowledgements.titlepage.before.verso"/> | ||
1387 | <xsl:call-template name="acknowledgements.titlepage.verso"/> | ||
1388 | </xsl:variable> | ||
1389 | <xsl:variable name="verso.elements.count"> | ||
1390 | <xsl:choose> | ||
1391 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1392 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1393 | <!--Xalan quirk--><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 > 0)"> | ||
1398 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1399 | </xsl:if> | ||
1400 | <xsl:call-template name="acknowledgements.titlepage.separator"/> | ||
1401 | </div> | ||
1402 | </xsl:template> | ||
1403 | |||
1404 | <xsl:template match="*" mode="acknowledgements.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="acknowledgements.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="subtitle" mode="acknowledgements.titlepage.recto.auto.mode"> | ||
1417 | <div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style"> | ||
1418 | <xsl:apply-templates select="." mode="acknowledgements.titlepage.recto.mode"/> | ||
1419 | </div> | ||
1420 | </xsl:template> | ||
1421 | |||
1422 | <xsl:template name="preface.titlepage.recto"> | ||
1423 | <xsl:choose> | ||
1424 | <xsl:when test="prefaceinfo/title"> | ||
1425 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/> | ||
1426 | </xsl:when> | ||
1427 | <xsl:when test="docinfo/title"> | ||
1428 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
1429 | </xsl:when> | ||
1430 | <xsl:when test="info/title"> | ||
1431 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/> | ||
1432 | </xsl:when> | ||
1433 | <xsl:when test="title"> | ||
1434 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/> | ||
1435 | </xsl:when> | ||
1436 | </xsl:choose> | ||
1437 | |||
1438 | <xsl:choose> | ||
1439 | <xsl:when test="prefaceinfo/subtitle"> | ||
1440 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/> | ||
1441 | </xsl:when> | ||
1442 | <xsl:when test="docinfo/subtitle"> | ||
1443 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
1444 | </xsl:when> | ||
1445 | <xsl:when test="info/subtitle"> | ||
1446 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
1447 | </xsl:when> | ||
1448 | <xsl:when test="subtitle"> | ||
1449 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/> | ||
1450 | </xsl:when> | ||
1451 | </xsl:choose> | ||
1452 | |||
1453 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/> | ||
1454 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
1455 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
1456 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/> | ||
1457 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
1458 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
1459 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/> | ||
1460 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
1461 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/> | ||
1462 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/> | ||
1463 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
1464 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
1465 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/> | ||
1466 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
1467 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
1468 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/> | ||
1469 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
1470 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/> | ||
1471 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/> | ||
1472 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
1473 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
1474 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/> | ||
1475 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
1476 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
1477 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/> | ||
1478 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
1479 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/> | ||
1480 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/> | ||
1481 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
1482 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
1483 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/> | ||
1484 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
1485 | <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/> | ||
1486 | </xsl:template> | ||
1487 | |||
1488 | <xsl:template name="preface.titlepage.verso"> | ||
1489 | </xsl:template> | ||
1490 | |||
1491 | <xsl:template name="preface.titlepage.separator"> | ||
1492 | </xsl:template> | ||
1493 | |||
1494 | <xsl:template name="preface.titlepage.before.recto"> | ||
1495 | </xsl:template> | ||
1496 | |||
1497 | <xsl:template name="preface.titlepage.before.verso"> | ||
1498 | </xsl:template> | ||
1499 | |||
1500 | <xsl:template name="preface.titlepage"> | ||
1501 | <div class="titlepage"> | ||
1502 | <xsl:variable name="recto.content"> | ||
1503 | <xsl:call-template name="preface.titlepage.before.recto"/> | ||
1504 | <xsl:call-template name="preface.titlepage.recto"/> | ||
1505 | </xsl:variable> | ||
1506 | <xsl:variable name="recto.elements.count"> | ||
1507 | <xsl:choose> | ||
1508 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1509 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1510 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1511 | <xsl:otherwise>1</xsl:otherwise> | ||
1512 | </xsl:choose> | ||
1513 | </xsl:variable> | ||
1514 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1515 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1516 | </xsl:if> | ||
1517 | <xsl:variable name="verso.content"> | ||
1518 | <xsl:call-template name="preface.titlepage.before.verso"/> | ||
1519 | <xsl:call-template name="preface.titlepage.verso"/> | ||
1520 | </xsl:variable> | ||
1521 | <xsl:variable name="verso.elements.count"> | ||
1522 | <xsl:choose> | ||
1523 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1524 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1525 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1526 | <xsl:otherwise>1</xsl:otherwise> | ||
1527 | </xsl:choose> | ||
1528 | </xsl:variable> | ||
1529 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
1530 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1531 | </xsl:if> | ||
1532 | <xsl:call-template name="preface.titlepage.separator"/> | ||
1533 | </div> | ||
1534 | </xsl:template> | ||
1535 | |||
1536 | <xsl:template match="*" mode="preface.titlepage.recto.mode"> | ||
1537 | <!-- if an element isn't found in this mode, --> | ||
1538 | <!-- try the generic titlepage.mode --> | ||
1539 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1540 | </xsl:template> | ||
1541 | |||
1542 | <xsl:template match="*" mode="preface.titlepage.verso.mode"> | ||
1543 | <!-- if an element isn't found in this mode, --> | ||
1544 | <!-- try the generic titlepage.mode --> | ||
1545 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1546 | </xsl:template> | ||
1547 | |||
1548 | <xsl:template match="title" mode="preface.titlepage.recto.auto.mode"> | ||
1549 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1550 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1551 | </div> | ||
1552 | </xsl:template> | ||
1553 | |||
1554 | <xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode"> | ||
1555 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1556 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1557 | </div> | ||
1558 | </xsl:template> | ||
1559 | |||
1560 | <xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode"> | ||
1561 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1562 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1563 | </div> | ||
1564 | </xsl:template> | ||
1565 | |||
1566 | <xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode"> | ||
1567 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1568 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1569 | </div> | ||
1570 | </xsl:template> | ||
1571 | |||
1572 | <xsl:template match="author" mode="preface.titlepage.recto.auto.mode"> | ||
1573 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1574 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1575 | </div> | ||
1576 | </xsl:template> | ||
1577 | |||
1578 | <xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode"> | ||
1579 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1580 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1581 | </div> | ||
1582 | </xsl:template> | ||
1583 | |||
1584 | <xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode"> | ||
1585 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1586 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1587 | </div> | ||
1588 | </xsl:template> | ||
1589 | |||
1590 | <xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode"> | ||
1591 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1592 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1593 | </div> | ||
1594 | </xsl:template> | ||
1595 | |||
1596 | <xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode"> | ||
1597 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1598 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1599 | </div> | ||
1600 | </xsl:template> | ||
1601 | |||
1602 | <xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode"> | ||
1603 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1604 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1605 | </div> | ||
1606 | </xsl:template> | ||
1607 | |||
1608 | <xsl:template match="revision" mode="preface.titlepage.recto.auto.mode"> | ||
1609 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1610 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1611 | </div> | ||
1612 | </xsl:template> | ||
1613 | |||
1614 | <xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode"> | ||
1615 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1616 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1617 | </div> | ||
1618 | </xsl:template> | ||
1619 | |||
1620 | <xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode"> | ||
1621 | <div xsl:use-attribute-sets="preface.titlepage.recto.style"> | ||
1622 | <xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/> | ||
1623 | </div> | ||
1624 | </xsl:template> | ||
1625 | |||
1626 | <xsl:template name="chapter.titlepage.recto"> | ||
1627 | <xsl:choose> | ||
1628 | <xsl:when test="chapterinfo/title"> | ||
1629 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/> | ||
1630 | </xsl:when> | ||
1631 | <xsl:when test="docinfo/title"> | ||
1632 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
1633 | </xsl:when> | ||
1634 | <xsl:when test="info/title"> | ||
1635 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/> | ||
1636 | </xsl:when> | ||
1637 | <xsl:when test="title"> | ||
1638 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/> | ||
1639 | </xsl:when> | ||
1640 | </xsl:choose> | ||
1641 | |||
1642 | <xsl:choose> | ||
1643 | <xsl:when test="chapterinfo/subtitle"> | ||
1644 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/> | ||
1645 | </xsl:when> | ||
1646 | <xsl:when test="docinfo/subtitle"> | ||
1647 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
1648 | </xsl:when> | ||
1649 | <xsl:when test="info/subtitle"> | ||
1650 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
1651 | </xsl:when> | ||
1652 | <xsl:when test="subtitle"> | ||
1653 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/> | ||
1654 | </xsl:when> | ||
1655 | </xsl:choose> | ||
1656 | |||
1657 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/> | ||
1658 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
1659 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
1660 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/> | ||
1661 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
1662 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
1663 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/> | ||
1664 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
1665 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/> | ||
1666 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/> | ||
1667 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
1668 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
1669 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/> | ||
1670 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
1671 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
1672 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/> | ||
1673 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
1674 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/> | ||
1675 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/> | ||
1676 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
1677 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
1678 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/> | ||
1679 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
1680 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
1681 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/> | ||
1682 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
1683 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/> | ||
1684 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/> | ||
1685 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
1686 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
1687 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/> | ||
1688 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
1689 | <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/> | ||
1690 | </xsl:template> | ||
1691 | |||
1692 | <xsl:template name="chapter.titlepage.verso"> | ||
1693 | </xsl:template> | ||
1694 | |||
1695 | <xsl:template name="chapter.titlepage.separator"> | ||
1696 | </xsl:template> | ||
1697 | |||
1698 | <xsl:template name="chapter.titlepage.before.recto"> | ||
1699 | </xsl:template> | ||
1700 | |||
1701 | <xsl:template name="chapter.titlepage.before.verso"> | ||
1702 | </xsl:template> | ||
1703 | |||
1704 | <xsl:template name="chapter.titlepage"> | ||
1705 | <div class="titlepage"> | ||
1706 | <xsl:variable name="recto.content"> | ||
1707 | <xsl:call-template name="chapter.titlepage.before.recto"/> | ||
1708 | <xsl:call-template name="chapter.titlepage.recto"/> | ||
1709 | </xsl:variable> | ||
1710 | <xsl:variable name="recto.elements.count"> | ||
1711 | <xsl:choose> | ||
1712 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1713 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1714 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1715 | <xsl:otherwise>1</xsl:otherwise> | ||
1716 | </xsl:choose> | ||
1717 | </xsl:variable> | ||
1718 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1719 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1720 | </xsl:if> | ||
1721 | <xsl:variable name="verso.content"> | ||
1722 | <xsl:call-template name="chapter.titlepage.before.verso"/> | ||
1723 | <xsl:call-template name="chapter.titlepage.verso"/> | ||
1724 | </xsl:variable> | ||
1725 | <xsl:variable name="verso.elements.count"> | ||
1726 | <xsl:choose> | ||
1727 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1728 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1729 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1730 | <xsl:otherwise>1</xsl:otherwise> | ||
1731 | </xsl:choose> | ||
1732 | </xsl:variable> | ||
1733 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
1734 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1735 | </xsl:if> | ||
1736 | <xsl:call-template name="chapter.titlepage.separator"/> | ||
1737 | </div> | ||
1738 | </xsl:template> | ||
1739 | |||
1740 | <xsl:template match="*" mode="chapter.titlepage.recto.mode"> | ||
1741 | <!-- if an element isn't found in this mode, --> | ||
1742 | <!-- try the generic titlepage.mode --> | ||
1743 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1744 | </xsl:template> | ||
1745 | |||
1746 | <xsl:template match="*" mode="chapter.titlepage.verso.mode"> | ||
1747 | <!-- if an element isn't found in this mode, --> | ||
1748 | <!-- try the generic titlepage.mode --> | ||
1749 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1750 | </xsl:template> | ||
1751 | |||
1752 | <xsl:template match="title" mode="chapter.titlepage.recto.auto.mode"> | ||
1753 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1754 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1755 | </div> | ||
1756 | </xsl:template> | ||
1757 | |||
1758 | <xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode"> | ||
1759 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1760 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1761 | </div> | ||
1762 | </xsl:template> | ||
1763 | |||
1764 | <xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode"> | ||
1765 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1766 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1767 | </div> | ||
1768 | </xsl:template> | ||
1769 | |||
1770 | <xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode"> | ||
1771 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1772 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1773 | </div> | ||
1774 | </xsl:template> | ||
1775 | |||
1776 | <xsl:template match="author" mode="chapter.titlepage.recto.auto.mode"> | ||
1777 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1778 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1779 | </div> | ||
1780 | </xsl:template> | ||
1781 | |||
1782 | <xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode"> | ||
1783 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1784 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1785 | </div> | ||
1786 | </xsl:template> | ||
1787 | |||
1788 | <xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode"> | ||
1789 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1790 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1791 | </div> | ||
1792 | </xsl:template> | ||
1793 | |||
1794 | <xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode"> | ||
1795 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1796 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1797 | </div> | ||
1798 | </xsl:template> | ||
1799 | |||
1800 | <xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode"> | ||
1801 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1802 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1803 | </div> | ||
1804 | </xsl:template> | ||
1805 | |||
1806 | <xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode"> | ||
1807 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1808 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1809 | </div> | ||
1810 | </xsl:template> | ||
1811 | |||
1812 | <xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode"> | ||
1813 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1814 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1815 | </div> | ||
1816 | </xsl:template> | ||
1817 | |||
1818 | <xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode"> | ||
1819 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1820 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1821 | </div> | ||
1822 | </xsl:template> | ||
1823 | |||
1824 | <xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode"> | ||
1825 | <div xsl:use-attribute-sets="chapter.titlepage.recto.style"> | ||
1826 | <xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/> | ||
1827 | </div> | ||
1828 | </xsl:template> | ||
1829 | |||
1830 | <xsl:template name="appendix.titlepage.recto"> | ||
1831 | <xsl:choose> | ||
1832 | <xsl:when test="appendixinfo/title"> | ||
1833 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/> | ||
1834 | </xsl:when> | ||
1835 | <xsl:when test="docinfo/title"> | ||
1836 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
1837 | </xsl:when> | ||
1838 | <xsl:when test="info/title"> | ||
1839 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/> | ||
1840 | </xsl:when> | ||
1841 | <xsl:when test="title"> | ||
1842 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/> | ||
1843 | </xsl:when> | ||
1844 | </xsl:choose> | ||
1845 | |||
1846 | <xsl:choose> | ||
1847 | <xsl:when test="appendixinfo/subtitle"> | ||
1848 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/> | ||
1849 | </xsl:when> | ||
1850 | <xsl:when test="docinfo/subtitle"> | ||
1851 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
1852 | </xsl:when> | ||
1853 | <xsl:when test="info/subtitle"> | ||
1854 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
1855 | </xsl:when> | ||
1856 | <xsl:when test="subtitle"> | ||
1857 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/> | ||
1858 | </xsl:when> | ||
1859 | </xsl:choose> | ||
1860 | |||
1861 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/> | ||
1862 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
1863 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
1864 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/> | ||
1865 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
1866 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
1867 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/> | ||
1868 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
1869 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/> | ||
1870 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/> | ||
1871 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
1872 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
1873 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/> | ||
1874 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
1875 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
1876 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/> | ||
1877 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
1878 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/> | ||
1879 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/> | ||
1880 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
1881 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
1882 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/> | ||
1883 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
1884 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
1885 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/> | ||
1886 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
1887 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/> | ||
1888 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/> | ||
1889 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
1890 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
1891 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/> | ||
1892 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
1893 | <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/> | ||
1894 | </xsl:template> | ||
1895 | |||
1896 | <xsl:template name="appendix.titlepage.verso"> | ||
1897 | </xsl:template> | ||
1898 | |||
1899 | <xsl:template name="appendix.titlepage.separator"> | ||
1900 | </xsl:template> | ||
1901 | |||
1902 | <xsl:template name="appendix.titlepage.before.recto"> | ||
1903 | </xsl:template> | ||
1904 | |||
1905 | <xsl:template name="appendix.titlepage.before.verso"> | ||
1906 | </xsl:template> | ||
1907 | |||
1908 | <xsl:template name="appendix.titlepage"> | ||
1909 | <div class="titlepage"> | ||
1910 | <xsl:variable name="recto.content"> | ||
1911 | <xsl:call-template name="appendix.titlepage.before.recto"/> | ||
1912 | <xsl:call-template name="appendix.titlepage.recto"/> | ||
1913 | </xsl:variable> | ||
1914 | <xsl:variable name="recto.elements.count"> | ||
1915 | <xsl:choose> | ||
1916 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1917 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1918 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
1919 | <xsl:otherwise>1</xsl:otherwise> | ||
1920 | </xsl:choose> | ||
1921 | </xsl:variable> | ||
1922 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
1923 | <div><xsl:copy-of select="$recto.content"/></div> | ||
1924 | </xsl:if> | ||
1925 | <xsl:variable name="verso.content"> | ||
1926 | <xsl:call-template name="appendix.titlepage.before.verso"/> | ||
1927 | <xsl:call-template name="appendix.titlepage.verso"/> | ||
1928 | </xsl:variable> | ||
1929 | <xsl:variable name="verso.elements.count"> | ||
1930 | <xsl:choose> | ||
1931 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1932 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
1933 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
1934 | <xsl:otherwise>1</xsl:otherwise> | ||
1935 | </xsl:choose> | ||
1936 | </xsl:variable> | ||
1937 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
1938 | <div><xsl:copy-of select="$verso.content"/></div> | ||
1939 | </xsl:if> | ||
1940 | <xsl:call-template name="appendix.titlepage.separator"/> | ||
1941 | </div> | ||
1942 | </xsl:template> | ||
1943 | |||
1944 | <xsl:template match="*" mode="appendix.titlepage.recto.mode"> | ||
1945 | <!-- if an element isn't found in this mode, --> | ||
1946 | <!-- try the generic titlepage.mode --> | ||
1947 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1948 | </xsl:template> | ||
1949 | |||
1950 | <xsl:template match="*" mode="appendix.titlepage.verso.mode"> | ||
1951 | <!-- if an element isn't found in this mode, --> | ||
1952 | <!-- try the generic titlepage.mode --> | ||
1953 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
1954 | </xsl:template> | ||
1955 | |||
1956 | <xsl:template match="title" mode="appendix.titlepage.recto.auto.mode"> | ||
1957 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1958 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1959 | </div> | ||
1960 | </xsl:template> | ||
1961 | |||
1962 | <xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode"> | ||
1963 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1964 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1965 | </div> | ||
1966 | </xsl:template> | ||
1967 | |||
1968 | <xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode"> | ||
1969 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1970 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1971 | </div> | ||
1972 | </xsl:template> | ||
1973 | |||
1974 | <xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode"> | ||
1975 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1976 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1977 | </div> | ||
1978 | </xsl:template> | ||
1979 | |||
1980 | <xsl:template match="author" mode="appendix.titlepage.recto.auto.mode"> | ||
1981 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1982 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1983 | </div> | ||
1984 | </xsl:template> | ||
1985 | |||
1986 | <xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode"> | ||
1987 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1988 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1989 | </div> | ||
1990 | </xsl:template> | ||
1991 | |||
1992 | <xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode"> | ||
1993 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
1994 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
1995 | </div> | ||
1996 | </xsl:template> | ||
1997 | |||
1998 | <xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode"> | ||
1999 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
2000 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
2001 | </div> | ||
2002 | </xsl:template> | ||
2003 | |||
2004 | <xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode"> | ||
2005 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
2006 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
2007 | </div> | ||
2008 | </xsl:template> | ||
2009 | |||
2010 | <xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode"> | ||
2011 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
2012 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
2013 | </div> | ||
2014 | </xsl:template> | ||
2015 | |||
2016 | <xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode"> | ||
2017 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
2018 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
2019 | </div> | ||
2020 | </xsl:template> | ||
2021 | |||
2022 | <xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode"> | ||
2023 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
2024 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
2025 | </div> | ||
2026 | </xsl:template> | ||
2027 | |||
2028 | <xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode"> | ||
2029 | <div xsl:use-attribute-sets="appendix.titlepage.recto.style"> | ||
2030 | <xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/> | ||
2031 | </div> | ||
2032 | </xsl:template> | ||
2033 | |||
2034 | <xsl:template name="section.titlepage.recto"> | ||
2035 | <xsl:choose> | ||
2036 | <xsl:when test="sectioninfo/title"> | ||
2037 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/> | ||
2038 | </xsl:when> | ||
2039 | <xsl:when test="info/title"> | ||
2040 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/> | ||
2041 | </xsl:when> | ||
2042 | <xsl:when test="title"> | ||
2043 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/> | ||
2044 | </xsl:when> | ||
2045 | </xsl:choose> | ||
2046 | |||
2047 | <xsl:choose> | ||
2048 | <xsl:when test="sectioninfo/subtitle"> | ||
2049 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/> | ||
2050 | </xsl:when> | ||
2051 | <xsl:when test="info/subtitle"> | ||
2052 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
2053 | </xsl:when> | ||
2054 | <xsl:when test="subtitle"> | ||
2055 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/> | ||
2056 | </xsl:when> | ||
2057 | </xsl:choose> | ||
2058 | |||
2059 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/> | ||
2060 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
2061 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/> | ||
2062 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
2063 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/> | ||
2064 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/> | ||
2065 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/> | ||
2066 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
2067 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/> | ||
2068 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
2069 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/> | ||
2070 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/> | ||
2071 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/> | ||
2072 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
2073 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/> | ||
2074 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
2075 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/> | ||
2076 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/> | ||
2077 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/> | ||
2078 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
2079 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/> | ||
2080 | <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/> | ||
2081 | </xsl:template> | ||
2082 | |||
2083 | <xsl:template name="section.titlepage.verso"> | ||
2084 | </xsl:template> | ||
2085 | |||
2086 | <xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
2087 | </xsl:template> | ||
2088 | |||
2089 | <xsl:template name="section.titlepage.before.recto"> | ||
2090 | </xsl:template> | ||
2091 | |||
2092 | <xsl:template name="section.titlepage.before.verso"> | ||
2093 | </xsl:template> | ||
2094 | |||
2095 | <xsl:template name="section.titlepage"> | ||
2096 | <div class="titlepage"> | ||
2097 | <xsl:variable name="recto.content"> | ||
2098 | <xsl:call-template name="section.titlepage.before.recto"/> | ||
2099 | <xsl:call-template name="section.titlepage.recto"/> | ||
2100 | </xsl:variable> | ||
2101 | <xsl:variable name="recto.elements.count"> | ||
2102 | <xsl:choose> | ||
2103 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2104 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2105 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2106 | <xsl:otherwise>1</xsl:otherwise> | ||
2107 | </xsl:choose> | ||
2108 | </xsl:variable> | ||
2109 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
2110 | <div><xsl:copy-of select="$recto.content"/></div> | ||
2111 | </xsl:if> | ||
2112 | <xsl:variable name="verso.content"> | ||
2113 | <xsl:call-template name="section.titlepage.before.verso"/> | ||
2114 | <xsl:call-template name="section.titlepage.verso"/> | ||
2115 | </xsl:variable> | ||
2116 | <xsl:variable name="verso.elements.count"> | ||
2117 | <xsl:choose> | ||
2118 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2119 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2120 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2121 | <xsl:otherwise>1</xsl:otherwise> | ||
2122 | </xsl:choose> | ||
2123 | </xsl:variable> | ||
2124 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
2125 | <div><xsl:copy-of select="$verso.content"/></div> | ||
2126 | </xsl:if> | ||
2127 | <xsl:call-template name="section.titlepage.separator"/> | ||
2128 | </div> | ||
2129 | </xsl:template> | ||
2130 | |||
2131 | <xsl:template match="*" mode="section.titlepage.recto.mode"> | ||
2132 | <!-- if an element isn't found in this mode, --> | ||
2133 | <!-- try the generic titlepage.mode --> | ||
2134 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2135 | </xsl:template> | ||
2136 | |||
2137 | <xsl:template match="*" mode="section.titlepage.verso.mode"> | ||
2138 | <!-- if an element isn't found in this mode, --> | ||
2139 | <!-- try the generic titlepage.mode --> | ||
2140 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2141 | </xsl:template> | ||
2142 | |||
2143 | <xsl:template match="title" mode="section.titlepage.recto.auto.mode"> | ||
2144 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2145 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2146 | </div> | ||
2147 | </xsl:template> | ||
2148 | |||
2149 | <xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode"> | ||
2150 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2151 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2152 | </div> | ||
2153 | </xsl:template> | ||
2154 | |||
2155 | <xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode"> | ||
2156 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2157 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2158 | </div> | ||
2159 | </xsl:template> | ||
2160 | |||
2161 | <xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode"> | ||
2162 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2163 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2164 | </div> | ||
2165 | </xsl:template> | ||
2166 | |||
2167 | <xsl:template match="author" mode="section.titlepage.recto.auto.mode"> | ||
2168 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2169 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2170 | </div> | ||
2171 | </xsl:template> | ||
2172 | |||
2173 | <xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode"> | ||
2174 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2175 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2176 | </div> | ||
2177 | </xsl:template> | ||
2178 | |||
2179 | <xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode"> | ||
2180 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2181 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2182 | </div> | ||
2183 | </xsl:template> | ||
2184 | |||
2185 | <xsl:template match="copyright" mode="section.titlepage.recto.auto.mode"> | ||
2186 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2187 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2188 | </div> | ||
2189 | </xsl:template> | ||
2190 | |||
2191 | <xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode"> | ||
2192 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2193 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2194 | </div> | ||
2195 | </xsl:template> | ||
2196 | |||
2197 | <xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode"> | ||
2198 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2199 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2200 | </div> | ||
2201 | </xsl:template> | ||
2202 | |||
2203 | <xsl:template match="revision" mode="section.titlepage.recto.auto.mode"> | ||
2204 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2205 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2206 | </div> | ||
2207 | </xsl:template> | ||
2208 | |||
2209 | <xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode"> | ||
2210 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2211 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2212 | </div> | ||
2213 | </xsl:template> | ||
2214 | |||
2215 | <xsl:template match="abstract" mode="section.titlepage.recto.auto.mode"> | ||
2216 | <div xsl:use-attribute-sets="section.titlepage.recto.style"> | ||
2217 | <xsl:apply-templates select="." mode="section.titlepage.recto.mode"/> | ||
2218 | </div> | ||
2219 | </xsl:template> | ||
2220 | |||
2221 | <xsl:template name="sect1.titlepage.recto"> | ||
2222 | <xsl:choose> | ||
2223 | <xsl:when test="sect1info/title"> | ||
2224 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/> | ||
2225 | </xsl:when> | ||
2226 | <xsl:when test="info/title"> | ||
2227 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/> | ||
2228 | </xsl:when> | ||
2229 | <xsl:when test="title"> | ||
2230 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/> | ||
2231 | </xsl:when> | ||
2232 | </xsl:choose> | ||
2233 | |||
2234 | <xsl:choose> | ||
2235 | <xsl:when test="sect1info/subtitle"> | ||
2236 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/> | ||
2237 | </xsl:when> | ||
2238 | <xsl:when test="info/subtitle"> | ||
2239 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
2240 | </xsl:when> | ||
2241 | <xsl:when test="subtitle"> | ||
2242 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/> | ||
2243 | </xsl:when> | ||
2244 | </xsl:choose> | ||
2245 | |||
2246 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/> | ||
2247 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
2248 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/> | ||
2249 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
2250 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/> | ||
2251 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/> | ||
2252 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/> | ||
2253 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
2254 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/> | ||
2255 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
2256 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/> | ||
2257 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/> | ||
2258 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/> | ||
2259 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
2260 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/> | ||
2261 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
2262 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/> | ||
2263 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/> | ||
2264 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/> | ||
2265 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
2266 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/> | ||
2267 | <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/> | ||
2268 | </xsl:template> | ||
2269 | |||
2270 | <xsl:template name="sect1.titlepage.verso"> | ||
2271 | </xsl:template> | ||
2272 | |||
2273 | <xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
2274 | </xsl:template> | ||
2275 | |||
2276 | <xsl:template name="sect1.titlepage.before.recto"> | ||
2277 | </xsl:template> | ||
2278 | |||
2279 | <xsl:template name="sect1.titlepage.before.verso"> | ||
2280 | </xsl:template> | ||
2281 | |||
2282 | <xsl:template name="sect1.titlepage"> | ||
2283 | <div class="titlepage"> | ||
2284 | <xsl:variable name="recto.content"> | ||
2285 | <xsl:call-template name="sect1.titlepage.before.recto"/> | ||
2286 | <xsl:call-template name="sect1.titlepage.recto"/> | ||
2287 | </xsl:variable> | ||
2288 | <xsl:variable name="recto.elements.count"> | ||
2289 | <xsl:choose> | ||
2290 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2291 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2292 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2293 | <xsl:otherwise>1</xsl:otherwise> | ||
2294 | </xsl:choose> | ||
2295 | </xsl:variable> | ||
2296 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
2297 | <div><xsl:copy-of select="$recto.content"/></div> | ||
2298 | </xsl:if> | ||
2299 | <xsl:variable name="verso.content"> | ||
2300 | <xsl:call-template name="sect1.titlepage.before.verso"/> | ||
2301 | <xsl:call-template name="sect1.titlepage.verso"/> | ||
2302 | </xsl:variable> | ||
2303 | <xsl:variable name="verso.elements.count"> | ||
2304 | <xsl:choose> | ||
2305 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2306 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2307 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2308 | <xsl:otherwise>1</xsl:otherwise> | ||
2309 | </xsl:choose> | ||
2310 | </xsl:variable> | ||
2311 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
2312 | <div><xsl:copy-of select="$verso.content"/></div> | ||
2313 | </xsl:if> | ||
2314 | <xsl:call-template name="sect1.titlepage.separator"/> | ||
2315 | </div> | ||
2316 | </xsl:template> | ||
2317 | |||
2318 | <xsl:template match="*" mode="sect1.titlepage.recto.mode"> | ||
2319 | <!-- if an element isn't found in this mode, --> | ||
2320 | <!-- try the generic titlepage.mode --> | ||
2321 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2322 | </xsl:template> | ||
2323 | |||
2324 | <xsl:template match="*" mode="sect1.titlepage.verso.mode"> | ||
2325 | <!-- if an element isn't found in this mode, --> | ||
2326 | <!-- try the generic titlepage.mode --> | ||
2327 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2328 | </xsl:template> | ||
2329 | |||
2330 | <xsl:template match="title" mode="sect1.titlepage.recto.auto.mode"> | ||
2331 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2332 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2333 | </div> | ||
2334 | </xsl:template> | ||
2335 | |||
2336 | <xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode"> | ||
2337 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2338 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2339 | </div> | ||
2340 | </xsl:template> | ||
2341 | |||
2342 | <xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode"> | ||
2343 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2344 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2345 | </div> | ||
2346 | </xsl:template> | ||
2347 | |||
2348 | <xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode"> | ||
2349 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2350 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2351 | </div> | ||
2352 | </xsl:template> | ||
2353 | |||
2354 | <xsl:template match="author" mode="sect1.titlepage.recto.auto.mode"> | ||
2355 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2356 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2357 | </div> | ||
2358 | </xsl:template> | ||
2359 | |||
2360 | <xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode"> | ||
2361 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2362 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2363 | </div> | ||
2364 | </xsl:template> | ||
2365 | |||
2366 | <xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode"> | ||
2367 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2368 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2369 | </div> | ||
2370 | </xsl:template> | ||
2371 | |||
2372 | <xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode"> | ||
2373 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2374 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2375 | </div> | ||
2376 | </xsl:template> | ||
2377 | |||
2378 | <xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode"> | ||
2379 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2380 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2381 | </div> | ||
2382 | </xsl:template> | ||
2383 | |||
2384 | <xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode"> | ||
2385 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2386 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2387 | </div> | ||
2388 | </xsl:template> | ||
2389 | |||
2390 | <xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode"> | ||
2391 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2392 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2393 | </div> | ||
2394 | </xsl:template> | ||
2395 | |||
2396 | <xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode"> | ||
2397 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2398 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2399 | </div> | ||
2400 | </xsl:template> | ||
2401 | |||
2402 | <xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode"> | ||
2403 | <div xsl:use-attribute-sets="sect1.titlepage.recto.style"> | ||
2404 | <xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/> | ||
2405 | </div> | ||
2406 | </xsl:template> | ||
2407 | |||
2408 | <xsl:template name="sect2.titlepage.recto"> | ||
2409 | <xsl:choose> | ||
2410 | <xsl:when test="sect2info/title"> | ||
2411 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/> | ||
2412 | </xsl:when> | ||
2413 | <xsl:when test="info/title"> | ||
2414 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/> | ||
2415 | </xsl:when> | ||
2416 | <xsl:when test="title"> | ||
2417 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/> | ||
2418 | </xsl:when> | ||
2419 | </xsl:choose> | ||
2420 | |||
2421 | <xsl:choose> | ||
2422 | <xsl:when test="sect2info/subtitle"> | ||
2423 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/> | ||
2424 | </xsl:when> | ||
2425 | <xsl:when test="info/subtitle"> | ||
2426 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
2427 | </xsl:when> | ||
2428 | <xsl:when test="subtitle"> | ||
2429 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/> | ||
2430 | </xsl:when> | ||
2431 | </xsl:choose> | ||
2432 | |||
2433 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/> | ||
2434 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
2435 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/> | ||
2436 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
2437 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/> | ||
2438 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/> | ||
2439 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/> | ||
2440 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
2441 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/> | ||
2442 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
2443 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/> | ||
2444 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/> | ||
2445 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/> | ||
2446 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
2447 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/> | ||
2448 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
2449 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/> | ||
2450 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/> | ||
2451 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/> | ||
2452 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
2453 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/> | ||
2454 | <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/> | ||
2455 | </xsl:template> | ||
2456 | |||
2457 | <xsl:template name="sect2.titlepage.verso"> | ||
2458 | </xsl:template> | ||
2459 | |||
2460 | <xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
2461 | </xsl:template> | ||
2462 | |||
2463 | <xsl:template name="sect2.titlepage.before.recto"> | ||
2464 | </xsl:template> | ||
2465 | |||
2466 | <xsl:template name="sect2.titlepage.before.verso"> | ||
2467 | </xsl:template> | ||
2468 | |||
2469 | <xsl:template name="sect2.titlepage"> | ||
2470 | <div class="titlepage"> | ||
2471 | <xsl:variable name="recto.content"> | ||
2472 | <xsl:call-template name="sect2.titlepage.before.recto"/> | ||
2473 | <xsl:call-template name="sect2.titlepage.recto"/> | ||
2474 | </xsl:variable> | ||
2475 | <xsl:variable name="recto.elements.count"> | ||
2476 | <xsl:choose> | ||
2477 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2478 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2479 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2480 | <xsl:otherwise>1</xsl:otherwise> | ||
2481 | </xsl:choose> | ||
2482 | </xsl:variable> | ||
2483 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
2484 | <div><xsl:copy-of select="$recto.content"/></div> | ||
2485 | </xsl:if> | ||
2486 | <xsl:variable name="verso.content"> | ||
2487 | <xsl:call-template name="sect2.titlepage.before.verso"/> | ||
2488 | <xsl:call-template name="sect2.titlepage.verso"/> | ||
2489 | </xsl:variable> | ||
2490 | <xsl:variable name="verso.elements.count"> | ||
2491 | <xsl:choose> | ||
2492 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2493 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2494 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2495 | <xsl:otherwise>1</xsl:otherwise> | ||
2496 | </xsl:choose> | ||
2497 | </xsl:variable> | ||
2498 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
2499 | <div><xsl:copy-of select="$verso.content"/></div> | ||
2500 | </xsl:if> | ||
2501 | <xsl:call-template name="sect2.titlepage.separator"/> | ||
2502 | </div> | ||
2503 | </xsl:template> | ||
2504 | |||
2505 | <xsl:template match="*" mode="sect2.titlepage.recto.mode"> | ||
2506 | <!-- if an element isn't found in this mode, --> | ||
2507 | <!-- try the generic titlepage.mode --> | ||
2508 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2509 | </xsl:template> | ||
2510 | |||
2511 | <xsl:template match="*" mode="sect2.titlepage.verso.mode"> | ||
2512 | <!-- if an element isn't found in this mode, --> | ||
2513 | <!-- try the generic titlepage.mode --> | ||
2514 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2515 | </xsl:template> | ||
2516 | |||
2517 | <xsl:template match="title" mode="sect2.titlepage.recto.auto.mode"> | ||
2518 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2519 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2520 | </div> | ||
2521 | </xsl:template> | ||
2522 | |||
2523 | <xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode"> | ||
2524 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2525 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2526 | </div> | ||
2527 | </xsl:template> | ||
2528 | |||
2529 | <xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode"> | ||
2530 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2531 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2532 | </div> | ||
2533 | </xsl:template> | ||
2534 | |||
2535 | <xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode"> | ||
2536 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2537 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2538 | </div> | ||
2539 | </xsl:template> | ||
2540 | |||
2541 | <xsl:template match="author" mode="sect2.titlepage.recto.auto.mode"> | ||
2542 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2543 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2544 | </div> | ||
2545 | </xsl:template> | ||
2546 | |||
2547 | <xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode"> | ||
2548 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2549 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2550 | </div> | ||
2551 | </xsl:template> | ||
2552 | |||
2553 | <xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode"> | ||
2554 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2555 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2556 | </div> | ||
2557 | </xsl:template> | ||
2558 | |||
2559 | <xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode"> | ||
2560 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2561 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2562 | </div> | ||
2563 | </xsl:template> | ||
2564 | |||
2565 | <xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode"> | ||
2566 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2567 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2568 | </div> | ||
2569 | </xsl:template> | ||
2570 | |||
2571 | <xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode"> | ||
2572 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2573 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2574 | </div> | ||
2575 | </xsl:template> | ||
2576 | |||
2577 | <xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode"> | ||
2578 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2579 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2580 | </div> | ||
2581 | </xsl:template> | ||
2582 | |||
2583 | <xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode"> | ||
2584 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2585 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2586 | </div> | ||
2587 | </xsl:template> | ||
2588 | |||
2589 | <xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode"> | ||
2590 | <div xsl:use-attribute-sets="sect2.titlepage.recto.style"> | ||
2591 | <xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/> | ||
2592 | </div> | ||
2593 | </xsl:template> | ||
2594 | |||
2595 | <xsl:template name="sect3.titlepage.recto"> | ||
2596 | <xsl:choose> | ||
2597 | <xsl:when test="sect3info/title"> | ||
2598 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/> | ||
2599 | </xsl:when> | ||
2600 | <xsl:when test="info/title"> | ||
2601 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/> | ||
2602 | </xsl:when> | ||
2603 | <xsl:when test="title"> | ||
2604 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/> | ||
2605 | </xsl:when> | ||
2606 | </xsl:choose> | ||
2607 | |||
2608 | <xsl:choose> | ||
2609 | <xsl:when test="sect3info/subtitle"> | ||
2610 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/> | ||
2611 | </xsl:when> | ||
2612 | <xsl:when test="info/subtitle"> | ||
2613 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
2614 | </xsl:when> | ||
2615 | <xsl:when test="subtitle"> | ||
2616 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/> | ||
2617 | </xsl:when> | ||
2618 | </xsl:choose> | ||
2619 | |||
2620 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/> | ||
2621 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
2622 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/> | ||
2623 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
2624 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/> | ||
2625 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/> | ||
2626 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/> | ||
2627 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
2628 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/> | ||
2629 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
2630 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/> | ||
2631 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/> | ||
2632 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/> | ||
2633 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
2634 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/> | ||
2635 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
2636 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/> | ||
2637 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/> | ||
2638 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/> | ||
2639 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
2640 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/> | ||
2641 | <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/> | ||
2642 | </xsl:template> | ||
2643 | |||
2644 | <xsl:template name="sect3.titlepage.verso"> | ||
2645 | </xsl:template> | ||
2646 | |||
2647 | <xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
2648 | </xsl:template> | ||
2649 | |||
2650 | <xsl:template name="sect3.titlepage.before.recto"> | ||
2651 | </xsl:template> | ||
2652 | |||
2653 | <xsl:template name="sect3.titlepage.before.verso"> | ||
2654 | </xsl:template> | ||
2655 | |||
2656 | <xsl:template name="sect3.titlepage"> | ||
2657 | <div class="titlepage"> | ||
2658 | <xsl:variable name="recto.content"> | ||
2659 | <xsl:call-template name="sect3.titlepage.before.recto"/> | ||
2660 | <xsl:call-template name="sect3.titlepage.recto"/> | ||
2661 | </xsl:variable> | ||
2662 | <xsl:variable name="recto.elements.count"> | ||
2663 | <xsl:choose> | ||
2664 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2665 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2666 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2667 | <xsl:otherwise>1</xsl:otherwise> | ||
2668 | </xsl:choose> | ||
2669 | </xsl:variable> | ||
2670 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
2671 | <div><xsl:copy-of select="$recto.content"/></div> | ||
2672 | </xsl:if> | ||
2673 | <xsl:variable name="verso.content"> | ||
2674 | <xsl:call-template name="sect3.titlepage.before.verso"/> | ||
2675 | <xsl:call-template name="sect3.titlepage.verso"/> | ||
2676 | </xsl:variable> | ||
2677 | <xsl:variable name="verso.elements.count"> | ||
2678 | <xsl:choose> | ||
2679 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2680 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2681 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2682 | <xsl:otherwise>1</xsl:otherwise> | ||
2683 | </xsl:choose> | ||
2684 | </xsl:variable> | ||
2685 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
2686 | <div><xsl:copy-of select="$verso.content"/></div> | ||
2687 | </xsl:if> | ||
2688 | <xsl:call-template name="sect3.titlepage.separator"/> | ||
2689 | </div> | ||
2690 | </xsl:template> | ||
2691 | |||
2692 | <xsl:template match="*" mode="sect3.titlepage.recto.mode"> | ||
2693 | <!-- if an element isn't found in this mode, --> | ||
2694 | <!-- try the generic titlepage.mode --> | ||
2695 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2696 | </xsl:template> | ||
2697 | |||
2698 | <xsl:template match="*" mode="sect3.titlepage.verso.mode"> | ||
2699 | <!-- if an element isn't found in this mode, --> | ||
2700 | <!-- try the generic titlepage.mode --> | ||
2701 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2702 | </xsl:template> | ||
2703 | |||
2704 | <xsl:template match="title" mode="sect3.titlepage.recto.auto.mode"> | ||
2705 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2706 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2707 | </div> | ||
2708 | </xsl:template> | ||
2709 | |||
2710 | <xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode"> | ||
2711 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2712 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2713 | </div> | ||
2714 | </xsl:template> | ||
2715 | |||
2716 | <xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode"> | ||
2717 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2718 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2719 | </div> | ||
2720 | </xsl:template> | ||
2721 | |||
2722 | <xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode"> | ||
2723 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2724 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2725 | </div> | ||
2726 | </xsl:template> | ||
2727 | |||
2728 | <xsl:template match="author" mode="sect3.titlepage.recto.auto.mode"> | ||
2729 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2730 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2731 | </div> | ||
2732 | </xsl:template> | ||
2733 | |||
2734 | <xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode"> | ||
2735 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2736 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2737 | </div> | ||
2738 | </xsl:template> | ||
2739 | |||
2740 | <xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode"> | ||
2741 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2742 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2743 | </div> | ||
2744 | </xsl:template> | ||
2745 | |||
2746 | <xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode"> | ||
2747 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2748 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2749 | </div> | ||
2750 | </xsl:template> | ||
2751 | |||
2752 | <xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode"> | ||
2753 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2754 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2755 | </div> | ||
2756 | </xsl:template> | ||
2757 | |||
2758 | <xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode"> | ||
2759 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2760 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2761 | </div> | ||
2762 | </xsl:template> | ||
2763 | |||
2764 | <xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode"> | ||
2765 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2766 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2767 | </div> | ||
2768 | </xsl:template> | ||
2769 | |||
2770 | <xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode"> | ||
2771 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2772 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2773 | </div> | ||
2774 | </xsl:template> | ||
2775 | |||
2776 | <xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode"> | ||
2777 | <div xsl:use-attribute-sets="sect3.titlepage.recto.style"> | ||
2778 | <xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/> | ||
2779 | </div> | ||
2780 | </xsl:template> | ||
2781 | |||
2782 | <xsl:template name="sect4.titlepage.recto"> | ||
2783 | <xsl:choose> | ||
2784 | <xsl:when test="sect4info/title"> | ||
2785 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/> | ||
2786 | </xsl:when> | ||
2787 | <xsl:when test="info/title"> | ||
2788 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/> | ||
2789 | </xsl:when> | ||
2790 | <xsl:when test="title"> | ||
2791 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/> | ||
2792 | </xsl:when> | ||
2793 | </xsl:choose> | ||
2794 | |||
2795 | <xsl:choose> | ||
2796 | <xsl:when test="sect4info/subtitle"> | ||
2797 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/> | ||
2798 | </xsl:when> | ||
2799 | <xsl:when test="info/subtitle"> | ||
2800 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
2801 | </xsl:when> | ||
2802 | <xsl:when test="subtitle"> | ||
2803 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/> | ||
2804 | </xsl:when> | ||
2805 | </xsl:choose> | ||
2806 | |||
2807 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/> | ||
2808 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
2809 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/> | ||
2810 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
2811 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/> | ||
2812 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/> | ||
2813 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/> | ||
2814 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
2815 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/> | ||
2816 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
2817 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/> | ||
2818 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/> | ||
2819 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/> | ||
2820 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
2821 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/> | ||
2822 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
2823 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/> | ||
2824 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/> | ||
2825 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/> | ||
2826 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
2827 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/> | ||
2828 | <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/> | ||
2829 | </xsl:template> | ||
2830 | |||
2831 | <xsl:template name="sect4.titlepage.verso"> | ||
2832 | </xsl:template> | ||
2833 | |||
2834 | <xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
2835 | </xsl:template> | ||
2836 | |||
2837 | <xsl:template name="sect4.titlepage.before.recto"> | ||
2838 | </xsl:template> | ||
2839 | |||
2840 | <xsl:template name="sect4.titlepage.before.verso"> | ||
2841 | </xsl:template> | ||
2842 | |||
2843 | <xsl:template name="sect4.titlepage"> | ||
2844 | <div class="titlepage"> | ||
2845 | <xsl:variable name="recto.content"> | ||
2846 | <xsl:call-template name="sect4.titlepage.before.recto"/> | ||
2847 | <xsl:call-template name="sect4.titlepage.recto"/> | ||
2848 | </xsl:variable> | ||
2849 | <xsl:variable name="recto.elements.count"> | ||
2850 | <xsl:choose> | ||
2851 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2852 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2853 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
2854 | <xsl:otherwise>1</xsl:otherwise> | ||
2855 | </xsl:choose> | ||
2856 | </xsl:variable> | ||
2857 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
2858 | <div><xsl:copy-of select="$recto.content"/></div> | ||
2859 | </xsl:if> | ||
2860 | <xsl:variable name="verso.content"> | ||
2861 | <xsl:call-template name="sect4.titlepage.before.verso"/> | ||
2862 | <xsl:call-template name="sect4.titlepage.verso"/> | ||
2863 | </xsl:variable> | ||
2864 | <xsl:variable name="verso.elements.count"> | ||
2865 | <xsl:choose> | ||
2866 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2867 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
2868 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
2869 | <xsl:otherwise>1</xsl:otherwise> | ||
2870 | </xsl:choose> | ||
2871 | </xsl:variable> | ||
2872 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
2873 | <div><xsl:copy-of select="$verso.content"/></div> | ||
2874 | </xsl:if> | ||
2875 | <xsl:call-template name="sect4.titlepage.separator"/> | ||
2876 | </div> | ||
2877 | </xsl:template> | ||
2878 | |||
2879 | <xsl:template match="*" mode="sect4.titlepage.recto.mode"> | ||
2880 | <!-- if an element isn't found in this mode, --> | ||
2881 | <!-- try the generic titlepage.mode --> | ||
2882 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2883 | </xsl:template> | ||
2884 | |||
2885 | <xsl:template match="*" mode="sect4.titlepage.verso.mode"> | ||
2886 | <!-- if an element isn't found in this mode, --> | ||
2887 | <!-- try the generic titlepage.mode --> | ||
2888 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
2889 | </xsl:template> | ||
2890 | |||
2891 | <xsl:template match="title" mode="sect4.titlepage.recto.auto.mode"> | ||
2892 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2893 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2894 | </div> | ||
2895 | </xsl:template> | ||
2896 | |||
2897 | <xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode"> | ||
2898 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2899 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2900 | </div> | ||
2901 | </xsl:template> | ||
2902 | |||
2903 | <xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode"> | ||
2904 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2905 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2906 | </div> | ||
2907 | </xsl:template> | ||
2908 | |||
2909 | <xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode"> | ||
2910 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2911 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2912 | </div> | ||
2913 | </xsl:template> | ||
2914 | |||
2915 | <xsl:template match="author" mode="sect4.titlepage.recto.auto.mode"> | ||
2916 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2917 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2918 | </div> | ||
2919 | </xsl:template> | ||
2920 | |||
2921 | <xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode"> | ||
2922 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2923 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2924 | </div> | ||
2925 | </xsl:template> | ||
2926 | |||
2927 | <xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode"> | ||
2928 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2929 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2930 | </div> | ||
2931 | </xsl:template> | ||
2932 | |||
2933 | <xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode"> | ||
2934 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2935 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2936 | </div> | ||
2937 | </xsl:template> | ||
2938 | |||
2939 | <xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode"> | ||
2940 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2941 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2942 | </div> | ||
2943 | </xsl:template> | ||
2944 | |||
2945 | <xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode"> | ||
2946 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2947 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2948 | </div> | ||
2949 | </xsl:template> | ||
2950 | |||
2951 | <xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode"> | ||
2952 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2953 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2954 | </div> | ||
2955 | </xsl:template> | ||
2956 | |||
2957 | <xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode"> | ||
2958 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2959 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2960 | </div> | ||
2961 | </xsl:template> | ||
2962 | |||
2963 | <xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode"> | ||
2964 | <div xsl:use-attribute-sets="sect4.titlepage.recto.style"> | ||
2965 | <xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/> | ||
2966 | </div> | ||
2967 | </xsl:template> | ||
2968 | |||
2969 | <xsl:template name="sect5.titlepage.recto"> | ||
2970 | <xsl:choose> | ||
2971 | <xsl:when test="sect5info/title"> | ||
2972 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/> | ||
2973 | </xsl:when> | ||
2974 | <xsl:when test="info/title"> | ||
2975 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/> | ||
2976 | </xsl:when> | ||
2977 | <xsl:when test="title"> | ||
2978 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/> | ||
2979 | </xsl:when> | ||
2980 | </xsl:choose> | ||
2981 | |||
2982 | <xsl:choose> | ||
2983 | <xsl:when test="sect5info/subtitle"> | ||
2984 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/> | ||
2985 | </xsl:when> | ||
2986 | <xsl:when test="info/subtitle"> | ||
2987 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
2988 | </xsl:when> | ||
2989 | <xsl:when test="subtitle"> | ||
2990 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/> | ||
2991 | </xsl:when> | ||
2992 | </xsl:choose> | ||
2993 | |||
2994 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/> | ||
2995 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
2996 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/> | ||
2997 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
2998 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/> | ||
2999 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/> | ||
3000 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/> | ||
3001 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
3002 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/> | ||
3003 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
3004 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/> | ||
3005 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/> | ||
3006 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/> | ||
3007 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
3008 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/> | ||
3009 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
3010 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/> | ||
3011 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/> | ||
3012 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/> | ||
3013 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
3014 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/> | ||
3015 | <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/> | ||
3016 | </xsl:template> | ||
3017 | |||
3018 | <xsl:template name="sect5.titlepage.verso"> | ||
3019 | </xsl:template> | ||
3020 | |||
3021 | <xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
3022 | </xsl:template> | ||
3023 | |||
3024 | <xsl:template name="sect5.titlepage.before.recto"> | ||
3025 | </xsl:template> | ||
3026 | |||
3027 | <xsl:template name="sect5.titlepage.before.verso"> | ||
3028 | </xsl:template> | ||
3029 | |||
3030 | <xsl:template name="sect5.titlepage"> | ||
3031 | <div class="titlepage"> | ||
3032 | <xsl:variable name="recto.content"> | ||
3033 | <xsl:call-template name="sect5.titlepage.before.recto"/> | ||
3034 | <xsl:call-template name="sect5.titlepage.recto"/> | ||
3035 | </xsl:variable> | ||
3036 | <xsl:variable name="recto.elements.count"> | ||
3037 | <xsl:choose> | ||
3038 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3039 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3040 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3041 | <xsl:otherwise>1</xsl:otherwise> | ||
3042 | </xsl:choose> | ||
3043 | </xsl:variable> | ||
3044 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3045 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3046 | </xsl:if> | ||
3047 | <xsl:variable name="verso.content"> | ||
3048 | <xsl:call-template name="sect5.titlepage.before.verso"/> | ||
3049 | <xsl:call-template name="sect5.titlepage.verso"/> | ||
3050 | </xsl:variable> | ||
3051 | <xsl:variable name="verso.elements.count"> | ||
3052 | <xsl:choose> | ||
3053 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3054 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3055 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3056 | <xsl:otherwise>1</xsl:otherwise> | ||
3057 | </xsl:choose> | ||
3058 | </xsl:variable> | ||
3059 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3060 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3061 | </xsl:if> | ||
3062 | <xsl:call-template name="sect5.titlepage.separator"/> | ||
3063 | </div> | ||
3064 | </xsl:template> | ||
3065 | |||
3066 | <xsl:template match="*" mode="sect5.titlepage.recto.mode"> | ||
3067 | <!-- if an element isn't found in this mode, --> | ||
3068 | <!-- try the generic titlepage.mode --> | ||
3069 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3070 | </xsl:template> | ||
3071 | |||
3072 | <xsl:template match="*" mode="sect5.titlepage.verso.mode"> | ||
3073 | <!-- if an element isn't found in this mode, --> | ||
3074 | <!-- try the generic titlepage.mode --> | ||
3075 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3076 | </xsl:template> | ||
3077 | |||
3078 | <xsl:template match="title" mode="sect5.titlepage.recto.auto.mode"> | ||
3079 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3080 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3081 | </div> | ||
3082 | </xsl:template> | ||
3083 | |||
3084 | <xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode"> | ||
3085 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3086 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3087 | </div> | ||
3088 | </xsl:template> | ||
3089 | |||
3090 | <xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode"> | ||
3091 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3092 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3093 | </div> | ||
3094 | </xsl:template> | ||
3095 | |||
3096 | <xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode"> | ||
3097 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3098 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3099 | </div> | ||
3100 | </xsl:template> | ||
3101 | |||
3102 | <xsl:template match="author" mode="sect5.titlepage.recto.auto.mode"> | ||
3103 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3104 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3105 | </div> | ||
3106 | </xsl:template> | ||
3107 | |||
3108 | <xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode"> | ||
3109 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3110 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3111 | </div> | ||
3112 | </xsl:template> | ||
3113 | |||
3114 | <xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode"> | ||
3115 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3116 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3117 | </div> | ||
3118 | </xsl:template> | ||
3119 | |||
3120 | <xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode"> | ||
3121 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3122 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3123 | </div> | ||
3124 | </xsl:template> | ||
3125 | |||
3126 | <xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode"> | ||
3127 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3128 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3129 | </div> | ||
3130 | </xsl:template> | ||
3131 | |||
3132 | <xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode"> | ||
3133 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3134 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3135 | </div> | ||
3136 | </xsl:template> | ||
3137 | |||
3138 | <xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode"> | ||
3139 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3140 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3141 | </div> | ||
3142 | </xsl:template> | ||
3143 | |||
3144 | <xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode"> | ||
3145 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3146 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3147 | </div> | ||
3148 | </xsl:template> | ||
3149 | |||
3150 | <xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode"> | ||
3151 | <div xsl:use-attribute-sets="sect5.titlepage.recto.style"> | ||
3152 | <xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/> | ||
3153 | </div> | ||
3154 | </xsl:template> | ||
3155 | |||
3156 | <xsl:template name="simplesect.titlepage.recto"> | ||
3157 | <xsl:choose> | ||
3158 | <xsl:when test="simplesectinfo/title"> | ||
3159 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/> | ||
3160 | </xsl:when> | ||
3161 | <xsl:when test="docinfo/title"> | ||
3162 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
3163 | </xsl:when> | ||
3164 | <xsl:when test="info/title"> | ||
3165 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/> | ||
3166 | </xsl:when> | ||
3167 | <xsl:when test="title"> | ||
3168 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/> | ||
3169 | </xsl:when> | ||
3170 | </xsl:choose> | ||
3171 | |||
3172 | <xsl:choose> | ||
3173 | <xsl:when test="simplesectinfo/subtitle"> | ||
3174 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/> | ||
3175 | </xsl:when> | ||
3176 | <xsl:when test="docinfo/subtitle"> | ||
3177 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
3178 | </xsl:when> | ||
3179 | <xsl:when test="info/subtitle"> | ||
3180 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
3181 | </xsl:when> | ||
3182 | <xsl:when test="subtitle"> | ||
3183 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/> | ||
3184 | </xsl:when> | ||
3185 | </xsl:choose> | ||
3186 | |||
3187 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/> | ||
3188 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/> | ||
3189 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/> | ||
3190 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/> | ||
3191 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/> | ||
3192 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/> | ||
3193 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/> | ||
3194 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/> | ||
3195 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/> | ||
3196 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/> | ||
3197 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/> | ||
3198 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/> | ||
3199 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/> | ||
3200 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/> | ||
3201 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/> | ||
3202 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/> | ||
3203 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/> | ||
3204 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/> | ||
3205 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/> | ||
3206 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/> | ||
3207 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/> | ||
3208 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/> | ||
3209 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/> | ||
3210 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/> | ||
3211 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/> | ||
3212 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/> | ||
3213 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/> | ||
3214 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/> | ||
3215 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/> | ||
3216 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/> | ||
3217 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/> | ||
3218 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/> | ||
3219 | <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/> | ||
3220 | </xsl:template> | ||
3221 | |||
3222 | <xsl:template name="simplesect.titlepage.verso"> | ||
3223 | </xsl:template> | ||
3224 | |||
3225 | <xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if> | ||
3226 | </xsl:template> | ||
3227 | |||
3228 | <xsl:template name="simplesect.titlepage.before.recto"> | ||
3229 | </xsl:template> | ||
3230 | |||
3231 | <xsl:template name="simplesect.titlepage.before.verso"> | ||
3232 | </xsl:template> | ||
3233 | |||
3234 | <xsl:template name="simplesect.titlepage"> | ||
3235 | <div class="titlepage"> | ||
3236 | <xsl:variable name="recto.content"> | ||
3237 | <xsl:call-template name="simplesect.titlepage.before.recto"/> | ||
3238 | <xsl:call-template name="simplesect.titlepage.recto"/> | ||
3239 | </xsl:variable> | ||
3240 | <xsl:variable name="recto.elements.count"> | ||
3241 | <xsl:choose> | ||
3242 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3243 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3244 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3245 | <xsl:otherwise>1</xsl:otherwise> | ||
3246 | </xsl:choose> | ||
3247 | </xsl:variable> | ||
3248 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3249 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3250 | </xsl:if> | ||
3251 | <xsl:variable name="verso.content"> | ||
3252 | <xsl:call-template name="simplesect.titlepage.before.verso"/> | ||
3253 | <xsl:call-template name="simplesect.titlepage.verso"/> | ||
3254 | </xsl:variable> | ||
3255 | <xsl:variable name="verso.elements.count"> | ||
3256 | <xsl:choose> | ||
3257 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3258 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3259 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3260 | <xsl:otherwise>1</xsl:otherwise> | ||
3261 | </xsl:choose> | ||
3262 | </xsl:variable> | ||
3263 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3264 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3265 | </xsl:if> | ||
3266 | <xsl:call-template name="simplesect.titlepage.separator"/> | ||
3267 | </div> | ||
3268 | </xsl:template> | ||
3269 | |||
3270 | <xsl:template match="*" mode="simplesect.titlepage.recto.mode"> | ||
3271 | <!-- if an element isn't found in this mode, --> | ||
3272 | <!-- try the generic titlepage.mode --> | ||
3273 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3274 | </xsl:template> | ||
3275 | |||
3276 | <xsl:template match="*" mode="simplesect.titlepage.verso.mode"> | ||
3277 | <!-- if an element isn't found in this mode, --> | ||
3278 | <!-- try the generic titlepage.mode --> | ||
3279 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3280 | </xsl:template> | ||
3281 | |||
3282 | <xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode"> | ||
3283 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3284 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3285 | </div> | ||
3286 | </xsl:template> | ||
3287 | |||
3288 | <xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode"> | ||
3289 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3290 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3291 | </div> | ||
3292 | </xsl:template> | ||
3293 | |||
3294 | <xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode"> | ||
3295 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3296 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3297 | </div> | ||
3298 | </xsl:template> | ||
3299 | |||
3300 | <xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode"> | ||
3301 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3302 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3303 | </div> | ||
3304 | </xsl:template> | ||
3305 | |||
3306 | <xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode"> | ||
3307 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3308 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3309 | </div> | ||
3310 | </xsl:template> | ||
3311 | |||
3312 | <xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode"> | ||
3313 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3314 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3315 | </div> | ||
3316 | </xsl:template> | ||
3317 | |||
3318 | <xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode"> | ||
3319 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3320 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3321 | </div> | ||
3322 | </xsl:template> | ||
3323 | |||
3324 | <xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode"> | ||
3325 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3326 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3327 | </div> | ||
3328 | </xsl:template> | ||
3329 | |||
3330 | <xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode"> | ||
3331 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3332 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3333 | </div> | ||
3334 | </xsl:template> | ||
3335 | |||
3336 | <xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode"> | ||
3337 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3338 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3339 | </div> | ||
3340 | </xsl:template> | ||
3341 | |||
3342 | <xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode"> | ||
3343 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3344 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3345 | </div> | ||
3346 | </xsl:template> | ||
3347 | |||
3348 | <xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode"> | ||
3349 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3350 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3351 | </div> | ||
3352 | </xsl:template> | ||
3353 | |||
3354 | <xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode"> | ||
3355 | <div xsl:use-attribute-sets="simplesect.titlepage.recto.style"> | ||
3356 | <xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/> | ||
3357 | </div> | ||
3358 | </xsl:template> | ||
3359 | |||
3360 | <xsl:template name="bibliography.titlepage.recto"> | ||
3361 | <div xsl:use-attribute-sets="bibliography.titlepage.recto.style"> | ||
3362 | <xsl:call-template name="component.title"> | ||
3363 | <xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/> | ||
3364 | </xsl:call-template></div> | ||
3365 | <xsl:choose> | ||
3366 | <xsl:when test="bibliographyinfo/subtitle"> | ||
3367 | <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/> | ||
3368 | </xsl:when> | ||
3369 | <xsl:when test="docinfo/subtitle"> | ||
3370 | <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
3371 | </xsl:when> | ||
3372 | <xsl:when test="info/subtitle"> | ||
3373 | <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
3374 | </xsl:when> | ||
3375 | <xsl:when test="subtitle"> | ||
3376 | <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/> | ||
3377 | </xsl:when> | ||
3378 | </xsl:choose> | ||
3379 | |||
3380 | </xsl:template> | ||
3381 | |||
3382 | <xsl:template name="bibliography.titlepage.verso"> | ||
3383 | </xsl:template> | ||
3384 | |||
3385 | <xsl:template name="bibliography.titlepage.separator"> | ||
3386 | </xsl:template> | ||
3387 | |||
3388 | <xsl:template name="bibliography.titlepage.before.recto"> | ||
3389 | </xsl:template> | ||
3390 | |||
3391 | <xsl:template name="bibliography.titlepage.before.verso"> | ||
3392 | </xsl:template> | ||
3393 | |||
3394 | <xsl:template name="bibliography.titlepage"> | ||
3395 | <div class="titlepage"> | ||
3396 | <xsl:variable name="recto.content"> | ||
3397 | <xsl:call-template name="bibliography.titlepage.before.recto"/> | ||
3398 | <xsl:call-template name="bibliography.titlepage.recto"/> | ||
3399 | </xsl:variable> | ||
3400 | <xsl:variable name="recto.elements.count"> | ||
3401 | <xsl:choose> | ||
3402 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3403 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3404 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3405 | <xsl:otherwise>1</xsl:otherwise> | ||
3406 | </xsl:choose> | ||
3407 | </xsl:variable> | ||
3408 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3409 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3410 | </xsl:if> | ||
3411 | <xsl:variable name="verso.content"> | ||
3412 | <xsl:call-template name="bibliography.titlepage.before.verso"/> | ||
3413 | <xsl:call-template name="bibliography.titlepage.verso"/> | ||
3414 | </xsl:variable> | ||
3415 | <xsl:variable name="verso.elements.count"> | ||
3416 | <xsl:choose> | ||
3417 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3418 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3419 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3420 | <xsl:otherwise>1</xsl:otherwise> | ||
3421 | </xsl:choose> | ||
3422 | </xsl:variable> | ||
3423 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3424 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3425 | </xsl:if> | ||
3426 | <xsl:call-template name="bibliography.titlepage.separator"/> | ||
3427 | </div> | ||
3428 | </xsl:template> | ||
3429 | |||
3430 | <xsl:template match="*" mode="bibliography.titlepage.recto.mode"> | ||
3431 | <!-- if an element isn't found in this mode, --> | ||
3432 | <!-- try the generic titlepage.mode --> | ||
3433 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3434 | </xsl:template> | ||
3435 | |||
3436 | <xsl:template match="*" mode="bibliography.titlepage.verso.mode"> | ||
3437 | <!-- if an element isn't found in this mode, --> | ||
3438 | <!-- try the generic titlepage.mode --> | ||
3439 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3440 | </xsl:template> | ||
3441 | |||
3442 | <xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode"> | ||
3443 | <div xsl:use-attribute-sets="bibliography.titlepage.recto.style"> | ||
3444 | <xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/> | ||
3445 | </div> | ||
3446 | </xsl:template> | ||
3447 | |||
3448 | <xsl:template name="glossary.titlepage.recto"> | ||
3449 | <div xsl:use-attribute-sets="glossary.titlepage.recto.style"> | ||
3450 | <xsl:call-template name="component.title"> | ||
3451 | <xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/> | ||
3452 | </xsl:call-template></div> | ||
3453 | <xsl:choose> | ||
3454 | <xsl:when test="glossaryinfo/subtitle"> | ||
3455 | <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/> | ||
3456 | </xsl:when> | ||
3457 | <xsl:when test="docinfo/subtitle"> | ||
3458 | <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
3459 | </xsl:when> | ||
3460 | <xsl:when test="info/subtitle"> | ||
3461 | <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
3462 | </xsl:when> | ||
3463 | <xsl:when test="subtitle"> | ||
3464 | <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/> | ||
3465 | </xsl:when> | ||
3466 | </xsl:choose> | ||
3467 | |||
3468 | </xsl:template> | ||
3469 | |||
3470 | <xsl:template name="glossary.titlepage.verso"> | ||
3471 | </xsl:template> | ||
3472 | |||
3473 | <xsl:template name="glossary.titlepage.separator"> | ||
3474 | </xsl:template> | ||
3475 | |||
3476 | <xsl:template name="glossary.titlepage.before.recto"> | ||
3477 | </xsl:template> | ||
3478 | |||
3479 | <xsl:template name="glossary.titlepage.before.verso"> | ||
3480 | </xsl:template> | ||
3481 | |||
3482 | <xsl:template name="glossary.titlepage"> | ||
3483 | <div class="titlepage"> | ||
3484 | <xsl:variable name="recto.content"> | ||
3485 | <xsl:call-template name="glossary.titlepage.before.recto"/> | ||
3486 | <xsl:call-template name="glossary.titlepage.recto"/> | ||
3487 | </xsl:variable> | ||
3488 | <xsl:variable name="recto.elements.count"> | ||
3489 | <xsl:choose> | ||
3490 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3491 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3492 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3493 | <xsl:otherwise>1</xsl:otherwise> | ||
3494 | </xsl:choose> | ||
3495 | </xsl:variable> | ||
3496 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3497 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3498 | </xsl:if> | ||
3499 | <xsl:variable name="verso.content"> | ||
3500 | <xsl:call-template name="glossary.titlepage.before.verso"/> | ||
3501 | <xsl:call-template name="glossary.titlepage.verso"/> | ||
3502 | </xsl:variable> | ||
3503 | <xsl:variable name="verso.elements.count"> | ||
3504 | <xsl:choose> | ||
3505 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3506 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3507 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3508 | <xsl:otherwise>1</xsl:otherwise> | ||
3509 | </xsl:choose> | ||
3510 | </xsl:variable> | ||
3511 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3512 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3513 | </xsl:if> | ||
3514 | <xsl:call-template name="glossary.titlepage.separator"/> | ||
3515 | </div> | ||
3516 | </xsl:template> | ||
3517 | |||
3518 | <xsl:template match="*" mode="glossary.titlepage.recto.mode"> | ||
3519 | <!-- if an element isn't found in this mode, --> | ||
3520 | <!-- try the generic titlepage.mode --> | ||
3521 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3522 | </xsl:template> | ||
3523 | |||
3524 | <xsl:template match="*" mode="glossary.titlepage.verso.mode"> | ||
3525 | <!-- if an element isn't found in this mode, --> | ||
3526 | <!-- try the generic titlepage.mode --> | ||
3527 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3528 | </xsl:template> | ||
3529 | |||
3530 | <xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode"> | ||
3531 | <div xsl:use-attribute-sets="glossary.titlepage.recto.style"> | ||
3532 | <xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/> | ||
3533 | </div> | ||
3534 | </xsl:template> | ||
3535 | |||
3536 | <xsl:template name="index.titlepage.recto"> | ||
3537 | <div xsl:use-attribute-sets="index.titlepage.recto.style"> | ||
3538 | <xsl:call-template name="component.title"> | ||
3539 | <xsl:with-param name="node" select="ancestor-or-self::index[1]"/> | ||
3540 | </xsl:call-template></div> | ||
3541 | <xsl:choose> | ||
3542 | <xsl:when test="indexinfo/subtitle"> | ||
3543 | <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/> | ||
3544 | </xsl:when> | ||
3545 | <xsl:when test="docinfo/subtitle"> | ||
3546 | <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
3547 | </xsl:when> | ||
3548 | <xsl:when test="info/subtitle"> | ||
3549 | <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
3550 | </xsl:when> | ||
3551 | <xsl:when test="subtitle"> | ||
3552 | <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/> | ||
3553 | </xsl:when> | ||
3554 | </xsl:choose> | ||
3555 | |||
3556 | </xsl:template> | ||
3557 | |||
3558 | <xsl:template name="index.titlepage.verso"> | ||
3559 | </xsl:template> | ||
3560 | |||
3561 | <xsl:template name="index.titlepage.separator"> | ||
3562 | </xsl:template> | ||
3563 | |||
3564 | <xsl:template name="index.titlepage.before.recto"> | ||
3565 | </xsl:template> | ||
3566 | |||
3567 | <xsl:template name="index.titlepage.before.verso"> | ||
3568 | </xsl:template> | ||
3569 | |||
3570 | <xsl:template name="index.titlepage"> | ||
3571 | <div class="titlepage"> | ||
3572 | <xsl:variable name="recto.content"> | ||
3573 | <xsl:call-template name="index.titlepage.before.recto"/> | ||
3574 | <xsl:call-template name="index.titlepage.recto"/> | ||
3575 | </xsl:variable> | ||
3576 | <xsl:variable name="recto.elements.count"> | ||
3577 | <xsl:choose> | ||
3578 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3579 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3580 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3581 | <xsl:otherwise>1</xsl:otherwise> | ||
3582 | </xsl:choose> | ||
3583 | </xsl:variable> | ||
3584 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3585 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3586 | </xsl:if> | ||
3587 | <xsl:variable name="verso.content"> | ||
3588 | <xsl:call-template name="index.titlepage.before.verso"/> | ||
3589 | <xsl:call-template name="index.titlepage.verso"/> | ||
3590 | </xsl:variable> | ||
3591 | <xsl:variable name="verso.elements.count"> | ||
3592 | <xsl:choose> | ||
3593 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3594 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3595 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3596 | <xsl:otherwise>1</xsl:otherwise> | ||
3597 | </xsl:choose> | ||
3598 | </xsl:variable> | ||
3599 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3600 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3601 | </xsl:if> | ||
3602 | <xsl:call-template name="index.titlepage.separator"/> | ||
3603 | </div> | ||
3604 | </xsl:template> | ||
3605 | |||
3606 | <xsl:template match="*" mode="index.titlepage.recto.mode"> | ||
3607 | <!-- if an element isn't found in this mode, --> | ||
3608 | <!-- try the generic titlepage.mode --> | ||
3609 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3610 | </xsl:template> | ||
3611 | |||
3612 | <xsl:template match="*" mode="index.titlepage.verso.mode"> | ||
3613 | <!-- if an element isn't found in this mode, --> | ||
3614 | <!-- try the generic titlepage.mode --> | ||
3615 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3616 | </xsl:template> | ||
3617 | |||
3618 | <xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode"> | ||
3619 | <div xsl:use-attribute-sets="index.titlepage.recto.style"> | ||
3620 | <xsl:apply-templates select="." mode="index.titlepage.recto.mode"/> | ||
3621 | </div> | ||
3622 | </xsl:template> | ||
3623 | |||
3624 | <xsl:template name="setindex.titlepage.recto"> | ||
3625 | <div xsl:use-attribute-sets="setindex.titlepage.recto.style"> | ||
3626 | <xsl:call-template name="component.title"> | ||
3627 | <xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/> | ||
3628 | </xsl:call-template></div> | ||
3629 | <xsl:choose> | ||
3630 | <xsl:when test="setindexinfo/subtitle"> | ||
3631 | <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/> | ||
3632 | </xsl:when> | ||
3633 | <xsl:when test="docinfo/subtitle"> | ||
3634 | <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
3635 | </xsl:when> | ||
3636 | <xsl:when test="info/subtitle"> | ||
3637 | <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
3638 | </xsl:when> | ||
3639 | <xsl:when test="subtitle"> | ||
3640 | <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/> | ||
3641 | </xsl:when> | ||
3642 | </xsl:choose> | ||
3643 | |||
3644 | </xsl:template> | ||
3645 | |||
3646 | <xsl:template name="setindex.titlepage.verso"> | ||
3647 | </xsl:template> | ||
3648 | |||
3649 | <xsl:template name="setindex.titlepage.separator"> | ||
3650 | </xsl:template> | ||
3651 | |||
3652 | <xsl:template name="setindex.titlepage.before.recto"> | ||
3653 | </xsl:template> | ||
3654 | |||
3655 | <xsl:template name="setindex.titlepage.before.verso"> | ||
3656 | </xsl:template> | ||
3657 | |||
3658 | <xsl:template name="setindex.titlepage"> | ||
3659 | <div class="titlepage"> | ||
3660 | <xsl:variable name="recto.content"> | ||
3661 | <xsl:call-template name="setindex.titlepage.before.recto"/> | ||
3662 | <xsl:call-template name="setindex.titlepage.recto"/> | ||
3663 | </xsl:variable> | ||
3664 | <xsl:variable name="recto.elements.count"> | ||
3665 | <xsl:choose> | ||
3666 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3667 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3668 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3669 | <xsl:otherwise>1</xsl:otherwise> | ||
3670 | </xsl:choose> | ||
3671 | </xsl:variable> | ||
3672 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3673 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3674 | </xsl:if> | ||
3675 | <xsl:variable name="verso.content"> | ||
3676 | <xsl:call-template name="setindex.titlepage.before.verso"/> | ||
3677 | <xsl:call-template name="setindex.titlepage.verso"/> | ||
3678 | </xsl:variable> | ||
3679 | <xsl:variable name="verso.elements.count"> | ||
3680 | <xsl:choose> | ||
3681 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3682 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3683 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3684 | <xsl:otherwise>1</xsl:otherwise> | ||
3685 | </xsl:choose> | ||
3686 | </xsl:variable> | ||
3687 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3688 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3689 | </xsl:if> | ||
3690 | <xsl:call-template name="setindex.titlepage.separator"/> | ||
3691 | </div> | ||
3692 | </xsl:template> | ||
3693 | |||
3694 | <xsl:template match="*" mode="setindex.titlepage.recto.mode"> | ||
3695 | <!-- if an element isn't found in this mode, --> | ||
3696 | <!-- try the generic titlepage.mode --> | ||
3697 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3698 | </xsl:template> | ||
3699 | |||
3700 | <xsl:template match="*" mode="setindex.titlepage.verso.mode"> | ||
3701 | <!-- if an element isn't found in this mode, --> | ||
3702 | <!-- try the generic titlepage.mode --> | ||
3703 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3704 | </xsl:template> | ||
3705 | |||
3706 | <xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode"> | ||
3707 | <div xsl:use-attribute-sets="setindex.titlepage.recto.style"> | ||
3708 | <xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/> | ||
3709 | </div> | ||
3710 | </xsl:template> | ||
3711 | |||
3712 | <xsl:template name="sidebar.titlepage.recto"> | ||
3713 | <xsl:choose> | ||
3714 | <xsl:when test="sidebarinfo/title"> | ||
3715 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/title"/> | ||
3716 | </xsl:when> | ||
3717 | <xsl:when test="docinfo/title"> | ||
3718 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/title"/> | ||
3719 | </xsl:when> | ||
3720 | <xsl:when test="info/title"> | ||
3721 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/title"/> | ||
3722 | </xsl:when> | ||
3723 | <xsl:when test="title"> | ||
3724 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="title"/> | ||
3725 | </xsl:when> | ||
3726 | </xsl:choose> | ||
3727 | |||
3728 | <xsl:choose> | ||
3729 | <xsl:when test="sidebarinfo/subtitle"> | ||
3730 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/subtitle"/> | ||
3731 | </xsl:when> | ||
3732 | <xsl:when test="docinfo/subtitle"> | ||
3733 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/subtitle"/> | ||
3734 | </xsl:when> | ||
3735 | <xsl:when test="info/subtitle"> | ||
3736 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/subtitle"/> | ||
3737 | </xsl:when> | ||
3738 | <xsl:when test="subtitle"> | ||
3739 | <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="subtitle"/> | ||
3740 | </xsl:when> | ||
3741 | </xsl:choose> | ||
3742 | |||
3743 | </xsl:template> | ||
3744 | |||
3745 | <xsl:template name="sidebar.titlepage.verso"> | ||
3746 | </xsl:template> | ||
3747 | |||
3748 | <xsl:template name="sidebar.titlepage.separator"> | ||
3749 | </xsl:template> | ||
3750 | |||
3751 | <xsl:template name="sidebar.titlepage.before.recto"> | ||
3752 | </xsl:template> | ||
3753 | |||
3754 | <xsl:template name="sidebar.titlepage.before.verso"> | ||
3755 | </xsl:template> | ||
3756 | |||
3757 | <xsl:template name="sidebar.titlepage"> | ||
3758 | <div class="titlepage"> | ||
3759 | <xsl:variable name="recto.content"> | ||
3760 | <xsl:call-template name="sidebar.titlepage.before.recto"/> | ||
3761 | <xsl:call-template name="sidebar.titlepage.recto"/> | ||
3762 | </xsl:variable> | ||
3763 | <xsl:variable name="recto.elements.count"> | ||
3764 | <xsl:choose> | ||
3765 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3766 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3767 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when> | ||
3768 | <xsl:otherwise>1</xsl:otherwise> | ||
3769 | </xsl:choose> | ||
3770 | </xsl:variable> | ||
3771 | <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count > 0)"> | ||
3772 | <div><xsl:copy-of select="$recto.content"/></div> | ||
3773 | </xsl:if> | ||
3774 | <xsl:variable name="verso.content"> | ||
3775 | <xsl:call-template name="sidebar.titlepage.before.verso"/> | ||
3776 | <xsl:call-template name="sidebar.titlepage.verso"/> | ||
3777 | </xsl:variable> | ||
3778 | <xsl:variable name="verso.elements.count"> | ||
3779 | <xsl:choose> | ||
3780 | <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3781 | <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')"> | ||
3782 | <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when> | ||
3783 | <xsl:otherwise>1</xsl:otherwise> | ||
3784 | </xsl:choose> | ||
3785 | </xsl:variable> | ||
3786 | <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count > 0)"> | ||
3787 | <div><xsl:copy-of select="$verso.content"/></div> | ||
3788 | </xsl:if> | ||
3789 | <xsl:call-template name="sidebar.titlepage.separator"/> | ||
3790 | </div> | ||
3791 | </xsl:template> | ||
3792 | |||
3793 | <xsl:template match="*" mode="sidebar.titlepage.recto.mode"> | ||
3794 | <!-- if an element isn't found in this mode, --> | ||
3795 | <!-- try the generic titlepage.mode --> | ||
3796 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3797 | </xsl:template> | ||
3798 | |||
3799 | <xsl:template match="*" mode="sidebar.titlepage.verso.mode"> | ||
3800 | <!-- if an element isn't found in this mode, --> | ||
3801 | <!-- try the generic titlepage.mode --> | ||
3802 | <xsl:apply-templates select="." mode="titlepage.mode"/> | ||
3803 | </xsl:template> | ||
3804 | |||
3805 | <xsl:template match="title" mode="sidebar.titlepage.recto.auto.mode"> | ||
3806 | <div xsl:use-attribute-sets="sidebar.titlepage.recto.style"> | ||
3807 | <xsl:call-template name="formal.object.heading"> | ||
3808 | <xsl:with-param name="object" select="ancestor-or-self::sidebar[1]"/> | ||
3809 | </xsl:call-template> | ||
3810 | </div> | ||
3811 | </xsl:template> | ||
3812 | |||
3813 | <xsl:template match="subtitle" mode="sidebar.titlepage.recto.auto.mode"> | ||
3814 | <div xsl:use-attribute-sets="sidebar.titlepage.recto.style"> | ||
3815 | <xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/> | ||
3816 | </div> | ||
3817 | </xsl:template> | ||
3818 | |||
3819 | </xsl:stylesheet> | ||
3820 | |||
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml new file mode 100644 index 0000000..61327f5 --- /dev/null +++ b/documentation/yocto-project-qs/yocto-project-qs.xml | |||
@@ -0,0 +1,948 @@ | |||
1 | <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
2 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" | ||
3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > | ||
4 | |||
5 | <article id='intro'> | ||
6 | <articleinfo> | ||
7 | <title>Yocto Project Quick Start</title> | ||
8 | |||
9 | <copyright> | ||
10 | <year>©RIGHT_YEAR;</year> | ||
11 | <holder>Linux Foundation</holder> | ||
12 | </copyright> | ||
13 | |||
14 | <legalnotice> | ||
15 | <para> | ||
16 | Permission is granted to copy, distribute and/or modify this document under | ||
17 | the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England & Wales</ulink> as published by Creative Commons. | ||
18 | </para> | ||
19 | <note> | ||
20 | For the latest version of this manual associated with this | ||
21 | Yocto Project release, see the | ||
22 | <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> | ||
23 | from the Yocto Project website. | ||
24 | </note> | ||
25 | </legalnotice> | ||
26 | |||
27 | |||
28 | <abstract> | ||
29 | <imagedata fileref="figures/yocto-project-transp.png" | ||
30 | width="6in" depth="1in" | ||
31 | align="right" scale="25" /> | ||
32 | </abstract> | ||
33 | </articleinfo> | ||
34 | |||
35 | <section id='welcome'> | ||
36 | <title>Welcome!</title> | ||
37 | <para> | ||
38 | Welcome to the Yocto Project! | ||
39 | The Yocto Project is an open-source collaboration project focused on | ||
40 | embedded Linux developers. | ||
41 | Among other things, the Yocto Project uses a build system based on the | ||
42 | OpenEmbedded (OE) project, which uses the | ||
43 | <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink> | ||
44 | tool, to construct complete Linux images. | ||
45 | The BitBake and OE components are combined together to form | ||
46 | <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink>, | ||
47 | a reference build system. | ||
48 | </para> | ||
49 | |||
50 | <para> | ||
51 | If you don't have a system that runs Linux and you want to give the Yocto Project a test run, | ||
52 | you might consider using the Yocto Project Build Appliance. | ||
53 | The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto | ||
54 | Project using a non-Linux development system. | ||
55 | See the <ulink url='https://www.yoctoproject.org/tools-resources/projects/build-appliance'>Yocto | ||
56 | Project Build Appliance</ulink> for more information. | ||
57 | </para> | ||
58 | |||
59 | <para> | ||
60 | On the other hand, if you know all about open-source development, Linux development environments, | ||
61 | Git source repositories and the like and you just want some quick information that lets you try out | ||
62 | the Yocto Project on your Linux system, skip right to the | ||
63 | "<link linkend='super-user'>Super User</link>" section at the end of this quick start. | ||
64 | </para> | ||
65 | |||
66 | <para> | ||
67 | For the rest of you, this short document will give you some basic information about the environment and | ||
68 | let you experience it in its simplest form. | ||
69 | After reading this document, you will have a basic understanding of what the Yocto Project is | ||
70 | and how to use some of its core components. | ||
71 | This document steps you through a simple example showing you how to build a small image | ||
72 | and run it using the Quick EMUlator (QEMU emulator). | ||
73 | </para> | ||
74 | |||
75 | <para> | ||
76 | For more detailed information on the Yocto Project, you should check out these resources: | ||
77 | <itemizedlist> | ||
78 | <listitem><para><emphasis>Website:</emphasis> The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> | ||
79 | provides the latest builds, breaking news, full development documentation, and a rich Yocto | ||
80 | Project Development Community into which you can tap. | ||
81 | </para></listitem> | ||
82 | <listitem><para><emphasis>FAQs:</emphasis> Lists commonly asked Yocto Project questions and answers. | ||
83 | You can find two FAQs: <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> on | ||
84 | a wiki, and the | ||
85 | "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" chapter in | ||
86 | the Yocto Project Reference Manual. | ||
87 | </para></listitem> | ||
88 | <listitem><para><emphasis>Developer Screencast:</emphasis> The | ||
89 | <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New | ||
90 | Developer Screencast Tutorial</ulink> provides a 30-minute video | ||
91 | created for users unfamiliar with the Yocto Project but familiar | ||
92 | with Linux build systems.</para></listitem> | ||
93 | </itemizedlist> | ||
94 | </para> | ||
95 | </section> | ||
96 | |||
97 | <section id='yp-intro'> | ||
98 | <title>Introducing the Yocto Project Development Environment</title> | ||
99 | <para> | ||
100 | The Yocto Project through the OpenEmbedded build system provides an open source development | ||
101 | environment targeting the ARM, MIPS, PowerPC and x86 architectures for a variety of | ||
102 | platforms including x86-64 and emulated ones. | ||
103 | You can use components from the Yocto Project to design, develop, build, debug, simulate, | ||
104 | and test the complete software stack using Linux, the X Window System, GNOME Mobile-based | ||
105 | application frameworks, and Qt frameworks. | ||
106 | </para> | ||
107 | |||
108 | <mediaobject> | ||
109 | <imageobject> | ||
110 | <imagedata fileref="figures/yocto-environment.png" | ||
111 | format="PNG" align='center' scalefit='1' width="100%"/> | ||
112 | </imageobject> | ||
113 | <caption> | ||
114 | <para>The Yocto Project Development Environment</para> | ||
115 | </caption> | ||
116 | </mediaobject> | ||
117 | |||
118 | <para> | ||
119 | Here are some highlights for the Yocto Project: | ||
120 | </para> | ||
121 | |||
122 | <itemizedlist> | ||
123 | <listitem> | ||
124 | <para>Provides a recent Linux kernel along with a set of system commands and libraries suitable for the embedded environment.</para> | ||
125 | </listitem> | ||
126 | <listitem> | ||
127 | <para>Makes available system components such as X11, GTK+, Qt, Clutter, and SDL | ||
128 | (among others) so you can create a rich user experience on devices | ||
129 | that have display hardware. | ||
130 | For devices that do not have a display or where you wish to use alternative UI | ||
131 | frameworks, these components need not be installed.</para> | ||
132 | </listitem> | ||
133 | <listitem> | ||
134 | <para>Creates a focused and stable core compatible with the OpenEmbedded | ||
135 | project with which you can easily and reliably build and develop.</para> | ||
136 | </listitem> | ||
137 | <listitem> | ||
138 | <para>Fully supports a wide range of hardware and device emulation through the QEMU | ||
139 | Emulator.</para> | ||
140 | </listitem> | ||
141 | </itemizedlist> | ||
142 | |||
143 | <para> | ||
144 | The Yocto Project can generate images for many kinds of devices. | ||
145 | However, the standard example machines target QEMU full-system emulation for x86, x86-64, ARM, MIPS, | ||
146 | and PPC-based architectures as well as specific hardware such as the | ||
147 | <trademark class='registered'>Intel</trademark> Desktop Board DH55TC. | ||
148 | Because an image developed with the Yocto Project can boot inside a QEMU emulator, the | ||
149 | development environment works nicely as a test platform for developing embedded software. | ||
150 | </para> | ||
151 | |||
152 | <para> | ||
153 | Another important Yocto Project feature is the Sato reference User Interface. | ||
154 | This optional GNOME mobile-based UI, which is intended for devices with | ||
155 | restricted screen sizes, sits neatly on top of a device using the | ||
156 | GNOME Mobile Stack and provides a well-defined user experience. | ||
157 | Implemented in its own layer, it makes it clear to developers how they can implement | ||
158 | their own user interface on top of a Linux image created with the Yocto Project. | ||
159 | </para> | ||
160 | </section> | ||
161 | |||
162 | <section id='yp-resources'> | ||
163 | <title>What You Need and How You Get It</title> | ||
164 | |||
165 | <para> | ||
166 | You need these things to develop projects in the Yocto Project | ||
167 | environment: | ||
168 | </para> | ||
169 | |||
170 | <itemizedlist> | ||
171 | <listitem><para> | ||
172 | A host system with a minimum of 50 Gbytes of free disk space that | ||
173 | is running a supported Linux distribution (i.e. recent releases | ||
174 | of Fedora, openSUSE, CentOS, Debian, or Ubuntu). | ||
175 | If the host system supports multiple cores and threads, you can | ||
176 | configure the Yocto Project build system to significantly | ||
177 | decrease the time needed to build images. | ||
178 | </para></listitem> | ||
179 | <listitem><para> | ||
180 | The right packages. | ||
181 | </para></listitem> | ||
182 | <listitem><para> | ||
183 | A release of the Yocto Project. | ||
184 | </para></listitem> | ||
185 | </itemizedlist> | ||
186 | |||
187 | <section id='the-linux-distro'> | ||
188 | <title>The Linux Distribution</title> | ||
189 | |||
190 | <para> | ||
191 | The Yocto Project team is continually verifying more and more Linux | ||
192 | distributions with each release. | ||
193 | In general, if you have the current release minus one of the following | ||
194 | distributions you should have no problems. | ||
195 | <itemizedlist> | ||
196 | <listitem><para>Ubuntu</para></listitem> | ||
197 | <listitem><para>Fedora</para></listitem> | ||
198 | <listitem><para>openSUSE</para></listitem> | ||
199 | <listitem><para>CentOS</para></listitem> | ||
200 | <listitem><para>Debian</para></listitem> | ||
201 | </itemizedlist> | ||
202 | For a more detailed list of distributions that support the Yocto Project, | ||
203 | see the | ||
204 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" section | ||
205 | in the Yocto Project Reference Manual. | ||
206 | </para> | ||
207 | <para> | ||
208 | The OpenEmbedded build system should be able to run on any modern | ||
209 | distribution that has the following versions for Git, tar, and | ||
210 | Python. | ||
211 | <itemizedlist> | ||
212 | <listitem><para>Git 1.7.5 or greater</para></listitem> | ||
213 | <listitem><para>tar 1.24 or greater</para></listitem> | ||
214 | <listitem><para>Python 2.7.3 or greater excluding Python | ||
215 | 3.x, which is not supported.</para></listitem> | ||
216 | </itemizedlist> | ||
217 | Earlier releases of Python are known to not work and the | ||
218 | system does not support Python 3 at this time. | ||
219 | If your system does not meet any of these three listed | ||
220 | version requirements, you can | ||
221 | take steps to prepare the system so that you can still use the build | ||
222 | system. | ||
223 | See the | ||
224 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>" | ||
225 | section in the Yocto Project Reference Manual for information. | ||
226 | </para> | ||
227 | <para> | ||
228 | This document assumes you are running one of the previously noted | ||
229 | distributions on your Linux-based host systems. | ||
230 | </para> | ||
231 | <note> | ||
232 | <para> | ||
233 | If you attempt to use a distribution not in the above list, | ||
234 | you may or may not have success. | ||
235 | Yocto Project releases are tested against the stable Linux | ||
236 | distributions listed in the | ||
237 | "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" | ||
238 | section of the Yocto Project Reference Manual. | ||
239 | If you encounter problems, please go to | ||
240 | <ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink> | ||
241 | and submit a bug. | ||
242 | We are interested in hearing about your experience. | ||
243 | </para> | ||
244 | </note> | ||
245 | </section> | ||
246 | |||
247 | <section id='packages'> | ||
248 | <title>The Packages</title> | ||
249 | |||
250 | <para> | ||
251 | Packages and package installation vary depending on your development system | ||
252 | and on your intent. | ||
253 | For example, if you want to build an image that can run | ||
254 | on QEMU in graphical mode (a minimal, basic build | ||
255 | requirement), then the number of packages is different than if you want to | ||
256 | build an image on a headless system or build out the Yocto Project | ||
257 | documentation set. | ||
258 | Collectively, the number of required packages is large | ||
259 | if you want to be able to cover all cases. | ||
260 | <note>In general, you need to have root access and then install the | ||
261 | required packages. | ||
262 | Thus, the commands in the following section may or may not work | ||
263 | depending on whether or not your Linux distribution has | ||
264 | <filename>sudo</filename> installed.</note> | ||
265 | </para> | ||
266 | |||
267 | <para> | ||
268 | The next few sections list, by supported Linux Distributions, the required | ||
269 | packages needed to build an image that runs on QEMU in graphical mode | ||
270 | (e.g. essential plus graphics support). | ||
271 | </para> | ||
272 | |||
273 | <para> | ||
274 | For lists of required packages for other scenarios, see the | ||
275 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" | ||
276 | section in the Yocto Project Reference Manual. | ||
277 | </para> | ||
278 | |||
279 | <section id='ubuntu'> | ||
280 | <title>Ubuntu and Debian</title> | ||
281 | |||
282 | <para> | ||
283 | The essential and graphical support packages you need for a | ||
284 | supported Ubuntu or Debian distribution are shown in the | ||
285 | following command: | ||
286 | <literallayout class='monospaced'> | ||
287 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm | ||
288 | </literallayout> | ||
289 | </para> | ||
290 | </section> | ||
291 | |||
292 | <section id='fedora'> | ||
293 | <title>Fedora</title> | ||
294 | |||
295 | <para> | ||
296 | The essential and graphical packages you need for a supported | ||
297 | Fedora distribution are shown in the following command: | ||
298 | <literallayout class='monospaced'> | ||
299 | $ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm | ||
300 | </literallayout> | ||
301 | </para> | ||
302 | </section> | ||
303 | |||
304 | <section id='opensuse'> | ||
305 | <title>OpenSUSE</title> | ||
306 | |||
307 | <para> | ||
308 | The essential and graphical packages you need for a supported | ||
309 | OpenSUSE distribution are shown in the following command: | ||
310 | <literallayout class='monospaced'> | ||
311 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm | ||
312 | </literallayout> | ||
313 | </para> | ||
314 | </section> | ||
315 | |||
316 | <section id='centos'> | ||
317 | <title>CentOS</title> | ||
318 | |||
319 | <para> | ||
320 | The essential and graphical packages you need for a supported | ||
321 | CentOS distribution are shown in the following command: | ||
322 | <literallayout class='monospaced'> | ||
323 | $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm | ||
324 | </literallayout> | ||
325 | <note>Depending on the CentOS version you are using, other requirements | ||
326 | and dependencies might exist. | ||
327 | For details, you should look at the CentOS sections on the | ||
328 | <ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink> | ||
329 | wiki page.</note> | ||
330 | </para> | ||
331 | </section> | ||
332 | </section> | ||
333 | |||
334 | <section id='releases'> | ||
335 | <title>Yocto Project Release</title> | ||
336 | |||
337 | <para> | ||
338 | It is recommended that you get the latest Yocto Project files | ||
339 | by setting up (cloning in | ||
340 | <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> terms) a local | ||
341 | copy of the | ||
342 | <filename>poky</filename> Git repository on your host development | ||
343 | system. | ||
344 | Doing so allows you to contribute back to the Yocto Project project. | ||
345 | For information on how to get set up using this method, see the | ||
346 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto | ||
347 | Project Release</ulink>" item in the Yocto Project Development Manual. | ||
348 | </para> | ||
349 | |||
350 | <para> | ||
351 | You can also get the Yocto Project Files by downloading | ||
352 | Yocto Project releases from the | ||
353 | <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>. | ||
354 | From the website, you just click "Downloads" in the navigation pane | ||
355 | to the left to display all Yocto Project downloads. | ||
356 | Current and archived releases are available for download. | ||
357 | Nightly and developmental builds are also maintained at | ||
358 | <ulink url="&YOCTO_AB_NIGHTLY_URL;"></ulink>. | ||
359 | However, for this document a released version of Yocto Project is used. | ||
360 | </para> | ||
361 | |||
362 | </section> | ||
363 | </section> | ||
364 | |||
365 | <section id='test-run'> | ||
366 | <title>A Quick Test Run</title> | ||
367 | |||
368 | <para> | ||
369 | Now that you have your system requirements in order, you can give the Yocto Project a try. | ||
370 | This section presents some steps that let you do the following: | ||
371 | </para> | ||
372 | |||
373 | <itemizedlist> | ||
374 | <listitem> | ||
375 | <para> | ||
376 | Build an image and run it in the QEMU emulator. | ||
377 | </para> | ||
378 | </listitem> | ||
379 | <listitem> | ||
380 | <para> | ||
381 | Use a pre-built image and run it in the QEMU emulator. | ||
382 | </para> | ||
383 | </listitem> | ||
384 | </itemizedlist> | ||
385 | |||
386 | <section id='building-image'> | ||
387 | <title>Building an Image</title> | ||
388 | |||
389 | <para> | ||
390 | In the development environment you will need to build an image whenever you change hardware | ||
391 | support, add or change system libraries, or add or change services that have dependencies. | ||
392 | </para> | ||
393 | |||
394 | <mediaobject> | ||
395 | <imageobject> | ||
396 | <imagedata fileref="figures/building-an-image.png" format="PNG" align='center' scalefit='1'/> | ||
397 | </imageobject> | ||
398 | <caption> | ||
399 | <para>Building an Image</para> | ||
400 | </caption> | ||
401 | </mediaobject> | ||
402 | |||
403 | <para> | ||
404 | Use the following commands to build your image. | ||
405 | The OpenEmbedded build process creates an entire Linux | ||
406 | distribution, including the toolchain, from source. | ||
407 | <note> | ||
408 | By default, the build process searches for source code using | ||
409 | a pre-determined order through a set of locations. | ||
410 | If you encounter problems with the build process finding and | ||
411 | downloading source code, see the | ||
412 | "<ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>How does the OpenEmbedded build system obtain source code and will it work behind my firewall or proxy server?</ulink>" | ||
413 | entry in the Yocto Project Reference Manual FAQ. | ||
414 | </note> | ||
415 | </para> | ||
416 | |||
417 | <para> | ||
418 | <literallayout class='monospaced'> | ||
419 | $ git clone &YOCTO_GIT_URL;/git/poky | ||
420 | $ cd poky | ||
421 | $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; | ||
422 | $ source &OE_INIT_FILE; | ||
423 | </literallayout> | ||
424 | </para> | ||
425 | |||
426 | <tip> | ||
427 | <para> | ||
428 | To help conserve disk space during builds, you can add the | ||
429 | following statement to your project's configuration file, | ||
430 | which for this example is | ||
431 | <filename>poky/build/conf/local.conf</filename>. | ||
432 | Adding this statement deletes the work directory used for | ||
433 | building a package once the package is built. | ||
434 | <literallayout class='monospaced'> | ||
435 | INHERIT += "rm_work" | ||
436 | </literallayout> | ||
437 | </para> | ||
438 | </tip> | ||
439 | |||
440 | <itemizedlist> | ||
441 | <listitem><para>In the previous example, the first command uses | ||
442 | <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> to create | ||
443 | a local repository named <filename>poky</filename> that is a | ||
444 | clone of the upstream Yocto Project | ||
445 | <filename>poky</filename> repository.</para></listitem> | ||
446 | <listitem><para>The third command checks out a local branch and | ||
447 | names it <filename>&DISTRO_NAME;</filename>. | ||
448 | The local branch tracks the upstream branch of the same name. | ||
449 | Creating your own branch based on the released branch ensures | ||
450 | you are using the latest files for that release. | ||
451 | </para></listitem> | ||
452 | <listitem><para> | ||
453 | The final command runs the Yocto Project | ||
454 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> | ||
455 | environment setup script. | ||
456 | Running this script defines OpenEmbedded build environment | ||
457 | settings needed to complete the build. | ||
458 | The script also creates the | ||
459 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, | ||
460 | which is <filename>build</filename> in this case and is located | ||
461 | in the | ||
462 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | ||
463 | After the script runs, your current working directory is set | ||
464 | to the Build Directory. | ||
465 | Later, when the build completes, the Build Directory contains | ||
466 | all the files created during the build. | ||
467 | <note> | ||
468 | For information on running a memory-resident | ||
469 | <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>, | ||
470 | see the | ||
471 | <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink> | ||
472 | setup script. | ||
473 | </note></para></listitem> | ||
474 | </itemizedlist> | ||
475 | <para> | ||
476 | Take some time to examine your <filename>local.conf</filename> file | ||
477 | in your project's configuration directory, which is found in the Build Directory. | ||
478 | The defaults in that file should work fine. | ||
479 | However, there are some variables of interest at which you might look. | ||
480 | </para> | ||
481 | |||
482 | <para> | ||
483 | By default, the target architecture for the build is <filename>qemux86</filename>, | ||
484 | which produces an image that can be used in the QEMU emulator and is targeted at an | ||
485 | <trademark class='registered'>Intel</trademark> 32-bit based architecture. | ||
486 | To change this default, edit the value of the | ||
487 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | ||
488 | variable in the configuration file before launching the build. | ||
489 | </para> | ||
490 | |||
491 | <para> | ||
492 | Another couple of variables of interest are the | ||
493 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> and the | ||
494 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink> variables. | ||
495 | By default, these variables are set to how ever many processor | ||
496 | cores your build host uses. | ||
497 | However, if your build host uses multiple processor cores, | ||
498 | you should increase these settings to twice the number of | ||
499 | cores used. | ||
500 | Doing so can significantly shorten your build time. | ||
501 | </para> | ||
502 | |||
503 | <para> | ||
504 | Another consideration before you build is the package manager used when creating | ||
505 | the image. | ||
506 | By default, the OpenEmbedded build system uses the RPM package manager. | ||
507 | You can control this configuration by using the | ||
508 | <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> variable. | ||
509 | For additional package manager selection information, see the | ||
510 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package*.bbclass</filename></ulink>" | ||
511 | section in the Yocto Project Reference Manual. | ||
512 | </para> | ||
513 | |||
514 | <para> | ||
515 | Continue with the following command to build an OS image for the target, which is | ||
516 | <filename>core-image-sato</filename> in this example. | ||
517 | For information on the <filename>-k</filename> option use the | ||
518 | <filename>bitbake --help</filename> command, see the | ||
519 | "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" | ||
520 | section in the Yocto Project Reference Manual, or see the | ||
521 | "<ulink url='&YOCTO_DOCS_BB_URL;#user-manual-command'>BitBake Command</ulink>" | ||
522 | section in the BitBake User Manual. | ||
523 | <literallayout class='monospaced'> | ||
524 | $ bitbake -k core-image-sato | ||
525 | </literallayout> | ||
526 | <note> | ||
527 | BitBake requires Python 2.6 or 2.7. For more information on | ||
528 | this requirement, see the | ||
529 | "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python</ulink>" | ||
530 | section in the Yocto Project Reference Manual. | ||
531 | </note> | ||
532 | The final command runs the image: | ||
533 | <literallayout class='monospaced'> | ||
534 | $ runqemu qemux86 | ||
535 | </literallayout> | ||
536 | <note> | ||
537 | <para> | ||
538 | Depending on the number of processors and cores, the amount | ||
539 | of RAM, the speed of your Internet connection and other | ||
540 | factors, the build process could take several hours the | ||
541 | first time you run it. | ||
542 | Subsequent builds run much faster since parts of the build | ||
543 | are cached. | ||
544 | </para> | ||
545 | </note> | ||
546 | </para> | ||
547 | </section> | ||
548 | |||
549 | <section id='using-pre-built'> | ||
550 | <title>Using Pre-Built Binaries and QEMU</title> | ||
551 | |||
552 | <para> | ||
553 | If hardware, libraries and services are stable, you can get started by using a pre-built binary | ||
554 | of the filesystem image, kernel, and toolchain and run it using the QEMU emulator. | ||
555 | This scenario is useful for developing application software. | ||
556 | </para> | ||
557 | |||
558 | <mediaobject> | ||
559 | <imageobject> | ||
560 | <imagedata fileref="figures/using-a-pre-built-image.png" format="PNG" align='center' scalefit='1'/> | ||
561 | </imageobject> | ||
562 | <caption> | ||
563 | <para>Using a Pre-Built Image</para> | ||
564 | </caption> | ||
565 | </mediaobject> | ||
566 | |||
567 | <para> | ||
568 | For this scenario, you need to do several things: | ||
569 | </para> | ||
570 | |||
571 | <itemizedlist> | ||
572 | <listitem><para>Install the appropriate stand-alone toolchain tarball.</para></listitem> | ||
573 | <listitem><para>Download the pre-built image that will boot with QEMU. | ||
574 | You need to be sure to get the QEMU image that matches your target machine’s | ||
575 | architecture (e.g. x86, ARM, etc.).</para></listitem> | ||
576 | <listitem><para>Download the filesystem image for your target machine's architecture. | ||
577 | </para></listitem> | ||
578 | <listitem><para>Set up the environment to emulate the hardware and then start the QEMU emulator. | ||
579 | </para></listitem> | ||
580 | </itemizedlist> | ||
581 | |||
582 | <section id='installing-the-toolchain'> | ||
583 | <title>Installing the Toolchain</title> | ||
584 | |||
585 | <para> | ||
586 | You can download a tarball installer, which includes the | ||
587 | pre-built toolchain, the <filename>runqemu</filename> | ||
588 | script, and support files from the appropriate directory under | ||
589 | <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>. | ||
590 | Toolchains are available for 32-bit and 64-bit x86 development | ||
591 | systems from the <filename>i686</filename> and | ||
592 | <filename>x86_64</filename> directories, respectively. | ||
593 | The toolchains the Yocto Project provides are based off the | ||
594 | <filename>core-image-sato</filename> image and contain | ||
595 | libraries appropriate for developing against that image. | ||
596 | Each type of development system supports five or more target | ||
597 | architectures. | ||
598 | </para> | ||
599 | |||
600 | <para> | ||
601 | The names of the tarball installer scripts are such that a | ||
602 | string representing the host system appears first in the | ||
603 | filename and then is immediately followed by a string | ||
604 | representing the target architecture. | ||
605 | </para> | ||
606 | |||
607 | <literallayout class='monospaced'> | ||
608 | poky-eglibc-<<emphasis>host_system</emphasis>>-<<emphasis>image_type</emphasis>>-<<emphasis>arch</emphasis>>-toolchain-<<emphasis>release_version</emphasis>>.sh | ||
609 | |||
610 | Where: | ||
611 | <<emphasis>host_system</emphasis>> is a string representing your development system: | ||
612 | |||
613 | i686 or x86_64. | ||
614 | |||
615 | <<emphasis>image_type</emphasis>> is a string representing the image you wish to | ||
616 | develop a Software Development Toolkit (SDK) for use against. | ||
617 | The Yocto Project builds toolchain installers using the | ||
618 | following BitBake command: | ||
619 | |||
620 | bitbake core-image-sato -c populate_sdk | ||
621 | |||
622 | <<emphasis>arch</emphasis>> is a string representing the tuned target architecture: | ||
623 | |||
624 | i586, x86_64, powerpc, mips, armv7a or armv5te | ||
625 | |||
626 | <<emphasis>release_version</emphasis>> is a string representing the release number of the | ||
627 | Yocto Project: | ||
628 | |||
629 | &DISTRO;, &DISTRO;+snapshot | ||
630 | </literallayout> | ||
631 | |||
632 | <para> | ||
633 | For example, the following toolchain installer is for a 64-bit | ||
634 | development host system and a i586-tuned target architecture | ||
635 | based off the SDK for <filename>core-image-sato</filename>: | ||
636 | <literallayout class='monospaced'> | ||
637 | poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh | ||
638 | </literallayout> | ||
639 | </para> | ||
640 | |||
641 | <para> | ||
642 | Toolchains are self-contained and by default are installed into | ||
643 | <filename>/opt/poky</filename>. | ||
644 | However, when you run the toolchain installer, you can choose an | ||
645 | installation directory. | ||
646 | </para> | ||
647 | |||
648 | <para> | ||
649 | The following command shows how to run the installer given a toolchain tarball | ||
650 | for a 64-bit x86 development host system and a 32-bit x86 target architecture. | ||
651 | You must change the permissions on the toolchain | ||
652 | installer script so that it is executable. | ||
653 | </para> | ||
654 | |||
655 | <para> | ||
656 | The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>. | ||
657 | <note> | ||
658 | If you do not have write permissions for the directory into which you are installing | ||
659 | the toolchain, the toolchain installer notifies you and exits. | ||
660 | Be sure you have write permissions in the directory and run the installer again. | ||
661 | </note> | ||
662 | </para> | ||
663 | |||
664 | <para> | ||
665 | <literallayout class='monospaced'> | ||
666 | $ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh | ||
667 | </literallayout> | ||
668 | </para> | ||
669 | |||
670 | <para> | ||
671 | For more information on how to install tarballs, see the | ||
672 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" and | ||
673 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" sections in the Yocto Project Application Developer's Guide. | ||
674 | </para> | ||
675 | </section> | ||
676 | |||
677 | <section id='downloading-the-pre-built-linux-kernel'> | ||
678 | <title>Downloading the Pre-Built Linux Kernel</title> | ||
679 | |||
680 | <para> | ||
681 | You can download the pre-built Linux kernel suitable for running in the QEMU emulator from | ||
682 | <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>. | ||
683 | Be sure to use the kernel that matches the architecture you want to simulate. | ||
684 | Download areas exist for the five supported machine architectures: | ||
685 | <filename>qemuarm</filename>, <filename>qemumips</filename>, <filename>qemuppc</filename>, | ||
686 | <filename>qemux86</filename>, and <filename>qemux86-64</filename>. | ||
687 | </para> | ||
688 | |||
689 | <para> | ||
690 | Most kernel files have one of the following forms: | ||
691 | <literallayout class='monospaced'> | ||
692 | *zImage-qemu<<emphasis>arch</emphasis>>.bin | ||
693 | vmlinux-qemu<<emphasis>arch</emphasis>>.bin | ||
694 | |||
695 | Where: | ||
696 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | ||
697 | x86, x86-64, ppc, mips, or arm. | ||
698 | </literallayout> | ||
699 | </para> | ||
700 | |||
701 | <para> | ||
702 | You can learn more about downloading a Yocto Project kernel in the | ||
703 | "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>" | ||
704 | bulleted item in the Yocto Project Development Manual. | ||
705 | </para> | ||
706 | </section> | ||
707 | |||
708 | <section id='downloading-the-filesystem'> | ||
709 | <title>Downloading the Filesystem</title> | ||
710 | |||
711 | <para> | ||
712 | You can also download the filesystem image suitable for your target architecture from | ||
713 | <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>. | ||
714 | Again, be sure to use the filesystem that matches the architecture you want | ||
715 | to simulate. | ||
716 | </para> | ||
717 | |||
718 | <para> | ||
719 | The filesystem image has two tarball forms: <filename>ext3</filename> and | ||
720 | <filename>tar</filename>. | ||
721 | You must use the <filename>ext3</filename> form when booting an image using the | ||
722 | QEMU emulator. | ||
723 | The <filename>tar</filename> form can be flattened out in your host development system | ||
724 | and used for build purposes with the Yocto Project. | ||
725 | <literallayout class='monospaced'> | ||
726 | core-image-<<emphasis>profile</emphasis>>-qemu<<emphasis>arch</emphasis>>.ext3 | ||
727 | core-image-<<emphasis>profile</emphasis>>-qemu<<emphasis>arch</emphasis>>.tar.bz2 | ||
728 | |||
729 | Where: | ||
730 | <<emphasis>profile</emphasis>> is the filesystem image's profile: | ||
731 | lsb, lsb-dev, lsb-sdk, lsb-qt3, minimal, minimal-dev, sato, | ||
732 | sato-dev, or sato-sdk. For information on these types of image | ||
733 | profiles, see the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in the Yocto Project | ||
734 | Reference Manual. | ||
735 | |||
736 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | ||
737 | x86, x86-64, ppc, mips, or arm. | ||
738 | </literallayout> | ||
739 | </para> | ||
740 | </section> | ||
741 | |||
742 | <section id='setting-up-the-environment-and-starting-the-qemu-emulator'> | ||
743 | <title>Setting Up the Environment and Starting the QEMU Emulator</title> | ||
744 | |||
745 | <para> | ||
746 | Before you start the QEMU emulator, you need to set up the emulation environment. | ||
747 | The following command form sets up the emulation environment. | ||
748 | <literallayout class='monospaced'> | ||
749 | $ source &YOCTO_ADTPATH_DIR;/environment-setup-<<emphasis>arch</emphasis>>-poky-linux-<<emphasis>if</emphasis>> | ||
750 | |||
751 | Where: | ||
752 | <<emphasis>arch</emphasis>> is a string representing the target architecture: | ||
753 | i586, x86_64, ppc603e, mips, or armv5te. | ||
754 | |||
755 | <<emphasis>if</emphasis>> is a string representing an embedded application binary interface. | ||
756 | Not all setup scripts include this string. | ||
757 | </literallayout> | ||
758 | </para> | ||
759 | |||
760 | <para> | ||
761 | Finally, this command form invokes the QEMU emulator | ||
762 | <literallayout class='monospaced'> | ||
763 | $ runqemu <<emphasis>qemuarch</emphasis>> <<emphasis>kernel-image</emphasis>> <<emphasis>filesystem-image</emphasis>> | ||
764 | |||
765 | Where: | ||
766 | <<emphasis>qemuarch</emphasis>> is a string representing the target architecture: qemux86, qemux86-64, | ||
767 | qemuppc, qemumips, or qemuarm. | ||
768 | |||
769 | <<emphasis>kernel-image</emphasis>> is the architecture-specific kernel image. | ||
770 | |||
771 | <<emphasis>filesystem-image</emphasis>> is the .ext3 filesystem image. | ||
772 | |||
773 | </literallayout> | ||
774 | </para> | ||
775 | |||
776 | <para> | ||
777 | Continuing with the example, the following two commands setup the emulation | ||
778 | environment and launch QEMU. | ||
779 | This example assumes the root filesystem (<filename>.ext3</filename> file) and | ||
780 | the pre-built kernel image file both reside in your home directory. | ||
781 | The kernel and filesystem are for a 32-bit target architecture. | ||
782 | <literallayout class='monospaced'> | ||
783 | $ cd $HOME | ||
784 | $ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux | ||
785 | $ runqemu qemux86 bzImage-qemux86.bin \ | ||
786 | core-image-sato-qemux86.ext3 | ||
787 | </literallayout> | ||
788 | </para> | ||
789 | |||
790 | <para> | ||
791 | The environment in which QEMU launches varies depending on the filesystem image and on the | ||
792 | target architecture. | ||
793 | For example, if you source the environment for the ARM target | ||
794 | architecture and then boot the minimal QEMU image, the emulator comes up in a new | ||
795 | shell in command-line mode. | ||
796 | However, if you boot the SDK image, QEMU comes up with a GUI. | ||
797 | <note>Booting the PPC image results in QEMU launching in the same shell in | ||
798 | command-line mode.</note> | ||
799 | </para> | ||
800 | </section> | ||
801 | </section> | ||
802 | </section> | ||
803 | |||
804 | <section id='super-user'> | ||
805 | <title>Super User | ||
806 | </title> | ||
807 | |||
808 | <para> | ||
809 | This section | ||
810 | <footnote> | ||
811 | <para> | ||
812 | Kudos and thanks to Robert P. J. Day of | ||
813 | <ulink url='http://www.crashcourse.ca'>CrashCourse</ulink> for providing the basis | ||
814 | for this "expert" section with information from one of his | ||
815 | <ulink url='http://www.crashcourse.ca/wiki/index.php/Yocto_Project_Quick_Start'>wiki</ulink> | ||
816 | pages. | ||
817 | </para> | ||
818 | </footnote> | ||
819 | gives you a minimal description of how to use the Yocto Project to build | ||
820 | images for Beaglebone hardware starting from scratch. | ||
821 | The steps were performed on a 64-bit Ubuntu 12.04 system that | ||
822 | has four cores. | ||
823 | </para> | ||
824 | |||
825 | <section id='getting-yocto'> | ||
826 | <title>Getting the Yocto Project</title> | ||
827 | |||
828 | <para> | ||
829 | Set up your | ||
830 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> | ||
831 | by using Git to clone the <filename>poky</filename> | ||
832 | repository and then check out the release branch: | ||
833 | <literallayout class='monospaced'> | ||
834 | $ cd ~ | ||
835 | $ git clone git://git.yoctoproject.org/poky | ||
836 | $ cd poky | ||
837 | $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; | ||
838 | </literallayout> | ||
839 | </para> | ||
840 | </section> | ||
841 | |||
842 | <section id='setting-up-your-host'> | ||
843 | <title>Setting Up Your Host</title> | ||
844 | |||
845 | <para> | ||
846 | You need some packages for everything to work. | ||
847 | Rather than duplicate them here, look at the | ||
848 | "<link linkend='packages'>The Packages</link>" | ||
849 | section earlier in this quick start. | ||
850 | </para> | ||
851 | </section> | ||
852 | |||
853 | <section id='initializing-the-build-environment'> | ||
854 | <title>Initializing the Build Environment</title> | ||
855 | |||
856 | <para> | ||
857 | From the root directory of your | ||
858 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, | ||
859 | initialize your environment and provide a meaningful | ||
860 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | ||
861 | name: | ||
862 | <literallayout class='monospaced'> | ||
863 | $ source &OE_INIT_FILE; mybuilds | ||
864 | </literallayout> | ||
865 | At this point, the <filename>mybuilds</filename> directory has | ||
866 | been created for you and it is now your current working directory. | ||
867 | If you do not provide your own directory name, | ||
868 | it defaults to <filename>build</filename>, | ||
869 | which is inside the Source Directory. | ||
870 | </para> | ||
871 | </section> | ||
872 | |||
873 | <section id='configuring-the-local.conf-file'> | ||
874 | <title>Configuring the local.conf File</title> | ||
875 | |||
876 | <para> | ||
877 | Initializing the build environment creates a | ||
878 | <filename>conf/local.conf</filename> configuration file | ||
879 | in the Build Directory. | ||
880 | You need to manually edit this file to specify the machine you | ||
881 | are building and to optimize your build time. | ||
882 | Here are the minimal changes to make: | ||
883 | <literallayout class='monospaced'> | ||
884 | BB_NUMBER_THREADS = "8" | ||
885 | PARALLEL_MAKE = "-j 8" | ||
886 | MACHINE ?= "beaglebone" | ||
887 | </literallayout> | ||
888 | Briefly, set | ||
889 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></ulink> | ||
890 | and | ||
891 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></ulink> to | ||
892 | twice your host processor's number of cores. | ||
893 | </para> | ||
894 | |||
895 | <para> | ||
896 | A good deal that goes into a Yocto Project build is simply | ||
897 | downloading all of the source tarballs. | ||
898 | Steps exist that can help you be more efficient with gathering | ||
899 | source files. | ||
900 | For example, you can set up local mirrors that hold your | ||
901 | source tarballs or you can pre-fetch all your source without | ||
902 | initiating a build until later. | ||
903 | For more information, see the | ||
904 | "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-source-files'>Working with Source Files</ulink>" | ||
905 | section in the Yocto Project Development Manual. | ||
906 | </para> | ||
907 | </section> | ||
908 | |||
909 | <section id='building-the-image'> | ||
910 | <title>Building the Image</title> | ||
911 | |||
912 | <para> | ||
913 | At this point, you need to select an image to build for the | ||
914 | Beaglebone hardware. | ||
915 | If this is your first build using the Yocto Project, you should try | ||
916 | the smallest and simplest image: | ||
917 | <literallayout class='monospaced'> | ||
918 | $ bitbake core-image-minimal | ||
919 | </literallayout> | ||
920 | Now you just wait for the build to finish. | ||
921 | </para> | ||
922 | |||
923 | <para> | ||
924 | By default, BitBake aborts when it encounters an error during | ||
925 | the build. | ||
926 | If you want to make sure the build continues even when BitBake | ||
927 | encounters an error, use this variation: | ||
928 | <literallayout class='monospaced'> | ||
929 | $ bitbake -k core-image-minimal | ||
930 | </literallayout> | ||
931 | </para> | ||
932 | |||
933 | <para> | ||
934 | Once you have your image, you can take steps to load and boot it on | ||
935 | the target hardware. | ||
936 | </para> | ||
937 | |||
938 | <para> | ||
939 | You can learn about BitBake in general by reading the | ||
940 | <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>. | ||
941 | </para> | ||
942 | </section> | ||
943 | </section> | ||
944 | |||
945 | </article> | ||
946 | <!-- | ||
947 | vim: expandtab tw=80 ts=4 | ||
948 | --> | ||