summaryrefslogtreecommitdiffstats
path: root/documentation/brief-yoctoprojectqs
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/brief-yoctoprojectqs')
-rw-r--r--documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl26
-rw-r--r--documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css992
-rw-r--r--documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl3821
-rw-r--r--documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml577
4 files changed, 0 insertions, 5416 deletions
diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl
deleted file mode 100644
index 012d86384a..0000000000
--- a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl
+++ /dev/null
@@ -1,26 +0,0 @@
1<?xml version='1.0'?>
2<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
3
4<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">
5
6 <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
7
8<!--
9
10 <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
11
12 <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.76.1/xhtml/docbook.xsl" />
13
14-->
15
16 <xsl:import href="brief-yoctoprojectqs-titlepage.xsl"/>
17
18 <xsl:include href="../template/permalinks.xsl"/>
19 <xsl:include href="../template/section.title.xsl"/>
20 <xsl:include href="../template/component.title.xsl"/>
21 <xsl:include href="../template/division.title.xsl"/>
22 <xsl:include href="../template/formal.object.heading.xsl"/>
23
24 <xsl:param name="generate.toc" select="'article nop'"></xsl:param>
25 <xsl:param name="html.stylesheet" select="'brief-yoctoprojectqs-style.css'" />
26</xsl:stylesheet>
diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css
deleted file mode 100644
index e4e79d90ef..0000000000
--- a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css
+++ /dev/null
@@ -1,992 +0,0 @@
1/*
2
3 SPDX-License-Identifier: CC-BY-2.0-UK
4
5 Generic XHTML / DocBook XHTML CSS Stylesheet.
6
7 Browser wrangling and typographic design by
8 Oyvind Kolas / pippin@gimp.org
9
10 Customised for Poky by
11 Matthew Allum / mallum@o-hand.com
12
13 Thanks to:
14 Liam R. E. Quin
15 William Skaggs
16 Jakub Steiner
17
18 Structure
19 ---------
20
21 The stylesheet is divided into the following sections:
22
23 Positioning
24 Margins, paddings, width, font-size, clearing.
25 Decorations
26 Borders, style
27 Colors
28 Colors
29 Graphics
30 Graphical backgrounds
31 Nasty IE tweaks
32 Workarounds needed to make it work in internet explorer,
33 currently makes the stylesheet non validating, but up until
34 this point it is validating.
35 Mozilla extensions
36 Transparency for footer
37 Rounded corners on boxes
38
39*/
40
41
42 /*************** /
43 / Positioning /
44/ ***************/
45
46body {
47 font-family: Verdana, Sans, sans-serif;
48
49 min-width: 640px;
50 width: 80%;
51 margin: 0em auto;
52 padding: 2em 5em 5em 5em;
53 color: #333;
54}
55
56h1,h2,h3,h4,h5,h6,h7 {
57 font-family: Arial, Sans;
58 color: #00557D;
59 clear: both;
60}
61
62h1 {
63 font-size: 2em;
64 text-align: left;
65 padding: 0em 0em 0em 0em;
66 margin: 2em 0em 0em 0em;
67}
68
69h2.subtitle {
70 margin: 0.10em 0em 3.0em 0em;
71 padding: 0em 0em 0em 0em;
72 font-size: 1.8em;
73 padding-left: 20%;
74 font-weight: normal;
75 font-style: italic;
76}
77
78h2 {
79 margin: 2em 0em 0.66em 0em;
80 padding: 0.5em 0em 0em 0em;
81 font-size: 1.5em;
82 font-weight: bold;
83}
84
85h3.subtitle {
86 margin: 0em 0em 1em 0em;
87 padding: 0em 0em 0em 0em;
88 font-size: 142.14%;
89 text-align: right;
90}
91
92h3 {
93 margin: 1em 0em 0.5em 0em;
94 padding: 1em 0em 0em 0em;
95 font-size: 140%;
96 font-weight: bold;
97}
98
99h4 {
100 margin: 1em 0em 0.5em 0em;
101 padding: 1em 0em 0em 0em;
102 font-size: 120%;
103 font-weight: bold;
104}
105
106h5 {
107 margin: 1em 0em 0.5em 0em;
108 padding: 1em 0em 0em 0em;
109 font-size: 110%;
110 font-weight: bold;
111}
112
113h6 {
114 margin: 1em 0em 0em 0em;
115 padding: 1em 0em 0em 0em;
116 font-size: 110%;
117 font-weight: bold;
118}
119
120.authorgroup {
121 background-color: transparent;
122 background-repeat: no-repeat;
123 padding-top: 256px;
124 background-image: url("figures/bypqs-title.png");
125 background-position: left top;
126 margin-top: -256px;
127 padding-right: 50px;
128 margin-left: 0px;
129 text-align: right;
130 width: 740px;
131}
132
133h3.author {
134 margin: 0em 0me 0em 0em;
135 padding: 0em 0em 0em 0em;
136 font-weight: normal;
137 font-size: 100%;
138 color: #333;
139 clear: both;
140}
141
142.author tt.email {
143 font-size: 66%;
144}
145
146.titlepage hr {
147 width: 0em;
148 clear: both;
149}
150
151.revhistory {
152 padding-top: 2em;
153 clear: both;
154}
155
156.toc,
157.list-of-tables,
158.list-of-examples,
159.list-of-figures {
160 padding: 1.33em 0em 2.5em 0em;
161 color: #00557D;
162}
163
164.toc p,
165.list-of-tables p,
166.list-of-figures p,
167.list-of-examples p {
168 padding: 0em 0em 0em 0em;
169 padding: 0em 0em 0.3em;
170 margin: 1.5em 0em 0em 0em;
171}
172
173.toc p b,
174.list-of-tables p b,
175.list-of-figures p b,
176.list-of-examples p b{
177 font-size: 100.0%;
178 font-weight: bold;
179}
180
181.toc dl,
182.list-of-tables dl,
183.list-of-figures dl,
184.list-of-examples dl {
185 margin: 0em 0em 0.5em 0em;
186 padding: 0em 0em 0em 0em;
187}
188
189.toc dt {
190 margin: 0em 0em 0em 0em;
191 padding: 0em 0em 0em 0em;
192}
193
194.toc dd {
195 margin: 0em 0em 0em 2.6em;
196 padding: 0em 0em 0em 0em;
197}
198
199div.glossary dl,
200div.variablelist dl {
201}
202
203.glossary dl dt,
204.variablelist dl dt,
205.variablelist dl dt span.term {
206 font-weight: normal;
207 width: 20em;
208 text-align: right;
209}
210
211.variablelist dl dt {
212 margin-top: 0.5em;
213}
214
215.glossary dl dd,
216.variablelist dl dd {
217 margin-top: -1em;
218 margin-left: 25.5em;
219}
220
221.glossary dd p,
222.variablelist dd p {
223 margin-top: 0em;
224 margin-bottom: 1em;
225}
226
227
228div.calloutlist table td {
229 padding: 0em 0em 0em 0em;
230 margin: 0em 0em 0em 0em;
231}
232
233div.calloutlist table td p {
234 margin-top: 0em;
235 margin-bottom: 1em;
236}
237
238div p.copyright {
239 text-align: left;
240}
241
242div.legalnotice p.legalnotice-title {
243 margin-bottom: 0em;
244}
245
246p {
247 line-height: 1.5em;
248 margin-top: 0em;
249
250}
251
252dl {
253 padding-top: 0em;
254}
255
256hr {
257 border: solid 1px;
258}
259
260
261.mediaobject,
262.mediaobjectco {
263 text-align: center;
264}
265
266img {
267 border: none;
268}
269
270ul {
271 padding: 0em 0em 0em 1.5em;
272}
273
274ul li {
275 padding: 0em 0em 0em 0em;
276}
277
278ul li p {
279 text-align: left;
280}
281
282table {
283 width :100%;
284}
285
286th {
287 padding: 0.25em;
288 text-align: left;
289 font-weight: normal;
290 vertical-align: top;
291}
292
293td {
294 padding: 0.25em;
295 vertical-align: top;
296}
297
298p a[id] {
299 margin: 0px;
300 padding: 0px;
301 display: inline;
302 background-image: none;
303}
304
305a {
306 text-decoration: underline;
307 color: #444;
308}
309
310pre {
311 overflow: auto;
312}
313
314a:hover {
315 text-decoration: underline;
316 /*font-weight: bold;*/
317}
318
319/* This style defines how the permalink character
320 appears by itself and when hovered over with
321 the mouse. */
322
323[alt='Permalink'] { color: #eee; }
324[alt='Permalink']:hover { color: black; }
325
326
327div.informalfigure,
328div.informalexample,
329div.informaltable,
330div.figure,
331div.table,
332div.example {
333 margin: 1em 0em;
334 padding: 1em;
335 page-break-inside: avoid;
336}
337
338
339div.informalfigure p.title b,
340div.informalexample p.title b,
341div.informaltable p.title b,
342div.figure p.title b,
343div.example p.title b,
344div.table p.title b{
345 padding-top: 0em;
346 margin-top: 0em;
347 font-size: 100%;
348 font-weight: normal;
349}
350
351.mediaobject .caption,
352.mediaobject .caption p {
353 text-align: center;
354 font-size: 80%;
355 padding-top: 0.5em;
356 padding-bottom: 0.5em;
357}
358
359.epigraph {
360 padding-left: 55%;
361 margin-bottom: 1em;
362}
363
364.epigraph p {
365 text-align: left;
366}
367
368.epigraph .quote {
369 font-style: italic;
370}
371.epigraph .attribution {
372 font-style: normal;
373 text-align: right;
374}
375
376span.application {
377 font-style: italic;
378}
379
380.programlisting {
381 font-family: monospace;
382 font-size: 80%;
383 white-space: pre;
384 margin: 1.33em 0em;
385 padding: 1.33em;
386}
387
388.tip,
389.warning,
390.caution,
391.note {
392 margin-top: 1em;
393 margin-bottom: 1em;
394
395}
396
397/* force full width of table within div */
398.tip table,
399.warning table,
400.caution table,
401.note table {
402 border: none;
403 width: 100%;
404}
405
406
407.tip table th,
408.warning table th,
409.caution table th,
410.note table th {
411 padding: 0.8em 0.0em 0.0em 0.0em;
412 margin : 0em 0em 0em 0em;
413}
414
415.tip p,
416.warning p,
417.caution p,
418.note p {
419 margin-top: 0.5em;
420 margin-bottom: 0.5em;
421 padding-right: 1em;
422 text-align: left;
423}
424
425.acronym {
426 text-transform: uppercase;
427}
428
429b.keycap,
430.keycap {
431 padding: 0.09em 0.3em;
432 margin: 0em;
433}
434
435.itemizedlist li {
436 clear: none;
437}
438
439.filename {
440 font-size: medium;
441 font-family: Courier, monospace;
442}
443
444
445div.navheader, div.heading{
446 position: absolute;
447 left: 0em;
448 top: 0em;
449 width: 100%;
450 background-color: #cdf;
451 width: 100%;
452}
453
454div.navfooter, div.footing{
455 position: fixed;
456 left: 0em;
457 bottom: 0em;
458 background-color: #eee;
459 width: 100%;
460}
461
462
463div.navheader td,
464div.navfooter td {
465 font-size: 66%;
466}
467
468div.navheader table th {
469 /*font-family: Georgia, Times, serif;*/
470 /*font-size: x-large;*/
471 font-size: 80%;
472}
473
474div.navheader table {
475 border-left: 0em;
476 border-right: 0em;
477 border-top: 0em;
478 width: 100%;
479}
480
481div.navfooter table {
482 border-left: 0em;
483 border-right: 0em;
484 border-bottom: 0em;
485 width: 100%;
486}
487
488div.navheader table td a,
489div.navfooter table td a {
490 color: #777;
491 text-decoration: none;
492}
493
494/* normal text in the footer */
495div.navfooter table td {
496 color: black;
497}
498
499div.navheader table td a:visited,
500div.navfooter table td a:visited {
501 color: #444;
502}
503
504
505/* links in header and footer */
506div.navheader table td a:hover,
507div.navfooter table td a:hover {
508 text-decoration: underline;
509 background-color: transparent;
510 color: #33a;
511}
512
513div.navheader hr,
514div.navfooter hr {
515 display: none;
516}
517
518
519.qandaset tr.question td p {
520 margin: 0em 0em 1em 0em;
521 padding: 0em 0em 0em 0em;
522}
523
524.qandaset tr.answer td p {
525 margin: 0em 0em 1em 0em;
526 padding: 0em 0em 0em 0em;
527}
528.answer td {
529 padding-bottom: 1.5em;
530}
531
532.emphasis {
533 font-weight: bold;
534}
535
536
537 /************* /
538 / decorations /
539/ *************/
540
541.titlepage {
542}
543
544.part .title {
545}
546
547.subtitle {
548 border: none;
549}
550
551/*
552h1 {
553 border: none;
554}
555
556h2 {
557 border-top: solid 0.2em;
558 border-bottom: solid 0.06em;
559}
560
561h3 {
562 border-top: 0em;
563 border-bottom: solid 0.06em;
564}
565
566h4 {
567 border: 0em;
568 border-bottom: solid 0.06em;
569}
570
571h5 {
572 border: 0em;
573}
574*/
575
576.programlisting {
577 border: solid 1px;
578}
579
580div.figure,
581div.table,
582div.informalfigure,
583div.informaltable,
584div.informalexample,
585div.example {
586 border: 1px solid;
587}
588
589
590
591.tip,
592.warning,
593.caution,
594.note {
595 border: 1px solid;
596}
597
598.tip table th,
599.warning table th,
600.caution table th,
601.note table th {
602 border-bottom: 1px solid;
603}
604
605.question td {
606 border-top: 1px solid black;
607}
608
609.answer {
610}
611
612
613b.keycap,
614.keycap {
615 border: 1px solid;
616}
617
618
619div.navheader, div.heading{
620 border-bottom: 1px solid;
621}
622
623
624div.navfooter, div.footing{
625 border-top: 1px solid;
626}
627
628 /********* /
629 / colors /
630/ *********/
631
632body {
633 color: #333;
634 background: white;
635}
636
637a {
638 background: transparent;
639}
640
641a:hover {
642 background-color: #dedede;
643}
644
645
646h1,
647h2,
648h3,
649h4,
650h5,
651h6,
652h7,
653h8 {
654 background-color: transparent;
655}
656
657hr {
658 border-color: #aaa;
659}
660
661
662.tip, .warning, .caution, .note {
663 border-color: #fff;
664}
665
666
667.tip table th,
668.warning table th,
669.caution table th,
670.note table th {
671 border-bottom-color: #fff;
672}
673
674
675.warning {
676 background-color: #f0f0f2;
677}
678
679.caution {
680 background-color: #f0f0f2;
681}
682
683.tip {
684 background-color: #f0f0f2;
685}
686
687.note {
688 background-color: #f0f0f2;
689}
690
691.glossary dl dt,
692.variablelist dl dt,
693.variablelist dl dt span.term {
694 color: #044;
695}
696
697div.figure,
698div.table,
699div.example,
700div.informalfigure,
701div.informaltable,
702div.informalexample {
703 border-color: #aaa;
704}
705
706pre.programlisting {
707 color: black;
708 background-color: #fff;
709 border-color: #aaa;
710 border-width: 2px;
711}
712
713.guimenu,
714.guilabel,
715.guimenuitem {
716 background-color: #eee;
717}
718
719
720b.keycap,
721.keycap {
722 background-color: #eee;
723 border-color: #999;
724}
725
726
727div.navheader {
728 border-color: black;
729}
730
731
732div.navfooter {
733 border-color: black;
734}
735
736
737.writernotes {
738 color: red;
739}
740
741
742 /*********** /
743 / graphics /
744/ ***********/
745
746/*
747body {
748 background-image: url("images/body_bg.jpg");
749 background-attachment: fixed;
750}
751
752.navheader,
753.note,
754.tip {
755 background-image: url("images/note_bg.jpg");
756 background-attachment: fixed;
757}
758
759.warning,
760.caution {
761 background-image: url("images/warning_bg.jpg");
762 background-attachment: fixed;
763}
764
765.figure,
766.informalfigure,
767.example,
768.informalexample,
769.table,
770.informaltable {
771 background-image: url("images/figure_bg.jpg");
772 background-attachment: fixed;
773}
774
775*/
776h1,
777h2,
778h3,
779h4,
780h5,
781h6,
782h7{
783}
784
785/*
786Example of how to stick an image as part of the title.
787
788div.article .titlepage .title
789{
790 background-image: url("figures/white-on-black.png");
791 background-position: center;
792 background-repeat: repeat-x;
793}
794*/
795
796div.preface .titlepage .title,
797div.colophon .title,
798div.chapter .titlepage .title {
799 background-position: bottom;
800 background-repeat: repeat-x;
801}
802
803div.section div.section .titlepage .title,
804div.sect2 .titlepage .title {
805 background: none;
806}
807
808
809h1.title {
810 background-color: transparent;
811 background-repeat: no-repeat;
812 height: 256px;
813 text-indent: -9000px;
814 overflow:hidden;
815}
816
817h2.subtitle {
818 background-color: transparent;
819 text-indent: -9000px;
820 overflow:hidden;
821 width: 0px;
822 display: none;
823}
824
825 /*************************************** /
826 / pippin.gimp.org specific alterations /
827/ ***************************************/
828
829/*
830div.heading, div.navheader {
831 color: #777;
832 font-size: 80%;
833 padding: 0;
834 margin: 0;
835 text-align: left;
836 position: absolute;
837 top: 0px;
838 left: 0px;
839 width: 100%;
840 height: 50px;
841 background: url('/gfx/heading_bg.png') transparent;
842 background-repeat: repeat-x;
843 background-attachment: fixed;
844 border: none;
845}
846
847div.heading a {
848 color: #444;
849}
850
851div.footing, div.navfooter {
852 border: none;
853 color: #ddd;
854 font-size: 80%;
855 text-align:right;
856
857 width: 100%;
858 padding-top: 10px;
859 position: absolute;
860 bottom: 0px;
861 left: 0px;
862
863 background: url('/gfx/footing_bg.png') transparent;
864}
865*/
866
867
868
869 /****************** /
870 / nasty ie tweaks /
871/ ******************/
872
873/*
874div.heading, div.navheader {
875 width:expression(document.body.clientWidth + "px");
876}
877
878div.footing, div.navfooter {
879 width:expression(document.body.clientWidth + "px");
880 margin-left:expression("-5em");
881}
882body {
883 padding:expression("4em 5em 0em 5em");
884}
885*/
886
887 /**************************************** /
888 / mozilla vendor specific css extensions /
889/ ****************************************/
890/*
891div.navfooter, div.footing{
892 -moz-opacity: 0.8em;
893}
894
895div.figure,
896div.table,
897div.informalfigure,
898div.informaltable,
899div.informalexample,
900div.example,
901.tip,
902.warning,
903.caution,
904.note {
905 -moz-border-radius: 0.5em;
906}
907
908b.keycap,
909.keycap {
910 -moz-border-radius: 0.3em;
911}
912*/
913
914table tr td table tr td {
915 display: none;
916}
917
918
919hr {
920 display: none;
921}
922
923table {
924 border: 0em;
925}
926
927 .photo {
928 float: right;
929 margin-left: 1.5em;
930 margin-bottom: 1.5em;
931 margin-top: 0em;
932 max-width: 17em;
933 border: 1px solid gray;
934 padding: 3px;
935 background: white;
936}
937 .seperator {
938 padding-top: 2em;
939 clear: both;
940 }
941
942 #validators {
943 margin-top: 5em;
944 text-align: right;
945 color: #777;
946 }
947 @media print {
948 body {
949 font-size: 8pt;
950 }
951 .noprint {
952 display: none;
953 }
954 }
955
956
957.tip,
958.note {
959 background: #f0f0f2;
960 color: #333;
961 padding: 20px;
962 margin: 20px;
963}
964
965.tip h3,
966.note h3 {
967 padding: 0em;
968 margin: 0em;
969 font-size: 2em;
970 font-weight: bold;
971 color: #333;
972}
973
974.tip a,
975.note a {
976 color: #333;
977 text-decoration: underline;
978}
979
980.footnote {
981 font-size: small;
982 color: #333;
983}
984
985/* Changes the announcement text */
986.tip h3,
987.warning h3,
988.caution h3,
989.note h3 {
990 font-size:large;
991 color: #00557D;
992}
diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl
deleted file mode 100644
index e74ac530dd..0000000000
--- a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl
+++ /dev/null
@@ -1,3821 +0,0 @@
1<?xml version="1.0"?>
2<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
3
4<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" version="1.0" exclude-result-prefixes="exsl">
5
6<!-- This stylesheet was created by template/titlepage.xsl-->
7
8<xsl:template name="article.titlepage.recto">
9 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/abstract"/>
10 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/abstract"/>
11 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/abstract"/>
12 <xsl:choose>
13 <xsl:when test="articleinfo/title">
14 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/title"/>
15 </xsl:when>
16 <xsl:when test="artheader/title">
17 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/title"/>
18 </xsl:when>
19 <xsl:when test="info/title">
20 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/title"/>
21 </xsl:when>
22 <xsl:when test="title">
23 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="title"/>
24 </xsl:when>
25 </xsl:choose>
26
27 <xsl:choose>
28 <xsl:when test="articleinfo/subtitle">
29 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/subtitle"/>
30 </xsl:when>
31 <xsl:when test="artheader/subtitle">
32 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/subtitle"/>
33 </xsl:when>
34 <xsl:when test="info/subtitle">
35 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/subtitle"/>
36 </xsl:when>
37 <xsl:when test="subtitle">
38 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="subtitle"/>
39 </xsl:when>
40 </xsl:choose>
41
42 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/corpauthor"/>
43 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/corpauthor"/>
44 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/corpauthor"/>
45 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/authorgroup"/>
46 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/authorgroup"/>
47 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/authorgroup"/>
48 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/author"/>
49 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/author"/>
50 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/author"/>
51 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/othercredit"/>
52 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/othercredit"/>
53 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/othercredit"/>
54 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/releaseinfo"/>
55 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/releaseinfo"/>
56 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/releaseinfo"/>
57 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/copyright"/>
58 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/copyright"/>
59 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/copyright"/>
60 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/legalnotice"/>
61 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/legalnotice"/>
62 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/legalnotice"/>
63 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/pubdate"/>
64 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/pubdate"/>
65 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/pubdate"/>
66 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revision"/>
67 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revision"/>
68 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revision"/>
69 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="articleinfo/revhistory"/>
70 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="artheader/revhistory"/>
71 <xsl:apply-templates mode="article.titlepage.recto.auto.mode" select="info/revhistory"/>
72</xsl:template>
73
74<xsl:template name="article.titlepage.verso">
75</xsl:template>
76
77<xsl:template name="article.titlepage.separator"><hr/>
78</xsl:template>
79
80<xsl:template name="article.titlepage.before.recto">
81</xsl:template>
82
83<xsl:template name="article.titlepage.before.verso">
84</xsl:template>
85
86<xsl:template name="article.titlepage">
87 <div class="titlepage">
88 <xsl:variable name="recto.content">
89 <xsl:call-template name="article.titlepage.before.recto"/>
90 <xsl:call-template name="article.titlepage.recto"/>
91 </xsl:variable>
92 <xsl:variable name="recto.elements.count">
93 <xsl:choose>
94 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
95 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
96 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
97 <xsl:otherwise>1</xsl:otherwise>
98 </xsl:choose>
99 </xsl:variable>
100 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
101 <div><xsl:copy-of select="$recto.content"/></div>
102 </xsl:if>
103 <xsl:variable name="verso.content">
104 <xsl:call-template name="article.titlepage.before.verso"/>
105 <xsl:call-template name="article.titlepage.verso"/>
106 </xsl:variable>
107 <xsl:variable name="verso.elements.count">
108 <xsl:choose>
109 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
110 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
111 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
112 <xsl:otherwise>1</xsl:otherwise>
113 </xsl:choose>
114 </xsl:variable>
115 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
116 <div><xsl:copy-of select="$verso.content"/></div>
117 </xsl:if>
118 <xsl:call-template name="article.titlepage.separator"/>
119 </div>
120</xsl:template>
121
122<xsl:template match="*" mode="article.titlepage.recto.mode">
123 <!-- if an element isn't found in this mode, -->
124 <!-- try the generic titlepage.mode -->
125 <xsl:apply-templates select="." mode="titlepage.mode"/>
126</xsl:template>
127
128<xsl:template match="*" mode="article.titlepage.verso.mode">
129 <!-- if an element isn't found in this mode, -->
130 <!-- try the generic titlepage.mode -->
131 <xsl:apply-templates select="." mode="titlepage.mode"/>
132</xsl:template>
133
134<xsl:template match="abstract" mode="article.titlepage.recto.auto.mode">
135<div xsl:use-attribute-sets="article.titlepage.recto.style">
136 <xsl:call-template name="anchor"/>
137 <xsl:apply-templates/>
138<!-- orignally generated content -->
139<!-- <xsl:apply-templates select="." mode="article.titlepage.recto.mode"/> -->
140</div>
141</xsl:template>
142
143<xsl:template match="title" mode="article.titlepage.recto.auto.mode">
144<div xsl:use-attribute-sets="article.titlepage.recto.style">
145<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
146</div>
147</xsl:template>
148
149<xsl:template match="subtitle" mode="article.titlepage.recto.auto.mode">
150<div xsl:use-attribute-sets="article.titlepage.recto.style">
151<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
152</div>
153</xsl:template>
154
155<xsl:template match="corpauthor" mode="article.titlepage.recto.auto.mode">
156<div xsl:use-attribute-sets="article.titlepage.recto.style">
157<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
158</div>
159</xsl:template>
160
161<xsl:template match="authorgroup" mode="article.titlepage.recto.auto.mode">
162<div xsl:use-attribute-sets="article.titlepage.recto.style">
163<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
164</div>
165</xsl:template>
166
167<xsl:template match="author" mode="article.titlepage.recto.auto.mode">
168<div xsl:use-attribute-sets="article.titlepage.recto.style">
169<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
170</div>
171</xsl:template>
172
173<xsl:template match="othercredit" mode="article.titlepage.recto.auto.mode">
174<div xsl:use-attribute-sets="article.titlepage.recto.style">
175<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
176</div>
177</xsl:template>
178
179<xsl:template match="releaseinfo" mode="article.titlepage.recto.auto.mode">
180<div xsl:use-attribute-sets="article.titlepage.recto.style">
181<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
182</div>
183</xsl:template>
184
185<xsl:template match="copyright" mode="article.titlepage.recto.auto.mode">
186<div xsl:use-attribute-sets="article.titlepage.recto.style">
187<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
188</div>
189</xsl:template>
190
191<xsl:template match="legalnotice" mode="article.titlepage.recto.auto.mode">
192<div xsl:use-attribute-sets="article.titlepage.recto.style">
193<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
194</div>
195</xsl:template>
196
197<xsl:template match="pubdate" mode="article.titlepage.recto.auto.mode">
198<div xsl:use-attribute-sets="article.titlepage.recto.style">
199<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
200</div>
201</xsl:template>
202
203<xsl:template match="revision" mode="article.titlepage.recto.auto.mode">
204<div xsl:use-attribute-sets="article.titlepage.recto.style">
205<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
206</div>
207</xsl:template>
208
209<xsl:template match="revhistory" mode="article.titlepage.recto.auto.mode">
210<div xsl:use-attribute-sets="article.titlepage.recto.style">
211<xsl:apply-templates select="." mode="article.titlepage.recto.mode"/>
212</div>
213</xsl:template>
214
215<xsl:template name="set.titlepage.recto">
216 <xsl:choose>
217 <xsl:when test="setinfo/title">
218 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/title"/>
219 </xsl:when>
220 <xsl:when test="info/title">
221 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/title"/>
222 </xsl:when>
223 <xsl:when test="title">
224 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="title"/>
225 </xsl:when>
226 </xsl:choose>
227
228 <xsl:choose>
229 <xsl:when test="setinfo/subtitle">
230 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/subtitle"/>
231 </xsl:when>
232 <xsl:when test="info/subtitle">
233 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/subtitle"/>
234 </xsl:when>
235 <xsl:when test="subtitle">
236 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="subtitle"/>
237 </xsl:when>
238 </xsl:choose>
239
240 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/corpauthor"/>
241 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/corpauthor"/>
242 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/authorgroup"/>
243 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/authorgroup"/>
244 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/author"/>
245 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/author"/>
246 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/othercredit"/>
247 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/othercredit"/>
248 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/releaseinfo"/>
249 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/releaseinfo"/>
250 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/copyright"/>
251 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/copyright"/>
252 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/legalnotice"/>
253 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/legalnotice"/>
254 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/pubdate"/>
255 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/pubdate"/>
256 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revision"/>
257 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revision"/>
258 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/revhistory"/>
259 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/revhistory"/>
260 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="setinfo/abstract"/>
261 <xsl:apply-templates mode="set.titlepage.recto.auto.mode" select="info/abstract"/>
262</xsl:template>
263
264<xsl:template name="set.titlepage.verso">
265</xsl:template>
266
267<xsl:template name="set.titlepage.separator"><hr/>
268</xsl:template>
269
270<xsl:template name="set.titlepage.before.recto">
271</xsl:template>
272
273<xsl:template name="set.titlepage.before.verso">
274</xsl:template>
275
276<xsl:template name="set.titlepage">
277 <div class="titlepage">
278 <xsl:variable name="recto.content">
279 <xsl:call-template name="set.titlepage.before.recto"/>
280 <xsl:call-template name="set.titlepage.recto"/>
281 </xsl:variable>
282 <xsl:variable name="recto.elements.count">
283 <xsl:choose>
284 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
285 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
286 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
287 <xsl:otherwise>1</xsl:otherwise>
288 </xsl:choose>
289 </xsl:variable>
290 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
291 <div><xsl:copy-of select="$recto.content"/></div>
292 </xsl:if>
293 <xsl:variable name="verso.content">
294 <xsl:call-template name="set.titlepage.before.verso"/>
295 <xsl:call-template name="set.titlepage.verso"/>
296 </xsl:variable>
297 <xsl:variable name="verso.elements.count">
298 <xsl:choose>
299 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
300 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
301 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
302 <xsl:otherwise>1</xsl:otherwise>
303 </xsl:choose>
304 </xsl:variable>
305 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
306 <div><xsl:copy-of select="$verso.content"/></div>
307 </xsl:if>
308 <xsl:call-template name="set.titlepage.separator"/>
309 </div>
310</xsl:template>
311
312<xsl:template match="*" mode="set.titlepage.recto.mode">
313 <!-- if an element isn't found in this mode, -->
314 <!-- try the generic titlepage.mode -->
315 <xsl:apply-templates select="." mode="titlepage.mode"/>
316</xsl:template>
317
318<xsl:template match="*" mode="set.titlepage.verso.mode">
319 <!-- if an element isn't found in this mode, -->
320 <!-- try the generic titlepage.mode -->
321 <xsl:apply-templates select="." mode="titlepage.mode"/>
322</xsl:template>
323
324<xsl:template match="title" mode="set.titlepage.recto.auto.mode">
325<div xsl:use-attribute-sets="set.titlepage.recto.style">
326<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
327</div>
328</xsl:template>
329
330<xsl:template match="subtitle" mode="set.titlepage.recto.auto.mode">
331<div xsl:use-attribute-sets="set.titlepage.recto.style">
332<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
333</div>
334</xsl:template>
335
336<xsl:template match="corpauthor" mode="set.titlepage.recto.auto.mode">
337<div xsl:use-attribute-sets="set.titlepage.recto.style">
338<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
339</div>
340</xsl:template>
341
342<xsl:template match="authorgroup" mode="set.titlepage.recto.auto.mode">
343<div xsl:use-attribute-sets="set.titlepage.recto.style">
344<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
345</div>
346</xsl:template>
347
348<xsl:template match="author" mode="set.titlepage.recto.auto.mode">
349<div xsl:use-attribute-sets="set.titlepage.recto.style">
350<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
351</div>
352</xsl:template>
353
354<xsl:template match="othercredit" mode="set.titlepage.recto.auto.mode">
355<div xsl:use-attribute-sets="set.titlepage.recto.style">
356<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
357</div>
358</xsl:template>
359
360<xsl:template match="releaseinfo" mode="set.titlepage.recto.auto.mode">
361<div xsl:use-attribute-sets="set.titlepage.recto.style">
362<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
363</div>
364</xsl:template>
365
366<xsl:template match="copyright" mode="set.titlepage.recto.auto.mode">
367<div xsl:use-attribute-sets="set.titlepage.recto.style">
368<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
369</div>
370</xsl:template>
371
372<xsl:template match="legalnotice" mode="set.titlepage.recto.auto.mode">
373<div xsl:use-attribute-sets="set.titlepage.recto.style">
374<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
375</div>
376</xsl:template>
377
378<xsl:template match="pubdate" mode="set.titlepage.recto.auto.mode">
379<div xsl:use-attribute-sets="set.titlepage.recto.style">
380<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
381</div>
382</xsl:template>
383
384<xsl:template match="revision" mode="set.titlepage.recto.auto.mode">
385<div xsl:use-attribute-sets="set.titlepage.recto.style">
386<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
387</div>
388</xsl:template>
389
390<xsl:template match="revhistory" mode="set.titlepage.recto.auto.mode">
391<div xsl:use-attribute-sets="set.titlepage.recto.style">
392<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
393</div>
394</xsl:template>
395
396<xsl:template match="abstract" mode="set.titlepage.recto.auto.mode">
397<div xsl:use-attribute-sets="set.titlepage.recto.style">
398<xsl:apply-templates select="." mode="set.titlepage.recto.mode"/>
399</div>
400</xsl:template>
401
402<xsl:template name="book.titlepage.recto">
403 <xsl:choose>
404 <xsl:when test="bookinfo/title">
405 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/title"/>
406 </xsl:when>
407 <xsl:when test="info/title">
408 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/title"/>
409 </xsl:when>
410 <xsl:when test="title">
411 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="title"/>
412 </xsl:when>
413 </xsl:choose>
414
415 <xsl:choose>
416 <xsl:when test="bookinfo/subtitle">
417 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/subtitle"/>
418 </xsl:when>
419 <xsl:when test="info/subtitle">
420 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/subtitle"/>
421 </xsl:when>
422 <xsl:when test="subtitle">
423 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="subtitle"/>
424 </xsl:when>
425 </xsl:choose>
426
427 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/corpauthor"/>
428 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/corpauthor"/>
429 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/authorgroup"/>
430 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/authorgroup"/>
431 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/author"/>
432 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/author"/>
433 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/othercredit"/>
434 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/othercredit"/>
435 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/releaseinfo"/>
436 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/releaseinfo"/>
437 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/copyright"/>
438 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/copyright"/>
439 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/legalnotice"/>
440 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/legalnotice"/>
441 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/pubdate"/>
442 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/pubdate"/>
443 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revision"/>
444 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revision"/>
445 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/revhistory"/>
446 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/revhistory"/>
447 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="bookinfo/abstract"/>
448 <xsl:apply-templates mode="book.titlepage.recto.auto.mode" select="info/abstract"/>
449</xsl:template>
450
451<xsl:template name="book.titlepage.verso">
452</xsl:template>
453
454<xsl:template name="book.titlepage.separator"><hr/>
455</xsl:template>
456
457<xsl:template name="book.titlepage.before.recto">
458</xsl:template>
459
460<xsl:template name="book.titlepage.before.verso">
461</xsl:template>
462
463<xsl:template name="book.titlepage">
464 <div class="titlepage">
465 <xsl:variable name="recto.content">
466 <xsl:call-template name="book.titlepage.before.recto"/>
467 <xsl:call-template name="book.titlepage.recto"/>
468 </xsl:variable>
469 <xsl:variable name="recto.elements.count">
470 <xsl:choose>
471 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
472 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
473 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
474 <xsl:otherwise>1</xsl:otherwise>
475 </xsl:choose>
476 </xsl:variable>
477 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
478 <div><xsl:copy-of select="$recto.content"/></div>
479 </xsl:if>
480 <xsl:variable name="verso.content">
481 <xsl:call-template name="book.titlepage.before.verso"/>
482 <xsl:call-template name="book.titlepage.verso"/>
483 </xsl:variable>
484 <xsl:variable name="verso.elements.count">
485 <xsl:choose>
486 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
487 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
488 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
489 <xsl:otherwise>1</xsl:otherwise>
490 </xsl:choose>
491 </xsl:variable>
492 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
493 <div><xsl:copy-of select="$verso.content"/></div>
494 </xsl:if>
495 <xsl:call-template name="book.titlepage.separator"/>
496 </div>
497</xsl:template>
498
499<xsl:template match="*" mode="book.titlepage.recto.mode">
500 <!-- if an element isn't found in this mode, -->
501 <!-- try the generic titlepage.mode -->
502 <xsl:apply-templates select="." mode="titlepage.mode"/>
503</xsl:template>
504
505<xsl:template match="*" mode="book.titlepage.verso.mode">
506 <!-- if an element isn't found in this mode, -->
507 <!-- try the generic titlepage.mode -->
508 <xsl:apply-templates select="." mode="titlepage.mode"/>
509</xsl:template>
510
511<xsl:template match="title" mode="book.titlepage.recto.auto.mode">
512<div xsl:use-attribute-sets="book.titlepage.recto.style">
513<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
514</div>
515</xsl:template>
516
517<xsl:template match="subtitle" mode="book.titlepage.recto.auto.mode">
518<div xsl:use-attribute-sets="book.titlepage.recto.style">
519<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
520</div>
521</xsl:template>
522
523<xsl:template match="corpauthor" mode="book.titlepage.recto.auto.mode">
524<div xsl:use-attribute-sets="book.titlepage.recto.style">
525<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
526</div>
527</xsl:template>
528
529<xsl:template match="authorgroup" mode="book.titlepage.recto.auto.mode">
530<div xsl:use-attribute-sets="book.titlepage.recto.style">
531<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
532</div>
533</xsl:template>
534
535<xsl:template match="author" mode="book.titlepage.recto.auto.mode">
536<div xsl:use-attribute-sets="book.titlepage.recto.style">
537<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
538</div>
539</xsl:template>
540
541<xsl:template match="othercredit" mode="book.titlepage.recto.auto.mode">
542<div xsl:use-attribute-sets="book.titlepage.recto.style">
543<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
544</div>
545</xsl:template>
546
547<xsl:template match="releaseinfo" mode="book.titlepage.recto.auto.mode">
548<div xsl:use-attribute-sets="book.titlepage.recto.style">
549<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
550</div>
551</xsl:template>
552
553<xsl:template match="copyright" mode="book.titlepage.recto.auto.mode">
554<div xsl:use-attribute-sets="book.titlepage.recto.style">
555<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
556</div>
557</xsl:template>
558
559<xsl:template match="legalnotice" mode="book.titlepage.recto.auto.mode">
560<div xsl:use-attribute-sets="book.titlepage.recto.style">
561<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
562</div>
563</xsl:template>
564
565<xsl:template match="pubdate" mode="book.titlepage.recto.auto.mode">
566<div xsl:use-attribute-sets="book.titlepage.recto.style">
567<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
568</div>
569</xsl:template>
570
571<xsl:template match="revision" mode="book.titlepage.recto.auto.mode">
572<div xsl:use-attribute-sets="book.titlepage.recto.style">
573<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
574</div>
575</xsl:template>
576
577<xsl:template match="revhistory" mode="book.titlepage.recto.auto.mode">
578<div xsl:use-attribute-sets="book.titlepage.recto.style">
579<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
580</div>
581</xsl:template>
582
583<xsl:template match="abstract" mode="book.titlepage.recto.auto.mode">
584<div xsl:use-attribute-sets="book.titlepage.recto.style">
585<xsl:apply-templates select="." mode="book.titlepage.recto.mode"/>
586</div>
587</xsl:template>
588
589<xsl:template name="part.titlepage.recto">
590 <div xsl:use-attribute-sets="part.titlepage.recto.style">
591<xsl:call-template name="division.title">
592<xsl:with-param name="node" select="ancestor-or-self::part[1]"/>
593</xsl:call-template></div>
594 <xsl:choose>
595 <xsl:when test="partinfo/subtitle">
596 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/subtitle"/>
597 </xsl:when>
598 <xsl:when test="docinfo/subtitle">
599 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
600 </xsl:when>
601 <xsl:when test="info/subtitle">
602 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/subtitle"/>
603 </xsl:when>
604 <xsl:when test="subtitle">
605 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="subtitle"/>
606 </xsl:when>
607 </xsl:choose>
608
609 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/corpauthor"/>
610 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
611 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/corpauthor"/>
612 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/authorgroup"/>
613 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
614 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/authorgroup"/>
615 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/author"/>
616 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/author"/>
617 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/author"/>
618 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/othercredit"/>
619 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
620 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/othercredit"/>
621 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/releaseinfo"/>
622 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
623 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/releaseinfo"/>
624 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/copyright"/>
625 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/copyright"/>
626 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/copyright"/>
627 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/legalnotice"/>
628 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
629 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/legalnotice"/>
630 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/pubdate"/>
631 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
632 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/pubdate"/>
633 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revision"/>
634 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revision"/>
635 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revision"/>
636 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/revhistory"/>
637 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
638 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/revhistory"/>
639 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="partinfo/abstract"/>
640 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="docinfo/abstract"/>
641 <xsl:apply-templates mode="part.titlepage.recto.auto.mode" select="info/abstract"/>
642</xsl:template>
643
644<xsl:template name="part.titlepage.verso">
645</xsl:template>
646
647<xsl:template name="part.titlepage.separator">
648</xsl:template>
649
650<xsl:template name="part.titlepage.before.recto">
651</xsl:template>
652
653<xsl:template name="part.titlepage.before.verso">
654</xsl:template>
655
656<xsl:template name="part.titlepage">
657 <div class="titlepage">
658 <xsl:variable name="recto.content">
659 <xsl:call-template name="part.titlepage.before.recto"/>
660 <xsl:call-template name="part.titlepage.recto"/>
661 </xsl:variable>
662 <xsl:variable name="recto.elements.count">
663 <xsl:choose>
664 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
665 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
666 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
667 <xsl:otherwise>1</xsl:otherwise>
668 </xsl:choose>
669 </xsl:variable>
670 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
671 <div><xsl:copy-of select="$recto.content"/></div>
672 </xsl:if>
673 <xsl:variable name="verso.content">
674 <xsl:call-template name="part.titlepage.before.verso"/>
675 <xsl:call-template name="part.titlepage.verso"/>
676 </xsl:variable>
677 <xsl:variable name="verso.elements.count">
678 <xsl:choose>
679 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
680 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
681 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
682 <xsl:otherwise>1</xsl:otherwise>
683 </xsl:choose>
684 </xsl:variable>
685 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
686 <div><xsl:copy-of select="$verso.content"/></div>
687 </xsl:if>
688 <xsl:call-template name="part.titlepage.separator"/>
689 </div>
690</xsl:template>
691
692<xsl:template match="*" mode="part.titlepage.recto.mode">
693 <!-- if an element isn't found in this mode, -->
694 <!-- try the generic titlepage.mode -->
695 <xsl:apply-templates select="." mode="titlepage.mode"/>
696</xsl:template>
697
698<xsl:template match="*" mode="part.titlepage.verso.mode">
699 <!-- if an element isn't found in this mode, -->
700 <!-- try the generic titlepage.mode -->
701 <xsl:apply-templates select="." mode="titlepage.mode"/>
702</xsl:template>
703
704<xsl:template match="subtitle" mode="part.titlepage.recto.auto.mode">
705<div xsl:use-attribute-sets="part.titlepage.recto.style">
706<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
707</div>
708</xsl:template>
709
710<xsl:template match="corpauthor" mode="part.titlepage.recto.auto.mode">
711<div xsl:use-attribute-sets="part.titlepage.recto.style">
712<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
713</div>
714</xsl:template>
715
716<xsl:template match="authorgroup" mode="part.titlepage.recto.auto.mode">
717<div xsl:use-attribute-sets="part.titlepage.recto.style">
718<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
719</div>
720</xsl:template>
721
722<xsl:template match="author" mode="part.titlepage.recto.auto.mode">
723<div xsl:use-attribute-sets="part.titlepage.recto.style">
724<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
725</div>
726</xsl:template>
727
728<xsl:template match="othercredit" mode="part.titlepage.recto.auto.mode">
729<div xsl:use-attribute-sets="part.titlepage.recto.style">
730<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
731</div>
732</xsl:template>
733
734<xsl:template match="releaseinfo" mode="part.titlepage.recto.auto.mode">
735<div xsl:use-attribute-sets="part.titlepage.recto.style">
736<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
737</div>
738</xsl:template>
739
740<xsl:template match="copyright" mode="part.titlepage.recto.auto.mode">
741<div xsl:use-attribute-sets="part.titlepage.recto.style">
742<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
743</div>
744</xsl:template>
745
746<xsl:template match="legalnotice" mode="part.titlepage.recto.auto.mode">
747<div xsl:use-attribute-sets="part.titlepage.recto.style">
748<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
749</div>
750</xsl:template>
751
752<xsl:template match="pubdate" mode="part.titlepage.recto.auto.mode">
753<div xsl:use-attribute-sets="part.titlepage.recto.style">
754<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
755</div>
756</xsl:template>
757
758<xsl:template match="revision" mode="part.titlepage.recto.auto.mode">
759<div xsl:use-attribute-sets="part.titlepage.recto.style">
760<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
761</div>
762</xsl:template>
763
764<xsl:template match="revhistory" mode="part.titlepage.recto.auto.mode">
765<div xsl:use-attribute-sets="part.titlepage.recto.style">
766<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
767</div>
768</xsl:template>
769
770<xsl:template match="abstract" mode="part.titlepage.recto.auto.mode">
771<div xsl:use-attribute-sets="part.titlepage.recto.style">
772<xsl:apply-templates select="." mode="part.titlepage.recto.mode"/>
773</div>
774</xsl:template>
775
776<xsl:template name="partintro.titlepage.recto">
777 <xsl:choose>
778 <xsl:when test="partintroinfo/title">
779 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/title"/>
780 </xsl:when>
781 <xsl:when test="docinfo/title">
782 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/title"/>
783 </xsl:when>
784 <xsl:when test="info/title">
785 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/title"/>
786 </xsl:when>
787 <xsl:when test="title">
788 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="title"/>
789 </xsl:when>
790 </xsl:choose>
791
792 <xsl:choose>
793 <xsl:when test="partintroinfo/subtitle">
794 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/subtitle"/>
795 </xsl:when>
796 <xsl:when test="docinfo/subtitle">
797 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
798 </xsl:when>
799 <xsl:when test="info/subtitle">
800 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/subtitle"/>
801 </xsl:when>
802 <xsl:when test="subtitle">
803 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="subtitle"/>
804 </xsl:when>
805 </xsl:choose>
806
807 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/corpauthor"/>
808 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
809 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/corpauthor"/>
810 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/authorgroup"/>
811 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
812 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/authorgroup"/>
813 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/author"/>
814 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/author"/>
815 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/author"/>
816 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/othercredit"/>
817 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
818 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/othercredit"/>
819 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/releaseinfo"/>
820 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
821 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/releaseinfo"/>
822 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/copyright"/>
823 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/copyright"/>
824 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/copyright"/>
825 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/legalnotice"/>
826 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
827 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/legalnotice"/>
828 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/pubdate"/>
829 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
830 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/pubdate"/>
831 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revision"/>
832 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revision"/>
833 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revision"/>
834 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/revhistory"/>
835 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
836 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/revhistory"/>
837 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="partintroinfo/abstract"/>
838 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="docinfo/abstract"/>
839 <xsl:apply-templates mode="partintro.titlepage.recto.auto.mode" select="info/abstract"/>
840</xsl:template>
841
842<xsl:template name="partintro.titlepage.verso">
843</xsl:template>
844
845<xsl:template name="partintro.titlepage.separator">
846</xsl:template>
847
848<xsl:template name="partintro.titlepage.before.recto">
849</xsl:template>
850
851<xsl:template name="partintro.titlepage.before.verso">
852</xsl:template>
853
854<xsl:template name="partintro.titlepage">
855 <div>
856 <xsl:variable name="recto.content">
857 <xsl:call-template name="partintro.titlepage.before.recto"/>
858 <xsl:call-template name="partintro.titlepage.recto"/>
859 </xsl:variable>
860 <xsl:variable name="recto.elements.count">
861 <xsl:choose>
862 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
863 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
864 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
865 <xsl:otherwise>1</xsl:otherwise>
866 </xsl:choose>
867 </xsl:variable>
868 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
869 <div><xsl:copy-of select="$recto.content"/></div>
870 </xsl:if>
871 <xsl:variable name="verso.content">
872 <xsl:call-template name="partintro.titlepage.before.verso"/>
873 <xsl:call-template name="partintro.titlepage.verso"/>
874 </xsl:variable>
875 <xsl:variable name="verso.elements.count">
876 <xsl:choose>
877 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
878 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
879 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
880 <xsl:otherwise>1</xsl:otherwise>
881 </xsl:choose>
882 </xsl:variable>
883 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
884 <div><xsl:copy-of select="$verso.content"/></div>
885 </xsl:if>
886 <xsl:call-template name="partintro.titlepage.separator"/>
887 </div>
888</xsl:template>
889
890<xsl:template match="*" mode="partintro.titlepage.recto.mode">
891 <!-- if an element isn't found in this mode, -->
892 <!-- try the generic titlepage.mode -->
893 <xsl:apply-templates select="." mode="titlepage.mode"/>
894</xsl:template>
895
896<xsl:template match="*" mode="partintro.titlepage.verso.mode">
897 <!-- if an element isn't found in this mode, -->
898 <!-- try the generic titlepage.mode -->
899 <xsl:apply-templates select="." mode="titlepage.mode"/>
900</xsl:template>
901
902<xsl:template match="title" mode="partintro.titlepage.recto.auto.mode">
903<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
904<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
905</div>
906</xsl:template>
907
908<xsl:template match="subtitle" mode="partintro.titlepage.recto.auto.mode">
909<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
910<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
911</div>
912</xsl:template>
913
914<xsl:template match="corpauthor" mode="partintro.titlepage.recto.auto.mode">
915<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
916<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
917</div>
918</xsl:template>
919
920<xsl:template match="authorgroup" mode="partintro.titlepage.recto.auto.mode">
921<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
922<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
923</div>
924</xsl:template>
925
926<xsl:template match="author" mode="partintro.titlepage.recto.auto.mode">
927<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
928<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
929</div>
930</xsl:template>
931
932<xsl:template match="othercredit" mode="partintro.titlepage.recto.auto.mode">
933<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
934<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
935</div>
936</xsl:template>
937
938<xsl:template match="releaseinfo" mode="partintro.titlepage.recto.auto.mode">
939<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
940<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
941</div>
942</xsl:template>
943
944<xsl:template match="copyright" mode="partintro.titlepage.recto.auto.mode">
945<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
946<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
947</div>
948</xsl:template>
949
950<xsl:template match="legalnotice" mode="partintro.titlepage.recto.auto.mode">
951<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
952<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
953</div>
954</xsl:template>
955
956<xsl:template match="pubdate" mode="partintro.titlepage.recto.auto.mode">
957<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
958<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
959</div>
960</xsl:template>
961
962<xsl:template match="revision" mode="partintro.titlepage.recto.auto.mode">
963<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
964<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
965</div>
966</xsl:template>
967
968<xsl:template match="revhistory" mode="partintro.titlepage.recto.auto.mode">
969<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
970<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
971</div>
972</xsl:template>
973
974<xsl:template match="abstract" mode="partintro.titlepage.recto.auto.mode">
975<div xsl:use-attribute-sets="partintro.titlepage.recto.style">
976<xsl:apply-templates select="." mode="partintro.titlepage.recto.mode"/>
977</div>
978</xsl:template>
979
980<xsl:template name="reference.titlepage.recto">
981 <xsl:choose>
982 <xsl:when test="referenceinfo/title">
983 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/title"/>
984 </xsl:when>
985 <xsl:when test="docinfo/title">
986 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/title"/>
987 </xsl:when>
988 <xsl:when test="info/title">
989 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/title"/>
990 </xsl:when>
991 <xsl:when test="title">
992 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="title"/>
993 </xsl:when>
994 </xsl:choose>
995
996 <xsl:choose>
997 <xsl:when test="referenceinfo/subtitle">
998 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/subtitle"/>
999 </xsl:when>
1000 <xsl:when test="docinfo/subtitle">
1001 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1002 </xsl:when>
1003 <xsl:when test="info/subtitle">
1004 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/subtitle"/>
1005 </xsl:when>
1006 <xsl:when test="subtitle">
1007 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="subtitle"/>
1008 </xsl:when>
1009 </xsl:choose>
1010
1011 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/corpauthor"/>
1012 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1013 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/corpauthor"/>
1014 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/authorgroup"/>
1015 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1016 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/authorgroup"/>
1017 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/author"/>
1018 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/author"/>
1019 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/author"/>
1020 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/othercredit"/>
1021 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1022 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/othercredit"/>
1023 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/releaseinfo"/>
1024 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1025 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1026 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/copyright"/>
1027 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1028 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/copyright"/>
1029 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/legalnotice"/>
1030 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1031 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/legalnotice"/>
1032 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/pubdate"/>
1033 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1034 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/pubdate"/>
1035 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revision"/>
1036 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revision"/>
1037 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revision"/>
1038 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/revhistory"/>
1039 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1040 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/revhistory"/>
1041 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="referenceinfo/abstract"/>
1042 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1043 <xsl:apply-templates mode="reference.titlepage.recto.auto.mode" select="info/abstract"/>
1044</xsl:template>
1045
1046<xsl:template name="reference.titlepage.verso">
1047</xsl:template>
1048
1049<xsl:template name="reference.titlepage.separator"><hr/>
1050</xsl:template>
1051
1052<xsl:template name="reference.titlepage.before.recto">
1053</xsl:template>
1054
1055<xsl:template name="reference.titlepage.before.verso">
1056</xsl:template>
1057
1058<xsl:template name="reference.titlepage">
1059 <div class="titlepage">
1060 <xsl:variable name="recto.content">
1061 <xsl:call-template name="reference.titlepage.before.recto"/>
1062 <xsl:call-template name="reference.titlepage.recto"/>
1063 </xsl:variable>
1064 <xsl:variable name="recto.elements.count">
1065 <xsl:choose>
1066 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1067 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1068 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1069 <xsl:otherwise>1</xsl:otherwise>
1070 </xsl:choose>
1071 </xsl:variable>
1072 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1073 <div><xsl:copy-of select="$recto.content"/></div>
1074 </xsl:if>
1075 <xsl:variable name="verso.content">
1076 <xsl:call-template name="reference.titlepage.before.verso"/>
1077 <xsl:call-template name="reference.titlepage.verso"/>
1078 </xsl:variable>
1079 <xsl:variable name="verso.elements.count">
1080 <xsl:choose>
1081 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1082 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1083 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1084 <xsl:otherwise>1</xsl:otherwise>
1085 </xsl:choose>
1086 </xsl:variable>
1087 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1088 <div><xsl:copy-of select="$verso.content"/></div>
1089 </xsl:if>
1090 <xsl:call-template name="reference.titlepage.separator"/>
1091 </div>
1092</xsl:template>
1093
1094<xsl:template match="*" mode="reference.titlepage.recto.mode">
1095 <!-- if an element isn't found in this mode, -->
1096 <!-- try the generic titlepage.mode -->
1097 <xsl:apply-templates select="." mode="titlepage.mode"/>
1098</xsl:template>
1099
1100<xsl:template match="*" mode="reference.titlepage.verso.mode">
1101 <!-- if an element isn't found in this mode, -->
1102 <!-- try the generic titlepage.mode -->
1103 <xsl:apply-templates select="." mode="titlepage.mode"/>
1104</xsl:template>
1105
1106<xsl:template match="title" mode="reference.titlepage.recto.auto.mode">
1107<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1108<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1109</div>
1110</xsl:template>
1111
1112<xsl:template match="subtitle" mode="reference.titlepage.recto.auto.mode">
1113<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1114<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1115</div>
1116</xsl:template>
1117
1118<xsl:template match="corpauthor" mode="reference.titlepage.recto.auto.mode">
1119<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1120<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1121</div>
1122</xsl:template>
1123
1124<xsl:template match="authorgroup" mode="reference.titlepage.recto.auto.mode">
1125<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1126<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1127</div>
1128</xsl:template>
1129
1130<xsl:template match="author" mode="reference.titlepage.recto.auto.mode">
1131<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1132<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1133</div>
1134</xsl:template>
1135
1136<xsl:template match="othercredit" mode="reference.titlepage.recto.auto.mode">
1137<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1138<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1139</div>
1140</xsl:template>
1141
1142<xsl:template match="releaseinfo" mode="reference.titlepage.recto.auto.mode">
1143<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1144<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1145</div>
1146</xsl:template>
1147
1148<xsl:template match="copyright" mode="reference.titlepage.recto.auto.mode">
1149<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1150<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1151</div>
1152</xsl:template>
1153
1154<xsl:template match="legalnotice" mode="reference.titlepage.recto.auto.mode">
1155<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1156<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1157</div>
1158</xsl:template>
1159
1160<xsl:template match="pubdate" mode="reference.titlepage.recto.auto.mode">
1161<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1162<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1163</div>
1164</xsl:template>
1165
1166<xsl:template match="revision" mode="reference.titlepage.recto.auto.mode">
1167<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1168<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1169</div>
1170</xsl:template>
1171
1172<xsl:template match="revhistory" mode="reference.titlepage.recto.auto.mode">
1173<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1174<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1175</div>
1176</xsl:template>
1177
1178<xsl:template match="abstract" mode="reference.titlepage.recto.auto.mode">
1179<div xsl:use-attribute-sets="reference.titlepage.recto.style">
1180<xsl:apply-templates select="." mode="reference.titlepage.recto.mode"/>
1181</div>
1182</xsl:template>
1183
1184<xsl:template name="refentry.titlepage.recto">
1185</xsl:template>
1186
1187<xsl:template name="refentry.titlepage.verso">
1188</xsl:template>
1189
1190<xsl:template name="refentry.titlepage.separator">
1191</xsl:template>
1192
1193<xsl:template name="refentry.titlepage.before.recto">
1194</xsl:template>
1195
1196<xsl:template name="refentry.titlepage.before.verso">
1197</xsl:template>
1198
1199<xsl:template name="refentry.titlepage">
1200 <div class="titlepage">
1201 <xsl:variable name="recto.content">
1202 <xsl:call-template name="refentry.titlepage.before.recto"/>
1203 <xsl:call-template name="refentry.titlepage.recto"/>
1204 </xsl:variable>
1205 <xsl:variable name="recto.elements.count">
1206 <xsl:choose>
1207 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1208 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1209 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1210 <xsl:otherwise>1</xsl:otherwise>
1211 </xsl:choose>
1212 </xsl:variable>
1213 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1214 <div><xsl:copy-of select="$recto.content"/></div>
1215 </xsl:if>
1216 <xsl:variable name="verso.content">
1217 <xsl:call-template name="refentry.titlepage.before.verso"/>
1218 <xsl:call-template name="refentry.titlepage.verso"/>
1219 </xsl:variable>
1220 <xsl:variable name="verso.elements.count">
1221 <xsl:choose>
1222 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1223 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1224 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1225 <xsl:otherwise>1</xsl:otherwise>
1226 </xsl:choose>
1227 </xsl:variable>
1228 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1229 <div><xsl:copy-of select="$verso.content"/></div>
1230 </xsl:if>
1231 <xsl:call-template name="refentry.titlepage.separator"/>
1232 </div>
1233</xsl:template>
1234
1235<xsl:template match="*" mode="refentry.titlepage.recto.mode">
1236 <!-- if an element isn't found in this mode, -->
1237 <!-- try the generic titlepage.mode -->
1238 <xsl:apply-templates select="." mode="titlepage.mode"/>
1239</xsl:template>
1240
1241<xsl:template match="*" mode="refentry.titlepage.verso.mode">
1242 <!-- if an element isn't found in this mode, -->
1243 <!-- try the generic titlepage.mode -->
1244 <xsl:apply-templates select="." mode="titlepage.mode"/>
1245</xsl:template>
1246
1247<xsl:template name="dedication.titlepage.recto">
1248 <div xsl:use-attribute-sets="dedication.titlepage.recto.style">
1249<xsl:call-template name="component.title">
1250<xsl:with-param name="node" select="ancestor-or-self::dedication[1]"/>
1251</xsl:call-template></div>
1252 <xsl:choose>
1253 <xsl:when test="dedicationinfo/subtitle">
1254 <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="dedicationinfo/subtitle"/>
1255 </xsl:when>
1256 <xsl:when test="docinfo/subtitle">
1257 <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1258 </xsl:when>
1259 <xsl:when test="info/subtitle">
1260 <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="info/subtitle"/>
1261 </xsl:when>
1262 <xsl:when test="subtitle">
1263 <xsl:apply-templates mode="dedication.titlepage.recto.auto.mode" select="subtitle"/>
1264 </xsl:when>
1265 </xsl:choose>
1266
1267</xsl:template>
1268
1269<xsl:template name="dedication.titlepage.verso">
1270</xsl:template>
1271
1272<xsl:template name="dedication.titlepage.separator">
1273</xsl:template>
1274
1275<xsl:template name="dedication.titlepage.before.recto">
1276</xsl:template>
1277
1278<xsl:template name="dedication.titlepage.before.verso">
1279</xsl:template>
1280
1281<xsl:template name="dedication.titlepage">
1282 <div class="titlepage">
1283 <xsl:variable name="recto.content">
1284 <xsl:call-template name="dedication.titlepage.before.recto"/>
1285 <xsl:call-template name="dedication.titlepage.recto"/>
1286 </xsl:variable>
1287 <xsl:variable name="recto.elements.count">
1288 <xsl:choose>
1289 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1290 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1291 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1292 <xsl:otherwise>1</xsl:otherwise>
1293 </xsl:choose>
1294 </xsl:variable>
1295 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1296 <div><xsl:copy-of select="$recto.content"/></div>
1297 </xsl:if>
1298 <xsl:variable name="verso.content">
1299 <xsl:call-template name="dedication.titlepage.before.verso"/>
1300 <xsl:call-template name="dedication.titlepage.verso"/>
1301 </xsl:variable>
1302 <xsl:variable name="verso.elements.count">
1303 <xsl:choose>
1304 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1305 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1306 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1307 <xsl:otherwise>1</xsl:otherwise>
1308 </xsl:choose>
1309 </xsl:variable>
1310 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1311 <div><xsl:copy-of select="$verso.content"/></div>
1312 </xsl:if>
1313 <xsl:call-template name="dedication.titlepage.separator"/>
1314 </div>
1315</xsl:template>
1316
1317<xsl:template match="*" mode="dedication.titlepage.recto.mode">
1318 <!-- if an element isn't found in this mode, -->
1319 <!-- try the generic titlepage.mode -->
1320 <xsl:apply-templates select="." mode="titlepage.mode"/>
1321</xsl:template>
1322
1323<xsl:template match="*" mode="dedication.titlepage.verso.mode">
1324 <!-- if an element isn't found in this mode, -->
1325 <!-- try the generic titlepage.mode -->
1326 <xsl:apply-templates select="." mode="titlepage.mode"/>
1327</xsl:template>
1328
1329<xsl:template match="subtitle" mode="dedication.titlepage.recto.auto.mode">
1330<div xsl:use-attribute-sets="dedication.titlepage.recto.style">
1331<xsl:apply-templates select="." mode="dedication.titlepage.recto.mode"/>
1332</div>
1333</xsl:template>
1334
1335<xsl:template name="acknowledgements.titlepage.recto">
1336 <div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style">
1337<xsl:call-template name="component.title">
1338<xsl:with-param name="node" select="ancestor-or-self::acknowledgements[1]"/>
1339</xsl:call-template></div>
1340 <xsl:choose>
1341 <xsl:when test="acknowledgementsinfo/subtitle">
1342 <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="acknowledgementsinfo/subtitle"/>
1343 </xsl:when>
1344 <xsl:when test="docinfo/subtitle">
1345 <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1346 </xsl:when>
1347 <xsl:when test="info/subtitle">
1348 <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="info/subtitle"/>
1349 </xsl:when>
1350 <xsl:when test="subtitle">
1351 <xsl:apply-templates mode="acknowledgements.titlepage.recto.auto.mode" select="subtitle"/>
1352 </xsl:when>
1353 </xsl:choose>
1354
1355</xsl:template>
1356
1357<xsl:template name="acknowledgements.titlepage.verso">
1358</xsl:template>
1359
1360<xsl:template name="acknowledgements.titlepage.separator">
1361</xsl:template>
1362
1363<xsl:template name="acknowledgements.titlepage.before.recto">
1364</xsl:template>
1365
1366<xsl:template name="acknowledgements.titlepage.before.verso">
1367</xsl:template>
1368
1369<xsl:template name="acknowledgements.titlepage">
1370 <div class="titlepage">
1371 <xsl:variable name="recto.content">
1372 <xsl:call-template name="acknowledgements.titlepage.before.recto"/>
1373 <xsl:call-template name="acknowledgements.titlepage.recto"/>
1374 </xsl:variable>
1375 <xsl:variable name="recto.elements.count">
1376 <xsl:choose>
1377 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1378 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1379 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1380 <xsl:otherwise>1</xsl:otherwise>
1381 </xsl:choose>
1382 </xsl:variable>
1383 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1384 <div><xsl:copy-of select="$recto.content"/></div>
1385 </xsl:if>
1386 <xsl:variable name="verso.content">
1387 <xsl:call-template name="acknowledgements.titlepage.before.verso"/>
1388 <xsl:call-template name="acknowledgements.titlepage.verso"/>
1389 </xsl:variable>
1390 <xsl:variable name="verso.elements.count">
1391 <xsl:choose>
1392 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1393 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1394 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1395 <xsl:otherwise>1</xsl:otherwise>
1396 </xsl:choose>
1397 </xsl:variable>
1398 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1399 <div><xsl:copy-of select="$verso.content"/></div>
1400 </xsl:if>
1401 <xsl:call-template name="acknowledgements.titlepage.separator"/>
1402 </div>
1403</xsl:template>
1404
1405<xsl:template match="*" mode="acknowledgements.titlepage.recto.mode">
1406 <!-- if an element isn't found in this mode, -->
1407 <!-- try the generic titlepage.mode -->
1408 <xsl:apply-templates select="." mode="titlepage.mode"/>
1409</xsl:template>
1410
1411<xsl:template match="*" mode="acknowledgements.titlepage.verso.mode">
1412 <!-- if an element isn't found in this mode, -->
1413 <!-- try the generic titlepage.mode -->
1414 <xsl:apply-templates select="." mode="titlepage.mode"/>
1415</xsl:template>
1416
1417<xsl:template match="subtitle" mode="acknowledgements.titlepage.recto.auto.mode">
1418<div xsl:use-attribute-sets="acknowledgements.titlepage.recto.style">
1419<xsl:apply-templates select="." mode="acknowledgements.titlepage.recto.mode"/>
1420</div>
1421</xsl:template>
1422
1423<xsl:template name="preface.titlepage.recto">
1424 <xsl:choose>
1425 <xsl:when test="prefaceinfo/title">
1426 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/title"/>
1427 </xsl:when>
1428 <xsl:when test="docinfo/title">
1429 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/title"/>
1430 </xsl:when>
1431 <xsl:when test="info/title">
1432 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/title"/>
1433 </xsl:when>
1434 <xsl:when test="title">
1435 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="title"/>
1436 </xsl:when>
1437 </xsl:choose>
1438
1439 <xsl:choose>
1440 <xsl:when test="prefaceinfo/subtitle">
1441 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/subtitle"/>
1442 </xsl:when>
1443 <xsl:when test="docinfo/subtitle">
1444 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1445 </xsl:when>
1446 <xsl:when test="info/subtitle">
1447 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/subtitle"/>
1448 </xsl:when>
1449 <xsl:when test="subtitle">
1450 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="subtitle"/>
1451 </xsl:when>
1452 </xsl:choose>
1453
1454 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/corpauthor"/>
1455 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1456 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/corpauthor"/>
1457 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/authorgroup"/>
1458 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1459 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/authorgroup"/>
1460 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/author"/>
1461 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/author"/>
1462 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/author"/>
1463 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/othercredit"/>
1464 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1465 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/othercredit"/>
1466 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/releaseinfo"/>
1467 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1468 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1469 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/copyright"/>
1470 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1471 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/copyright"/>
1472 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/legalnotice"/>
1473 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1474 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/legalnotice"/>
1475 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/pubdate"/>
1476 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1477 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/pubdate"/>
1478 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revision"/>
1479 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revision"/>
1480 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revision"/>
1481 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/revhistory"/>
1482 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1483 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/revhistory"/>
1484 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="prefaceinfo/abstract"/>
1485 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1486 <xsl:apply-templates mode="preface.titlepage.recto.auto.mode" select="info/abstract"/>
1487</xsl:template>
1488
1489<xsl:template name="preface.titlepage.verso">
1490</xsl:template>
1491
1492<xsl:template name="preface.titlepage.separator">
1493</xsl:template>
1494
1495<xsl:template name="preface.titlepage.before.recto">
1496</xsl:template>
1497
1498<xsl:template name="preface.titlepage.before.verso">
1499</xsl:template>
1500
1501<xsl:template name="preface.titlepage">
1502 <div class="titlepage">
1503 <xsl:variable name="recto.content">
1504 <xsl:call-template name="preface.titlepage.before.recto"/>
1505 <xsl:call-template name="preface.titlepage.recto"/>
1506 </xsl:variable>
1507 <xsl:variable name="recto.elements.count">
1508 <xsl:choose>
1509 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1510 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1511 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1512 <xsl:otherwise>1</xsl:otherwise>
1513 </xsl:choose>
1514 </xsl:variable>
1515 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1516 <div><xsl:copy-of select="$recto.content"/></div>
1517 </xsl:if>
1518 <xsl:variable name="verso.content">
1519 <xsl:call-template name="preface.titlepage.before.verso"/>
1520 <xsl:call-template name="preface.titlepage.verso"/>
1521 </xsl:variable>
1522 <xsl:variable name="verso.elements.count">
1523 <xsl:choose>
1524 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1525 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1526 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1527 <xsl:otherwise>1</xsl:otherwise>
1528 </xsl:choose>
1529 </xsl:variable>
1530 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1531 <div><xsl:copy-of select="$verso.content"/></div>
1532 </xsl:if>
1533 <xsl:call-template name="preface.titlepage.separator"/>
1534 </div>
1535</xsl:template>
1536
1537<xsl:template match="*" mode="preface.titlepage.recto.mode">
1538 <!-- if an element isn't found in this mode, -->
1539 <!-- try the generic titlepage.mode -->
1540 <xsl:apply-templates select="." mode="titlepage.mode"/>
1541</xsl:template>
1542
1543<xsl:template match="*" mode="preface.titlepage.verso.mode">
1544 <!-- if an element isn't found in this mode, -->
1545 <!-- try the generic titlepage.mode -->
1546 <xsl:apply-templates select="." mode="titlepage.mode"/>
1547</xsl:template>
1548
1549<xsl:template match="title" mode="preface.titlepage.recto.auto.mode">
1550<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1551<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1552</div>
1553</xsl:template>
1554
1555<xsl:template match="subtitle" mode="preface.titlepage.recto.auto.mode">
1556<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1557<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1558</div>
1559</xsl:template>
1560
1561<xsl:template match="corpauthor" mode="preface.titlepage.recto.auto.mode">
1562<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1563<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1564</div>
1565</xsl:template>
1566
1567<xsl:template match="authorgroup" mode="preface.titlepage.recto.auto.mode">
1568<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1569<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1570</div>
1571</xsl:template>
1572
1573<xsl:template match="author" mode="preface.titlepage.recto.auto.mode">
1574<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1575<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1576</div>
1577</xsl:template>
1578
1579<xsl:template match="othercredit" mode="preface.titlepage.recto.auto.mode">
1580<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1581<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1582</div>
1583</xsl:template>
1584
1585<xsl:template match="releaseinfo" mode="preface.titlepage.recto.auto.mode">
1586<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1587<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1588</div>
1589</xsl:template>
1590
1591<xsl:template match="copyright" mode="preface.titlepage.recto.auto.mode">
1592<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1593<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1594</div>
1595</xsl:template>
1596
1597<xsl:template match="legalnotice" mode="preface.titlepage.recto.auto.mode">
1598<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1599<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1600</div>
1601</xsl:template>
1602
1603<xsl:template match="pubdate" mode="preface.titlepage.recto.auto.mode">
1604<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1605<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1606</div>
1607</xsl:template>
1608
1609<xsl:template match="revision" mode="preface.titlepage.recto.auto.mode">
1610<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1611<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1612</div>
1613</xsl:template>
1614
1615<xsl:template match="revhistory" mode="preface.titlepage.recto.auto.mode">
1616<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1617<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1618</div>
1619</xsl:template>
1620
1621<xsl:template match="abstract" mode="preface.titlepage.recto.auto.mode">
1622<div xsl:use-attribute-sets="preface.titlepage.recto.style">
1623<xsl:apply-templates select="." mode="preface.titlepage.recto.mode"/>
1624</div>
1625</xsl:template>
1626
1627<xsl:template name="chapter.titlepage.recto">
1628 <xsl:choose>
1629 <xsl:when test="chapterinfo/title">
1630 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/title"/>
1631 </xsl:when>
1632 <xsl:when test="docinfo/title">
1633 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/title"/>
1634 </xsl:when>
1635 <xsl:when test="info/title">
1636 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/title"/>
1637 </xsl:when>
1638 <xsl:when test="title">
1639 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="title"/>
1640 </xsl:when>
1641 </xsl:choose>
1642
1643 <xsl:choose>
1644 <xsl:when test="chapterinfo/subtitle">
1645 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/subtitle"/>
1646 </xsl:when>
1647 <xsl:when test="docinfo/subtitle">
1648 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1649 </xsl:when>
1650 <xsl:when test="info/subtitle">
1651 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/subtitle"/>
1652 </xsl:when>
1653 <xsl:when test="subtitle">
1654 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="subtitle"/>
1655 </xsl:when>
1656 </xsl:choose>
1657
1658 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/corpauthor"/>
1659 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1660 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/corpauthor"/>
1661 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/authorgroup"/>
1662 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1663 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/authorgroup"/>
1664 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/author"/>
1665 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/author"/>
1666 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/author"/>
1667 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/othercredit"/>
1668 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1669 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/othercredit"/>
1670 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/releaseinfo"/>
1671 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1672 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1673 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/copyright"/>
1674 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1675 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/copyright"/>
1676 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/legalnotice"/>
1677 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1678 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/legalnotice"/>
1679 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/pubdate"/>
1680 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1681 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/pubdate"/>
1682 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revision"/>
1683 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revision"/>
1684 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revision"/>
1685 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/revhistory"/>
1686 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1687 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/revhistory"/>
1688 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="chapterinfo/abstract"/>
1689 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1690 <xsl:apply-templates mode="chapter.titlepage.recto.auto.mode" select="info/abstract"/>
1691</xsl:template>
1692
1693<xsl:template name="chapter.titlepage.verso">
1694</xsl:template>
1695
1696<xsl:template name="chapter.titlepage.separator">
1697</xsl:template>
1698
1699<xsl:template name="chapter.titlepage.before.recto">
1700</xsl:template>
1701
1702<xsl:template name="chapter.titlepage.before.verso">
1703</xsl:template>
1704
1705<xsl:template name="chapter.titlepage">
1706 <div class="titlepage">
1707 <xsl:variable name="recto.content">
1708 <xsl:call-template name="chapter.titlepage.before.recto"/>
1709 <xsl:call-template name="chapter.titlepage.recto"/>
1710 </xsl:variable>
1711 <xsl:variable name="recto.elements.count">
1712 <xsl:choose>
1713 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1714 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1715 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1716 <xsl:otherwise>1</xsl:otherwise>
1717 </xsl:choose>
1718 </xsl:variable>
1719 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1720 <div><xsl:copy-of select="$recto.content"/></div>
1721 </xsl:if>
1722 <xsl:variable name="verso.content">
1723 <xsl:call-template name="chapter.titlepage.before.verso"/>
1724 <xsl:call-template name="chapter.titlepage.verso"/>
1725 </xsl:variable>
1726 <xsl:variable name="verso.elements.count">
1727 <xsl:choose>
1728 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1729 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1730 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1731 <xsl:otherwise>1</xsl:otherwise>
1732 </xsl:choose>
1733 </xsl:variable>
1734 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1735 <div><xsl:copy-of select="$verso.content"/></div>
1736 </xsl:if>
1737 <xsl:call-template name="chapter.titlepage.separator"/>
1738 </div>
1739</xsl:template>
1740
1741<xsl:template match="*" mode="chapter.titlepage.recto.mode">
1742 <!-- if an element isn't found in this mode, -->
1743 <!-- try the generic titlepage.mode -->
1744 <xsl:apply-templates select="." mode="titlepage.mode"/>
1745</xsl:template>
1746
1747<xsl:template match="*" mode="chapter.titlepage.verso.mode">
1748 <!-- if an element isn't found in this mode, -->
1749 <!-- try the generic titlepage.mode -->
1750 <xsl:apply-templates select="." mode="titlepage.mode"/>
1751</xsl:template>
1752
1753<xsl:template match="title" mode="chapter.titlepage.recto.auto.mode">
1754<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1755<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1756</div>
1757</xsl:template>
1758
1759<xsl:template match="subtitle" mode="chapter.titlepage.recto.auto.mode">
1760<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1761<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1762</div>
1763</xsl:template>
1764
1765<xsl:template match="corpauthor" mode="chapter.titlepage.recto.auto.mode">
1766<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1767<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1768</div>
1769</xsl:template>
1770
1771<xsl:template match="authorgroup" mode="chapter.titlepage.recto.auto.mode">
1772<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1773<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1774</div>
1775</xsl:template>
1776
1777<xsl:template match="author" mode="chapter.titlepage.recto.auto.mode">
1778<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1779<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1780</div>
1781</xsl:template>
1782
1783<xsl:template match="othercredit" mode="chapter.titlepage.recto.auto.mode">
1784<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1785<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1786</div>
1787</xsl:template>
1788
1789<xsl:template match="releaseinfo" mode="chapter.titlepage.recto.auto.mode">
1790<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1791<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1792</div>
1793</xsl:template>
1794
1795<xsl:template match="copyright" mode="chapter.titlepage.recto.auto.mode">
1796<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1797<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1798</div>
1799</xsl:template>
1800
1801<xsl:template match="legalnotice" mode="chapter.titlepage.recto.auto.mode">
1802<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1803<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1804</div>
1805</xsl:template>
1806
1807<xsl:template match="pubdate" mode="chapter.titlepage.recto.auto.mode">
1808<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1809<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1810</div>
1811</xsl:template>
1812
1813<xsl:template match="revision" mode="chapter.titlepage.recto.auto.mode">
1814<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1815<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1816</div>
1817</xsl:template>
1818
1819<xsl:template match="revhistory" mode="chapter.titlepage.recto.auto.mode">
1820<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1821<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1822</div>
1823</xsl:template>
1824
1825<xsl:template match="abstract" mode="chapter.titlepage.recto.auto.mode">
1826<div xsl:use-attribute-sets="chapter.titlepage.recto.style">
1827<xsl:apply-templates select="." mode="chapter.titlepage.recto.mode"/>
1828</div>
1829</xsl:template>
1830
1831<xsl:template name="appendix.titlepage.recto">
1832 <xsl:choose>
1833 <xsl:when test="appendixinfo/title">
1834 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/title"/>
1835 </xsl:when>
1836 <xsl:when test="docinfo/title">
1837 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/title"/>
1838 </xsl:when>
1839 <xsl:when test="info/title">
1840 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/title"/>
1841 </xsl:when>
1842 <xsl:when test="title">
1843 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="title"/>
1844 </xsl:when>
1845 </xsl:choose>
1846
1847 <xsl:choose>
1848 <xsl:when test="appendixinfo/subtitle">
1849 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/subtitle"/>
1850 </xsl:when>
1851 <xsl:when test="docinfo/subtitle">
1852 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
1853 </xsl:when>
1854 <xsl:when test="info/subtitle">
1855 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/subtitle"/>
1856 </xsl:when>
1857 <xsl:when test="subtitle">
1858 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="subtitle"/>
1859 </xsl:when>
1860 </xsl:choose>
1861
1862 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/corpauthor"/>
1863 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
1864 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/corpauthor"/>
1865 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/authorgroup"/>
1866 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
1867 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/authorgroup"/>
1868 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/author"/>
1869 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/author"/>
1870 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/author"/>
1871 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/othercredit"/>
1872 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
1873 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/othercredit"/>
1874 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/releaseinfo"/>
1875 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
1876 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/releaseinfo"/>
1877 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/copyright"/>
1878 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/copyright"/>
1879 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/copyright"/>
1880 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/legalnotice"/>
1881 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
1882 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/legalnotice"/>
1883 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/pubdate"/>
1884 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
1885 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/pubdate"/>
1886 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revision"/>
1887 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revision"/>
1888 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revision"/>
1889 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/revhistory"/>
1890 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
1891 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/revhistory"/>
1892 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="appendixinfo/abstract"/>
1893 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="docinfo/abstract"/>
1894 <xsl:apply-templates mode="appendix.titlepage.recto.auto.mode" select="info/abstract"/>
1895</xsl:template>
1896
1897<xsl:template name="appendix.titlepage.verso">
1898</xsl:template>
1899
1900<xsl:template name="appendix.titlepage.separator">
1901</xsl:template>
1902
1903<xsl:template name="appendix.titlepage.before.recto">
1904</xsl:template>
1905
1906<xsl:template name="appendix.titlepage.before.verso">
1907</xsl:template>
1908
1909<xsl:template name="appendix.titlepage">
1910 <div class="titlepage">
1911 <xsl:variable name="recto.content">
1912 <xsl:call-template name="appendix.titlepage.before.recto"/>
1913 <xsl:call-template name="appendix.titlepage.recto"/>
1914 </xsl:variable>
1915 <xsl:variable name="recto.elements.count">
1916 <xsl:choose>
1917 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1918 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1919 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
1920 <xsl:otherwise>1</xsl:otherwise>
1921 </xsl:choose>
1922 </xsl:variable>
1923 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
1924 <div><xsl:copy-of select="$recto.content"/></div>
1925 </xsl:if>
1926 <xsl:variable name="verso.content">
1927 <xsl:call-template name="appendix.titlepage.before.verso"/>
1928 <xsl:call-template name="appendix.titlepage.verso"/>
1929 </xsl:variable>
1930 <xsl:variable name="verso.elements.count">
1931 <xsl:choose>
1932 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1933 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
1934 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
1935 <xsl:otherwise>1</xsl:otherwise>
1936 </xsl:choose>
1937 </xsl:variable>
1938 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
1939 <div><xsl:copy-of select="$verso.content"/></div>
1940 </xsl:if>
1941 <xsl:call-template name="appendix.titlepage.separator"/>
1942 </div>
1943</xsl:template>
1944
1945<xsl:template match="*" mode="appendix.titlepage.recto.mode">
1946 <!-- if an element isn't found in this mode, -->
1947 <!-- try the generic titlepage.mode -->
1948 <xsl:apply-templates select="." mode="titlepage.mode"/>
1949</xsl:template>
1950
1951<xsl:template match="*" mode="appendix.titlepage.verso.mode">
1952 <!-- if an element isn't found in this mode, -->
1953 <!-- try the generic titlepage.mode -->
1954 <xsl:apply-templates select="." mode="titlepage.mode"/>
1955</xsl:template>
1956
1957<xsl:template match="title" mode="appendix.titlepage.recto.auto.mode">
1958<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1959<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1960</div>
1961</xsl:template>
1962
1963<xsl:template match="subtitle" mode="appendix.titlepage.recto.auto.mode">
1964<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1965<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1966</div>
1967</xsl:template>
1968
1969<xsl:template match="corpauthor" mode="appendix.titlepage.recto.auto.mode">
1970<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1971<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1972</div>
1973</xsl:template>
1974
1975<xsl:template match="authorgroup" mode="appendix.titlepage.recto.auto.mode">
1976<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1977<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1978</div>
1979</xsl:template>
1980
1981<xsl:template match="author" mode="appendix.titlepage.recto.auto.mode">
1982<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1983<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1984</div>
1985</xsl:template>
1986
1987<xsl:template match="othercredit" mode="appendix.titlepage.recto.auto.mode">
1988<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1989<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1990</div>
1991</xsl:template>
1992
1993<xsl:template match="releaseinfo" mode="appendix.titlepage.recto.auto.mode">
1994<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
1995<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
1996</div>
1997</xsl:template>
1998
1999<xsl:template match="copyright" mode="appendix.titlepage.recto.auto.mode">
2000<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2001<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2002</div>
2003</xsl:template>
2004
2005<xsl:template match="legalnotice" mode="appendix.titlepage.recto.auto.mode">
2006<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2007<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2008</div>
2009</xsl:template>
2010
2011<xsl:template match="pubdate" mode="appendix.titlepage.recto.auto.mode">
2012<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2013<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2014</div>
2015</xsl:template>
2016
2017<xsl:template match="revision" mode="appendix.titlepage.recto.auto.mode">
2018<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2019<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2020</div>
2021</xsl:template>
2022
2023<xsl:template match="revhistory" mode="appendix.titlepage.recto.auto.mode">
2024<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2025<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2026</div>
2027</xsl:template>
2028
2029<xsl:template match="abstract" mode="appendix.titlepage.recto.auto.mode">
2030<div xsl:use-attribute-sets="appendix.titlepage.recto.style">
2031<xsl:apply-templates select="." mode="appendix.titlepage.recto.mode"/>
2032</div>
2033</xsl:template>
2034
2035<xsl:template name="section.titlepage.recto">
2036 <xsl:choose>
2037 <xsl:when test="sectioninfo/title">
2038 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/title"/>
2039 </xsl:when>
2040 <xsl:when test="info/title">
2041 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/title"/>
2042 </xsl:when>
2043 <xsl:when test="title">
2044 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="title"/>
2045 </xsl:when>
2046 </xsl:choose>
2047
2048 <xsl:choose>
2049 <xsl:when test="sectioninfo/subtitle">
2050 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/subtitle"/>
2051 </xsl:when>
2052 <xsl:when test="info/subtitle">
2053 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/subtitle"/>
2054 </xsl:when>
2055 <xsl:when test="subtitle">
2056 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="subtitle"/>
2057 </xsl:when>
2058 </xsl:choose>
2059
2060 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/corpauthor"/>
2061 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/corpauthor"/>
2062 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/authorgroup"/>
2063 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/authorgroup"/>
2064 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/author"/>
2065 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/author"/>
2066 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/othercredit"/>
2067 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/othercredit"/>
2068 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/releaseinfo"/>
2069 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2070 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/copyright"/>
2071 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/copyright"/>
2072 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/legalnotice"/>
2073 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/legalnotice"/>
2074 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/pubdate"/>
2075 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/pubdate"/>
2076 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revision"/>
2077 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revision"/>
2078 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/revhistory"/>
2079 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/revhistory"/>
2080 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="sectioninfo/abstract"/>
2081 <xsl:apply-templates mode="section.titlepage.recto.auto.mode" select="info/abstract"/>
2082</xsl:template>
2083
2084<xsl:template name="section.titlepage.verso">
2085</xsl:template>
2086
2087<xsl:template name="section.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2088</xsl:template>
2089
2090<xsl:template name="section.titlepage.before.recto">
2091</xsl:template>
2092
2093<xsl:template name="section.titlepage.before.verso">
2094</xsl:template>
2095
2096<xsl:template name="section.titlepage">
2097 <div class="titlepage">
2098 <xsl:variable name="recto.content">
2099 <xsl:call-template name="section.titlepage.before.recto"/>
2100 <xsl:call-template name="section.titlepage.recto"/>
2101 </xsl:variable>
2102 <xsl:variable name="recto.elements.count">
2103 <xsl:choose>
2104 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2105 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2106 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2107 <xsl:otherwise>1</xsl:otherwise>
2108 </xsl:choose>
2109 </xsl:variable>
2110 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2111 <div><xsl:copy-of select="$recto.content"/></div>
2112 </xsl:if>
2113 <xsl:variable name="verso.content">
2114 <xsl:call-template name="section.titlepage.before.verso"/>
2115 <xsl:call-template name="section.titlepage.verso"/>
2116 </xsl:variable>
2117 <xsl:variable name="verso.elements.count">
2118 <xsl:choose>
2119 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2120 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2121 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2122 <xsl:otherwise>1</xsl:otherwise>
2123 </xsl:choose>
2124 </xsl:variable>
2125 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2126 <div><xsl:copy-of select="$verso.content"/></div>
2127 </xsl:if>
2128 <xsl:call-template name="section.titlepage.separator"/>
2129 </div>
2130</xsl:template>
2131
2132<xsl:template match="*" mode="section.titlepage.recto.mode">
2133 <!-- if an element isn't found in this mode, -->
2134 <!-- try the generic titlepage.mode -->
2135 <xsl:apply-templates select="." mode="titlepage.mode"/>
2136</xsl:template>
2137
2138<xsl:template match="*" mode="section.titlepage.verso.mode">
2139 <!-- if an element isn't found in this mode, -->
2140 <!-- try the generic titlepage.mode -->
2141 <xsl:apply-templates select="." mode="titlepage.mode"/>
2142</xsl:template>
2143
2144<xsl:template match="title" mode="section.titlepage.recto.auto.mode">
2145<div xsl:use-attribute-sets="section.titlepage.recto.style">
2146<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2147</div>
2148</xsl:template>
2149
2150<xsl:template match="subtitle" mode="section.titlepage.recto.auto.mode">
2151<div xsl:use-attribute-sets="section.titlepage.recto.style">
2152<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2153</div>
2154</xsl:template>
2155
2156<xsl:template match="corpauthor" mode="section.titlepage.recto.auto.mode">
2157<div xsl:use-attribute-sets="section.titlepage.recto.style">
2158<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2159</div>
2160</xsl:template>
2161
2162<xsl:template match="authorgroup" mode="section.titlepage.recto.auto.mode">
2163<div xsl:use-attribute-sets="section.titlepage.recto.style">
2164<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2165</div>
2166</xsl:template>
2167
2168<xsl:template match="author" mode="section.titlepage.recto.auto.mode">
2169<div xsl:use-attribute-sets="section.titlepage.recto.style">
2170<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2171</div>
2172</xsl:template>
2173
2174<xsl:template match="othercredit" mode="section.titlepage.recto.auto.mode">
2175<div xsl:use-attribute-sets="section.titlepage.recto.style">
2176<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2177</div>
2178</xsl:template>
2179
2180<xsl:template match="releaseinfo" mode="section.titlepage.recto.auto.mode">
2181<div xsl:use-attribute-sets="section.titlepage.recto.style">
2182<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2183</div>
2184</xsl:template>
2185
2186<xsl:template match="copyright" mode="section.titlepage.recto.auto.mode">
2187<div xsl:use-attribute-sets="section.titlepage.recto.style">
2188<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2189</div>
2190</xsl:template>
2191
2192<xsl:template match="legalnotice" mode="section.titlepage.recto.auto.mode">
2193<div xsl:use-attribute-sets="section.titlepage.recto.style">
2194<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2195</div>
2196</xsl:template>
2197
2198<xsl:template match="pubdate" mode="section.titlepage.recto.auto.mode">
2199<div xsl:use-attribute-sets="section.titlepage.recto.style">
2200<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2201</div>
2202</xsl:template>
2203
2204<xsl:template match="revision" mode="section.titlepage.recto.auto.mode">
2205<div xsl:use-attribute-sets="section.titlepage.recto.style">
2206<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2207</div>
2208</xsl:template>
2209
2210<xsl:template match="revhistory" mode="section.titlepage.recto.auto.mode">
2211<div xsl:use-attribute-sets="section.titlepage.recto.style">
2212<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2213</div>
2214</xsl:template>
2215
2216<xsl:template match="abstract" mode="section.titlepage.recto.auto.mode">
2217<div xsl:use-attribute-sets="section.titlepage.recto.style">
2218<xsl:apply-templates select="." mode="section.titlepage.recto.mode"/>
2219</div>
2220</xsl:template>
2221
2222<xsl:template name="sect1.titlepage.recto">
2223 <xsl:choose>
2224 <xsl:when test="sect1info/title">
2225 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/title"/>
2226 </xsl:when>
2227 <xsl:when test="info/title">
2228 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/title"/>
2229 </xsl:when>
2230 <xsl:when test="title">
2231 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="title"/>
2232 </xsl:when>
2233 </xsl:choose>
2234
2235 <xsl:choose>
2236 <xsl:when test="sect1info/subtitle">
2237 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/subtitle"/>
2238 </xsl:when>
2239 <xsl:when test="info/subtitle">
2240 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/subtitle"/>
2241 </xsl:when>
2242 <xsl:when test="subtitle">
2243 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="subtitle"/>
2244 </xsl:when>
2245 </xsl:choose>
2246
2247 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/corpauthor"/>
2248 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/corpauthor"/>
2249 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/authorgroup"/>
2250 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/authorgroup"/>
2251 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/author"/>
2252 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/author"/>
2253 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/othercredit"/>
2254 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/othercredit"/>
2255 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/releaseinfo"/>
2256 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2257 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/copyright"/>
2258 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/copyright"/>
2259 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/legalnotice"/>
2260 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/legalnotice"/>
2261 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/pubdate"/>
2262 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/pubdate"/>
2263 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revision"/>
2264 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revision"/>
2265 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/revhistory"/>
2266 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/revhistory"/>
2267 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="sect1info/abstract"/>
2268 <xsl:apply-templates mode="sect1.titlepage.recto.auto.mode" select="info/abstract"/>
2269</xsl:template>
2270
2271<xsl:template name="sect1.titlepage.verso">
2272</xsl:template>
2273
2274<xsl:template name="sect1.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2275</xsl:template>
2276
2277<xsl:template name="sect1.titlepage.before.recto">
2278</xsl:template>
2279
2280<xsl:template name="sect1.titlepage.before.verso">
2281</xsl:template>
2282
2283<xsl:template name="sect1.titlepage">
2284 <div class="titlepage">
2285 <xsl:variable name="recto.content">
2286 <xsl:call-template name="sect1.titlepage.before.recto"/>
2287 <xsl:call-template name="sect1.titlepage.recto"/>
2288 </xsl:variable>
2289 <xsl:variable name="recto.elements.count">
2290 <xsl:choose>
2291 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2292 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2293 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2294 <xsl:otherwise>1</xsl:otherwise>
2295 </xsl:choose>
2296 </xsl:variable>
2297 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2298 <div><xsl:copy-of select="$recto.content"/></div>
2299 </xsl:if>
2300 <xsl:variable name="verso.content">
2301 <xsl:call-template name="sect1.titlepage.before.verso"/>
2302 <xsl:call-template name="sect1.titlepage.verso"/>
2303 </xsl:variable>
2304 <xsl:variable name="verso.elements.count">
2305 <xsl:choose>
2306 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2307 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2308 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2309 <xsl:otherwise>1</xsl:otherwise>
2310 </xsl:choose>
2311 </xsl:variable>
2312 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2313 <div><xsl:copy-of select="$verso.content"/></div>
2314 </xsl:if>
2315 <xsl:call-template name="sect1.titlepage.separator"/>
2316 </div>
2317</xsl:template>
2318
2319<xsl:template match="*" mode="sect1.titlepage.recto.mode">
2320 <!-- if an element isn't found in this mode, -->
2321 <!-- try the generic titlepage.mode -->
2322 <xsl:apply-templates select="." mode="titlepage.mode"/>
2323</xsl:template>
2324
2325<xsl:template match="*" mode="sect1.titlepage.verso.mode">
2326 <!-- if an element isn't found in this mode, -->
2327 <!-- try the generic titlepage.mode -->
2328 <xsl:apply-templates select="." mode="titlepage.mode"/>
2329</xsl:template>
2330
2331<xsl:template match="title" mode="sect1.titlepage.recto.auto.mode">
2332<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2333<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2334</div>
2335</xsl:template>
2336
2337<xsl:template match="subtitle" mode="sect1.titlepage.recto.auto.mode">
2338<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2339<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2340</div>
2341</xsl:template>
2342
2343<xsl:template match="corpauthor" mode="sect1.titlepage.recto.auto.mode">
2344<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2345<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2346</div>
2347</xsl:template>
2348
2349<xsl:template match="authorgroup" mode="sect1.titlepage.recto.auto.mode">
2350<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2351<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2352</div>
2353</xsl:template>
2354
2355<xsl:template match="author" mode="sect1.titlepage.recto.auto.mode">
2356<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2357<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2358</div>
2359</xsl:template>
2360
2361<xsl:template match="othercredit" mode="sect1.titlepage.recto.auto.mode">
2362<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2363<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2364</div>
2365</xsl:template>
2366
2367<xsl:template match="releaseinfo" mode="sect1.titlepage.recto.auto.mode">
2368<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2369<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2370</div>
2371</xsl:template>
2372
2373<xsl:template match="copyright" mode="sect1.titlepage.recto.auto.mode">
2374<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2375<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2376</div>
2377</xsl:template>
2378
2379<xsl:template match="legalnotice" mode="sect1.titlepage.recto.auto.mode">
2380<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2381<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2382</div>
2383</xsl:template>
2384
2385<xsl:template match="pubdate" mode="sect1.titlepage.recto.auto.mode">
2386<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2387<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2388</div>
2389</xsl:template>
2390
2391<xsl:template match="revision" mode="sect1.titlepage.recto.auto.mode">
2392<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2393<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2394</div>
2395</xsl:template>
2396
2397<xsl:template match="revhistory" mode="sect1.titlepage.recto.auto.mode">
2398<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2399<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2400</div>
2401</xsl:template>
2402
2403<xsl:template match="abstract" mode="sect1.titlepage.recto.auto.mode">
2404<div xsl:use-attribute-sets="sect1.titlepage.recto.style">
2405<xsl:apply-templates select="." mode="sect1.titlepage.recto.mode"/>
2406</div>
2407</xsl:template>
2408
2409<xsl:template name="sect2.titlepage.recto">
2410 <xsl:choose>
2411 <xsl:when test="sect2info/title">
2412 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/title"/>
2413 </xsl:when>
2414 <xsl:when test="info/title">
2415 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/title"/>
2416 </xsl:when>
2417 <xsl:when test="title">
2418 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="title"/>
2419 </xsl:when>
2420 </xsl:choose>
2421
2422 <xsl:choose>
2423 <xsl:when test="sect2info/subtitle">
2424 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/subtitle"/>
2425 </xsl:when>
2426 <xsl:when test="info/subtitle">
2427 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/subtitle"/>
2428 </xsl:when>
2429 <xsl:when test="subtitle">
2430 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="subtitle"/>
2431 </xsl:when>
2432 </xsl:choose>
2433
2434 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/corpauthor"/>
2435 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/corpauthor"/>
2436 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/authorgroup"/>
2437 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/authorgroup"/>
2438 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/author"/>
2439 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/author"/>
2440 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/othercredit"/>
2441 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/othercredit"/>
2442 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/releaseinfo"/>
2443 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2444 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/copyright"/>
2445 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/copyright"/>
2446 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/legalnotice"/>
2447 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/legalnotice"/>
2448 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/pubdate"/>
2449 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/pubdate"/>
2450 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revision"/>
2451 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revision"/>
2452 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/revhistory"/>
2453 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/revhistory"/>
2454 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="sect2info/abstract"/>
2455 <xsl:apply-templates mode="sect2.titlepage.recto.auto.mode" select="info/abstract"/>
2456</xsl:template>
2457
2458<xsl:template name="sect2.titlepage.verso">
2459</xsl:template>
2460
2461<xsl:template name="sect2.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2462</xsl:template>
2463
2464<xsl:template name="sect2.titlepage.before.recto">
2465</xsl:template>
2466
2467<xsl:template name="sect2.titlepage.before.verso">
2468</xsl:template>
2469
2470<xsl:template name="sect2.titlepage">
2471 <div class="titlepage">
2472 <xsl:variable name="recto.content">
2473 <xsl:call-template name="sect2.titlepage.before.recto"/>
2474 <xsl:call-template name="sect2.titlepage.recto"/>
2475 </xsl:variable>
2476 <xsl:variable name="recto.elements.count">
2477 <xsl:choose>
2478 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2479 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2480 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2481 <xsl:otherwise>1</xsl:otherwise>
2482 </xsl:choose>
2483 </xsl:variable>
2484 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2485 <div><xsl:copy-of select="$recto.content"/></div>
2486 </xsl:if>
2487 <xsl:variable name="verso.content">
2488 <xsl:call-template name="sect2.titlepage.before.verso"/>
2489 <xsl:call-template name="sect2.titlepage.verso"/>
2490 </xsl:variable>
2491 <xsl:variable name="verso.elements.count">
2492 <xsl:choose>
2493 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2494 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2495 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2496 <xsl:otherwise>1</xsl:otherwise>
2497 </xsl:choose>
2498 </xsl:variable>
2499 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2500 <div><xsl:copy-of select="$verso.content"/></div>
2501 </xsl:if>
2502 <xsl:call-template name="sect2.titlepage.separator"/>
2503 </div>
2504</xsl:template>
2505
2506<xsl:template match="*" mode="sect2.titlepage.recto.mode">
2507 <!-- if an element isn't found in this mode, -->
2508 <!-- try the generic titlepage.mode -->
2509 <xsl:apply-templates select="." mode="titlepage.mode"/>
2510</xsl:template>
2511
2512<xsl:template match="*" mode="sect2.titlepage.verso.mode">
2513 <!-- if an element isn't found in this mode, -->
2514 <!-- try the generic titlepage.mode -->
2515 <xsl:apply-templates select="." mode="titlepage.mode"/>
2516</xsl:template>
2517
2518<xsl:template match="title" mode="sect2.titlepage.recto.auto.mode">
2519<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2520<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2521</div>
2522</xsl:template>
2523
2524<xsl:template match="subtitle" mode="sect2.titlepage.recto.auto.mode">
2525<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2526<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2527</div>
2528</xsl:template>
2529
2530<xsl:template match="corpauthor" mode="sect2.titlepage.recto.auto.mode">
2531<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2532<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2533</div>
2534</xsl:template>
2535
2536<xsl:template match="authorgroup" mode="sect2.titlepage.recto.auto.mode">
2537<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2538<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2539</div>
2540</xsl:template>
2541
2542<xsl:template match="author" mode="sect2.titlepage.recto.auto.mode">
2543<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2544<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2545</div>
2546</xsl:template>
2547
2548<xsl:template match="othercredit" mode="sect2.titlepage.recto.auto.mode">
2549<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2550<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2551</div>
2552</xsl:template>
2553
2554<xsl:template match="releaseinfo" mode="sect2.titlepage.recto.auto.mode">
2555<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2556<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2557</div>
2558</xsl:template>
2559
2560<xsl:template match="copyright" mode="sect2.titlepage.recto.auto.mode">
2561<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2562<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2563</div>
2564</xsl:template>
2565
2566<xsl:template match="legalnotice" mode="sect2.titlepage.recto.auto.mode">
2567<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2568<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2569</div>
2570</xsl:template>
2571
2572<xsl:template match="pubdate" mode="sect2.titlepage.recto.auto.mode">
2573<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2574<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2575</div>
2576</xsl:template>
2577
2578<xsl:template match="revision" mode="sect2.titlepage.recto.auto.mode">
2579<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2580<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2581</div>
2582</xsl:template>
2583
2584<xsl:template match="revhistory" mode="sect2.titlepage.recto.auto.mode">
2585<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2586<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2587</div>
2588</xsl:template>
2589
2590<xsl:template match="abstract" mode="sect2.titlepage.recto.auto.mode">
2591<div xsl:use-attribute-sets="sect2.titlepage.recto.style">
2592<xsl:apply-templates select="." mode="sect2.titlepage.recto.mode"/>
2593</div>
2594</xsl:template>
2595
2596<xsl:template name="sect3.titlepage.recto">
2597 <xsl:choose>
2598 <xsl:when test="sect3info/title">
2599 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/title"/>
2600 </xsl:when>
2601 <xsl:when test="info/title">
2602 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/title"/>
2603 </xsl:when>
2604 <xsl:when test="title">
2605 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="title"/>
2606 </xsl:when>
2607 </xsl:choose>
2608
2609 <xsl:choose>
2610 <xsl:when test="sect3info/subtitle">
2611 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/subtitle"/>
2612 </xsl:when>
2613 <xsl:when test="info/subtitle">
2614 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/subtitle"/>
2615 </xsl:when>
2616 <xsl:when test="subtitle">
2617 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="subtitle"/>
2618 </xsl:when>
2619 </xsl:choose>
2620
2621 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/corpauthor"/>
2622 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/corpauthor"/>
2623 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/authorgroup"/>
2624 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/authorgroup"/>
2625 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/author"/>
2626 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/author"/>
2627 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/othercredit"/>
2628 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/othercredit"/>
2629 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/releaseinfo"/>
2630 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2631 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/copyright"/>
2632 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/copyright"/>
2633 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/legalnotice"/>
2634 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/legalnotice"/>
2635 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/pubdate"/>
2636 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/pubdate"/>
2637 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revision"/>
2638 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revision"/>
2639 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/revhistory"/>
2640 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/revhistory"/>
2641 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="sect3info/abstract"/>
2642 <xsl:apply-templates mode="sect3.titlepage.recto.auto.mode" select="info/abstract"/>
2643</xsl:template>
2644
2645<xsl:template name="sect3.titlepage.verso">
2646</xsl:template>
2647
2648<xsl:template name="sect3.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2649</xsl:template>
2650
2651<xsl:template name="sect3.titlepage.before.recto">
2652</xsl:template>
2653
2654<xsl:template name="sect3.titlepage.before.verso">
2655</xsl:template>
2656
2657<xsl:template name="sect3.titlepage">
2658 <div class="titlepage">
2659 <xsl:variable name="recto.content">
2660 <xsl:call-template name="sect3.titlepage.before.recto"/>
2661 <xsl:call-template name="sect3.titlepage.recto"/>
2662 </xsl:variable>
2663 <xsl:variable name="recto.elements.count">
2664 <xsl:choose>
2665 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2666 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2667 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2668 <xsl:otherwise>1</xsl:otherwise>
2669 </xsl:choose>
2670 </xsl:variable>
2671 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2672 <div><xsl:copy-of select="$recto.content"/></div>
2673 </xsl:if>
2674 <xsl:variable name="verso.content">
2675 <xsl:call-template name="sect3.titlepage.before.verso"/>
2676 <xsl:call-template name="sect3.titlepage.verso"/>
2677 </xsl:variable>
2678 <xsl:variable name="verso.elements.count">
2679 <xsl:choose>
2680 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2681 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2682 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2683 <xsl:otherwise>1</xsl:otherwise>
2684 </xsl:choose>
2685 </xsl:variable>
2686 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2687 <div><xsl:copy-of select="$verso.content"/></div>
2688 </xsl:if>
2689 <xsl:call-template name="sect3.titlepage.separator"/>
2690 </div>
2691</xsl:template>
2692
2693<xsl:template match="*" mode="sect3.titlepage.recto.mode">
2694 <!-- if an element isn't found in this mode, -->
2695 <!-- try the generic titlepage.mode -->
2696 <xsl:apply-templates select="." mode="titlepage.mode"/>
2697</xsl:template>
2698
2699<xsl:template match="*" mode="sect3.titlepage.verso.mode">
2700 <!-- if an element isn't found in this mode, -->
2701 <!-- try the generic titlepage.mode -->
2702 <xsl:apply-templates select="." mode="titlepage.mode"/>
2703</xsl:template>
2704
2705<xsl:template match="title" mode="sect3.titlepage.recto.auto.mode">
2706<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2707<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2708</div>
2709</xsl:template>
2710
2711<xsl:template match="subtitle" mode="sect3.titlepage.recto.auto.mode">
2712<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2713<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2714</div>
2715</xsl:template>
2716
2717<xsl:template match="corpauthor" mode="sect3.titlepage.recto.auto.mode">
2718<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2719<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2720</div>
2721</xsl:template>
2722
2723<xsl:template match="authorgroup" mode="sect3.titlepage.recto.auto.mode">
2724<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2725<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2726</div>
2727</xsl:template>
2728
2729<xsl:template match="author" mode="sect3.titlepage.recto.auto.mode">
2730<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2731<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2732</div>
2733</xsl:template>
2734
2735<xsl:template match="othercredit" mode="sect3.titlepage.recto.auto.mode">
2736<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2737<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2738</div>
2739</xsl:template>
2740
2741<xsl:template match="releaseinfo" mode="sect3.titlepage.recto.auto.mode">
2742<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2743<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2744</div>
2745</xsl:template>
2746
2747<xsl:template match="copyright" mode="sect3.titlepage.recto.auto.mode">
2748<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2749<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2750</div>
2751</xsl:template>
2752
2753<xsl:template match="legalnotice" mode="sect3.titlepage.recto.auto.mode">
2754<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2755<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2756</div>
2757</xsl:template>
2758
2759<xsl:template match="pubdate" mode="sect3.titlepage.recto.auto.mode">
2760<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2761<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2762</div>
2763</xsl:template>
2764
2765<xsl:template match="revision" mode="sect3.titlepage.recto.auto.mode">
2766<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2767<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2768</div>
2769</xsl:template>
2770
2771<xsl:template match="revhistory" mode="sect3.titlepage.recto.auto.mode">
2772<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2773<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2774</div>
2775</xsl:template>
2776
2777<xsl:template match="abstract" mode="sect3.titlepage.recto.auto.mode">
2778<div xsl:use-attribute-sets="sect3.titlepage.recto.style">
2779<xsl:apply-templates select="." mode="sect3.titlepage.recto.mode"/>
2780</div>
2781</xsl:template>
2782
2783<xsl:template name="sect4.titlepage.recto">
2784 <xsl:choose>
2785 <xsl:when test="sect4info/title">
2786 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/title"/>
2787 </xsl:when>
2788 <xsl:when test="info/title">
2789 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/title"/>
2790 </xsl:when>
2791 <xsl:when test="title">
2792 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="title"/>
2793 </xsl:when>
2794 </xsl:choose>
2795
2796 <xsl:choose>
2797 <xsl:when test="sect4info/subtitle">
2798 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/subtitle"/>
2799 </xsl:when>
2800 <xsl:when test="info/subtitle">
2801 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/subtitle"/>
2802 </xsl:when>
2803 <xsl:when test="subtitle">
2804 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="subtitle"/>
2805 </xsl:when>
2806 </xsl:choose>
2807
2808 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/corpauthor"/>
2809 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/corpauthor"/>
2810 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/authorgroup"/>
2811 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/authorgroup"/>
2812 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/author"/>
2813 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/author"/>
2814 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/othercredit"/>
2815 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/othercredit"/>
2816 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/releaseinfo"/>
2817 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/releaseinfo"/>
2818 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/copyright"/>
2819 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/copyright"/>
2820 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/legalnotice"/>
2821 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/legalnotice"/>
2822 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/pubdate"/>
2823 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/pubdate"/>
2824 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revision"/>
2825 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revision"/>
2826 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/revhistory"/>
2827 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/revhistory"/>
2828 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="sect4info/abstract"/>
2829 <xsl:apply-templates mode="sect4.titlepage.recto.auto.mode" select="info/abstract"/>
2830</xsl:template>
2831
2832<xsl:template name="sect4.titlepage.verso">
2833</xsl:template>
2834
2835<xsl:template name="sect4.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
2836</xsl:template>
2837
2838<xsl:template name="sect4.titlepage.before.recto">
2839</xsl:template>
2840
2841<xsl:template name="sect4.titlepage.before.verso">
2842</xsl:template>
2843
2844<xsl:template name="sect4.titlepage">
2845 <div class="titlepage">
2846 <xsl:variable name="recto.content">
2847 <xsl:call-template name="sect4.titlepage.before.recto"/>
2848 <xsl:call-template name="sect4.titlepage.recto"/>
2849 </xsl:variable>
2850 <xsl:variable name="recto.elements.count">
2851 <xsl:choose>
2852 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2853 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2854 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
2855 <xsl:otherwise>1</xsl:otherwise>
2856 </xsl:choose>
2857 </xsl:variable>
2858 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
2859 <div><xsl:copy-of select="$recto.content"/></div>
2860 </xsl:if>
2861 <xsl:variable name="verso.content">
2862 <xsl:call-template name="sect4.titlepage.before.verso"/>
2863 <xsl:call-template name="sect4.titlepage.verso"/>
2864 </xsl:variable>
2865 <xsl:variable name="verso.elements.count">
2866 <xsl:choose>
2867 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2868 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
2869 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
2870 <xsl:otherwise>1</xsl:otherwise>
2871 </xsl:choose>
2872 </xsl:variable>
2873 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
2874 <div><xsl:copy-of select="$verso.content"/></div>
2875 </xsl:if>
2876 <xsl:call-template name="sect4.titlepage.separator"/>
2877 </div>
2878</xsl:template>
2879
2880<xsl:template match="*" mode="sect4.titlepage.recto.mode">
2881 <!-- if an element isn't found in this mode, -->
2882 <!-- try the generic titlepage.mode -->
2883 <xsl:apply-templates select="." mode="titlepage.mode"/>
2884</xsl:template>
2885
2886<xsl:template match="*" mode="sect4.titlepage.verso.mode">
2887 <!-- if an element isn't found in this mode, -->
2888 <!-- try the generic titlepage.mode -->
2889 <xsl:apply-templates select="." mode="titlepage.mode"/>
2890</xsl:template>
2891
2892<xsl:template match="title" mode="sect4.titlepage.recto.auto.mode">
2893<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2894<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2895</div>
2896</xsl:template>
2897
2898<xsl:template match="subtitle" mode="sect4.titlepage.recto.auto.mode">
2899<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2900<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2901</div>
2902</xsl:template>
2903
2904<xsl:template match="corpauthor" mode="sect4.titlepage.recto.auto.mode">
2905<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2906<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2907</div>
2908</xsl:template>
2909
2910<xsl:template match="authorgroup" mode="sect4.titlepage.recto.auto.mode">
2911<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2912<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2913</div>
2914</xsl:template>
2915
2916<xsl:template match="author" mode="sect4.titlepage.recto.auto.mode">
2917<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2918<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2919</div>
2920</xsl:template>
2921
2922<xsl:template match="othercredit" mode="sect4.titlepage.recto.auto.mode">
2923<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2924<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2925</div>
2926</xsl:template>
2927
2928<xsl:template match="releaseinfo" mode="sect4.titlepage.recto.auto.mode">
2929<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2930<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2931</div>
2932</xsl:template>
2933
2934<xsl:template match="copyright" mode="sect4.titlepage.recto.auto.mode">
2935<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2936<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2937</div>
2938</xsl:template>
2939
2940<xsl:template match="legalnotice" mode="sect4.titlepage.recto.auto.mode">
2941<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2942<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2943</div>
2944</xsl:template>
2945
2946<xsl:template match="pubdate" mode="sect4.titlepage.recto.auto.mode">
2947<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2948<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2949</div>
2950</xsl:template>
2951
2952<xsl:template match="revision" mode="sect4.titlepage.recto.auto.mode">
2953<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2954<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2955</div>
2956</xsl:template>
2957
2958<xsl:template match="revhistory" mode="sect4.titlepage.recto.auto.mode">
2959<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2960<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2961</div>
2962</xsl:template>
2963
2964<xsl:template match="abstract" mode="sect4.titlepage.recto.auto.mode">
2965<div xsl:use-attribute-sets="sect4.titlepage.recto.style">
2966<xsl:apply-templates select="." mode="sect4.titlepage.recto.mode"/>
2967</div>
2968</xsl:template>
2969
2970<xsl:template name="sect5.titlepage.recto">
2971 <xsl:choose>
2972 <xsl:when test="sect5info/title">
2973 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/title"/>
2974 </xsl:when>
2975 <xsl:when test="info/title">
2976 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/title"/>
2977 </xsl:when>
2978 <xsl:when test="title">
2979 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="title"/>
2980 </xsl:when>
2981 </xsl:choose>
2982
2983 <xsl:choose>
2984 <xsl:when test="sect5info/subtitle">
2985 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/subtitle"/>
2986 </xsl:when>
2987 <xsl:when test="info/subtitle">
2988 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/subtitle"/>
2989 </xsl:when>
2990 <xsl:when test="subtitle">
2991 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="subtitle"/>
2992 </xsl:when>
2993 </xsl:choose>
2994
2995 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/corpauthor"/>
2996 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/corpauthor"/>
2997 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/authorgroup"/>
2998 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/authorgroup"/>
2999 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/author"/>
3000 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/author"/>
3001 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/othercredit"/>
3002 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/othercredit"/>
3003 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/releaseinfo"/>
3004 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/releaseinfo"/>
3005 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/copyright"/>
3006 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/copyright"/>
3007 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/legalnotice"/>
3008 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/legalnotice"/>
3009 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/pubdate"/>
3010 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/pubdate"/>
3011 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revision"/>
3012 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revision"/>
3013 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/revhistory"/>
3014 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/revhistory"/>
3015 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="sect5info/abstract"/>
3016 <xsl:apply-templates mode="sect5.titlepage.recto.auto.mode" select="info/abstract"/>
3017</xsl:template>
3018
3019<xsl:template name="sect5.titlepage.verso">
3020</xsl:template>
3021
3022<xsl:template name="sect5.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
3023</xsl:template>
3024
3025<xsl:template name="sect5.titlepage.before.recto">
3026</xsl:template>
3027
3028<xsl:template name="sect5.titlepage.before.verso">
3029</xsl:template>
3030
3031<xsl:template name="sect5.titlepage">
3032 <div class="titlepage">
3033 <xsl:variable name="recto.content">
3034 <xsl:call-template name="sect5.titlepage.before.recto"/>
3035 <xsl:call-template name="sect5.titlepage.recto"/>
3036 </xsl:variable>
3037 <xsl:variable name="recto.elements.count">
3038 <xsl:choose>
3039 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3040 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3041 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3042 <xsl:otherwise>1</xsl:otherwise>
3043 </xsl:choose>
3044 </xsl:variable>
3045 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3046 <div><xsl:copy-of select="$recto.content"/></div>
3047 </xsl:if>
3048 <xsl:variable name="verso.content">
3049 <xsl:call-template name="sect5.titlepage.before.verso"/>
3050 <xsl:call-template name="sect5.titlepage.verso"/>
3051 </xsl:variable>
3052 <xsl:variable name="verso.elements.count">
3053 <xsl:choose>
3054 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3055 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3056 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3057 <xsl:otherwise>1</xsl:otherwise>
3058 </xsl:choose>
3059 </xsl:variable>
3060 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3061 <div><xsl:copy-of select="$verso.content"/></div>
3062 </xsl:if>
3063 <xsl:call-template name="sect5.titlepage.separator"/>
3064 </div>
3065</xsl:template>
3066
3067<xsl:template match="*" mode="sect5.titlepage.recto.mode">
3068 <!-- if an element isn't found in this mode, -->
3069 <!-- try the generic titlepage.mode -->
3070 <xsl:apply-templates select="." mode="titlepage.mode"/>
3071</xsl:template>
3072
3073<xsl:template match="*" mode="sect5.titlepage.verso.mode">
3074 <!-- if an element isn't found in this mode, -->
3075 <!-- try the generic titlepage.mode -->
3076 <xsl:apply-templates select="." mode="titlepage.mode"/>
3077</xsl:template>
3078
3079<xsl:template match="title" mode="sect5.titlepage.recto.auto.mode">
3080<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3081<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3082</div>
3083</xsl:template>
3084
3085<xsl:template match="subtitle" mode="sect5.titlepage.recto.auto.mode">
3086<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3087<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3088</div>
3089</xsl:template>
3090
3091<xsl:template match="corpauthor" mode="sect5.titlepage.recto.auto.mode">
3092<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3093<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3094</div>
3095</xsl:template>
3096
3097<xsl:template match="authorgroup" mode="sect5.titlepage.recto.auto.mode">
3098<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3099<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3100</div>
3101</xsl:template>
3102
3103<xsl:template match="author" mode="sect5.titlepage.recto.auto.mode">
3104<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3105<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3106</div>
3107</xsl:template>
3108
3109<xsl:template match="othercredit" mode="sect5.titlepage.recto.auto.mode">
3110<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3111<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3112</div>
3113</xsl:template>
3114
3115<xsl:template match="releaseinfo" mode="sect5.titlepage.recto.auto.mode">
3116<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3117<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3118</div>
3119</xsl:template>
3120
3121<xsl:template match="copyright" mode="sect5.titlepage.recto.auto.mode">
3122<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3123<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3124</div>
3125</xsl:template>
3126
3127<xsl:template match="legalnotice" mode="sect5.titlepage.recto.auto.mode">
3128<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3129<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3130</div>
3131</xsl:template>
3132
3133<xsl:template match="pubdate" mode="sect5.titlepage.recto.auto.mode">
3134<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3135<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3136</div>
3137</xsl:template>
3138
3139<xsl:template match="revision" mode="sect5.titlepage.recto.auto.mode">
3140<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3141<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3142</div>
3143</xsl:template>
3144
3145<xsl:template match="revhistory" mode="sect5.titlepage.recto.auto.mode">
3146<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3147<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3148</div>
3149</xsl:template>
3150
3151<xsl:template match="abstract" mode="sect5.titlepage.recto.auto.mode">
3152<div xsl:use-attribute-sets="sect5.titlepage.recto.style">
3153<xsl:apply-templates select="." mode="sect5.titlepage.recto.mode"/>
3154</div>
3155</xsl:template>
3156
3157<xsl:template name="simplesect.titlepage.recto">
3158 <xsl:choose>
3159 <xsl:when test="simplesectinfo/title">
3160 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/title"/>
3161 </xsl:when>
3162 <xsl:when test="docinfo/title">
3163 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/title"/>
3164 </xsl:when>
3165 <xsl:when test="info/title">
3166 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/title"/>
3167 </xsl:when>
3168 <xsl:when test="title">
3169 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="title"/>
3170 </xsl:when>
3171 </xsl:choose>
3172
3173 <xsl:choose>
3174 <xsl:when test="simplesectinfo/subtitle">
3175 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/subtitle"/>
3176 </xsl:when>
3177 <xsl:when test="docinfo/subtitle">
3178 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3179 </xsl:when>
3180 <xsl:when test="info/subtitle">
3181 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/subtitle"/>
3182 </xsl:when>
3183 <xsl:when test="subtitle">
3184 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="subtitle"/>
3185 </xsl:when>
3186 </xsl:choose>
3187
3188 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/corpauthor"/>
3189 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/corpauthor"/>
3190 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/corpauthor"/>
3191 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/authorgroup"/>
3192 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/authorgroup"/>
3193 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/authorgroup"/>
3194 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/author"/>
3195 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/author"/>
3196 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/author"/>
3197 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/othercredit"/>
3198 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/othercredit"/>
3199 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/othercredit"/>
3200 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/releaseinfo"/>
3201 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/releaseinfo"/>
3202 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/releaseinfo"/>
3203 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/copyright"/>
3204 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/copyright"/>
3205 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/copyright"/>
3206 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/legalnotice"/>
3207 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/legalnotice"/>
3208 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/legalnotice"/>
3209 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/pubdate"/>
3210 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/pubdate"/>
3211 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/pubdate"/>
3212 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revision"/>
3213 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revision"/>
3214 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revision"/>
3215 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/revhistory"/>
3216 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/revhistory"/>
3217 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/revhistory"/>
3218 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="simplesectinfo/abstract"/>
3219 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="docinfo/abstract"/>
3220 <xsl:apply-templates mode="simplesect.titlepage.recto.auto.mode" select="info/abstract"/>
3221</xsl:template>
3222
3223<xsl:template name="simplesect.titlepage.verso">
3224</xsl:template>
3225
3226<xsl:template name="simplesect.titlepage.separator"><xsl:if test="count(parent::*)='0'"><hr/></xsl:if>
3227</xsl:template>
3228
3229<xsl:template name="simplesect.titlepage.before.recto">
3230</xsl:template>
3231
3232<xsl:template name="simplesect.titlepage.before.verso">
3233</xsl:template>
3234
3235<xsl:template name="simplesect.titlepage">
3236 <div class="titlepage">
3237 <xsl:variable name="recto.content">
3238 <xsl:call-template name="simplesect.titlepage.before.recto"/>
3239 <xsl:call-template name="simplesect.titlepage.recto"/>
3240 </xsl:variable>
3241 <xsl:variable name="recto.elements.count">
3242 <xsl:choose>
3243 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3244 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3245 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3246 <xsl:otherwise>1</xsl:otherwise>
3247 </xsl:choose>
3248 </xsl:variable>
3249 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3250 <div><xsl:copy-of select="$recto.content"/></div>
3251 </xsl:if>
3252 <xsl:variable name="verso.content">
3253 <xsl:call-template name="simplesect.titlepage.before.verso"/>
3254 <xsl:call-template name="simplesect.titlepage.verso"/>
3255 </xsl:variable>
3256 <xsl:variable name="verso.elements.count">
3257 <xsl:choose>
3258 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3259 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3260 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3261 <xsl:otherwise>1</xsl:otherwise>
3262 </xsl:choose>
3263 </xsl:variable>
3264 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3265 <div><xsl:copy-of select="$verso.content"/></div>
3266 </xsl:if>
3267 <xsl:call-template name="simplesect.titlepage.separator"/>
3268 </div>
3269</xsl:template>
3270
3271<xsl:template match="*" mode="simplesect.titlepage.recto.mode">
3272 <!-- if an element isn't found in this mode, -->
3273 <!-- try the generic titlepage.mode -->
3274 <xsl:apply-templates select="." mode="titlepage.mode"/>
3275</xsl:template>
3276
3277<xsl:template match="*" mode="simplesect.titlepage.verso.mode">
3278 <!-- if an element isn't found in this mode, -->
3279 <!-- try the generic titlepage.mode -->
3280 <xsl:apply-templates select="." mode="titlepage.mode"/>
3281</xsl:template>
3282
3283<xsl:template match="title" mode="simplesect.titlepage.recto.auto.mode">
3284<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3285<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3286</div>
3287</xsl:template>
3288
3289<xsl:template match="subtitle" mode="simplesect.titlepage.recto.auto.mode">
3290<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3291<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3292</div>
3293</xsl:template>
3294
3295<xsl:template match="corpauthor" mode="simplesect.titlepage.recto.auto.mode">
3296<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3297<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3298</div>
3299</xsl:template>
3300
3301<xsl:template match="authorgroup" mode="simplesect.titlepage.recto.auto.mode">
3302<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3303<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3304</div>
3305</xsl:template>
3306
3307<xsl:template match="author" mode="simplesect.titlepage.recto.auto.mode">
3308<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3309<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3310</div>
3311</xsl:template>
3312
3313<xsl:template match="othercredit" mode="simplesect.titlepage.recto.auto.mode">
3314<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3315<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3316</div>
3317</xsl:template>
3318
3319<xsl:template match="releaseinfo" mode="simplesect.titlepage.recto.auto.mode">
3320<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3321<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3322</div>
3323</xsl:template>
3324
3325<xsl:template match="copyright" mode="simplesect.titlepage.recto.auto.mode">
3326<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3327<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3328</div>
3329</xsl:template>
3330
3331<xsl:template match="legalnotice" mode="simplesect.titlepage.recto.auto.mode">
3332<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3333<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3334</div>
3335</xsl:template>
3336
3337<xsl:template match="pubdate" mode="simplesect.titlepage.recto.auto.mode">
3338<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3339<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3340</div>
3341</xsl:template>
3342
3343<xsl:template match="revision" mode="simplesect.titlepage.recto.auto.mode">
3344<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3345<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3346</div>
3347</xsl:template>
3348
3349<xsl:template match="revhistory" mode="simplesect.titlepage.recto.auto.mode">
3350<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3351<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3352</div>
3353</xsl:template>
3354
3355<xsl:template match="abstract" mode="simplesect.titlepage.recto.auto.mode">
3356<div xsl:use-attribute-sets="simplesect.titlepage.recto.style">
3357<xsl:apply-templates select="." mode="simplesect.titlepage.recto.mode"/>
3358</div>
3359</xsl:template>
3360
3361<xsl:template name="bibliography.titlepage.recto">
3362 <div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
3363<xsl:call-template name="component.title">
3364<xsl:with-param name="node" select="ancestor-or-self::bibliography[1]"/>
3365</xsl:call-template></div>
3366 <xsl:choose>
3367 <xsl:when test="bibliographyinfo/subtitle">
3368 <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="bibliographyinfo/subtitle"/>
3369 </xsl:when>
3370 <xsl:when test="docinfo/subtitle">
3371 <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3372 </xsl:when>
3373 <xsl:when test="info/subtitle">
3374 <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="info/subtitle"/>
3375 </xsl:when>
3376 <xsl:when test="subtitle">
3377 <xsl:apply-templates mode="bibliography.titlepage.recto.auto.mode" select="subtitle"/>
3378 </xsl:when>
3379 </xsl:choose>
3380
3381</xsl:template>
3382
3383<xsl:template name="bibliography.titlepage.verso">
3384</xsl:template>
3385
3386<xsl:template name="bibliography.titlepage.separator">
3387</xsl:template>
3388
3389<xsl:template name="bibliography.titlepage.before.recto">
3390</xsl:template>
3391
3392<xsl:template name="bibliography.titlepage.before.verso">
3393</xsl:template>
3394
3395<xsl:template name="bibliography.titlepage">
3396 <div class="titlepage">
3397 <xsl:variable name="recto.content">
3398 <xsl:call-template name="bibliography.titlepage.before.recto"/>
3399 <xsl:call-template name="bibliography.titlepage.recto"/>
3400 </xsl:variable>
3401 <xsl:variable name="recto.elements.count">
3402 <xsl:choose>
3403 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3404 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3405 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3406 <xsl:otherwise>1</xsl:otherwise>
3407 </xsl:choose>
3408 </xsl:variable>
3409 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3410 <div><xsl:copy-of select="$recto.content"/></div>
3411 </xsl:if>
3412 <xsl:variable name="verso.content">
3413 <xsl:call-template name="bibliography.titlepage.before.verso"/>
3414 <xsl:call-template name="bibliography.titlepage.verso"/>
3415 </xsl:variable>
3416 <xsl:variable name="verso.elements.count">
3417 <xsl:choose>
3418 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3419 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3420 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3421 <xsl:otherwise>1</xsl:otherwise>
3422 </xsl:choose>
3423 </xsl:variable>
3424 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3425 <div><xsl:copy-of select="$verso.content"/></div>
3426 </xsl:if>
3427 <xsl:call-template name="bibliography.titlepage.separator"/>
3428 </div>
3429</xsl:template>
3430
3431<xsl:template match="*" mode="bibliography.titlepage.recto.mode">
3432 <!-- if an element isn't found in this mode, -->
3433 <!-- try the generic titlepage.mode -->
3434 <xsl:apply-templates select="." mode="titlepage.mode"/>
3435</xsl:template>
3436
3437<xsl:template match="*" mode="bibliography.titlepage.verso.mode">
3438 <!-- if an element isn't found in this mode, -->
3439 <!-- try the generic titlepage.mode -->
3440 <xsl:apply-templates select="." mode="titlepage.mode"/>
3441</xsl:template>
3442
3443<xsl:template match="subtitle" mode="bibliography.titlepage.recto.auto.mode">
3444<div xsl:use-attribute-sets="bibliography.titlepage.recto.style">
3445<xsl:apply-templates select="." mode="bibliography.titlepage.recto.mode"/>
3446</div>
3447</xsl:template>
3448
3449<xsl:template name="glossary.titlepage.recto">
3450 <div xsl:use-attribute-sets="glossary.titlepage.recto.style">
3451<xsl:call-template name="component.title">
3452<xsl:with-param name="node" select="ancestor-or-self::glossary[1]"/>
3453</xsl:call-template></div>
3454 <xsl:choose>
3455 <xsl:when test="glossaryinfo/subtitle">
3456 <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="glossaryinfo/subtitle"/>
3457 </xsl:when>
3458 <xsl:when test="docinfo/subtitle">
3459 <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3460 </xsl:when>
3461 <xsl:when test="info/subtitle">
3462 <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="info/subtitle"/>
3463 </xsl:when>
3464 <xsl:when test="subtitle">
3465 <xsl:apply-templates mode="glossary.titlepage.recto.auto.mode" select="subtitle"/>
3466 </xsl:when>
3467 </xsl:choose>
3468
3469</xsl:template>
3470
3471<xsl:template name="glossary.titlepage.verso">
3472</xsl:template>
3473
3474<xsl:template name="glossary.titlepage.separator">
3475</xsl:template>
3476
3477<xsl:template name="glossary.titlepage.before.recto">
3478</xsl:template>
3479
3480<xsl:template name="glossary.titlepage.before.verso">
3481</xsl:template>
3482
3483<xsl:template name="glossary.titlepage">
3484 <div class="titlepage">
3485 <xsl:variable name="recto.content">
3486 <xsl:call-template name="glossary.titlepage.before.recto"/>
3487 <xsl:call-template name="glossary.titlepage.recto"/>
3488 </xsl:variable>
3489 <xsl:variable name="recto.elements.count">
3490 <xsl:choose>
3491 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3492 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3493 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3494 <xsl:otherwise>1</xsl:otherwise>
3495 </xsl:choose>
3496 </xsl:variable>
3497 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3498 <div><xsl:copy-of select="$recto.content"/></div>
3499 </xsl:if>
3500 <xsl:variable name="verso.content">
3501 <xsl:call-template name="glossary.titlepage.before.verso"/>
3502 <xsl:call-template name="glossary.titlepage.verso"/>
3503 </xsl:variable>
3504 <xsl:variable name="verso.elements.count">
3505 <xsl:choose>
3506 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3507 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3508 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3509 <xsl:otherwise>1</xsl:otherwise>
3510 </xsl:choose>
3511 </xsl:variable>
3512 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3513 <div><xsl:copy-of select="$verso.content"/></div>
3514 </xsl:if>
3515 <xsl:call-template name="glossary.titlepage.separator"/>
3516 </div>
3517</xsl:template>
3518
3519<xsl:template match="*" mode="glossary.titlepage.recto.mode">
3520 <!-- if an element isn't found in this mode, -->
3521 <!-- try the generic titlepage.mode -->
3522 <xsl:apply-templates select="." mode="titlepage.mode"/>
3523</xsl:template>
3524
3525<xsl:template match="*" mode="glossary.titlepage.verso.mode">
3526 <!-- if an element isn't found in this mode, -->
3527 <!-- try the generic titlepage.mode -->
3528 <xsl:apply-templates select="." mode="titlepage.mode"/>
3529</xsl:template>
3530
3531<xsl:template match="subtitle" mode="glossary.titlepage.recto.auto.mode">
3532<div xsl:use-attribute-sets="glossary.titlepage.recto.style">
3533<xsl:apply-templates select="." mode="glossary.titlepage.recto.mode"/>
3534</div>
3535</xsl:template>
3536
3537<xsl:template name="index.titlepage.recto">
3538 <div xsl:use-attribute-sets="index.titlepage.recto.style">
3539<xsl:call-template name="component.title">
3540<xsl:with-param name="node" select="ancestor-or-self::index[1]"/>
3541</xsl:call-template></div>
3542 <xsl:choose>
3543 <xsl:when test="indexinfo/subtitle">
3544 <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="indexinfo/subtitle"/>
3545 </xsl:when>
3546 <xsl:when test="docinfo/subtitle">
3547 <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3548 </xsl:when>
3549 <xsl:when test="info/subtitle">
3550 <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="info/subtitle"/>
3551 </xsl:when>
3552 <xsl:when test="subtitle">
3553 <xsl:apply-templates mode="index.titlepage.recto.auto.mode" select="subtitle"/>
3554 </xsl:when>
3555 </xsl:choose>
3556
3557</xsl:template>
3558
3559<xsl:template name="index.titlepage.verso">
3560</xsl:template>
3561
3562<xsl:template name="index.titlepage.separator">
3563</xsl:template>
3564
3565<xsl:template name="index.titlepage.before.recto">
3566</xsl:template>
3567
3568<xsl:template name="index.titlepage.before.verso">
3569</xsl:template>
3570
3571<xsl:template name="index.titlepage">
3572 <div class="titlepage">
3573 <xsl:variable name="recto.content">
3574 <xsl:call-template name="index.titlepage.before.recto"/>
3575 <xsl:call-template name="index.titlepage.recto"/>
3576 </xsl:variable>
3577 <xsl:variable name="recto.elements.count">
3578 <xsl:choose>
3579 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3580 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3581 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3582 <xsl:otherwise>1</xsl:otherwise>
3583 </xsl:choose>
3584 </xsl:variable>
3585 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3586 <div><xsl:copy-of select="$recto.content"/></div>
3587 </xsl:if>
3588 <xsl:variable name="verso.content">
3589 <xsl:call-template name="index.titlepage.before.verso"/>
3590 <xsl:call-template name="index.titlepage.verso"/>
3591 </xsl:variable>
3592 <xsl:variable name="verso.elements.count">
3593 <xsl:choose>
3594 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3595 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3596 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3597 <xsl:otherwise>1</xsl:otherwise>
3598 </xsl:choose>
3599 </xsl:variable>
3600 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3601 <div><xsl:copy-of select="$verso.content"/></div>
3602 </xsl:if>
3603 <xsl:call-template name="index.titlepage.separator"/>
3604 </div>
3605</xsl:template>
3606
3607<xsl:template match="*" mode="index.titlepage.recto.mode">
3608 <!-- if an element isn't found in this mode, -->
3609 <!-- try the generic titlepage.mode -->
3610 <xsl:apply-templates select="." mode="titlepage.mode"/>
3611</xsl:template>
3612
3613<xsl:template match="*" mode="index.titlepage.verso.mode">
3614 <!-- if an element isn't found in this mode, -->
3615 <!-- try the generic titlepage.mode -->
3616 <xsl:apply-templates select="." mode="titlepage.mode"/>
3617</xsl:template>
3618
3619<xsl:template match="subtitle" mode="index.titlepage.recto.auto.mode">
3620<div xsl:use-attribute-sets="index.titlepage.recto.style">
3621<xsl:apply-templates select="." mode="index.titlepage.recto.mode"/>
3622</div>
3623</xsl:template>
3624
3625<xsl:template name="setindex.titlepage.recto">
3626 <div xsl:use-attribute-sets="setindex.titlepage.recto.style">
3627<xsl:call-template name="component.title">
3628<xsl:with-param name="node" select="ancestor-or-self::setindex[1]"/>
3629</xsl:call-template></div>
3630 <xsl:choose>
3631 <xsl:when test="setindexinfo/subtitle">
3632 <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="setindexinfo/subtitle"/>
3633 </xsl:when>
3634 <xsl:when test="docinfo/subtitle">
3635 <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3636 </xsl:when>
3637 <xsl:when test="info/subtitle">
3638 <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="info/subtitle"/>
3639 </xsl:when>
3640 <xsl:when test="subtitle">
3641 <xsl:apply-templates mode="setindex.titlepage.recto.auto.mode" select="subtitle"/>
3642 </xsl:when>
3643 </xsl:choose>
3644
3645</xsl:template>
3646
3647<xsl:template name="setindex.titlepage.verso">
3648</xsl:template>
3649
3650<xsl:template name="setindex.titlepage.separator">
3651</xsl:template>
3652
3653<xsl:template name="setindex.titlepage.before.recto">
3654</xsl:template>
3655
3656<xsl:template name="setindex.titlepage.before.verso">
3657</xsl:template>
3658
3659<xsl:template name="setindex.titlepage">
3660 <div class="titlepage">
3661 <xsl:variable name="recto.content">
3662 <xsl:call-template name="setindex.titlepage.before.recto"/>
3663 <xsl:call-template name="setindex.titlepage.recto"/>
3664 </xsl:variable>
3665 <xsl:variable name="recto.elements.count">
3666 <xsl:choose>
3667 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3668 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3669 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3670 <xsl:otherwise>1</xsl:otherwise>
3671 </xsl:choose>
3672 </xsl:variable>
3673 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3674 <div><xsl:copy-of select="$recto.content"/></div>
3675 </xsl:if>
3676 <xsl:variable name="verso.content">
3677 <xsl:call-template name="setindex.titlepage.before.verso"/>
3678 <xsl:call-template name="setindex.titlepage.verso"/>
3679 </xsl:variable>
3680 <xsl:variable name="verso.elements.count">
3681 <xsl:choose>
3682 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3683 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3684 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3685 <xsl:otherwise>1</xsl:otherwise>
3686 </xsl:choose>
3687 </xsl:variable>
3688 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3689 <div><xsl:copy-of select="$verso.content"/></div>
3690 </xsl:if>
3691 <xsl:call-template name="setindex.titlepage.separator"/>
3692 </div>
3693</xsl:template>
3694
3695<xsl:template match="*" mode="setindex.titlepage.recto.mode">
3696 <!-- if an element isn't found in this mode, -->
3697 <!-- try the generic titlepage.mode -->
3698 <xsl:apply-templates select="." mode="titlepage.mode"/>
3699</xsl:template>
3700
3701<xsl:template match="*" mode="setindex.titlepage.verso.mode">
3702 <!-- if an element isn't found in this mode, -->
3703 <!-- try the generic titlepage.mode -->
3704 <xsl:apply-templates select="." mode="titlepage.mode"/>
3705</xsl:template>
3706
3707<xsl:template match="subtitle" mode="setindex.titlepage.recto.auto.mode">
3708<div xsl:use-attribute-sets="setindex.titlepage.recto.style">
3709<xsl:apply-templates select="." mode="setindex.titlepage.recto.mode"/>
3710</div>
3711</xsl:template>
3712
3713<xsl:template name="sidebar.titlepage.recto">
3714 <xsl:choose>
3715 <xsl:when test="sidebarinfo/title">
3716 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/title"/>
3717 </xsl:when>
3718 <xsl:when test="docinfo/title">
3719 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/title"/>
3720 </xsl:when>
3721 <xsl:when test="info/title">
3722 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/title"/>
3723 </xsl:when>
3724 <xsl:when test="title">
3725 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="title"/>
3726 </xsl:when>
3727 </xsl:choose>
3728
3729 <xsl:choose>
3730 <xsl:when test="sidebarinfo/subtitle">
3731 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="sidebarinfo/subtitle"/>
3732 </xsl:when>
3733 <xsl:when test="docinfo/subtitle">
3734 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="docinfo/subtitle"/>
3735 </xsl:when>
3736 <xsl:when test="info/subtitle">
3737 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="info/subtitle"/>
3738 </xsl:when>
3739 <xsl:when test="subtitle">
3740 <xsl:apply-templates mode="sidebar.titlepage.recto.auto.mode" select="subtitle"/>
3741 </xsl:when>
3742 </xsl:choose>
3743
3744</xsl:template>
3745
3746<xsl:template name="sidebar.titlepage.verso">
3747</xsl:template>
3748
3749<xsl:template name="sidebar.titlepage.separator">
3750</xsl:template>
3751
3752<xsl:template name="sidebar.titlepage.before.recto">
3753</xsl:template>
3754
3755<xsl:template name="sidebar.titlepage.before.verso">
3756</xsl:template>
3757
3758<xsl:template name="sidebar.titlepage">
3759 <div class="titlepage">
3760 <xsl:variable name="recto.content">
3761 <xsl:call-template name="sidebar.titlepage.before.recto"/>
3762 <xsl:call-template name="sidebar.titlepage.recto"/>
3763 </xsl:variable>
3764 <xsl:variable name="recto.elements.count">
3765 <xsl:choose>
3766 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3767 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3768 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($recto.content)/*)"/></xsl:when>
3769 <xsl:otherwise>1</xsl:otherwise>
3770 </xsl:choose>
3771 </xsl:variable>
3772 <xsl:if test="(normalize-space($recto.content) != '') or ($recto.elements.count &gt; 0)">
3773 <div><xsl:copy-of select="$recto.content"/></div>
3774 </xsl:if>
3775 <xsl:variable name="verso.content">
3776 <xsl:call-template name="sidebar.titlepage.before.verso"/>
3777 <xsl:call-template name="sidebar.titlepage.verso"/>
3778 </xsl:variable>
3779 <xsl:variable name="verso.elements.count">
3780 <xsl:choose>
3781 <xsl:when test="function-available('exsl:node-set')"><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3782 <xsl:when test="contains(system-property('xsl:vendor'), 'Apache Software Foundation')">
3783 <!--Xalan quirk--><xsl:value-of select="count(exsl:node-set($verso.content)/*)"/></xsl:when>
3784 <xsl:otherwise>1</xsl:otherwise>
3785 </xsl:choose>
3786 </xsl:variable>
3787 <xsl:if test="(normalize-space($verso.content) != '') or ($verso.elements.count &gt; 0)">
3788 <div><xsl:copy-of select="$verso.content"/></div>
3789 </xsl:if>
3790 <xsl:call-template name="sidebar.titlepage.separator"/>
3791 </div>
3792</xsl:template>
3793
3794<xsl:template match="*" mode="sidebar.titlepage.recto.mode">
3795 <!-- if an element isn't found in this mode, -->
3796 <!-- try the generic titlepage.mode -->
3797 <xsl:apply-templates select="." mode="titlepage.mode"/>
3798</xsl:template>
3799
3800<xsl:template match="*" mode="sidebar.titlepage.verso.mode">
3801 <!-- if an element isn't found in this mode, -->
3802 <!-- try the generic titlepage.mode -->
3803 <xsl:apply-templates select="." mode="titlepage.mode"/>
3804</xsl:template>
3805
3806<xsl:template match="title" mode="sidebar.titlepage.recto.auto.mode">
3807<div xsl:use-attribute-sets="sidebar.titlepage.recto.style">
3808<xsl:call-template name="formal.object.heading">
3809<xsl:with-param name="object" select="ancestor-or-self::sidebar[1]"/>
3810</xsl:call-template>
3811</div>
3812</xsl:template>
3813
3814<xsl:template match="subtitle" mode="sidebar.titlepage.recto.auto.mode">
3815<div xsl:use-attribute-sets="sidebar.titlepage.recto.style">
3816<xsl:apply-templates select="." mode="sidebar.titlepage.recto.mode"/>
3817</div>
3818</xsl:template>
3819
3820</xsl:stylesheet>
3821
diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
deleted file mode 100644
index 198c7b9689..0000000000
--- a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
+++ /dev/null
@@ -1,577 +0,0 @@
1<!DOCTYPE article 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<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
5
6<article id='brief-yocto-project-qs-intro'>
7 <articleinfo>
8 <title>Yocto Project Quick Build</title>
9
10 <copyright>
11 <year>&COPYRIGHT_YEAR;</year>
12 <holder>Linux Foundation</holder>
13 </copyright>
14
15 <legalnotice>
16 <para>
17 Permission is granted to copy, distribute and/or modify this document under
18 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 &amp; Wales</ulink> as published by Creative Commons.
19 </para>
20 </legalnotice>
21
22
23 <abstract>
24 <imagedata fileref="figures/yocto-project-transp.png"
25 width="6in" depth="1in"
26 align="right" scale="25" />
27 </abstract>
28 </articleinfo>
29
30 <section id='brief-welcome'>
31 <title>Welcome!</title>
32
33 <para>
34 Welcome!
35 This short document steps you through the process for a typical
36 image build using the Yocto Project.
37 The document also introduces how to configure a build for specific
38 hardware.
39 You will use Yocto Project to build a reference embedded OS
40 called Poky.
41 <note><title>Notes</title>
42 <itemizedlist>
43 <listitem><para>
44 The examples in this paper assume you are using a
45 native Linux system running a recent Ubuntu Linux
46 distribution.
47 If the machine you want to use Yocto Project on to
48 build an image
49 (<ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>)
50 is not a native Linux system, you can
51 still perform these steps by using CROss PlatformS
52 (CROPS) and setting up a Poky container.
53 See the
54 <ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops'>Setting Up to Use CROss PlatformS (CROPS)</ulink>"
55 section in the Yocto Project Development Tasks Manual for more
56 information.
57 </para></listitem>
58 <listitem><para>
59 You may use Windows Subsystem For Linux v2 to set up a build
60 host using Windows 10.
61 <note>
62 The Yocto Project is not compatible with WSLv1, it is
63 compatible but not officially supported nor validated
64 with WSLv2, if you still decide to use WSL please upgrade
65 to WSLv2.
66 </note>
67 See the
68 <ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-wsl'>Setting Up to Use Windows Subsystem For Linux</ulink>"
69 section in the Yocto Project Development Tasks Manual for more
70 information.
71 </para></listitem>
72 </itemizedlist>
73 </note>
74 </para>
75
76 <para>
77 If you want more conceptual or background information on the
78 Yocto Project, see the
79 <ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>.
80 </para>
81 </section>
82
83 <section id='brief-compatible-distro'>
84 <title>Compatible Linux Distribution</title>
85
86 <para>
87 Make sure your
88 <ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>
89 meets the following requirements:
90 <itemizedlist>
91 <listitem><para>
92 50 Gbytes of free disk space
93 </para></listitem>
94 <listitem><para>
95 Runs a supported Linux distribution (i.e. recent releases of
96 Fedora, openSUSE, CentOS, Debian, or Ubuntu). For a list of
97 Linux distributions that support the Yocto Project, see the
98 "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
99 section in the Yocto Project Reference Manual.
100 For detailed information on preparing your build host, see
101 the
102 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
103 section in the Yocto Project Development Tasks Manual.
104 </para></listitem>
105 <listitem><para>
106 <itemizedlist>
107 <listitem><para>
108 Git 1.8.3.1 or greater
109 </para></listitem>
110 <listitem><para>
111 tar 1.28 or greater
112 </para></listitem>
113 <listitem><para>
114 Python 3.5.0 or greater.
115 </para></listitem>
116 <listitem><para>
117 gcc 5.0 or greater.
118 </para></listitem>
119 </itemizedlist>
120 If your build host does not meet any of these three listed
121 version requirements, you can take steps to prepare the
122 system so that you can still use the Yocto Project.
123 See the
124 "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-python-and-gcc-versions'>Required Git, tar, Python and gcc Versions</ulink>"
125 section in the Yocto Project Reference Manual for information.
126 </para></listitem>
127 </itemizedlist>
128 </para>
129 </section>
130
131 <section id='brief-build-system-packages'>
132 <title>Build Host Packages</title>
133
134 <para>
135 You must install essential host packages on your
136 build host.
137 The following command installs the host packages based on an
138 Ubuntu distribution:
139 <note>
140 For host package requirements on all supported Linux
141 distributions, see the
142 "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>Required Packages for the Build Host</ulink>"
143 section in the Yocto Project Reference Manual.
144 </note>
145 <literallayout class='monospaced'>
146 $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
147 </literallayout>
148 </para>
149 </section>
150
151 <section id='brief-use-git-to-clone-poky'>
152 <title>Use Git to Clone Poky</title>
153
154 <para>
155 Once you complete the setup instructions for your machine,
156 you need to get a copy of the Poky repository on your build
157 host.
158 Use the following commands to clone the Poky
159 repository.
160 <literallayout class='monospaced'>
161 $ git clone git://git.yoctoproject.org/poky
162 Cloning into 'poky'...
163 remote: Counting objects: 432160, done.
164 remote: Compressing objects: 100% (102056/102056), done.
165 remote: Total 432160 (delta 323116), reused 432037 (delta 323000)
166 Receiving objects: 100% (432160/432160), 153.81 MiB | 8.54 MiB/s, done.
167 Resolving deltas: 100% (323116/323116), done.
168 Checking connectivity... done.
169 </literallayout>
170 Move to the <filename>poky</filename> directory and take a look
171 at the tags:
172 <literallayout class='monospaced'>
173 $ cd poky
174 $ git fetch --tags
175 $ git tag
176 1.1_M1.final
177 1.1_M1.rc1
178 1.1_M1.rc2
179 1.1_M2.final
180 1.1_M2.rc1
181 .
182 .
183 .
184 yocto-2.5
185 yocto-2.5.1
186 yocto-2.5.2
187 yocto-2.6
188 yocto-2.6.1
189 yocto-2.6.2
190 yocto-2.7
191 yocto_1.5_M5.rc8
192 </literallayout>
193 For this example, check out the branch based on the
194 &DISTRO_REL_TAG; release:
195 <literallayout class='monospaced'>
196 $ git checkout tags/&DISTRO_REL_TAG; -b my-&DISTRO_REL_TAG;
197 Switched to a new branch 'my-&DISTRO_REL_TAG;'
198 </literallayout>
199 The previous Git checkout command creates a local branch
200 named my-&DISTRO_REL_TAG;. The files available to you in that
201 branch exactly match the repository's files in the
202 "&DISTRO_NAME_NO_CAP;" development branch at the time of the
203 Yocto Project &DISTRO_REL_TAG; release.
204 </para>
205
206 <para>
207 For more options and information about accessing Yocto
208 Project related repositories, see the
209 "<ulink url='&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files'>Locating Yocto Project Source Files</ulink>"
210 section in the Yocto Project Development Tasks Manual.
211 </para>
212 </section>
213
214 <section id='brief-building-your-image'>
215 <title>Building Your Image</title>
216
217 <para>
218 Use the following steps to build your image.
219 The build process creates an entire Linux distribution, including
220 the toolchain, from source.
221 <note>
222 <itemizedlist>
223 <listitem><para>
224 If you are working behind a firewall and your build
225 host is not set up for proxies, you could encounter
226 problems with the build process when fetching source
227 code (e.g. fetcher failures or Git failures).
228 </para></listitem>
229 <listitem><para>
230 If you do not know your proxy settings, consult your
231 local network infrastructure resources and get that
232 information.
233 A good starting point could also be to check your
234 web browser settings.
235 Finally, you can find more information on the
236 "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>"
237 page of the Yocto Project Wiki.
238 </para></listitem>
239 </itemizedlist>
240 </note>
241 </para>
242
243 <para>
244 <orderedlist>
245 <listitem><para>
246 <emphasis>Initialize the Build Environment:</emphasis>
247 From within the <filename>poky</filename> directory, run the
248 <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
249 environment setup script to define Yocto Project's
250 build environment on your build host.
251 <literallayout class='monospaced'>
252 $ cd ~/poky
253 $ source &OE_INIT_FILE;
254 You had no conf/local.conf file. This configuration file has therefore been
255 created for you with some default values. You may wish to edit it to, for
256 example, select a different MACHINE (target hardware). See conf/local.conf
257 for more information as common configuration options are commented.
258
259 You had no conf/bblayers.conf file. This configuration file has therefore been
260 created for you with some default values. To add additional metadata layers
261 into your configuration please add entries to conf/bblayers.conf.
262
263 The Yocto Project has extensive documentation about OE including a reference
264 manual which can be found at:
265 http://yoctoproject.org/documentation
266
267 For more information about OpenEmbedded see their website:
268 http://www.openembedded.org/
269
270
271 ### Shell environment set up for builds. ###
272
273 You can now run 'bitbake &lt;target&gt;'
274
275 Common targets are:
276 core-image-minimal
277 core-image-sato
278 meta-toolchain
279 meta-ide-support
280
281 You can also run generated qemu images with a command like 'runqemu qemux86-64'
282 </literallayout>
283 Among other things, the script creates the
284 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
285 which is <filename>build</filename> in this case
286 and is located in the
287 <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
288 After the script runs, your current working directory
289 is set to the Build Directory.
290 Later, when the build completes, the Build Directory
291 contains all the files created during the build.
292 </para></listitem>
293 <listitem><para id='conf-file-step'>
294 <emphasis>Examine Your Local Configuration File:</emphasis>
295 When you set up the build environment, a local
296 configuration file named
297 <filename>local.conf</filename> becomes available in
298 a <filename>conf</filename> subdirectory of the
299 Build Directory.
300 For this example, the defaults are set to build
301 for a <filename>qemux86</filename> target, which is
302 suitable for emulation.
303 The package manager used is set to the RPM package
304 manager.
305 <tip>
306 You can significantly speed up your build and guard
307 against fetcher failures by using mirrors.
308 To use mirrors, add these lines to your
309 <filename>local.conf</filename> file in the Build
310 directory:
311 <literallayout class='monospaced'>
312 SSTATE_MIRRORS = "\
313 file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \
314 file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \
315 file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \
316 "
317 </literallayout>
318 The previous examples showed how to add sstate
319 paths for Yocto Project &YOCTO_DOC_VERSION_MINUS_ONE;,
320 &YOCTO_DOC_VERSION;, and a development area.
321 For a complete index of sstate locations, see
322 <ulink url='http://sstate.yoctoproject.org/'></ulink>.
323 </tip>
324 </para></listitem>
325 <listitem><para>
326 <emphasis>Start the Build:</emphasis>
327 Continue with the following command to build an OS image
328 for the target, which is
329 <filename>core-image-sato</filename> in this example:
330 <literallayout class='monospaced'>
331 $ bitbake core-image-sato
332 </literallayout>
333 For information on using the
334 <filename>bitbake</filename> command, see the
335 "<ulink url='&YOCTO_DOCS_OM_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
336 section in the Yocto Project Overview and Concepts Manual,
337 or see the
338 "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>"
339 section in the BitBake User Manual.
340 </para></listitem>
341 <listitem><para>
342 <emphasis>Simulate Your Image Using QEMU:</emphasis>
343 Once this particular image is built, you can start
344 QEMU, which is a Quick EMUlator that ships with
345 the Yocto Project:
346 <literallayout class='monospaced'>
347 $ runqemu qemux86-64
348 </literallayout>
349 If you want to learn more about running QEMU, see the
350 "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>"
351 chapter in the Yocto Project Development Tasks Manual.
352 </para></listitem>
353 <listitem><para>
354 <emphasis>Exit QEMU:</emphasis>
355 Exit QEMU by either clicking on the shutdown icon or by
356 typing <filename>Ctrl-C</filename> in the QEMU
357 transcript window from which you evoked QEMU.
358 </para></listitem>
359 </orderedlist>
360 </para>
361 </section>
362
363 <section id='customizing-your-build-for-specific-hardware'>
364 <title>Customizing Your Build for Specific Hardware</title>
365
366 <para>
367 So far, all you have done is quickly built an image suitable
368 for emulation only.
369 This section shows you how to customize your build for specific
370 hardware by adding a hardware layer into the Yocto Project
371 development environment.
372 </para>
373
374 <para>
375 In general, layers are repositories that contain related sets of
376 instructions and configurations that tell the Yocto Project what
377 to do.
378 Isolating related metadata into functionally specific layers
379 facilitates modular development and makes it easier to reuse the
380 layer metadata.
381 <note>
382 By convention, layer names start with the string "meta-".
383 </note>
384 </para>
385
386 <para>
387 Follow these steps to add a hardware layer:
388 <orderedlist>
389 <listitem><para>
390 <emphasis>Find a Layer:</emphasis>
391 Lots of hardware layers exist.
392 The Yocto Project
393 <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink>
394 has many hardware layers.
395 This example adds the
396 <ulink url='https://github.com/kraj/meta-altera'>meta-altera</ulink>
397 hardware layer.
398 </para></listitem>
399 <listitem><para>
400 <emphasis>Clone the Layer</emphasis>
401 Use Git to make a local copy of the layer on your machine.
402 You can put the copy in the top level of the copy of the
403 Poky repository created earlier:
404 <literallayout class='monospaced'>
405 $ cd ~/poky
406 $ git clone https://github.com/kraj/meta-altera.git
407 Cloning into 'meta-altera'...
408 remote: Counting objects: 25170, done.
409 remote: Compressing objects: 100% (350/350), done.
410 remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219
411 Receiving objects: 100% (25170/25170), 41.02 MiB | 1.64 MiB/s, done.
412 Resolving deltas: 100% (13385/13385), done.
413 Checking connectivity... done.
414 </literallayout>
415 The hardware layer now exists with other layers inside
416 the Poky reference repository on your build host as
417 <filename>meta-altera</filename> and contains all the
418 metadata needed to support hardware from Altera, which
419 is owned by Intel.
420 </para></listitem>
421 <listitem><para>
422 <emphasis>Change the Configuration to Build for a Specific Machine:</emphasis>
423 The
424 <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
425 variable in the <filename>local.conf</filename> file
426 specifies the machine for the build.
427 For this example, set the <filename>MACHINE</filename>
428 variable to "cyclone5".
429 These configurations are used:
430 <ulink url='https://github.com/kraj/meta-altera/blob/master/conf/machine/cyclone5.conf'></ulink>.
431 <note>
432 See the
433 "<link linkend='conf-file-step'>Examine Your Local Configuration File</link>"
434 step earlier for more information on configuring the
435 build.
436 </note>
437 </para></listitem>
438 <listitem><para>
439 <emphasis>Add Your Layer to the Layer Configuration File:</emphasis>
440 Before you can use a layer during a build, you must add it
441 to your <filename>bblayers.conf</filename> file, which
442 is found in the
443 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory's</ulink>
444 <filename>conf</filename> directory.</para>
445
446 <para>Use the <filename>bitbake-layers add-layer</filename>
447 command to add the layer to the configuration file:
448 <literallayout class='monospaced'>
449 $ cd ~/poky/build
450 $ bitbake-layers add-layer ../meta-altera
451 NOTE: Starting bitbake server...
452 Parsing recipes: 100% |##################################################################| Time: 0:00:32
453 Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, 123 skipped, 0 masked, 0 errors.
454 </literallayout>
455 You can find more information on adding layers in the
456 "<ulink url='&YOCTO_DOCS_DEV_URL;#adding-a-layer-using-the-bitbake-layers-script'>Adding a Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
457 section.
458 </para></listitem>
459 </orderedlist>
460 Completing these steps has added the
461 <filename>meta-altera</filename> layer to your Yocto Project
462 development environment and configured it to build for the
463 "cyclone5" machine.
464 <note>
465 The previous steps are for demonstration purposes only.
466 If you were to attempt to build an image for the
467 "cyclone5" build, you should read the Altera
468 <filename>README</filename>.
469 </note>
470 </para>
471 </section>
472
473 <section id='creating-your-own-general-layer'>
474 <title>Creating Your Own General Layer</title>
475
476 <para>
477 Maybe you have an application or specific set of behaviors you
478 need to isolate.
479 You can create your own general layer using the
480 <filename>bitbake-layers create-layer</filename> command.
481 The tool automates layer creation by setting up a
482 subdirectory with a <filename>layer.conf</filename>
483 configuration file, a <filename>recipes-example</filename>
484 subdirectory that contains an <filename>example.bb</filename>
485 recipe, a licensing file, and a <filename>README</filename>.
486 </para>
487
488 <para>
489 The following commands run the tool to create a layer named
490 <filename>meta-mylayer</filename> in the
491 <filename>poky</filename> directory:
492 <literallayout class='monospaced'>
493 $ cd ~/poky
494 $ bitbake-layers create-layer meta-mylayer
495 NOTE: Starting bitbake server...
496 Add your new layer with 'bitbake-layers add-layer meta-mylayer'
497 </literallayout>
498 For more information on layers and how to create them, see the
499 "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-general-layer-using-the-bitbake-layers-script'>Creating a General Layer Using the <filename>bitbake-layers</filename> Script</ulink>"
500 section in the Yocto Project Development Tasks Manual.
501 </para>
502 </section>
503
504 <section id='brief-where-to-go-next'>
505 <title>Where To Go Next</title>
506
507 <para>
508 Now that you have experienced using the Yocto Project, you might
509 be asking yourself "What now?"
510 The Yocto Project has many sources of information including
511 the website, wiki pages, and user manuals:
512 <itemizedlist>
513 <listitem><para>
514 <emphasis>Website:</emphasis>
515 The
516 <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>
517 provides background information, the latest builds,
518 breaking news, full development documentation, and
519 access to a rich Yocto Project Development Community
520 into which you can tap.
521 </para></listitem>
522 <listitem><para>
523 <emphasis>Developer Screencast:</emphasis>
524 The
525 <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink>
526 provides a 30-minute video created for users unfamiliar
527 with the Yocto Project but familiar with Linux build
528 hosts.
529 While this screencast is somewhat dated, the
530 introductory and fundamental concepts are useful for
531 the beginner.
532 </para></listitem>
533 <listitem><para>
534 <emphasis>Yocto Project Overview and Concepts Manual:</emphasis>
535 The
536 <ulink url='&YOCTO_DOCS_OM_URL;'>Yocto Project Overview and Concepts Manual</ulink>
537 is a great place to start to learn about the
538 Yocto Project.
539 This manual introduces you to the Yocto Project and its
540 development environment.
541 The manual also provides conceptual information for
542 various aspects of the Yocto Project.
543 </para></listitem>
544 <listitem><para>
545 <emphasis>Yocto Project Wiki:</emphasis>
546 The
547 <ulink url='&YOCTO_WIKI_URL;'>Yocto Project Wiki</ulink>
548 provides additional information on where to go next
549 when ramping up with the Yocto Project, release
550 information, project planning, and QA information.
551 </para></listitem>
552 <listitem><para>
553 <emphasis>Yocto Project Mailing Lists:</emphasis>
554 Related mailing lists provide a forum for discussion,
555 patch submission and announcements.
556 Several mailing lists exist and are grouped according
557 to areas of concern.
558 See the
559 "<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>"
560 section in the Yocto Project Reference Manual for a
561 complete list of Yocto Project mailing lists.
562 </para></listitem>
563 <listitem><para>
564 <emphasis>Comprehensive List of Links and Other Documentation:</emphasis>
565 The
566 "<ulink url='&YOCTO_DOCS_REF_URL;#resources-links-and-related-documentation'>Links and Related Documentation</ulink>"
567 section in the Yocto Project Reference Manual provides a
568 comprehensive list of all related links and other
569 user documentation.
570 </para></listitem>
571 </itemizedlist>
572 </para>
573 </section>
574</article>
575<!--
576vim: expandtab tw=80 ts=4
577-->