infopark_rails_connector 6.8.0.beta.200.621.4c8e1b0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +59 -0
- data/app/assets/images/admin/minus.gif +0 -0
- data/app/assets/images/bg80.png +0 -0
- data/app/assets/images/edit.png +0 -0
- data/app/assets/images/icons/mm_generic.png +0 -0
- data/app/assets/images/icons/mm_menu.png +0 -0
- data/app/assets/images/ratings/star.gif +0 -0
- data/app/assets/images/time_machine/calendar-menuarrow.gif +0 -0
- data/app/assets/images/time_machine/calendar_bg.png +0 -0
- data/app/assets/images/time_machine/icon.png +0 -0
- data/app/assets/images/time_machine/slider_bg.png +0 -0
- data/app/assets/images/time_machine/slider_handle.png +0 -0
- data/app/assets/images/time_machine/timemachine_bg.png +0 -0
- data/app/assets/javascripts/comments.js +29 -0
- data/app/assets/javascripts/editmarker.js +240 -0
- data/app/assets/javascripts/infopark_rails_connector.js.erb +3 -0
- data/app/assets/javascripts/initializer.js +9 -0
- data/app/assets/javascripts/ratings.js +26 -0
- data/app/assets/javascripts/time_machine/calendar-setup.js +200 -0
- data/app/assets/javascripts/time_machine/calendar.js +1806 -0
- data/app/assets/javascripts/time_machine/lang/calendar-de.js +127 -0
- data/app/assets/javascripts/time_machine/lang/calendar-en.js +127 -0
- data/app/assets/javascripts/time_machine/lang/calendar-es.js +129 -0
- data/app/assets/javascripts/time_machine/lang/calendar-fr.js +125 -0
- data/app/assets/javascripts/time_machine/lang/calendar-it.js +124 -0
- data/app/assets/javascripts/time_machine/slider.js +278 -0
- data/app/assets/javascripts/time_machine.js +8 -0
- data/app/assets/stylesheets/editmarker.css +70 -0
- data/app/assets/stylesheets/infopark_rails_connector.css.erb +4 -0
- data/app/assets/stylesheets/ratings.css +97 -0
- data/app/assets/stylesheets/time_machine/time_machine.css +292 -0
- data/app/assets/stylesheets/time_machine.css +6 -0
- data/app/controllers/cms_controller.rb +6 -0
- data/app/controllers/comments_controller.rb +6 -0
- data/app/controllers/crm_form_controller.rb +2 -0
- data/app/controllers/pdf_controller.rb +6 -0
- data/app/controllers/rails_connector/default_cms_controller.rb +40 -0
- data/app/controllers/rails_connector/default_comments_controller.rb +71 -0
- data/app/controllers/rails_connector/default_crm_form_controller.rb +167 -0
- data/app/controllers/rails_connector/default_pdf_controller.rb +136 -0
- data/app/controllers/rails_connector/default_ratings_controller.rb +84 -0
- data/app/controllers/rails_connector/default_rss_controller.rb +29 -0
- data/app/controllers/rails_connector/default_search_controller.rb +60 -0
- data/app/controllers/rails_connector/default_user_controller.rb +267 -0
- data/app/controllers/rails_connector/pdf_external_controller.rb +54 -0
- data/app/controllers/rails_connector/time_machine_controller.rb +48 -0
- data/app/controllers/ratings_controller.rb +6 -0
- data/app/controllers/rss_controller.rb +6 -0
- data/app/controllers/search_controller.rb +2 -0
- data/app/controllers/seo_sitemap_controller.rb +12 -0
- data/app/controllers/user_controller.rb +2 -0
- data/app/helpers/cms_helper.rb +6 -0
- data/app/helpers/cms_routing_helper.rb +6 -0
- data/app/helpers/crm_form_helper.rb +3 -0
- data/app/helpers/rails_connector/cms_asset_helper.rb +51 -0
- data/app/helpers/rails_connector/default_cms_helper.rb +27 -0
- data/app/helpers/rails_connector/default_cms_routing_helper.rb +93 -0
- data/app/helpers/rails_connector/default_crm_form_helper.rb +58 -0
- data/app/helpers/rails_connector/default_ratings_helper.rb +38 -0
- data/app/helpers/rails_connector/default_user_helper.rb +90 -0
- data/app/helpers/rails_connector/display_helper.rb +117 -0
- data/app/helpers/rails_connector/error_messages_helper.rb +23 -0
- data/app/helpers/rails_connector/layout_helper.rb +30 -0
- data/app/helpers/rails_connector/link_helper.rb +88 -0
- data/app/helpers/rails_connector/mandatory_label_helper.rb +10 -0
- data/app/helpers/rails_connector/marker_helper.rb +363 -0
- data/app/helpers/rails_connector/menu_helper.rb +72 -0
- data/app/helpers/rails_connector/micronav_helper.rb +107 -0
- data/app/helpers/rails_connector/seo_helper.rb +44 -0
- data/app/helpers/rails_connector/table_of_contents_helper.rb +20 -0
- data/app/helpers/rails_connector/time_machine_helper.rb +24 -0
- data/app/helpers/rails_connector/tracking_helper.rb +32 -0
- data/app/helpers/ratings_helper.rb +4 -0
- data/app/helpers/user_helper.rb +3 -0
- data/app/mailers/confirmation_mailer.rb +13 -0
- data/app/models/crm_form.rb +2 -0
- data/app/models/named_link.rb +2 -0
- data/app/models/obj.rb +9 -0
- data/app/models/rails_connector/default_comment.rb +28 -0
- data/app/models/rails_connector/default_rating.rb +20 -0
- data/app/models/rails_connector/link_list.rb +30 -0
- data/app/views/cms/_comments.html.erb +44 -0
- data/app/views/cms/_index.html.erb +7 -0
- data/app/views/cms/_rating.html.erb +31 -0
- data/app/views/cms/index.html.erb +3 -0
- data/app/views/comments/_comment.html.erb +28 -0
- data/app/views/confirmation_mailer/register_confirmation.erb +5 -0
- data/app/views/confirmation_mailer/reset_password.erb +5 -0
- data/app/views/crm_form/_flash_messages.html.erb +11 -0
- data/app/views/crm_form/_form.html.erb +17 -0
- data/app/views/crm_form/confirmation.html.erb +3 -0
- data/app/views/crm_form/index.html.erb +5 -0
- data/app/views/crm_form/not_logged_in.html.erb +1 -0
- data/app/views/errors/403_forbidden.html.erb +3 -0
- data/app/views/errors/410_gone.html.erb +7 -0
- data/app/views/layouts/rails_connector/time_machine.html.erb +12 -0
- data/app/views/pdf/index.html.erb +7 -0
- data/app/views/pdf/index.xsl +1240 -0
- data/app/views/rails_connector/time_machine/index.html.erb +88 -0
- data/app/views/rss/_item.rss.builder +11 -0
- data/app/views/rss/index.rss.builder +11 -0
- data/app/views/search/_hit.html.erb +12 -0
- data/app/views/search/_hits.html.erb +11 -0
- data/app/views/search/_mini_panel.html.erb +4 -0
- data/app/views/search/_pagination.html.erb +5 -0
- data/app/views/search/_panel.html.erb +4 -0
- data/app/views/search/search.html.erb +12 -0
- data/app/views/seo_sitemap/show.xml.builder +16 -0
- data/app/views/user/_flash_messages.html.erb +11 -0
- data/app/views/user/edit.html.erb +6 -0
- data/app/views/user/edit_password.html.erb +11 -0
- data/app/views/user/forgot_password.html.erb +7 -0
- data/app/views/user/login.html.erb +15 -0
- data/app/views/user/new.html.erb +11 -0
- data/app/views/user/profile.html.erb +8 -0
- data/app/views/user/register_pending.html.erb +1 -0
- data/app/views/user/set_password.html.erb +14 -0
- data/config/cms_routes.rb +13 -0
- data/config/locales/de.rails_connector.controllers.yml +30 -0
- data/config/locales/de.rails_connector.errors.yml +11 -0
- data/config/locales/de.rails_connector.helpers.yml +9 -0
- data/config/locales/de.rails_connector.lib.yml +6 -0
- data/config/locales/de.rails_connector.models.yml +8 -0
- data/config/locales/de.rails_connector.views.yml +87 -0
- data/config/locales/en.rails_connector.controllers.yml +30 -0
- data/config/locales/en.rails_connector.errors.yml +10 -0
- data/config/locales/en.rails_connector.helpers.yml +9 -0
- data/config/locales/en.rails_connector.lib.yml +6 -0
- data/config/locales/en.rails_connector.models.yml +8 -0
- data/config/locales/en.rails_connector.views.yml +87 -0
- data/config/routes.rb +37 -0
- data/lib/generators/rails_connector/comments/comments_generator.rb +21 -0
- data/lib/generators/rails_connector/comments/templates/migration.rb +17 -0
- data/lib/generators/rails_connector/install/install_generator.rb +38 -0
- data/lib/generators/rails_connector/install/templates/initializers/rails_connector.rb +58 -0
- data/lib/generators/rails_connector/install/templates/local/configuration.rb +2 -0
- data/lib/generators/rails_connector/install/templates/obj_extensions.rb +25 -0
- data/lib/generators/rails_connector/ratings/ratings_generator.rb +21 -0
- data/lib/generators/rails_connector/ratings/templates/migration.rb +15 -0
- data/lib/infopark_rails_connector.rb +31 -0
- data/lib/obj_extensions.rb +6 -0
- data/lib/rails_connector/authenticable.rb +30 -0
- data/lib/rails_connector/cms_accessible.rb +114 -0
- data/lib/rails_connector/cms_dispatch_controller.rb +47 -0
- data/lib/rails_connector/cms_env.rb +55 -0
- data/lib/rails_connector/cms_test_request.rb +23 -0
- data/lib/rails_connector/commentable.rb +23 -0
- data/lib/rails_connector/configuration/google_analytics.rb +29 -0
- data/lib/rails_connector/configuration/pdf_generator.rb +15 -0
- data/lib/rails_connector/configuration/rss.rb +46 -0
- data/lib/rails_connector/configuration.rb +235 -0
- data/lib/rails_connector/core_extensions/time.rb +18 -0
- data/lib/rails_connector/core_extensions.rb +1 -0
- data/lib/rails_connector/crm.rb +282 -0
- data/lib/rails_connector/engine.rb +78 -0
- data/lib/rails_connector/fop.rb +18 -0
- data/lib/rails_connector/fop_on_rails/document/dom_tree.rb +42 -0
- data/lib/rails_connector/fop_on_rails/document/images.rb +34 -0
- data/lib/rails_connector/fop_on_rails/document/tables.rb +67 -0
- data/lib/rails_connector/fop_on_rails/document.rb +25 -0
- data/lib/rails_connector/fop_on_rails.rb +92 -0
- data/lib/rails_connector/googlebot_checker.rb +47 -0
- data/lib/rails_connector/html_string.rb +19 -0
- data/lib/rails_connector/infopark_base.rb +2 -0
- data/lib/rails_connector/link_resolvable.rb +9 -0
- data/lib/rails_connector/liquid_support/action_marker.rb +69 -0
- data/lib/rails_connector/liquid_support/field_value_drop.rb +22 -0
- data/lib/rails_connector/liquid_support/general_helper_tag.rb +44 -0
- data/lib/rails_connector/liquid_support/link_drop.rb +22 -0
- data/lib/rails_connector/liquid_support/liquid_template_handler.rb +162 -0
- data/lib/rails_connector/liquid_support/named_object_drop.rb +14 -0
- data/lib/rails_connector/liquid_support/obj_drop.rb +43 -0
- data/lib/rails_connector/liquid_support/obj_filters.rb +77 -0
- data/lib/rails_connector/liquid_support.rb +23 -0
- data/lib/rails_connector/markdown_string.rb +19 -0
- data/lib/rails_connector/rateable.rb +57 -0
- data/lib/rails_connector/seo.rb +52 -0
- data/lib/rails_connector/ses.rb +72 -0
- data/lib/rails_connector/string_tagging.rb +29 -0
- data/lib/rails_connector/syndicateable.rb +11 -0
- data/lib/search_request.rb +2 -0
- data/lib/tasks/check.rake +25 -0
- data/lib/tasks/cms_license_check.rake +17 -0
- metadata +489 -0
@@ -0,0 +1,1240 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<xsl:stylesheet version="1.0"
|
3
|
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
4
|
+
xmlns:fo="http://www.w3.org/1999/XSL/Format">
|
5
|
+
|
6
|
+
<xsl:variable name="page-size" select="'A4'"/>
|
7
|
+
<xsl:variable name="title" select="/html/head/title"/>
|
8
|
+
<xsl:variable name="subtitle" select="/html/head/meta[@name='dc.description']/@content"/>
|
9
|
+
<xsl:variable name="creator" select="/html/head/meta[@name='dc.creator']/@content"/>
|
10
|
+
<xsl:variable name="runningTitleTopInside" select="$title"/>
|
11
|
+
<xsl:variable name="runningTitleTopOutside" select="''"/>
|
12
|
+
<xsl:variable name="runningTitleBottom" select="$creator"/>
|
13
|
+
|
14
|
+
<xsl:template match="html">
|
15
|
+
|
16
|
+
<!-- ============================================
|
17
|
+
Because character entities aren't built into
|
18
|
+
the XSL-FO vocabulary, they're included here.
|
19
|
+
=============================================== -->
|
20
|
+
|
21
|
+
<xsl:text disable-output-escaping="yes">
|
22
|
+
<!DOCTYPE fo:root [
|
23
|
+
<!ENTITY tilde "&#126;">
|
24
|
+
<!ENTITY florin "&#131;">
|
25
|
+
<!ENTITY elip "&#133;">
|
26
|
+
<!ENTITY dag "&#134;">
|
27
|
+
<!ENTITY ddag "&#135;">
|
28
|
+
<!ENTITY cflex "&#136;">
|
29
|
+
<!ENTITY permil "&#137;">
|
30
|
+
<!ENTITY uscore "&#138;">
|
31
|
+
<!ENTITY OElig "&#140;">
|
32
|
+
<!ENTITY lsquo "&#145;">
|
33
|
+
<!ENTITY rsquo "&#146;">
|
34
|
+
<!ENTITY ldquo "&#147;">
|
35
|
+
<!ENTITY rdquo "&#148;">
|
36
|
+
<!ENTITY bullet "&#149;">
|
37
|
+
<!ENTITY endash "&#150;">
|
38
|
+
<!ENTITY emdash "&#151;">
|
39
|
+
<!ENTITY trade "&#153;">
|
40
|
+
<!ENTITY oelig "&#156;">
|
41
|
+
<!ENTITY Yuml "&#159;">
|
42
|
+
|
43
|
+
<!ENTITY nbsp "&#160;">
|
44
|
+
<!ENTITY iexcl "&#161;">
|
45
|
+
<!ENTITY cent "&#162;">
|
46
|
+
<!ENTITY pound "&#163;">
|
47
|
+
<!ENTITY curren "&#164;">
|
48
|
+
<!ENTITY yen "&#165;">
|
49
|
+
<!ENTITY brvbar "&#166;">
|
50
|
+
<!ENTITY sect "&#167;">
|
51
|
+
<!ENTITY uml "&#168;">
|
52
|
+
<!ENTITY copy "&#169;">
|
53
|
+
<!ENTITY ordf "&#170;">
|
54
|
+
<!ENTITY laquo "&#171;">
|
55
|
+
<!ENTITY not "&#172;">
|
56
|
+
<!ENTITY shy "&#173;">
|
57
|
+
<!ENTITY reg "&#174;">
|
58
|
+
<!ENTITY macr "&#175;">
|
59
|
+
<!ENTITY deg "&#176;">
|
60
|
+
<!ENTITY plusmn "&#177;">
|
61
|
+
<!ENTITY sup2 "&#178;">
|
62
|
+
<!ENTITY sup3 "&#179;">
|
63
|
+
<!ENTITY acute "&#180;">
|
64
|
+
<!ENTITY micro "&#181;">
|
65
|
+
<!ENTITY para "&#182;">
|
66
|
+
<!ENTITY middot "&#183;">
|
67
|
+
<!ENTITY cedil "&#184;">
|
68
|
+
<!ENTITY sup1 "&#185;">
|
69
|
+
<!ENTITY ordm "&#186;">
|
70
|
+
<!ENTITY raquo "&#187;">
|
71
|
+
<!ENTITY frac14 "&#188;">
|
72
|
+
<!ENTITY frac12 "&#189;">
|
73
|
+
<!ENTITY frac34 "&#190;">
|
74
|
+
<!ENTITY iquest "&#191;">
|
75
|
+
<!ENTITY Agrave "&#192;">
|
76
|
+
<!ENTITY Aacute "&#193;">
|
77
|
+
<!ENTITY Acirc "&#194;">
|
78
|
+
<!ENTITY Atilde "&#195;">
|
79
|
+
<!ENTITY Auml "&#196;">
|
80
|
+
<!ENTITY Aring "&#197;">
|
81
|
+
<!ENTITY AElig "&#198;">
|
82
|
+
<!ENTITY Ccedil "&#199;">
|
83
|
+
<!ENTITY Egrave "&#200;">
|
84
|
+
<!ENTITY Eacute "&#201;">
|
85
|
+
<!ENTITY Ecirc "&#202;">
|
86
|
+
<!ENTITY Euml "&#203;">
|
87
|
+
<!ENTITY Igrave "&#204;">
|
88
|
+
<!ENTITY Iacute "&#205;">
|
89
|
+
<!ENTITY Icirc "&#206;">
|
90
|
+
<!ENTITY Iuml "&#207;">
|
91
|
+
<!ENTITY ETH "&#208;">
|
92
|
+
<!ENTITY Ntilde "&#209;">
|
93
|
+
<!ENTITY Ograve "&#210;">
|
94
|
+
<!ENTITY Oacute "&#211;">
|
95
|
+
<!ENTITY Ocirc "&#212;">
|
96
|
+
<!ENTITY Otilde "&#213;">
|
97
|
+
<!ENTITY Ouml "&#214;">
|
98
|
+
<!ENTITY times "&#215;">
|
99
|
+
<!ENTITY Oslash "&#216;">
|
100
|
+
<!ENTITY Ugrave "&#217;">
|
101
|
+
<!ENTITY Uacute "&#218;">
|
102
|
+
<!ENTITY Ucirc "&#219;">
|
103
|
+
<!ENTITY Uuml "&#220;">
|
104
|
+
<!ENTITY Yacute "&#221;">
|
105
|
+
<!ENTITY THORN "&#222;">
|
106
|
+
<!ENTITY szlig "&#223;">
|
107
|
+
<!ENTITY agrave "&#224;">
|
108
|
+
<!ENTITY aacute "&#225;">
|
109
|
+
<!ENTITY acirc "&#226;">
|
110
|
+
<!ENTITY atilde "&#227;">
|
111
|
+
<!ENTITY auml "&#228;">
|
112
|
+
<!ENTITY aring "&#229;">
|
113
|
+
<!ENTITY aelig "&#230;">
|
114
|
+
<!ENTITY ccedil "&#231;">
|
115
|
+
<!ENTITY egrave "&#232;">
|
116
|
+
<!ENTITY eacute "&#233;">
|
117
|
+
<!ENTITY ecirc "&#234;">
|
118
|
+
<!ENTITY euml "&#235;">
|
119
|
+
<!ENTITY igrave "&#236;">
|
120
|
+
<!ENTITY iacute "&#237;">
|
121
|
+
<!ENTITY icirc "&#238;">
|
122
|
+
<!ENTITY iuml "&#239;">
|
123
|
+
<!ENTITY eth "&#240;">
|
124
|
+
<!ENTITY ntilde "&#241;">
|
125
|
+
<!ENTITY ograve "&#242;">
|
126
|
+
<!ENTITY oacute "&#243;">
|
127
|
+
<!ENTITY ocirc "&#244;">
|
128
|
+
<!ENTITY otilde "&#245;">
|
129
|
+
<!ENTITY ouml "&#246;">
|
130
|
+
<!ENTITY oslash "&#248;">
|
131
|
+
<!ENTITY ugrave "&#249;">
|
132
|
+
<!ENTITY uacute "&#250;">
|
133
|
+
<!ENTITY ucirc "&#251;">
|
134
|
+
<!ENTITY uuml "&#252;">
|
135
|
+
<!ENTITY yacute "&#253;">
|
136
|
+
<!ENTITY thorn "&#254;">
|
137
|
+
<!ENTITY yuml "&#255;">
|
138
|
+
]>
|
139
|
+
</xsl:text>
|
140
|
+
|
141
|
+
<fo:root>
|
142
|
+
|
143
|
+
<fo:layout-master-set>
|
144
|
+
<xsl:choose>
|
145
|
+
<xsl:when test="$page-size='ltr'">
|
146
|
+
<fo:simple-page-master master-name="first"
|
147
|
+
page-height="11in" page-width="8.5in"
|
148
|
+
margin-right="72pt" margin-left="72pt"
|
149
|
+
margin-bottom="36pt" margin-top="72pt">
|
150
|
+
<fo:region-body margin-bottom="50pt"/>
|
151
|
+
<fo:region-after region-name="ra-right"
|
152
|
+
extent="25pt"/>
|
153
|
+
</fo:simple-page-master>
|
154
|
+
|
155
|
+
<fo:simple-page-master master-name="left"
|
156
|
+
page-height="11in" page-width="8.5in"
|
157
|
+
margin-right="72pt" margin-left="72pt"
|
158
|
+
margin-bottom="36pt" margin-top="36pt">
|
159
|
+
<fo:region-body margin-top="50pt"
|
160
|
+
margin-bottom="50pt"/>
|
161
|
+
<fo:region-before region-name="rb-left"
|
162
|
+
extent="25pt"/>
|
163
|
+
<fo:region-after region-name="ra-left"
|
164
|
+
extent="25pt"/>
|
165
|
+
</fo:simple-page-master>
|
166
|
+
|
167
|
+
<fo:simple-page-master master-name="right"
|
168
|
+
page-height="11in" page-width="8.5in"
|
169
|
+
margin-right="72pt" margin-left="72pt"
|
170
|
+
margin-bottom="36pt" margin-top="36pt">
|
171
|
+
<fo:region-body margin-top="50pt"
|
172
|
+
margin-bottom="50pt"/>
|
173
|
+
<fo:region-before region-name="rb-right"
|
174
|
+
extent="25pt"/>
|
175
|
+
<fo:region-after region-name="ra-right"
|
176
|
+
extent="25pt"/>
|
177
|
+
</fo:simple-page-master>
|
178
|
+
</xsl:when>
|
179
|
+
|
180
|
+
<xsl:otherwise>
|
181
|
+
<fo:simple-page-master master-name="first"
|
182
|
+
page-height="29.7cm" page-width="21cm"
|
183
|
+
margin-right="72pt" margin-left="72pt"
|
184
|
+
margin-bottom="36pt" margin-top="72pt">
|
185
|
+
<fo:region-body margin-top="1.5cm"
|
186
|
+
margin-bottom="1.5cm"/>
|
187
|
+
<fo:region-after region-name="ra-right"
|
188
|
+
extent="1cm"/>
|
189
|
+
</fo:simple-page-master>
|
190
|
+
|
191
|
+
<fo:simple-page-master master-name="left"
|
192
|
+
page-height="29.7cm" page-width="21cm"
|
193
|
+
margin-right="72pt" margin-left="72pt"
|
194
|
+
margin-bottom="36pt" margin-top="36pt">
|
195
|
+
<fo:region-body margin-top="1.5cm"
|
196
|
+
margin-bottom="1.5cm"/>
|
197
|
+
<fo:region-before region-name="rb-left"
|
198
|
+
extent="3cm"/>
|
199
|
+
<fo:region-after region-name="ra-left"
|
200
|
+
extent="1cm"/>
|
201
|
+
</fo:simple-page-master>
|
202
|
+
|
203
|
+
<fo:simple-page-master master-name="right"
|
204
|
+
page-height="29.7cm" page-width="21cm"
|
205
|
+
margin-right="72pt" margin-left="72pt"
|
206
|
+
margin-bottom="36pt" margin-top="36pt">
|
207
|
+
<fo:region-body margin-top="1.5cm"
|
208
|
+
margin-bottom="1.5cm"/>
|
209
|
+
<fo:region-before region-name="rb-right"
|
210
|
+
extent="3cm"/>
|
211
|
+
<fo:region-after region-name="ra-right"
|
212
|
+
extent="1cm"/>
|
213
|
+
</fo:simple-page-master>
|
214
|
+
</xsl:otherwise>
|
215
|
+
</xsl:choose>
|
216
|
+
|
217
|
+
<!-- TODO einseitige Ausgabe -->
|
218
|
+
<fo:page-sequence-master master-name="standard">
|
219
|
+
<fo:repeatable-page-master-alternatives>
|
220
|
+
<fo:conditional-page-master-reference
|
221
|
+
master-reference="first"
|
222
|
+
page-position="first"/>
|
223
|
+
<fo:conditional-page-master-reference
|
224
|
+
master-reference="left"
|
225
|
+
odd-or-even="even"/>
|
226
|
+
<fo:conditional-page-master-reference
|
227
|
+
master-reference="right"
|
228
|
+
odd-or-even="odd"/>
|
229
|
+
</fo:repeatable-page-master-alternatives>
|
230
|
+
</fo:page-sequence-master>
|
231
|
+
|
232
|
+
</fo:layout-master-set>
|
233
|
+
|
234
|
+
<!-- TODO bookmarks nicht erzeugen -->
|
235
|
+
<xsl:call-template name="generate-bookmarks"/>
|
236
|
+
|
237
|
+
<fo:page-sequence master-reference="standard">
|
238
|
+
|
239
|
+
<fo:static-content flow-name="rb-right">
|
240
|
+
<fo:block font-size="10pt" text-align-last="end">
|
241
|
+
<fo:table table-layout="fixed">
|
242
|
+
<fo:table-column column-width="72pt"/>
|
243
|
+
<fo:table-column column-width="396pt"/>
|
244
|
+
<fo:table-body>
|
245
|
+
<fo:table-row>
|
246
|
+
<fo:table-cell>
|
247
|
+
<fo:block text-align="start">
|
248
|
+
<xsl:value-of select="$runningTitleTopInside"/>
|
249
|
+
</fo:block>
|
250
|
+
</fo:table-cell>
|
251
|
+
<fo:table-cell>
|
252
|
+
<fo:block text-align="end" font-weight="bold">
|
253
|
+
<fo:retrieve-marker retrieve-class-name="runningTitleTopOutside"/>
|
254
|
+
</fo:block>
|
255
|
+
</fo:table-cell>
|
256
|
+
</fo:table-row>
|
257
|
+
</fo:table-body>
|
258
|
+
</fo:table>
|
259
|
+
</fo:block>
|
260
|
+
</fo:static-content>
|
261
|
+
<fo:static-content flow-name="ra-right">
|
262
|
+
<fo:block font-size="10pt" text-align-last="end">
|
263
|
+
<fo:table table-layout="fixed">
|
264
|
+
<fo:table-column column-width="396pt"/>
|
265
|
+
<fo:table-column column-width="72pt"/>
|
266
|
+
<fo:table-body>
|
267
|
+
<fo:table-row>
|
268
|
+
<fo:table-cell>
|
269
|
+
<fo:block text-align="start">
|
270
|
+
<xsl:value-of select="$runningTitleBottom"/>
|
271
|
+
</fo:block>
|
272
|
+
</fo:table-cell>
|
273
|
+
<fo:table-cell>
|
274
|
+
<fo:block text-align="end">
|
275
|
+
Seite
|
276
|
+
<fo:page-number/>
|
277
|
+
von
|
278
|
+
<fo:page-number-citation ref-id="TheVeryLastPage"/>
|
279
|
+
</fo:block>
|
280
|
+
</fo:table-cell>
|
281
|
+
</fo:table-row>
|
282
|
+
</fo:table-body>
|
283
|
+
</fo:table>
|
284
|
+
</fo:block>
|
285
|
+
</fo:static-content>
|
286
|
+
<fo:static-content flow-name="rb-left">
|
287
|
+
<fo:block font-size="10pt" text-align-last="end">
|
288
|
+
<fo:table table-layout="fixed">
|
289
|
+
<fo:table-column column-width="396pt"/>
|
290
|
+
<fo:table-column column-width="72pt"/>
|
291
|
+
<fo:table-body>
|
292
|
+
<fo:table-row>
|
293
|
+
<fo:table-cell>
|
294
|
+
<fo:block text-align="start" font-weight="bold">
|
295
|
+
<fo:retrieve-marker retrieve-class-name="runningTitleTopOutside"/>
|
296
|
+
</fo:block>
|
297
|
+
</fo:table-cell>
|
298
|
+
<fo:table-cell>
|
299
|
+
<fo:block text-align="end">
|
300
|
+
<xsl:value-of select="$runningTitleTopInside"/>
|
301
|
+
</fo:block>
|
302
|
+
</fo:table-cell>
|
303
|
+
</fo:table-row>
|
304
|
+
</fo:table-body>
|
305
|
+
</fo:table>
|
306
|
+
</fo:block>
|
307
|
+
</fo:static-content>
|
308
|
+
<fo:static-content flow-name="ra-left" >
|
309
|
+
<fo:block font-size="10pt" text-align-last="end">
|
310
|
+
<fo:table table-layout="fixed">
|
311
|
+
<fo:table-column column-width="72pt"/>
|
312
|
+
<fo:table-column column-width="396pt"/>
|
313
|
+
<fo:table-body>
|
314
|
+
<fo:table-row>
|
315
|
+
<fo:table-cell>
|
316
|
+
<fo:block text-align="start">
|
317
|
+
Seite
|
318
|
+
<fo:page-number/>
|
319
|
+
von
|
320
|
+
<fo:page-number-citation ref-id="TheVeryLastPage"/>
|
321
|
+
</fo:block>
|
322
|
+
</fo:table-cell>
|
323
|
+
<fo:table-cell>
|
324
|
+
<fo:block text-align="end">
|
325
|
+
<xsl:value-of select="$runningTitleBottom"/>
|
326
|
+
</fo:block>
|
327
|
+
</fo:table-cell>
|
328
|
+
</fo:table-row>
|
329
|
+
</fo:table-body>
|
330
|
+
</fo:table>
|
331
|
+
</fo:block>
|
332
|
+
</fo:static-content>
|
333
|
+
|
334
|
+
<xsl:apply-templates select="body"/>
|
335
|
+
</fo:page-sequence>
|
336
|
+
</fo:root>
|
337
|
+
</xsl:template>
|
338
|
+
|
339
|
+
<!-- ============================================
|
340
|
+
Processing for the anchor tag is complex. First
|
341
|
+
of all, if this is a named anchor, we write an empty
|
342
|
+
<fo:block> with the appropriate id. (In the special
|
343
|
+
case that the next element is an <h1>, we ignore
|
344
|
+
the element altogether and put the id on the <h1>.)
|
345
|
+
Next, if this is a regular anchor and the href
|
346
|
+
starts with a hash mark (#), we create a link with
|
347
|
+
an internal-destination. Otherwise, we create a
|
348
|
+
link with an external destination.
|
349
|
+
=============================================== -->
|
350
|
+
|
351
|
+
<xsl:template match="aaaaaa">
|
352
|
+
<xsl:choose>
|
353
|
+
<xsl:when test="@name">
|
354
|
+
<xsl:if test="not(name(following-sibling::*[1]) = 'h1')">
|
355
|
+
<fo:block line-height="0pt" space-after="0pt"
|
356
|
+
font-size="0pt" id="{@name}"/>
|
357
|
+
</xsl:if>
|
358
|
+
</xsl:when>
|
359
|
+
<xsl:when test="@href">
|
360
|
+
<fo:basic-link color="blue">
|
361
|
+
<xsl:choose>
|
362
|
+
<xsl:when test="starts-with(@href, '#')">
|
363
|
+
<xsl:attribute name="internal-destination">
|
364
|
+
<xsl:value-of select="substring(@href, 2)"/>
|
365
|
+
</xsl:attribute>
|
366
|
+
</xsl:when>
|
367
|
+
<xsl:otherwise>
|
368
|
+
<xsl:attribute name="external-destination">
|
369
|
+
<xsl:value-of select="@href"/>
|
370
|
+
</xsl:attribute>
|
371
|
+
</xsl:otherwise>
|
372
|
+
</xsl:choose>
|
373
|
+
<xsl:apply-templates select="*|text()"/>
|
374
|
+
</fo:basic-link>
|
375
|
+
<xsl:if test="starts-with(@href, '#')">
|
376
|
+
<xsl:text> on page </xsl:text>
|
377
|
+
<fo:page-number-citation ref-id="{substring(@href, 2)}"/>
|
378
|
+
</xsl:if>
|
379
|
+
</xsl:when>
|
380
|
+
</xsl:choose>
|
381
|
+
</xsl:template>
|
382
|
+
|
383
|
+
<xsl:template match="address">
|
384
|
+
<fo:block font-style="italic" space-after="10pt">
|
385
|
+
<xsl:apply-templates select="*|text()"/>
|
386
|
+
</fo:block>
|
387
|
+
</xsl:template>
|
388
|
+
|
389
|
+
<xsl:template match="b">
|
390
|
+
<fo:inline font-weight="bold">
|
391
|
+
<xsl:apply-templates select="*|text()"/>
|
392
|
+
</fo:inline>
|
393
|
+
</xsl:template>
|
394
|
+
|
395
|
+
<xsl:template match="big">
|
396
|
+
<fo:inline font-size="120%">
|
397
|
+
<xsl:apply-templates select="*|text()"/>
|
398
|
+
</fo:inline>
|
399
|
+
</xsl:template>
|
400
|
+
|
401
|
+
<xsl:template match="blockquote">
|
402
|
+
<fo:block start-indent="1.5cm" end-indent="1.5cm"
|
403
|
+
space-after="10pt">
|
404
|
+
<xsl:apply-templates select="*|text()"/>
|
405
|
+
</fo:block>
|
406
|
+
</xsl:template>
|
407
|
+
|
408
|
+
<xsl:template match="body">
|
409
|
+
<fo:flow flow-name="xsl-region-body">
|
410
|
+
<xsl:apply-templates select="$title"/>
|
411
|
+
<fo:block space-after="12pt" line-height="17pt"
|
412
|
+
font-size="14pt" text-align="center">
|
413
|
+
<xsl:value-of select="$subtitle"/>
|
414
|
+
</fo:block>
|
415
|
+
<fo:block space-after="24pt" line-height="17pt"
|
416
|
+
font-size="14pt" text-align="center" font-weight="bold">
|
417
|
+
<xsl:value-of select="$creator"/>
|
418
|
+
</fo:block>
|
419
|
+
|
420
|
+
<!-- TODO no table of contents -->
|
421
|
+
<xsl:call-template name="toc"/>
|
422
|
+
|
423
|
+
<xsl:apply-templates select="*|text()"/>
|
424
|
+
|
425
|
+
<fo:block id="TheVeryLastPage" font-size="0pt"
|
426
|
+
line-height="0pt" space-after="0pt"/>
|
427
|
+
</fo:flow>
|
428
|
+
</xsl:template>
|
429
|
+
|
430
|
+
<xsl:template match="br">
|
431
|
+
<fo:block> </fo:block>
|
432
|
+
</xsl:template>
|
433
|
+
|
434
|
+
<xsl:template match="center">
|
435
|
+
<fo:block text-align="center">
|
436
|
+
<xsl:apply-templates select="*|text()"/>
|
437
|
+
</fo:block>
|
438
|
+
</xsl:template>
|
439
|
+
|
440
|
+
<xsl:template match="cite">
|
441
|
+
<xsl:choose>
|
442
|
+
<xsl:when test="parent::i">
|
443
|
+
<fo:inline font-style="normal">
|
444
|
+
<xsl:apply-templates select="*|text()"/>
|
445
|
+
</fo:inline>
|
446
|
+
</xsl:when>
|
447
|
+
<xsl:otherwise>
|
448
|
+
<fo:inline font-style="italic">
|
449
|
+
<xsl:apply-templates select="*|text()"/>
|
450
|
+
</fo:inline>
|
451
|
+
</xsl:otherwise>
|
452
|
+
</xsl:choose>
|
453
|
+
</xsl:template>
|
454
|
+
|
455
|
+
<xsl:template match="code">
|
456
|
+
<xsl:choose>
|
457
|
+
<xsl:when test="parent::body">
|
458
|
+
<fo:block font-family="monospace">
|
459
|
+
<xsl:apply-templates select="*|text()"/>
|
460
|
+
</fo:block>
|
461
|
+
</xsl:when>
|
462
|
+
<xsl:otherwise>
|
463
|
+
<fo:inline font-family="monospace">
|
464
|
+
<xsl:apply-templates select="*|text()"/>
|
465
|
+
</fo:inline>
|
466
|
+
</xsl:otherwise>
|
467
|
+
</xsl:choose>
|
468
|
+
</xsl:template>
|
469
|
+
|
470
|
+
<xsl:template match="dl">
|
471
|
+
<xsl:apply-templates select="*"/>
|
472
|
+
</xsl:template>
|
473
|
+
|
474
|
+
<xsl:template match="dt">
|
475
|
+
<fo:block font-weight="bold" space-after="2pt"
|
476
|
+
keep-with-next="always">
|
477
|
+
<xsl:apply-templates select="*|text()"/>
|
478
|
+
</fo:block>
|
479
|
+
</xsl:template>
|
480
|
+
|
481
|
+
<xsl:template match="dd">
|
482
|
+
<fo:block start-indent="1cm">
|
483
|
+
<xsl:attribute name="space-after">
|
484
|
+
<xsl:choose>
|
485
|
+
<xsl:when test="name(following::*[1]) = 'dd'">
|
486
|
+
<xsl:text>3pt</xsl:text>
|
487
|
+
</xsl:when>
|
488
|
+
<xsl:otherwise>
|
489
|
+
<xsl:text>10pt</xsl:text>
|
490
|
+
</xsl:otherwise>
|
491
|
+
</xsl:choose>
|
492
|
+
</xsl:attribute>
|
493
|
+
<xsl:apply-templates select="*|text()"/>
|
494
|
+
</fo:block>
|
495
|
+
</xsl:template>
|
496
|
+
|
497
|
+
<xsl:template match="em">
|
498
|
+
<xsl:choose>
|
499
|
+
<xsl:when test="parent::body">
|
500
|
+
<fo:block font-style="italic">
|
501
|
+
<xsl:apply-templates select="*|text()"/>
|
502
|
+
</fo:block>
|
503
|
+
</xsl:when>
|
504
|
+
<xsl:otherwise>
|
505
|
+
<fo:inline font-style="italic">
|
506
|
+
<xsl:apply-templates select="*|text()"/>
|
507
|
+
</fo:inline>
|
508
|
+
</xsl:otherwise>
|
509
|
+
</xsl:choose>
|
510
|
+
</xsl:template>
|
511
|
+
|
512
|
+
<xsl:template match="font">
|
513
|
+
<xsl:apply-templates select="*|text()"/>
|
514
|
+
</xsl:template>
|
515
|
+
|
516
|
+
<xsl:template match="h1">
|
517
|
+
<xsl:variable name="runningTitleTopOutside" select="text()"/>
|
518
|
+
<fo:block font-size="10pt" font-weight="bold">
|
519
|
+
<fo:marker marker-class-name="runningTitleTopOutside">
|
520
|
+
<xsl:apply-templates select="*|text()"/>
|
521
|
+
</fo:marker>
|
522
|
+
</fo:block>
|
523
|
+
<fo:block font-size="24pt" line-height="32pt"
|
524
|
+
keep-with-next="always"
|
525
|
+
space-after="22pt" font-family="serif">
|
526
|
+
<xsl:attribute name="id">
|
527
|
+
<xsl:choose>
|
528
|
+
<xsl:when test="@id">
|
529
|
+
<xsl:value-of select="@id"/>
|
530
|
+
</xsl:when>
|
531
|
+
<xsl:when test="name(preceding-sibling::*[1]) = 'a' and
|
532
|
+
preceding-sibling::*[1][@name]">
|
533
|
+
<xsl:value-of select="preceding-sibling::*[1]/@name"/>
|
534
|
+
</xsl:when>
|
535
|
+
<xsl:otherwise>
|
536
|
+
<xsl:value-of select="generate-id()"/>
|
537
|
+
</xsl:otherwise>
|
538
|
+
</xsl:choose>
|
539
|
+
</xsl:attribute>
|
540
|
+
<xsl:apply-templates select="*|text()"/>
|
541
|
+
</fo:block>
|
542
|
+
</xsl:template>
|
543
|
+
|
544
|
+
<xsl:template match="h2">
|
545
|
+
<fo:block font-size="18pt" line-height="28pt"
|
546
|
+
keep-with-next="always" space-after="18pt"
|
547
|
+
font-family="serif">
|
548
|
+
<xsl:attribute name="id">
|
549
|
+
<xsl:choose>
|
550
|
+
<xsl:when test="@id">
|
551
|
+
<xsl:value-of select="@id"/>
|
552
|
+
</xsl:when>
|
553
|
+
<xsl:otherwise>
|
554
|
+
<xsl:value-of select="generate-id()"/>
|
555
|
+
</xsl:otherwise>
|
556
|
+
</xsl:choose>
|
557
|
+
</xsl:attribute>
|
558
|
+
<xsl:apply-templates select="*|text()"/>
|
559
|
+
</fo:block>
|
560
|
+
</xsl:template>
|
561
|
+
|
562
|
+
<xsl:template match="h3">
|
563
|
+
<fo:block font-size="14pt" line-height="24pt"
|
564
|
+
keep-with-next="always" space-after="14pt"
|
565
|
+
font-family="serif">
|
566
|
+
<xsl:attribute name="id">
|
567
|
+
<xsl:choose>
|
568
|
+
<xsl:when test="@id">
|
569
|
+
<xsl:value-of select="@id"/>
|
570
|
+
</xsl:when>
|
571
|
+
<xsl:otherwise>
|
572
|
+
<xsl:value-of select="generate-id()"/>
|
573
|
+
</xsl:otherwise>
|
574
|
+
</xsl:choose>
|
575
|
+
</xsl:attribute>
|
576
|
+
<xsl:apply-templates select="*|text()"/>
|
577
|
+
</fo:block>
|
578
|
+
</xsl:template>
|
579
|
+
|
580
|
+
<xsl:template match="h4">
|
581
|
+
<fo:block font-size="12pt" line-height="21pt"
|
582
|
+
keep-with-next="always" space-after="12pt"
|
583
|
+
font-family="serif">
|
584
|
+
<xsl:attribute name="id">
|
585
|
+
<xsl:choose>
|
586
|
+
<xsl:when test="@id">
|
587
|
+
<xsl:value-of select="@id"/>
|
588
|
+
</xsl:when>
|
589
|
+
<xsl:otherwise>
|
590
|
+
<xsl:value-of select="generate-id()"/>
|
591
|
+
</xsl:otherwise>
|
592
|
+
</xsl:choose>
|
593
|
+
</xsl:attribute>
|
594
|
+
<xsl:apply-templates select="*|text()"/>
|
595
|
+
</fo:block>
|
596
|
+
</xsl:template>
|
597
|
+
|
598
|
+
<xsl:template match="h5">
|
599
|
+
<fo:block font-size="10pt" line-height="19pt"
|
600
|
+
keep-with-next="always" space-after="12pt"
|
601
|
+
font-family="serif" text-decoration="underline">
|
602
|
+
<xsl:attribute name="id">
|
603
|
+
<xsl:choose>
|
604
|
+
<xsl:when test="@id">
|
605
|
+
<xsl:value-of select="@id"/>
|
606
|
+
</xsl:when>
|
607
|
+
<xsl:otherwise>
|
608
|
+
<xsl:value-of select="generate-id()"/>
|
609
|
+
</xsl:otherwise>
|
610
|
+
</xsl:choose>
|
611
|
+
</xsl:attribute>
|
612
|
+
<xsl:apply-templates select="*|text()"/>
|
613
|
+
</fo:block>
|
614
|
+
</xsl:template>
|
615
|
+
|
616
|
+
<xsl:template match="h6">
|
617
|
+
<fo:block font-size="10pt" line-height="17pt"
|
618
|
+
keep-with-next="always" space-after="12pt"
|
619
|
+
font-family="serif" font-style="italic"
|
620
|
+
text-decoration="underline">
|
621
|
+
<xsl:attribute name="id">
|
622
|
+
<xsl:choose>
|
623
|
+
<xsl:when test="@id">
|
624
|
+
<xsl:value-of select="@id"/>
|
625
|
+
</xsl:when>
|
626
|
+
<xsl:otherwise>
|
627
|
+
<xsl:value-of select="generate-id()"/>
|
628
|
+
</xsl:otherwise>
|
629
|
+
</xsl:choose>
|
630
|
+
</xsl:attribute>
|
631
|
+
<xsl:apply-templates select="*|text()"/>
|
632
|
+
</fo:block>
|
633
|
+
</xsl:template>
|
634
|
+
|
635
|
+
<xsl:template match="hr">
|
636
|
+
<fo:block break-before="page">
|
637
|
+
<!--<fo:leader leader-pattern="rule"/>-->
|
638
|
+
</fo:block>
|
639
|
+
</xsl:template>
|
640
|
+
|
641
|
+
<xsl:template match="i">
|
642
|
+
<fo:inline font-style="italic">
|
643
|
+
<xsl:apply-templates select="*|text()"/>
|
644
|
+
</fo:inline>
|
645
|
+
</xsl:template>
|
646
|
+
|
647
|
+
<xsl:template match="img">
|
648
|
+
<fo:block space-after="12pt">
|
649
|
+
<fo:external-graphic src="{@src}">
|
650
|
+
<xsl:if test="@width">
|
651
|
+
<xsl:attribute name="width">
|
652
|
+
<xsl:choose>
|
653
|
+
<xsl:when test="contains(@width, 'px')">
|
654
|
+
<xsl:value-of select="@width"/>
|
655
|
+
</xsl:when>
|
656
|
+
<xsl:otherwise>
|
657
|
+
<xsl:value-of select="concat(@width, 'px')"/>
|
658
|
+
</xsl:otherwise>
|
659
|
+
</xsl:choose>
|
660
|
+
</xsl:attribute>
|
661
|
+
</xsl:if>
|
662
|
+
<xsl:if test="@height">
|
663
|
+
<xsl:attribute name="height">
|
664
|
+
<xsl:choose>
|
665
|
+
<xsl:when test="contains(@height, 'px')">
|
666
|
+
<xsl:value-of select="@height"/>
|
667
|
+
</xsl:when>
|
668
|
+
<xsl:otherwise>
|
669
|
+
<xsl:value-of select="concat(@height, 'px')"/>
|
670
|
+
</xsl:otherwise>
|
671
|
+
</xsl:choose>
|
672
|
+
</xsl:attribute>
|
673
|
+
</xsl:if>
|
674
|
+
</fo:external-graphic>
|
675
|
+
</fo:block>
|
676
|
+
</xsl:template>
|
677
|
+
|
678
|
+
<xsl:template match="kbd">
|
679
|
+
<fo:inline font-family="monospace" font-size="110%">
|
680
|
+
<xsl:apply-templates select="*|text()"/>
|
681
|
+
</fo:inline>
|
682
|
+
</xsl:template>
|
683
|
+
|
684
|
+
<xsl:template match="nobr">
|
685
|
+
<fo:inline wrap-option="no-wrap">
|
686
|
+
<xsl:apply-templates select="*|text()"/>
|
687
|
+
</fo:inline>
|
688
|
+
</xsl:template>
|
689
|
+
|
690
|
+
<xsl:template match="ol">
|
691
|
+
<fo:list-block provisional-distance-between-starts="1cm"
|
692
|
+
provisional-label-separation="0.5cm">
|
693
|
+
<xsl:attribute name="space-after">
|
694
|
+
<xsl:choose>
|
695
|
+
<xsl:when test="ancestor::ul or ancestor::ol">
|
696
|
+
<xsl:text>0pt</xsl:text>
|
697
|
+
</xsl:when>
|
698
|
+
<xsl:otherwise>
|
699
|
+
<xsl:text>12pt</xsl:text>
|
700
|
+
</xsl:otherwise>
|
701
|
+
</xsl:choose>
|
702
|
+
</xsl:attribute>
|
703
|
+
<xsl:attribute name="start-indent">
|
704
|
+
<xsl:variable name="ancestors">
|
705
|
+
<xsl:choose>
|
706
|
+
<xsl:when test="count(ancestor::ol) or count(ancestor::ul)">
|
707
|
+
<xsl:value-of select="1 +
|
708
|
+
(count(ancestor::ol) +
|
709
|
+
count(ancestor::ul)) *
|
710
|
+
1.25"/>
|
711
|
+
</xsl:when>
|
712
|
+
<xsl:otherwise>
|
713
|
+
<xsl:text>1</xsl:text>
|
714
|
+
</xsl:otherwise>
|
715
|
+
</xsl:choose>
|
716
|
+
</xsl:variable>
|
717
|
+
<xsl:value-of select="concat($ancestors, 'cm')"/>
|
718
|
+
</xsl:attribute>
|
719
|
+
<xsl:apply-templates select="*"/>
|
720
|
+
</fo:list-block>
|
721
|
+
</xsl:template>
|
722
|
+
|
723
|
+
<xsl:template match="ol/li">
|
724
|
+
<fo:list-item>
|
725
|
+
<fo:list-item-label end-indent="label-end()">
|
726
|
+
<fo:block>
|
727
|
+
<xsl:variable name="value-attr">
|
728
|
+
<xsl:choose>
|
729
|
+
<xsl:when test="../@start">
|
730
|
+
<xsl:number value="position() + ../@start - 1"/>
|
731
|
+
</xsl:when>
|
732
|
+
<xsl:otherwise>
|
733
|
+
<xsl:number value="position()"/>
|
734
|
+
</xsl:otherwise>
|
735
|
+
</xsl:choose>
|
736
|
+
</xsl:variable>
|
737
|
+
<xsl:choose>
|
738
|
+
<xsl:when test="../@type='i'">
|
739
|
+
<xsl:number value="$value-attr" format="i. "/>
|
740
|
+
</xsl:when>
|
741
|
+
<xsl:when test="../@type='I'">
|
742
|
+
<xsl:number value="$value-attr" format="I. "/>
|
743
|
+
</xsl:when>
|
744
|
+
<xsl:when test="../@type='a'">
|
745
|
+
<xsl:number value="$value-attr" format="a. "/>
|
746
|
+
</xsl:when>
|
747
|
+
<xsl:when test="../@type='A'">
|
748
|
+
<xsl:number value="$value-attr" format="A. "/>
|
749
|
+
</xsl:when>
|
750
|
+
<xsl:otherwise>
|
751
|
+
<xsl:number value="$value-attr" format="1. "/>
|
752
|
+
</xsl:otherwise>
|
753
|
+
</xsl:choose>
|
754
|
+
</fo:block>
|
755
|
+
</fo:list-item-label>
|
756
|
+
<fo:list-item-body start-indent="body-start()">
|
757
|
+
<fo:block>
|
758
|
+
<xsl:apply-templates select="*|text()"/>
|
759
|
+
</fo:block>
|
760
|
+
</fo:list-item-body>
|
761
|
+
</fo:list-item>
|
762
|
+
</xsl:template>
|
763
|
+
|
764
|
+
<xsl:template match="p">
|
765
|
+
<fo:block font-size="10pt" line-height="13pt"
|
766
|
+
space-after="10pt">
|
767
|
+
<xsl:apply-templates select="*|text()"/>
|
768
|
+
</fo:block>
|
769
|
+
</xsl:template>
|
770
|
+
|
771
|
+
<xsl:template match="pre">
|
772
|
+
<fo:block font-size="9pt" font-family="monospace"
|
773
|
+
white-space-collapse="false" wrap-option="no-wrap">
|
774
|
+
<xsl:apply-templates select="*|text()"/>
|
775
|
+
</fo:block>
|
776
|
+
</xsl:template>
|
777
|
+
|
778
|
+
<xsl:template match="samp">
|
779
|
+
<fo:inline font-family="monospace" font-size="110%">
|
780
|
+
<xsl:apply-templates select="*|text()"/>
|
781
|
+
</fo:inline>
|
782
|
+
</xsl:template>
|
783
|
+
|
784
|
+
<xsl:template match="small">
|
785
|
+
<fo:inline font-size="80%">
|
786
|
+
<xsl:apply-templates select="*|text()"/>
|
787
|
+
</fo:inline>
|
788
|
+
</xsl:template>
|
789
|
+
|
790
|
+
<xsl:template match="strike">
|
791
|
+
<fo:inline text-decoration="line-through">
|
792
|
+
<xsl:apply-templates select="*|text()"/>
|
793
|
+
</fo:inline>
|
794
|
+
</xsl:template>
|
795
|
+
|
796
|
+
<xsl:template match="strong">
|
797
|
+
<xsl:choose>
|
798
|
+
<xsl:when test="parent::body">
|
799
|
+
<fo:block font-weight="bold">
|
800
|
+
<xsl:apply-templates select="*|text()"/>
|
801
|
+
</fo:block>
|
802
|
+
</xsl:when>
|
803
|
+
<xsl:otherwise>
|
804
|
+
<fo:inline font-weight="bold">
|
805
|
+
<xsl:apply-templates select="*|text()"/>
|
806
|
+
</fo:inline>
|
807
|
+
</xsl:otherwise>
|
808
|
+
</xsl:choose>
|
809
|
+
</xsl:template>
|
810
|
+
|
811
|
+
<xsl:template match="sub">
|
812
|
+
<fo:inline vertical-align="sub" font-size="75%">
|
813
|
+
<xsl:apply-templates select="*|text()"/>
|
814
|
+
</fo:inline>
|
815
|
+
</xsl:template>
|
816
|
+
|
817
|
+
<xsl:template match="sup">
|
818
|
+
<fo:inline vertical-align="super" font-size="75%">
|
819
|
+
<xsl:apply-templates select="*|text()"/>
|
820
|
+
</fo:inline>
|
821
|
+
</xsl:template>
|
822
|
+
|
823
|
+
<!-- TODO verschiedene tabellenbreiten -->
|
824
|
+
<xsl:template match="table">
|
825
|
+
<fo:table table-layout="fixed">
|
826
|
+
<xsl:choose>
|
827
|
+
<xsl:when test="@cols">
|
828
|
+
<xsl:call-template name="build-columns">
|
829
|
+
<xsl:with-param name="cols"
|
830
|
+
select="concat(@cols, ' ')"/>
|
831
|
+
</xsl:call-template>
|
832
|
+
</xsl:when>
|
833
|
+
<xsl:otherwise>
|
834
|
+
<!-- <fo:table-column column-width="200pt"/> -->
|
835
|
+
</xsl:otherwise>
|
836
|
+
</xsl:choose>
|
837
|
+
<fo:table-body>
|
838
|
+
<xsl:apply-templates select="*"/>
|
839
|
+
</fo:table-body>
|
840
|
+
</fo:table>
|
841
|
+
</xsl:template>
|
842
|
+
|
843
|
+
<!-- TODO sinnvolle default formatierung einer Tabelle -->
|
844
|
+
<xsl:template match="td">
|
845
|
+
<fo:table-cell
|
846
|
+
padding-start="3pt" padding-end="3pt"
|
847
|
+
padding-before="3pt" padding-after="3pt">
|
848
|
+
<xsl:if test="@colspan">
|
849
|
+
<xsl:attribute name="number-columns-spanned">
|
850
|
+
<xsl:value-of select="@colspan"/>
|
851
|
+
</xsl:attribute>
|
852
|
+
</xsl:if>
|
853
|
+
<xsl:if test="@rowspan">
|
854
|
+
<xsl:attribute name="number-rows-spanned">
|
855
|
+
<xsl:value-of select="@rowspan"/>
|
856
|
+
</xsl:attribute>
|
857
|
+
</xsl:if>
|
858
|
+
<xsl:if test="@border='1' or
|
859
|
+
ancestor::tr[@border='1'] or
|
860
|
+
ancestor::thead[@border='1'] or
|
861
|
+
ancestor::table[@border='1']">
|
862
|
+
<xsl:attribute name="border-style">
|
863
|
+
<xsl:text>solid</xsl:text>
|
864
|
+
</xsl:attribute>
|
865
|
+
<xsl:attribute name="border-color">
|
866
|
+
<xsl:text>black</xsl:text>
|
867
|
+
</xsl:attribute>
|
868
|
+
<xsl:attribute name="border-width">
|
869
|
+
<xsl:text>1pt</xsl:text>
|
870
|
+
</xsl:attribute>
|
871
|
+
</xsl:if>
|
872
|
+
<xsl:variable name="align">
|
873
|
+
<xsl:choose>
|
874
|
+
<xsl:when test="@align">
|
875
|
+
<xsl:choose>
|
876
|
+
<xsl:when test="@align='center'">
|
877
|
+
<xsl:text>center</xsl:text>
|
878
|
+
</xsl:when>
|
879
|
+
<xsl:when test="@align='right'">
|
880
|
+
<xsl:text>end</xsl:text>
|
881
|
+
</xsl:when>
|
882
|
+
<xsl:when test="@align='justify'">
|
883
|
+
<xsl:text>justify</xsl:text>
|
884
|
+
</xsl:when>
|
885
|
+
<xsl:otherwise>
|
886
|
+
<xsl:text>start</xsl:text>
|
887
|
+
</xsl:otherwise>
|
888
|
+
</xsl:choose>
|
889
|
+
</xsl:when>
|
890
|
+
<xsl:when test="ancestor::tr[@align]">
|
891
|
+
<xsl:choose>
|
892
|
+
<xsl:when test="ancestor::tr/@align='center'">
|
893
|
+
<xsl:text>center</xsl:text>
|
894
|
+
</xsl:when>
|
895
|
+
<xsl:when test="ancestor::tr/@align='right'">
|
896
|
+
<xsl:text>end</xsl:text>
|
897
|
+
</xsl:when>
|
898
|
+
<xsl:when test="ancestor::tr/@align='justify'">
|
899
|
+
<xsl:text>justify</xsl:text>
|
900
|
+
</xsl:when>
|
901
|
+
<xsl:otherwise>
|
902
|
+
<xsl:text>start</xsl:text>
|
903
|
+
</xsl:otherwise>
|
904
|
+
</xsl:choose>
|
905
|
+
</xsl:when>
|
906
|
+
<xsl:when test="ancestor::thead">
|
907
|
+
<xsl:text>center</xsl:text>
|
908
|
+
</xsl:when>
|
909
|
+
<xsl:when test="ancestor::table[@align]">
|
910
|
+
<xsl:choose>
|
911
|
+
<xsl:when test="ancestor::table/@align='center'">
|
912
|
+
<xsl:text>center</xsl:text>
|
913
|
+
</xsl:when>
|
914
|
+
<xsl:when test="ancestor::table/@align='right'">
|
915
|
+
<xsl:text>end</xsl:text>
|
916
|
+
</xsl:when>
|
917
|
+
<xsl:when test="ancestor::table/@align='justify'">
|
918
|
+
<xsl:text>justify</xsl:text>
|
919
|
+
</xsl:when>
|
920
|
+
<xsl:otherwise>
|
921
|
+
<xsl:text>start</xsl:text>
|
922
|
+
</xsl:otherwise>
|
923
|
+
</xsl:choose>
|
924
|
+
</xsl:when>
|
925
|
+
<xsl:otherwise>
|
926
|
+
<xsl:text>start</xsl:text>
|
927
|
+
</xsl:otherwise>
|
928
|
+
</xsl:choose>
|
929
|
+
</xsl:variable>
|
930
|
+
<fo:block text-align="{$align}">
|
931
|
+
<xsl:apply-templates select="*|text()"/>
|
932
|
+
</fo:block>
|
933
|
+
</fo:table-cell>
|
934
|
+
</xsl:template>
|
935
|
+
|
936
|
+
<xsl:template match="tfoot">
|
937
|
+
<xsl:apply-templates select="tr"/>
|
938
|
+
</xsl:template>
|
939
|
+
|
940
|
+
<xsl:template match="th">
|
941
|
+
<fo:table-cell
|
942
|
+
padding-start="3pt" padding-end="3pt"
|
943
|
+
padding-before="3pt" padding-after="3pt">
|
944
|
+
<xsl:if test="@border='1' or
|
945
|
+
ancestor::tr[@border='1'] or
|
946
|
+
ancestor::table[@border='1']">
|
947
|
+
<xsl:attribute name="border-style">
|
948
|
+
<xsl:text>solid</xsl:text>
|
949
|
+
</xsl:attribute>
|
950
|
+
<xsl:attribute name="border-color">
|
951
|
+
<xsl:text>black</xsl:text>
|
952
|
+
</xsl:attribute>
|
953
|
+
<xsl:attribute name="border-width">
|
954
|
+
<xsl:text>1pt</xsl:text>
|
955
|
+
</xsl:attribute>
|
956
|
+
</xsl:if>
|
957
|
+
<fo:block font-weight="bold" text-align="center">
|
958
|
+
<xsl:apply-templates select="*|text()"/>
|
959
|
+
</fo:block>
|
960
|
+
</fo:table-cell>
|
961
|
+
</xsl:template>
|
962
|
+
|
963
|
+
<xsl:template match="thead">
|
964
|
+
<xsl:apply-templates select="tr"/>
|
965
|
+
</xsl:template>
|
966
|
+
|
967
|
+
<xsl:template match="title">
|
968
|
+
<fo:block space-after="18pt" line-height="27pt"
|
969
|
+
font-size="24pt" font-weight="bold" text-align="center">
|
970
|
+
<xsl:apply-templates select="*|text()"/>
|
971
|
+
</fo:block>
|
972
|
+
</xsl:template>
|
973
|
+
|
974
|
+
<xsl:template match="tr">
|
975
|
+
<fo:table-row>
|
976
|
+
<xsl:apply-templates select="*|text()"/>
|
977
|
+
</fo:table-row>
|
978
|
+
</xsl:template>
|
979
|
+
|
980
|
+
<xsl:template match="tt">
|
981
|
+
<fo:inline font-family="monospace">
|
982
|
+
<xsl:apply-templates select="*|text()"/>
|
983
|
+
</fo:inline>
|
984
|
+
</xsl:template>
|
985
|
+
|
986
|
+
<xsl:template match="u">
|
987
|
+
<fo:inline text-decoration="underline">
|
988
|
+
<xsl:apply-templates select="*|text()"/>
|
989
|
+
</fo:inline>
|
990
|
+
</xsl:template>
|
991
|
+
|
992
|
+
<xsl:template match="ul">
|
993
|
+
<fo:list-block provisional-distance-between-starts="1cm"
|
994
|
+
provisional-label-separation="0.5cm">
|
995
|
+
<xsl:attribute name="space-after">
|
996
|
+
<xsl:choose>
|
997
|
+
<xsl:when test="ancestor::ul or ancestor::ol">
|
998
|
+
<xsl:text>0pt</xsl:text>
|
999
|
+
</xsl:when>
|
1000
|
+
<xsl:otherwise>
|
1001
|
+
<xsl:text>12pt</xsl:text>
|
1002
|
+
</xsl:otherwise>
|
1003
|
+
</xsl:choose>
|
1004
|
+
</xsl:attribute>
|
1005
|
+
<xsl:attribute name="start-indent">
|
1006
|
+
<xsl:variable name="ancestors">
|
1007
|
+
<xsl:choose>
|
1008
|
+
<xsl:when test="count(ancestor::ol) or count(ancestor::ul)">
|
1009
|
+
<xsl:value-of select="1 +
|
1010
|
+
(count(ancestor::ol) +
|
1011
|
+
count(ancestor::ul)) *
|
1012
|
+
1.25"/>
|
1013
|
+
</xsl:when>
|
1014
|
+
<xsl:otherwise>
|
1015
|
+
<xsl:text>1</xsl:text>
|
1016
|
+
</xsl:otherwise>
|
1017
|
+
</xsl:choose>
|
1018
|
+
</xsl:variable>
|
1019
|
+
<xsl:value-of select="concat($ancestors, 'cm')"/>
|
1020
|
+
</xsl:attribute>
|
1021
|
+
<xsl:apply-templates select="*"/>
|
1022
|
+
</fo:list-block>
|
1023
|
+
</xsl:template>
|
1024
|
+
|
1025
|
+
<xsl:template match="ul/li">
|
1026
|
+
<fo:list-item>
|
1027
|
+
<fo:list-item-label end-indent="label-end()">
|
1028
|
+
<fo:block>•</fo:block>
|
1029
|
+
</fo:list-item-label>
|
1030
|
+
<fo:list-item-body start-indent="body-start()">
|
1031
|
+
<fo:block>
|
1032
|
+
<xsl:apply-templates select="*|text()"/>
|
1033
|
+
</fo:block>
|
1034
|
+
</fo:list-item-body>
|
1035
|
+
</fo:list-item>
|
1036
|
+
</xsl:template>
|
1037
|
+
|
1038
|
+
<xsl:template match="var">
|
1039
|
+
<fo:inline font-style="italic">
|
1040
|
+
<xsl:apply-templates select="*|text()"/>
|
1041
|
+
</fo:inline>
|
1042
|
+
</xsl:template>
|
1043
|
+
|
1044
|
+
<xsl:template name="toc">
|
1045
|
+
<fo:block>
|
1046
|
+
<!--<fo:leader leader-pattern="rule" space-after="18pt"/>-->
|
1047
|
+
</fo:block>
|
1048
|
+
<fo:block space-after="12pt" id="TableOfContents"
|
1049
|
+
line-height="21pt" font-size="18pt" text-align="start">
|
1050
|
+
Inhaltsverzeichnis
|
1051
|
+
</fo:block>
|
1052
|
+
<fo:block line-height="11pt" font-size="8pt"
|
1053
|
+
space-after="6pt">
|
1054
|
+
Wenn Sie dieses Dokument online im Pdf-Viewer betrachten,
|
1055
|
+
sind die Links im Inhaltsverzeichnis direkt anklickbar.
|
1056
|
+
</fo:block>
|
1057
|
+
<xsl:for-each select="/html/body//h1 |
|
1058
|
+
/html/body//h2 |
|
1059
|
+
/html/body//h3 |
|
1060
|
+
/html/body//h4">
|
1061
|
+
<fo:block text-align-last="justify" line-height="17pt"
|
1062
|
+
font-size="12pt" space-after="3pt" text-align="start"
|
1063
|
+
text-indent="-1cm">
|
1064
|
+
<xsl:attribute name="start-indent">
|
1065
|
+
<xsl:choose>
|
1066
|
+
<xsl:when test="name() = 'h1'">
|
1067
|
+
<xsl:text>1cm</xsl:text>
|
1068
|
+
</xsl:when>
|
1069
|
+
<xsl:when test="name() = 'h2'">
|
1070
|
+
<xsl:text>1.5cm</xsl:text>
|
1071
|
+
</xsl:when>
|
1072
|
+
<xsl:when test="name() = 'h3'">
|
1073
|
+
<xsl:text>2cm</xsl:text>
|
1074
|
+
</xsl:when>
|
1075
|
+
<xsl:when test="name() = 'h4'">
|
1076
|
+
<xsl:text>2.5cm</xsl:text>
|
1077
|
+
</xsl:when>
|
1078
|
+
</xsl:choose>
|
1079
|
+
</xsl:attribute>
|
1080
|
+
<fo:basic-link color="blue">
|
1081
|
+
<xsl:attribute name="internal-destination">
|
1082
|
+
<xsl:choose>
|
1083
|
+
<xsl:when test="@id">
|
1084
|
+
<xsl:value-of select="@id"/>
|
1085
|
+
</xsl:when>
|
1086
|
+
<xsl:when test="name(preceding-sibling::*[1]) = 'a' and
|
1087
|
+
preceding-sibling::*[1][@name]">
|
1088
|
+
<xsl:value-of select="preceding-sibling::*[1]/@name"/>
|
1089
|
+
</xsl:when>
|
1090
|
+
<xsl:otherwise>
|
1091
|
+
<xsl:value-of select="generate-id()"/>
|
1092
|
+
</xsl:otherwise>
|
1093
|
+
</xsl:choose>
|
1094
|
+
</xsl:attribute>
|
1095
|
+
<xsl:apply-templates select="*|text()"/>
|
1096
|
+
</fo:basic-link>
|
1097
|
+
<fo:leader leader-pattern="dots"
|
1098
|
+
leader-pattern-width="5pt"/>
|
1099
|
+
<fo:page-number-citation>
|
1100
|
+
<xsl:attribute name="ref-id">
|
1101
|
+
<xsl:choose>
|
1102
|
+
<xsl:when test="@id">
|
1103
|
+
<xsl:value-of select="@id"/>
|
1104
|
+
</xsl:when>
|
1105
|
+
<xsl:when test="name(preceding-sibling::*[1]) = 'a' and
|
1106
|
+
preceding-sibling::*[1][@name]">
|
1107
|
+
<xsl:value-of select="preceding-sibling::*[1]/@name"/>
|
1108
|
+
</xsl:when>
|
1109
|
+
<xsl:otherwise>
|
1110
|
+
<xsl:value-of select="generate-id()"/>
|
1111
|
+
</xsl:otherwise>
|
1112
|
+
</xsl:choose>
|
1113
|
+
</xsl:attribute>
|
1114
|
+
</fo:page-number-citation>
|
1115
|
+
</fo:block>
|
1116
|
+
</xsl:for-each>
|
1117
|
+
<fo:block break-before="page" />
|
1118
|
+
</xsl:template>
|
1119
|
+
|
1120
|
+
<xsl:template name="generate-bookmarks">
|
1121
|
+
<fo:bookmark-tree>
|
1122
|
+
<fo:bookmark internal-destination="TableOfContents">
|
1123
|
+
<fo:bookmark-title>Inhaltsverzeichnis</fo:bookmark-title>
|
1124
|
+
</fo:bookmark>
|
1125
|
+
<xsl:for-each select="/html/body//h1">
|
1126
|
+
<xsl:variable name="current-h1" select="generate-id()"/>
|
1127
|
+
<fo:bookmark>
|
1128
|
+
<xsl:attribute name="internal-destination">
|
1129
|
+
<xsl:choose>
|
1130
|
+
<xsl:when test="@id">
|
1131
|
+
<xsl:value-of select="@id"/>
|
1132
|
+
</xsl:when>
|
1133
|
+
<xsl:when test="name(preceding-sibling::*[1]) = 'a' and
|
1134
|
+
preceding-sibling::*[1][@name]">
|
1135
|
+
<xsl:value-of select="preceding-sibling::*[1]/@name"/>
|
1136
|
+
</xsl:when>
|
1137
|
+
<xsl:otherwise>
|
1138
|
+
<xsl:value-of select="generate-id()"/>
|
1139
|
+
</xsl:otherwise>
|
1140
|
+
</xsl:choose>
|
1141
|
+
</xsl:attribute>
|
1142
|
+
<fo:bookmark-title>
|
1143
|
+
<xsl:value-of select="."/>
|
1144
|
+
</fo:bookmark-title>
|
1145
|
+
<xsl:for-each select="following-sibling::h2">
|
1146
|
+
<xsl:variable name="current-h2" select="generate-id()"/>
|
1147
|
+
<xsl:if
|
1148
|
+
test="generate-id(preceding-sibling::h1[1]) = $current-h1">
|
1149
|
+
<fo:bookmark>
|
1150
|
+
<xsl:attribute name="internal-destination">
|
1151
|
+
<xsl:choose>
|
1152
|
+
<xsl:when test="@id">
|
1153
|
+
<xsl:value-of select="@id"/>
|
1154
|
+
</xsl:when>
|
1155
|
+
<xsl:otherwise>
|
1156
|
+
<xsl:value-of select="$current-h2"/>
|
1157
|
+
</xsl:otherwise>
|
1158
|
+
</xsl:choose>
|
1159
|
+
</xsl:attribute>
|
1160
|
+
<fo:bookmark-title>
|
1161
|
+
<xsl:value-of select="."/>
|
1162
|
+
</fo:bookmark-title>
|
1163
|
+
<xsl:for-each select="following-sibling::h3">
|
1164
|
+
<xsl:variable name="current-h3" select="generate-id()"/>
|
1165
|
+
<xsl:if
|
1166
|
+
test="generate-id(preceding-sibling::h2[1]) = $current-h2">
|
1167
|
+
<fo:bookmark>
|
1168
|
+
<xsl:attribute name="internal-destination">
|
1169
|
+
<xsl:choose>
|
1170
|
+
<xsl:when test="@id">
|
1171
|
+
<xsl:value-of select="@id"/>
|
1172
|
+
</xsl:when>
|
1173
|
+
<xsl:otherwise>
|
1174
|
+
<xsl:value-of select="$current-h2"/>
|
1175
|
+
</xsl:otherwise>
|
1176
|
+
</xsl:choose>
|
1177
|
+
</xsl:attribute>
|
1178
|
+
<fo:bookmark-title>
|
1179
|
+
<xsl:value-of select="."/>
|
1180
|
+
</fo:bookmark-title>
|
1181
|
+
<xsl:for-each select="following-sibling::h4">
|
1182
|
+
<xsl:if
|
1183
|
+
test="generate-id(preceding-sibling::h3[1]) = $current-h3">
|
1184
|
+
<fo:bookmark>
|
1185
|
+
<xsl:attribute name="internal-destination">
|
1186
|
+
<xsl:choose>
|
1187
|
+
<xsl:when test="@id">
|
1188
|
+
<xsl:value-of select="@id"/>
|
1189
|
+
</xsl:when>
|
1190
|
+
<xsl:otherwise>
|
1191
|
+
<xsl:value-of select="$current-h3"/>
|
1192
|
+
</xsl:otherwise>
|
1193
|
+
</xsl:choose>
|
1194
|
+
</xsl:attribute>
|
1195
|
+
<fo:bookmark-title>
|
1196
|
+
<xsl:value-of select="."/>
|
1197
|
+
</fo:bookmark-title>
|
1198
|
+
</fo:bookmark>
|
1199
|
+
</xsl:if>
|
1200
|
+
</xsl:for-each>
|
1201
|
+
</fo:bookmark>
|
1202
|
+
</xsl:if>
|
1203
|
+
</xsl:for-each>
|
1204
|
+
</fo:bookmark>
|
1205
|
+
</xsl:if>
|
1206
|
+
</xsl:for-each>
|
1207
|
+
</fo:bookmark>
|
1208
|
+
</xsl:for-each>
|
1209
|
+
</fo:bookmark-tree>
|
1210
|
+
</xsl:template>
|
1211
|
+
|
1212
|
+
<xsl:template name="build-columns">
|
1213
|
+
<xsl:param name="cols"/>
|
1214
|
+
|
1215
|
+
<xsl:if test="string-length(normalize-space($cols))">
|
1216
|
+
<xsl:variable name="next-col">
|
1217
|
+
<xsl:value-of select="substring-before($cols, ' ')"/>
|
1218
|
+
</xsl:variable>
|
1219
|
+
<xsl:variable name="remaining-cols">
|
1220
|
+
<xsl:value-of select="substring-after($cols, ' ')"/>
|
1221
|
+
</xsl:variable>
|
1222
|
+
<xsl:choose>
|
1223
|
+
<xsl:when test="contains($next-col, 'pt')">
|
1224
|
+
<fo:table-column column-width="{$next-col}"/>
|
1225
|
+
</xsl:when>
|
1226
|
+
<xsl:when test="number($next-col) > 0">
|
1227
|
+
<fo:table-column column-width="{concat($next-col, 'pt')}"/>
|
1228
|
+
</xsl:when>
|
1229
|
+
<xsl:otherwise>
|
1230
|
+
<fo:table-column column-width="50pt"/>
|
1231
|
+
</xsl:otherwise>
|
1232
|
+
</xsl:choose>
|
1233
|
+
|
1234
|
+
<xsl:call-template name="build-columns">
|
1235
|
+
<xsl:with-param name="cols" select="concat($remaining-cols, ' ')"/>
|
1236
|
+
</xsl:call-template>
|
1237
|
+
</xsl:if>
|
1238
|
+
</xsl:template>
|
1239
|
+
|
1240
|
+
</xsl:stylesheet>
|