metanorma-ribose 1.7.5 → 1.7.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 426b3068b124b0626935ce64b7df56671dd148c50944d3952ae49adf8395d1f4
4
- data.tar.gz: 7c9837e15b3adaca28e6e23e76719d0e3e4b1e59743eee3f1e665fcffb6d45be
3
+ metadata.gz: 85a67a65aaf39dbf6e67b37b7b49921cb2dc7dacf3035d028282902d4ed204be
4
+ data.tar.gz: baf1941de34db0f2381201e2d8deee08b71bae21d6d73a5bddd7a8a218723f80
5
5
  SHA512:
6
- metadata.gz: a76e2f20bc7a3dca06a8a7d5e79aa8ce458a2ce9c12a5e5ea285dcceab6a33d077c9b54352ecf62a35e7f5badce48d64e47934174def034850c518002325398c
7
- data.tar.gz: 984e5030a1bf8abfe9bd4c632ef75ad13bafc0e7e8e645fd154a17170870d41aad6b5cfe08554d01136369646865091021ede74ed32c6660e12a138ab37c9921
6
+ metadata.gz: 4d0122b1bcb9e25adf9152ea785c6ed7166a8c6d57b0b012d740ea28a40231429e650f8e12097d0bfb6ff0caf9ca1673260f6dc910b6a727655a1602150f5dc6
7
+ data.tar.gz: c84a21a248310430fc2d9d9d4ee9cb1f7d3b2dea88e2162b33d971fa34b515a1e9798a00d00486fc610c03ec5af229bebb59dc93febf6a5b23e70a33c9d02207
@@ -16,7 +16,7 @@ jobs:
16
16
  strategy:
17
17
  fail-fast: false
18
18
  matrix:
19
- ruby: [ '3.0', '2.7', '2.6', '2.5', '2.4' ]
19
+ ruby: [ '3.0', '2.7', '2.6', '2.5' ]
20
20
  os: [ ubuntu-latest, windows-latest, macos-latest ]
21
21
  experimental: [ false ]
22
22
  steps:
@@ -204,6 +204,18 @@
204
204
  </zeroOrMore>
205
205
  </element>
206
206
  </define>
207
+ <define name="dt">
208
+ <element name="dt">
209
+ <optional>
210
+ <attribute name="id">
211
+ <data type="ID"/>
212
+ </attribute>
213
+ </optional>
214
+ <zeroOrMore>
215
+ <ref name="TextElement"/>
216
+ </zeroOrMore>
217
+ </element>
218
+ </define>
207
219
  <define name="example">
208
220
  <element name="example">
209
221
  <attribute name="id">
@@ -899,7 +911,7 @@
899
911
  </include>
900
912
  <!-- end overrides -->
901
913
  <define name="docsubtype">
902
- <element name="docsubtype">
914
+ <element name="subdoctype">
903
915
  <ref name="DocumentSubtype"/>
904
916
  </element>
905
917
  </define>
@@ -955,7 +967,34 @@
955
967
  <define name="concept">
956
968
  <element name="concept">
957
969
  <optional>
958
- <attribute name="term"/>
970
+ <attribute name="ital">
971
+ <data type="boolean"/>
972
+ </attribute>
973
+ </optional>
974
+ <optional>
975
+ <attribute name="ref">
976
+ <data type="boolean"/>
977
+ </attribute>
978
+ </optional>
979
+ <optional>
980
+ <element name="refterm">
981
+ <zeroOrMore>
982
+ <choice>
983
+ <ref name="PureTextElement"/>
984
+ <ref name="stem"/>
985
+ </choice>
986
+ </zeroOrMore>
987
+ </element>
988
+ </optional>
989
+ <optional>
990
+ <element name="renderterm">
991
+ <zeroOrMore>
992
+ <choice>
993
+ <ref name="PureTextElement"/>
994
+ <ref name="stem"/>
995
+ </choice>
996
+ </zeroOrMore>
997
+ </element>
959
998
  </optional>
960
999
  <choice>
961
1000
  <ref name="eref"/>
@@ -972,8 +1011,14 @@
972
1011
  <ref name="imagemap"/>
973
1012
  <ref name="svgmap"/>
974
1013
  <ref name="inputform"/>
1014
+ <ref name="toc"/>
975
1015
  </choice>
976
1016
  </define>
1017
+ <define name="toc">
1018
+ <element name="toc">
1019
+ <ref name="ul"/>
1020
+ </element>
1021
+ </define>
977
1022
  <define name="inputform">
978
1023
  <element name="form">
979
1024
  <attribute name="id">
@@ -981,6 +1026,9 @@
981
1026
  </attribute>
982
1027
  <attribute name="name"/>
983
1028
  <attribute name="action"/>
1029
+ <optional>
1030
+ <attribute name="class"/>
1031
+ </optional>
984
1032
  <zeroOrMore>
985
1033
  <choice>
986
1034
  <ref name="TextElement"/>
@@ -1212,6 +1260,12 @@
1212
1260
  <optional>
1213
1261
  <attribute name="type"/>
1214
1262
  </optional>
1263
+ <optional>
1264
+ <attribute name="identifier"/>
1265
+ </optional>
1266
+ <optional>
1267
+ <attribute name="prefix"/>
1268
+ </optional>
1215
1269
  <text/>
1216
1270
  </define>
1217
1271
  <define name="ics">
@@ -1473,26 +1527,26 @@
1473
1527
  <optional>
1474
1528
  <ref name="section-title"/>
1475
1529
  </optional>
1476
- <group>
1530
+ <choice>
1477
1531
  <choice>
1478
1532
  <group>
1479
- <zeroOrMore>
1533
+ <oneOrMore>
1480
1534
  <ref name="BasicBlock"/>
1481
- </zeroOrMore>
1535
+ </oneOrMore>
1482
1536
  <zeroOrMore>
1483
1537
  <ref name="note"/>
1484
1538
  </zeroOrMore>
1485
1539
  </group>
1486
1540
  <ref name="amend"/>
1487
1541
  </choice>
1488
- <zeroOrMore>
1542
+ <oneOrMore>
1489
1543
  <choice>
1490
1544
  <ref name="clause-subsection"/>
1491
1545
  <ref name="terms"/>
1492
1546
  <ref name="definitions"/>
1493
1547
  </choice>
1494
- </zeroOrMore>
1495
- </group>
1548
+ </oneOrMore>
1549
+ </choice>
1496
1550
  </define>
1497
1551
  <define name="Annex-Section">
1498
1552
  <optional>
@@ -64,9 +64,9 @@
64
64
  <optional>
65
65
  <ref name="label"/>
66
66
  </optional>
67
- <optional>
67
+ <zeroOrMore>
68
68
  <ref name="subject"/>
69
- </optional>
69
+ </zeroOrMore>
70
70
  <zeroOrMore>
71
71
  <ref name="reqinherit"/>
72
72
  </zeroOrMore>
@@ -80,6 +80,7 @@
80
80
  <ref name="verification"/>
81
81
  <ref name="import"/>
82
82
  <ref name="description"/>
83
+ <ref name="component"/>
83
84
  </choice>
84
85
  </zeroOrMore>
85
86
  <optional>
@@ -105,12 +106,16 @@
105
106
  </define>
106
107
  <define name="subject">
107
108
  <element name="subject">
108
- <text/>
109
+ <oneOrMore>
110
+ <ref name="TextElement"/>
111
+ </oneOrMore>
109
112
  </element>
110
113
  </define>
111
114
  <define name="reqinherit">
112
115
  <element name="inherit">
113
- <text/>
116
+ <oneOrMore>
117
+ <ref name="TextElement"/>
118
+ </oneOrMore>
114
119
  </element>
115
120
  </define>
116
121
  <define name="measurementtarget">
@@ -138,6 +143,12 @@
138
143
  <ref name="RequirementSubpart"/>
139
144
  </element>
140
145
  </define>
146
+ <define name="component">
147
+ <element name="component">
148
+ <attribute name="class"/>
149
+ <ref name="RequirementSubpart"/>
150
+ </element>
151
+ </define>
141
152
  <define name="reqt_references">
142
153
  <element name="references">
143
154
  <oneOrMore>
@@ -7,8 +7,12 @@
7
7
  <xsl:variable name="images" select="document($svg_images)"/>
8
8
  <xsl:param name="basepath"/>
9
9
 
10
- <xsl:variable name="pageWidth" select="'215.9mm'"/>
11
- <xsl:variable name="pageHeight" select="'279.4mm'"/>
10
+ <xsl:variable name="pageWidth" select="215.9"/>
11
+ <xsl:variable name="pageHeight" select="279.4"/>
12
+ <xsl:variable name="marginLeftRight1" select="29"/>
13
+ <xsl:variable name="marginLeftRight2" select="29"/>
14
+ <xsl:variable name="marginTop" select="14"/>
15
+ <xsl:variable name="marginBottom" select="22"/>
12
16
 
13
17
 
14
18
 
@@ -62,11 +66,11 @@
62
66
 
63
67
  <xsl:template match="/">
64
68
  <xsl:call-template name="namespaceCheck"/>
65
- <fo:root font-family="Source Sans Pro, STIX Two Math" font-weight="300" font-size="11.5pt" color="rgb(50, 50, 50)" xml:lang="{$lang}">
69
+ <fo:root font-family="OpenSans, STIX Two Math" font-weight="300" font-size="11pt" color="rgb(88, 88, 90)" xml:lang="{$lang}">
66
70
  <fo:layout-master-set>
67
71
 
68
72
  <!-- Cover page -->
69
- <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}" page-height="{$pageHeight}">
73
+ <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
70
74
  <fo:region-body margin-top="176mm" margin-bottom="11.5mm" margin-left="13mm" margin-right="78mm"/>
71
75
  <fo:region-before region-name="cover-page-header" extent="176mm"/>
72
76
  <fo:region-after region-name="cover-page-footer" extent="11.5mm"/>
@@ -75,14 +79,14 @@
75
79
  </fo:simple-page-master>
76
80
 
77
81
  <!-- ToC -->
78
- <fo:simple-page-master master-name="toc-odd" page-width="{$pageWidth}" page-height="{$pageHeight}">
82
+ <fo:simple-page-master master-name="toc-odd" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
79
83
  <fo:region-body margin-top="14mm" margin-bottom="26.5mm" margin-left="61mm" margin-right="12mm"/>
80
84
  <fo:region-before region-name="header-toc-odd" extent="14mm"/>
81
85
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
82
86
  <fo:region-start region-name="left-region" extent="13mm"/>
83
87
  <fo:region-end region-name="right-region" extent="12mm"/>
84
88
  </fo:simple-page-master>
85
- <fo:simple-page-master master-name="toc-even" page-width="{$pageWidth}" page-height="{$pageHeight}">
89
+ <fo:simple-page-master master-name="toc-even" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
86
90
  <fo:region-body margin-top="14mm" margin-bottom="85mm" margin-left="61mm" margin-right="12mm"/>
87
91
  <fo:region-before region-name="header-toc-even" extent="14mm"/>
88
92
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
@@ -98,8 +102,8 @@
98
102
 
99
103
 
100
104
 
101
- <fo:simple-page-master master-name="first" page-width="{$pageWidth}" page-height="{$pageHeight}">
102
- <fo:region-body margin-top="14mm" margin-bottom="85mm" margin-left="29mm" margin-right="29mm"/>
105
+ <fo:simple-page-master master-name="first" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
106
+ <fo:region-body margin-top="14mm" margin-bottom="85mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
103
107
  <fo:region-before region-name="header-LB-yellow" extent="14mm"/>
104
108
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
105
109
  <fo:region-start region-name="left-region" extent="13mm"/>
@@ -107,15 +111,15 @@
107
111
  </fo:simple-page-master>
108
112
 
109
113
  <!-- Page 2 and 3: (left bottom + right top, yellow) -->
110
- <fo:simple-page-master master-name="page2" page-width="{$pageWidth}" page-height="{$pageHeight}">
111
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
114
+ <fo:simple-page-master master-name="page2" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
115
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
112
116
  <fo:region-before region-name="header-LB-yellow" extent="14mm"/>
113
117
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
114
118
  <fo:region-start region-name="left-region" extent="13mm"/>
115
119
  <fo:region-end region-name="right-region" extent="12mm"/>
116
120
  </fo:simple-page-master>
117
- <fo:simple-page-master master-name="page3" page-width="{$pageWidth}" page-height="{$pageHeight}">
118
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
121
+ <fo:simple-page-master master-name="page3" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
122
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
119
123
  <fo:region-before region-name="header-RT-yellow" extent="14mm"/>
120
124
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
121
125
  <fo:region-start region-name="left-region" extent="13mm"/>
@@ -123,15 +127,15 @@
123
127
  </fo:simple-page-master>
124
128
 
125
129
  <!-- Page 4 and 5: (left top + right bottom, blue) -->
126
- <fo:simple-page-master master-name="page4" page-width="{$pageWidth}" page-height="{$pageHeight}">
127
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
130
+ <fo:simple-page-master master-name="page4" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
131
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
128
132
  <fo:region-before region-name="header-LT-blue" extent="14mm"/>
129
133
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
130
134
  <fo:region-start region-name="left-region" extent="13mm"/>
131
135
  <fo:region-end region-name="right-region" extent="12mm"/>
132
136
  </fo:simple-page-master>
133
- <fo:simple-page-master master-name="page5" page-width="{$pageWidth}" page-height="{$pageHeight}">
134
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
137
+ <fo:simple-page-master master-name="page5" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
138
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
135
139
  <fo:region-before region-name="header-RB-blue" extent="14mm"/>
136
140
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
137
141
  <fo:region-start region-name="left-region" extent="13mm"/>
@@ -139,15 +143,15 @@
139
143
  </fo:simple-page-master>
140
144
 
141
145
  <!-- Page 6 and 7: (left bottom + right top, orange) -->
142
- <fo:simple-page-master master-name="page6" page-width="{$pageWidth}" page-height="{$pageHeight}">
143
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
146
+ <fo:simple-page-master master-name="page6" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
147
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
144
148
  <fo:region-before region-name="header-LB-orange" extent="14mm"/>
145
149
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
146
150
  <fo:region-start region-name="left-region" extent="13mm"/>
147
151
  <fo:region-end region-name="right-region" extent="12mm"/>
148
152
  </fo:simple-page-master>
149
- <fo:simple-page-master master-name="page7" page-width="{$pageWidth}" page-height="{$pageHeight}">
150
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
153
+ <fo:simple-page-master master-name="page7" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
154
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
151
155
  <fo:region-before region-name="header-RT-orange" extent="14mm"/>
152
156
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
153
157
  <fo:region-start region-name="left-region" extent="13mm"/>
@@ -155,135 +159,135 @@
155
159
  </fo:simple-page-master>
156
160
 
157
161
  <!-- Page 8 and 9: (left top + right bottom, yellow) -->
158
- <fo:simple-page-master master-name="page8" page-width="{$pageWidth}" page-height="{$pageHeight}">
159
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
162
+ <fo:simple-page-master master-name="page8" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
163
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
160
164
  <fo:region-before region-name="header-LT-yellow" extent="14mm"/>
161
165
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
162
166
  <fo:region-start region-name="left-region" extent="13mm"/>
163
167
  <fo:region-end region-name="right-region" extent="12mm"/>
164
168
  </fo:simple-page-master>
165
- <fo:simple-page-master master-name="page9" page-width="{$pageWidth}" page-height="{$pageHeight}">
166
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
169
+ <fo:simple-page-master master-name="page9" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
170
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
167
171
  <fo:region-before region-name="header-RB-yellow" extent="14mm"/>
168
172
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
169
173
  <fo:region-start region-name="left-region" extent="13mm"/>
170
174
  <fo:region-end region-name="right-region" extent="12mm"/>
171
175
  </fo:simple-page-master>
172
176
 
173
- <fo:simple-page-master master-name="page10" page-width="{$pageWidth}" page-height="{$pageHeight}">
174
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
177
+ <fo:simple-page-master master-name="page10" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
178
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
175
179
  <fo:region-before region-name="header-LB-blue" extent="14mm"/>
176
180
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
177
181
  <fo:region-start region-name="left-region" extent="13mm"/>
178
182
  <fo:region-end region-name="right-region" extent="12mm"/>
179
183
  </fo:simple-page-master>
180
- <fo:simple-page-master master-name="page11" page-width="{$pageWidth}" page-height="{$pageHeight}">
181
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
184
+ <fo:simple-page-master master-name="page11" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
185
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
182
186
  <fo:region-before region-name="header-RT-blue" extent="14mm"/>
183
187
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
184
188
  <fo:region-start region-name="left-region" extent="13mm"/>
185
189
  <fo:region-end region-name="right-region" extent="12mm"/>
186
190
  </fo:simple-page-master>
187
191
 
188
- <fo:simple-page-master master-name="page12" page-width="{$pageWidth}" page-height="{$pageHeight}">
189
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
192
+ <fo:simple-page-master master-name="page12" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
193
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
190
194
  <fo:region-before region-name="header-LT-orange" extent="14mm"/>
191
195
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
192
196
  <fo:region-start region-name="left-region" extent="13mm"/>
193
197
  <fo:region-end region-name="right-region" extent="12mm"/>
194
198
  </fo:simple-page-master>
195
- <fo:simple-page-master master-name="page13" page-width="{$pageWidth}" page-height="{$pageHeight}">
196
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
199
+ <fo:simple-page-master master-name="page13" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
200
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
197
201
  <fo:region-before region-name="header-RB-orange" extent="14mm"/>
198
202
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
199
203
  <fo:region-start region-name="left-region" extent="13mm"/>
200
204
  <fo:region-end region-name="right-region" extent="12mm"/>
201
205
  </fo:simple-page-master>
202
206
 
203
- <fo:simple-page-master master-name="page14" page-width="{$pageWidth}" page-height="{$pageHeight}">
204
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
207
+ <fo:simple-page-master master-name="page14" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
208
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
205
209
  <fo:region-before region-name="header-LB-yellow" extent="14mm"/>
206
210
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
207
211
  <fo:region-start region-name="left-region" extent="13mm"/>
208
212
  <fo:region-end region-name="right-region" extent="12mm"/>
209
213
  </fo:simple-page-master>
210
- <fo:simple-page-master master-name="page15" page-width="{$pageWidth}" page-height="{$pageHeight}">
211
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
214
+ <fo:simple-page-master master-name="page15" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
215
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
212
216
  <fo:region-before region-name="header-RT-yellow" extent="14mm"/>
213
217
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
214
218
  <fo:region-start region-name="left-region" extent="13mm"/>
215
219
  <fo:region-end region-name="right-region" extent="12mm"/>
216
220
  </fo:simple-page-master>
217
221
 
218
- <fo:simple-page-master master-name="page16" page-width="{$pageWidth}" page-height="{$pageHeight}">
219
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
222
+ <fo:simple-page-master master-name="page16" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
223
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
220
224
  <fo:region-before region-name="header-LT-blue" extent="14mm"/>
221
225
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
222
226
  <fo:region-start region-name="left-region" extent="13mm"/>
223
227
  <fo:region-end region-name="right-region" extent="12mm"/>
224
228
  </fo:simple-page-master>
225
- <fo:simple-page-master master-name="page17" page-width="{$pageWidth}" page-height="{$pageHeight}">
226
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
229
+ <fo:simple-page-master master-name="page17" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
230
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
227
231
  <fo:region-before region-name="header-RB-blue" extent="14mm"/>
228
232
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
229
233
  <fo:region-start region-name="left-region" extent="13mm"/>
230
234
  <fo:region-end region-name="right-region" extent="12mm"/>
231
235
  </fo:simple-page-master>
232
236
 
233
- <fo:simple-page-master master-name="page18" page-width="{$pageWidth}" page-height="{$pageHeight}">
234
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
237
+ <fo:simple-page-master master-name="page18" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
238
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
235
239
  <fo:region-before region-name="header-LB-orange" extent="14mm"/>
236
240
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
237
241
  <fo:region-start region-name="left-region" extent="13mm"/>
238
242
  <fo:region-end region-name="right-region" extent="12mm"/>
239
243
  </fo:simple-page-master>
240
- <fo:simple-page-master master-name="page19" page-width="{$pageWidth}" page-height="{$pageHeight}">
241
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
244
+ <fo:simple-page-master master-name="page19" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
245
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
242
246
  <fo:region-before region-name="header-RT-orange" extent="14mm"/>
243
247
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
244
248
  <fo:region-start region-name="left-region" extent="13mm"/>
245
249
  <fo:region-end region-name="right-region" extent="12mm"/>
246
250
  </fo:simple-page-master>
247
251
 
248
- <fo:simple-page-master master-name="page20" page-width="{$pageWidth}" page-height="{$pageHeight}">
249
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
252
+ <fo:simple-page-master master-name="page20" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
253
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
250
254
  <fo:region-before region-name="header-LT-yellow" extent="14mm"/>
251
255
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
252
256
  <fo:region-start region-name="left-region" extent="13mm"/>
253
257
  <fo:region-end region-name="right-region" extent="12mm"/>
254
258
  </fo:simple-page-master>
255
- <fo:simple-page-master master-name="page21" page-width="{$pageWidth}" page-height="{$pageHeight}">
256
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
259
+ <fo:simple-page-master master-name="page21" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
260
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
257
261
  <fo:region-before region-name="header-RB-yellow" extent="14mm"/>
258
262
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
259
263
  <fo:region-start region-name="left-region" extent="13mm"/>
260
264
  <fo:region-end region-name="right-region" extent="12mm"/>
261
265
  </fo:simple-page-master>
262
266
 
263
- <fo:simple-page-master master-name="page22" page-width="{$pageWidth}" page-height="{$pageHeight}">
264
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
267
+ <fo:simple-page-master master-name="page22" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
268
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
265
269
  <fo:region-before region-name="header-LB-blue" extent="14mm"/>
266
270
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
267
271
  <fo:region-start region-name="left-region" extent="13mm"/>
268
272
  <fo:region-end region-name="right-region" extent="12mm"/>
269
273
  </fo:simple-page-master>
270
- <fo:simple-page-master master-name="page23" page-width="{$pageWidth}" page-height="{$pageHeight}">
271
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
274
+ <fo:simple-page-master master-name="page23" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
275
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
272
276
  <fo:region-before region-name="header-RT-blue" extent="14mm"/>
273
277
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
274
278
  <fo:region-start region-name="left-region" extent="13mm"/>
275
279
  <fo:region-end region-name="right-region" extent="12mm"/>
276
280
  </fo:simple-page-master>
277
281
 
278
- <fo:simple-page-master master-name="page24" page-width="{$pageWidth}" page-height="{$pageHeight}">
279
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
282
+ <fo:simple-page-master master-name="page24" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
283
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
280
284
  <fo:region-before region-name="header-LT-orange" extent="14mm"/>
281
285
  <fo:region-after region-name="footer-even" extent="12.5mm"/>
282
286
  <fo:region-start region-name="left-region" extent="13mm"/>
283
287
  <fo:region-end region-name="right-region" extent="12mm"/>
284
288
  </fo:simple-page-master>
285
- <fo:simple-page-master master-name="page25" page-width="{$pageWidth}" page-height="{$pageHeight}">
286
- <fo:region-body margin-top="14mm" margin-bottom="22mm" margin-left="29mm" margin-right="29mm"/>
289
+ <fo:simple-page-master master-name="page25" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
290
+ <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm"/>
287
291
  <fo:region-before region-name="header-RB-orange" extent="14mm"/>
288
292
  <fo:region-after region-name="footer-odd" extent="12.5mm"/>
289
293
  <fo:region-start region-name="left-region" extent="13mm"/>
@@ -316,7 +320,7 @@
316
320
  <!-- background image -->
317
321
  <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0">
318
322
  <fo:block>
319
- <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Cover-Background))}" width="{$pageWidth}" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
323
+ <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Cover-Background))}" width="{$pageWidth}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
320
324
  </fo:block>
321
325
  </fo:block-container>
322
326
 
@@ -387,16 +391,16 @@
387
391
  </fo:block>
388
392
  </fo:block-container>
389
393
 
390
- <!-- title and logo -->
394
+ <!-- title and version -->
391
395
  <fo:block-container height="60mm" display-align="center">
392
396
  <xsl:variable name="title" select="/rsd:rsd-standard/rsd:bibdata/rsd:title[@language = $lang]"/>
393
397
  <xsl:if test="string-length($title) &gt; 80">
394
398
  <xsl:attribute name="margin-right">-30mm</xsl:attribute>
395
399
  </xsl:if>
396
- <fo:block font-size="28pt" font-weight="bold">
400
+ <fo:block font-size="27pt" font-weight="bold">
397
401
  <xsl:apply-templates select="/rsd:rsd-standard/rsd:bibdata/rsd:title[@language = $lang]" mode="cover_page"/>
398
402
  </fo:block>
399
- <fo:block space-before="9pt" font-size="16.8pt" font-weight="normal">
403
+ <fo:block space-before="9pt" font-size="16.8pt" font-weight="600">
400
404
  <xsl:value-of select="$docnumber_version"/>
401
405
  </fo:block>
402
406
  </fo:block-container>
@@ -408,50 +412,52 @@
408
412
  <fo:page-sequence master-reference="document" force-page-count="no-force"> <!-- master-reference="toc" -->
409
413
  <xsl:call-template name="insertHeaderFooter"/>
410
414
  <fo:flow flow-name="xsl-region-body">
415
+ <xsl:if test="xalan:nodeset($contents)//item[@display = 'true']">
411
416
  <!-- <fo:block-container absolute-position="fixed" left="13mm" top="15mm"> -->
412
- <fo:block font-size="28pt" font-weight="600" color="black" margin-left="-15mm" margin-bottom="13mm">
417
+ <fo:block font-size="27pt" font-weight="bold" color="black" margin-left="-15mm" margin-bottom="13mm">
413
418
  <xsl:call-template name="getLocalizedString">
414
419
  <xsl:with-param name="key">table_of_contents</xsl:with-param>
415
420
  </xsl:call-template>
416
421
  </fo:block>
417
422
  <!-- </fo:block-container> -->
418
423
 
419
- <fo:block-container margin-left="32mm" margin-right="-17mm">
420
- <fo:block-container margin-left="0mm" margin-right="0mm">
421
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
422
- <fo:block font-size="14pt">
423
- <xsl:if test="@level = 1">
424
- <xsl:if test="preceding-sibling::item[@display = 'true' and @level = 1]">
425
- <xsl:attribute name="space-before">16pt</xsl:attribute>
424
+ <fo:block-container margin-left="32mm" margin-right="-17mm">
425
+ <fo:block-container margin-left="0mm" margin-right="0mm">
426
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
427
+ <fo:block font-size="13pt">
428
+ <xsl:if test="@level = 1">
429
+ <xsl:if test="preceding-sibling::item[@display = 'true' and @level = 1]">
430
+ <xsl:attribute name="space-before">16pt</xsl:attribute>
431
+ </xsl:if>
432
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
433
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
434
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
435
+ <xsl:attribute name="color">black</xsl:attribute>
426
436
  </xsl:if>
427
- <xsl:attribute name="space-after">2pt</xsl:attribute>
428
- <xsl:attribute name="font-weight">600</xsl:attribute> <!-- 600 semibold -->
429
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
430
- <xsl:attribute name="color">black</xsl:attribute>
431
- </xsl:if>
432
- <xsl:if test="@level = 2">
433
- <xsl:attribute name="margin-left">16.5mm</xsl:attribute>
434
- <xsl:attribute name="space-before">4pt</xsl:attribute>
435
- <xsl:attribute name="space-after">5pt</xsl:attribute>
436
- </xsl:if>
437
- <fo:block text-align-last="justify">
438
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
439
- <xsl:value-of select="@section"/>
440
- <xsl:text> </xsl:text>
441
- <xsl:apply-templates select="title"/>
442
- <xsl:text>  </xsl:text>
443
- <fo:inline>
444
- <fo:leader leader-pattern="rule" rule-thickness="0.2mm"/>
445
- <fo:inline padding-left="2mm"><fo:page-number-citation ref-id="{@id}"/></fo:inline>
446
- </fo:inline>
447
- </fo:basic-link>
437
+ <xsl:if test="@level = 2">
438
+ <xsl:attribute name="margin-left">16.5mm</xsl:attribute>
439
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
440
+ <xsl:attribute name="space-after">5pt</xsl:attribute>
441
+ </xsl:if>
442
+ <fo:block text-align-last="justify">
443
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
444
+ <xsl:value-of select="@section"/>
445
+ <xsl:text> </xsl:text>
446
+ <xsl:apply-templates select="title"/>
447
+ <xsl:text>  </xsl:text>
448
+ <fo:inline>
449
+ <fo:leader leader-pattern="rule" rule-thickness="0.2mm"/>
450
+ <fo:inline padding-left="2mm"><fo:page-number-citation ref-id="{@id}"/></fo:inline>
451
+ </fo:inline>
452
+ </fo:basic-link>
453
+ </fo:block>
448
454
  </fo:block>
449
- </fo:block>
450
- </xsl:for-each>
455
+ </xsl:for-each>
456
+ </fo:block-container>
451
457
  </fo:block-container>
452
- </fo:block-container>
453
-
454
- <fo:block break-after="page"/>
458
+
459
+ <fo:block break-after="page"/>
460
+ </xsl:if>
455
461
  <fo:block margin-bottom="12pt"> </fo:block>
456
462
 
457
463
  <xsl:apply-templates select="/rsd:rsd-standard/rsd:boilerplate/rsd:legal-statement"/>
@@ -667,9 +673,9 @@
667
673
  <xsl:choose>
668
674
  <!-- <xsl:when test="ancestor::rsd:preface and $level &gt;= 2">12pt</xsl:when>
669
675
  <xsl:when test="ancestor::rsd:preface">13pt</xsl:when> -->
670
- <xsl:when test="$level = 1">24pt</xsl:when>
671
- <xsl:when test="$level = 2">14pt</xsl:when>
672
- <xsl:when test="$level &gt;= 3">11.5pt</xsl:when>
676
+ <xsl:when test="$level = 1">22pt</xsl:when>
677
+ <xsl:when test="$level = 2">13pt</xsl:when>
678
+ <xsl:when test="$level &gt;= 3">11pt</xsl:when>
673
679
  <xsl:otherwise>16pt</xsl:otherwise>
674
680
  </xsl:choose>
675
681
  </xsl:variable>
@@ -677,7 +683,7 @@
677
683
  <xsl:variable name="font-weight">
678
684
  <xsl:choose>
679
685
  <xsl:when test="$level &gt;= 4">normal</xsl:when>
680
- <xsl:otherwise>600</xsl:otherwise> <!-- 600 - semibold-->
686
+ <xsl:otherwise>bold</xsl:otherwise> <!-- 600 - semibold-->
681
687
  </xsl:choose>
682
688
  </xsl:variable>
683
689
 
@@ -1013,7 +1019,7 @@
1013
1019
  <xsl:template match="rsd:li">
1014
1020
  <fo:list-item space-after="4pt">
1015
1021
  <fo:list-item-label end-indent="label-end()">
1016
- <fo:block color="{$color_blue}" font-weight="600">
1022
+ <fo:block color="{$color_blue}" font-weight="bold">
1017
1023
  <xsl:choose>
1018
1024
  <xsl:when test="local-name(..) = 'ul' and (../ancestor::rsd:ul or ../ancestor::rsd:ol)">-</xsl:when> <!-- &#x2014; dash -->
1019
1025
  <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
@@ -1049,6 +1055,9 @@
1049
1055
 
1050
1056
  <xsl:template match="rsd:ul/rsd:note | rsd:ol/rsd:note" priority="2">
1051
1057
  <fo:list-item font-size="10pt">
1058
+ <xsl:if test="ancestor::rsd:table">
1059
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
1060
+ </xsl:if>
1052
1061
  <fo:list-item-label><fo:block/></fo:list-item-label>
1053
1062
  <fo:list-item-body>
1054
1063
  <fo:block>
@@ -1067,11 +1076,11 @@
1067
1076
  </xsl:variable>
1068
1077
  <xsl:variable name="font-size">
1069
1078
  <xsl:choose>
1070
- <xsl:when test="$level &gt;= 2">14pt</xsl:when>
1079
+ <xsl:when test="$level &gt;= 2">13pt</xsl:when>
1071
1080
  <xsl:otherwise>12pt</xsl:otherwise>
1072
1081
  </xsl:choose>
1073
1082
  </xsl:variable>
1074
- <fo:block font-weight="600" color="black" font-size="{$font-size}" keep-with-next="always"> <!-- 600 - semibold -->
1083
+ <fo:block font-weight="bold" color="black" font-size="{$font-size}" keep-with-next="always"> <!-- 600 - semibold -->
1075
1084
  <xsl:if test="preceding-sibling::*[1][self::rsd:name]">
1076
1085
  <xsl:attribute name="space-before">11mm</xsl:attribute>
1077
1086
  <fo:inline padding-right="1mm">
@@ -1102,7 +1111,7 @@
1102
1111
  </xsl:choose>
1103
1112
  </xsl:attribute>
1104
1113
  <fo:block padding-top="1mm" padding-bottom="0.5mm">
1105
- <fo:inline font-size="12pt" font-weight="300">
1114
+ <fo:inline font-size="11pt" font-weight="300">
1106
1115
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($term_kind))"/>
1107
1116
  </fo:inline>
1108
1117
  </fo:block>
@@ -1122,8 +1131,8 @@
1122
1131
  <fo:table-row>
1123
1132
  <fo:table-cell text-align="left">
1124
1133
  <fo:block margin-left="-15mm"> <!-- Bibliography section title -->
1125
- <xsl:attribute name="font-size">24pt</xsl:attribute>
1126
- <xsl:attribute name="font-weight">600</xsl:attribute> <!-- 600 - semibold-->
1134
+ <xsl:attribute name="font-size">22pt</xsl:attribute>
1135
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1127
1136
  <xsl:attribute name="margin-bottom">16pt</xsl:attribute>
1128
1137
  <xsl:attribute name="color">black</xsl:attribute>
1129
1138
  <xsl:attribute name="line-height">125%</xsl:attribute>
@@ -1216,7 +1225,7 @@
1216
1225
  <xsl:choose>
1217
1226
  <xsl:when test="contains(., '—')">
1218
1227
  <xsl:variable name="name_number" select="normalize-space(translate(substring-before(., '—'), ' ', ' '))"/>
1219
- <fo:inline font-weight="600" font-style="normal" color="black"><xsl:value-of select="java:toUpperCase(java:java.lang.String.new($name_number))"/><xsl:text>: </xsl:text></fo:inline>
1228
+ <fo:inline font-weight="bold" font-style="normal" color="black"><xsl:value-of select="java:toUpperCase(java:java.lang.String.new($name_number))"/><xsl:text>:</xsl:text></fo:inline>
1220
1229
  <xsl:value-of select="substring-after(., '—')"/>
1221
1230
  </xsl:when>
1222
1231
  <xsl:otherwise>
@@ -1357,7 +1366,7 @@
1357
1366
  </xsl:call-template>
1358
1367
  </xsl:variable>
1359
1368
  <fo:static-content flow-name="footer-odd">
1360
- <fo:block-container font-size="8.5pt" height="100%" color="black">
1369
+ <fo:block-container font-size="8pt" height="100%" color="black">
1361
1370
  <fo:block text-align-last="justify" margin-right="1mm">
1362
1371
  <fo:inline padding-right="11mm"><fo:page-number/></fo:inline>
1363
1372
  <xsl:value-of select="$footerText"/>
@@ -1369,7 +1378,7 @@
1369
1378
  </fo:block-container>
1370
1379
  </fo:static-content>
1371
1380
  <fo:static-content flow-name="footer-even">
1372
- <fo:block-container font-size="8.5pt" height="100%" color="black">
1381
+ <fo:block-container font-size="8pt" height="100%" color="black">
1373
1382
  <fo:block text-align-last="justify" margin-right="1mm">
1374
1383
  <fo:inline padding-right="11mm"><fo:page-number/></fo:inline>
1375
1384
  <fo:inline>
@@ -1621,7 +1630,7 @@
1621
1630
 
1622
1631
 
1623
1632
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1624
- <xsl:attribute name="font-weight">600</xsl:attribute>
1633
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1625
1634
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
1626
1635
 
1627
1636
 
@@ -1708,7 +1717,7 @@
1708
1717
 
1709
1718
 
1710
1719
 
1711
- <xsl:attribute name="font-weight">600</xsl:attribute>
1720
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1712
1721
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1713
1722
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
1714
1723
 
@@ -1725,6 +1734,7 @@
1725
1734
 
1726
1735
 
1727
1736
 
1737
+
1728
1738
 
1729
1739
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
1730
1740
 
@@ -1739,11 +1749,13 @@
1739
1749
 
1740
1750
 
1741
1751
 
1742
- <xsl:attribute name="font-weight">600</xsl:attribute>
1752
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1743
1753
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1744
1754
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
1745
1755
 
1746
- </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1756
+ </xsl:attribute-set><xsl:variable name="table-border_">
1757
+
1758
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1747
1759
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1748
1760
 
1749
1761
 
@@ -1802,6 +1814,7 @@
1802
1814
 
1803
1815
 
1804
1816
 
1817
+
1805
1818
  </xsl:attribute-set><xsl:attribute-set name="note-style">
1806
1819
 
1807
1820
 
@@ -1836,7 +1849,7 @@
1836
1849
 
1837
1850
 
1838
1851
 
1839
- <xsl:attribute name="font-weight">600</xsl:attribute>
1852
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1840
1853
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1841
1854
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
1842
1855
 
@@ -1872,7 +1885,7 @@
1872
1885
 
1873
1886
 
1874
1887
 
1875
- <xsl:attribute name="font-weight">600</xsl:attribute>
1888
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1876
1889
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1877
1890
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
1878
1891
 
@@ -1991,13 +2004,13 @@
1991
2004
 
1992
2005
 
1993
2006
 
1994
- <xsl:attribute name="font-weight">600</xsl:attribute>
2007
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1995
2008
  <xsl:attribute name="color">black</xsl:attribute>
1996
2009
 
1997
2010
  </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
1998
2011
 
1999
2012
 
2000
- <xsl:attribute name="font-weight">600</xsl:attribute>
2013
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2001
2014
  <xsl:attribute name="color">black</xsl:attribute>
2002
2015
 
2003
2016
  </xsl:attribute-set><xsl:attribute-set name="definition-style">
@@ -2038,14 +2051,15 @@
2038
2051
  <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2039
2052
 
2040
2053
  <!-- Normative references -->
2041
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
2054
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
2042
2055
  <!-- Terms and definitions -->
2043
2056
  <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
2044
2057
  <!-- Another main sections -->
2045
2058
  <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
2046
2059
  <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2047
2060
  <!-- Bibliography -->
2048
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
2061
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
2062
+
2049
2063
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2050
2064
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2051
2065
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
@@ -2088,6 +2102,8 @@
2088
2102
  <fo:block>&#xA0;</fo:block>
2089
2103
  </xsl:if> -->
2090
2104
 
2105
+
2106
+ <!-- Display table's name before table as standalone block -->
2091
2107
  <!-- $namespace = 'iso' or -->
2092
2108
 
2093
2109
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -2165,6 +2181,12 @@
2165
2181
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
2166
2182
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2167
2183
 
2184
+
2185
+
2186
+
2187
+ <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2188
+
2189
+
2168
2190
  <xsl:variable name="table_width">
2169
2191
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2170
2192
  100%
@@ -2183,6 +2205,7 @@
2183
2205
 
2184
2206
 
2185
2207
 
2208
+
2186
2209
 
2187
2210
 
2188
2211
 
@@ -2191,7 +2214,7 @@
2191
2214
 
2192
2215
 
2193
2216
  <attribute name="border">0pt solid black</attribute>
2194
- <attribute name="font-size">9.5pt</attribute>
2217
+ <attribute name="font-size">8pt</attribute>
2195
2218
 
2196
2219
  </xsl:variable>
2197
2220
 
@@ -2209,6 +2232,8 @@
2209
2232
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2210
2233
  </xsl:if>
2211
2234
 
2235
+
2236
+
2212
2237
  <xsl:choose>
2213
2238
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2214
2239
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2496,9 +2521,9 @@
2496
2521
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2497
2522
  <xsl:with-param name="continued">true</xsl:with-param>
2498
2523
  </xsl:apply-templates>
2499
- <xsl:for-each select="ancestor::*[local-name()='table'][1]">
2500
- <xsl:call-template name="fn_name_display"/>
2501
- </xsl:for-each>
2524
+
2525
+
2526
+
2502
2527
 
2503
2528
  </fo:table-cell>
2504
2529
  </fo:table-row>
@@ -2580,7 +2605,11 @@
2580
2605
 
2581
2606
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2582
2607
 
2583
- <xsl:if test="$isNoteOrFnExist = 'true'">
2608
+ <xsl:variable name="isNoteOrFnExistShowAfterTable">
2609
+
2610
+ </xsl:variable>
2611
+
2612
+ <xsl:if test="$isNoteOrFnExist = 'true' or normalize-space($isNoteOrFnExistShowAfterTable) = 'true'">
2584
2613
 
2585
2614
  <xsl:variable name="cols-count">
2586
2615
  <xsl:choose>
@@ -2609,6 +2638,8 @@
2609
2638
  </xsl:choose>
2610
2639
  </xsl:for-each>
2611
2640
 
2641
+
2642
+
2612
2643
  <xsl:choose>
2613
2644
  <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2614
2645
  <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
@@ -2635,6 +2666,7 @@
2635
2666
 
2636
2667
 
2637
2668
 
2669
+
2638
2670
  <!-- fn will be processed inside 'note' processing -->
2639
2671
 
2640
2672
 
@@ -2645,6 +2677,11 @@
2645
2677
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2646
2678
 
2647
2679
 
2680
+
2681
+
2682
+ <!-- for BSI (not PAS) display Notes before footnotes -->
2683
+
2684
+
2648
2685
  <!-- except gb -->
2649
2686
 
2650
2687
  <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
@@ -2670,6 +2707,10 @@
2670
2707
  <!-- fn processing -->
2671
2708
  <xsl:call-template name="fn_display"/>
2672
2709
 
2710
+
2711
+ <!-- for PAS display Notes after footnotes -->
2712
+
2713
+
2673
2714
  </fo:table-cell>
2674
2715
  </fo:table-row>
2675
2716
  </fo:table-body>
@@ -2711,6 +2752,19 @@
2711
2752
 
2712
2753
  </fo:table-body>
2713
2754
 
2755
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2756
+ <xsl:choose>
2757
+ <xsl:when test="substring-after(., '—') != ''">
2758
+ <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2759
+ </xsl:when>
2760
+ <xsl:otherwise>
2761
+ <xsl:value-of select="."/>
2762
+ </xsl:otherwise>
2763
+ </xsl:choose>
2764
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2765
+ <xsl:apply-templates mode="presentation_name"/>
2766
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2767
+ <xsl:apply-templates select="."/>
2714
2768
  </xsl:template><xsl:template match="*[local-name()='tr']">
2715
2769
  <xsl:variable name="parent-name" select="local-name(..)"/>
2716
2770
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
@@ -2723,13 +2777,16 @@
2723
2777
 
2724
2778
 
2725
2779
 
2726
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2727
- <xsl:attribute name="color">black</xsl:attribute>
2728
-
2780
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2781
+ <xsl:attribute name="color">black</xsl:attribute>
2782
+
2783
+
2784
+
2729
2785
  </xsl:if>
2730
2786
  <xsl:if test="$parent-name = 'tfoot'">
2731
2787
 
2732
2788
 
2789
+
2733
2790
  </xsl:if>
2734
2791
 
2735
2792
 
@@ -2751,6 +2808,8 @@
2751
2808
 
2752
2809
 
2753
2810
 
2811
+
2812
+
2754
2813
  <!-- <xsl:if test="$namespace = 'bipm'">
2755
2814
  <xsl:attribute name="height">8mm</xsl:attribute>
2756
2815
  </xsl:if> -->
@@ -2840,6 +2899,7 @@
2840
2899
 
2841
2900
 
2842
2901
 
2902
+
2843
2903
  <xsl:attribute name="border">0pt solid black</xsl:attribute>
2844
2904
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2845
2905
 
@@ -2874,8 +2934,16 @@
2874
2934
 
2875
2935
 
2876
2936
 
2937
+
2938
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2939
+
2940
+
2941
+ <!-- Table's note name (NOTE, for example) -->
2942
+
2877
2943
  <fo:inline padding-right="2mm">
2878
2944
 
2945
+
2946
+
2879
2947
 
2880
2948
 
2881
2949
 
@@ -2883,6 +2951,8 @@
2883
2951
 
2884
2952
  </fo:inline>
2885
2953
 
2954
+
2955
+
2886
2956
  <xsl:apply-templates mode="process"/>
2887
2957
  </fo:block>
2888
2958
 
@@ -2890,18 +2960,18 @@
2890
2960
  <xsl:apply-templates/>
2891
2961
  </xsl:template><xsl:template name="fn_display">
2892
2962
  <xsl:variable name="references">
2963
+
2893
2964
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
2894
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2895
-
2896
-
2897
- <xsl:apply-templates/>
2898
- </fn>
2965
+ <xsl:call-template name="create_fn"/>
2899
2966
  </xsl:for-each>
2900
2967
  </xsl:variable>
2968
+
2901
2969
  <xsl:for-each select="xalan:nodeset($references)//fn">
2902
2970
  <xsl:variable name="reference" select="@reference"/>
2903
2971
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2904
2972
  <fo:block margin-bottom="12pt">
2973
+
2974
+
2905
2975
 
2906
2976
 
2907
2977
 
@@ -2915,9 +2985,11 @@
2915
2985
 
2916
2986
 
2917
2987
 
2988
+
2918
2989
  <xsl:value-of select="@reference"/>
2919
2990
 
2920
2991
 
2992
+
2921
2993
  </fo:inline>
2922
2994
  <fo:inline>
2923
2995
 
@@ -2927,6 +2999,12 @@
2927
2999
  </fo:block>
2928
3000
  </xsl:if>
2929
3001
  </xsl:for-each>
3002
+ </xsl:template><xsl:template name="create_fn">
3003
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3004
+
3005
+
3006
+ <xsl:apply-templates/>
3007
+ </fn>
2930
3008
  </xsl:template><xsl:template name="fn_name_display">
2931
3009
  <!-- <xsl:variable name="references">
2932
3010
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
@@ -3059,6 +3137,9 @@
3059
3137
 
3060
3138
 
3061
3139
 
3140
+
3141
+
3142
+
3062
3143
  <xsl:attribute name="font-size">70%</xsl:attribute>
3063
3144
  <xsl:attribute name="vertical-align">super</xsl:attribute>
3064
3145
  <xsl:attribute name="font-style">italic</xsl:attribute>
@@ -3068,6 +3149,7 @@
3068
3149
 
3069
3150
  <xsl:value-of select="@reference"/>
3070
3151
 
3152
+
3071
3153
  </fo:basic-link>
3072
3154
  </fo:inline>
3073
3155
  </xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
@@ -3388,7 +3470,7 @@
3388
3470
 
3389
3471
 
3390
3472
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
3391
- <xsl:attribute name="font-weight">600</xsl:attribute>
3473
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
3392
3474
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
3393
3475
 
3394
3476
  <xsl:apply-templates/>
@@ -3937,19 +4019,6 @@
3937
4019
  <!-- replace start and end spaces to non-break space -->
3938
4020
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
3939
4021
  </xsl:copy>
3940
- </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
3941
- <xsl:copy>
3942
- <xsl:apply-templates select="@*|node()" mode="mathml"/>
3943
- </xsl:copy>
3944
- <xsl:choose>
3945
- <!-- if in msub, then don't add space -->
3946
- <xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
3947
- <!-- if next char in digit, don't add space -->
3948
- <xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
3949
- <xsl:otherwise>
3950
- <mathml:mspace width="0.5ex"/>
3951
- </xsl:otherwise>
3952
- </xsl:choose>
3953
4022
  </xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
3954
4023
  <xsl:variable name="target">
3955
4024
  <xsl:choose>
@@ -3974,12 +4043,13 @@
3974
4043
  <fo:inline xsl:use-attribute-sets="link-style">
3975
4044
 
3976
4045
 
3977
- <xsl:if test="not(ancestor::*[local-name() = 'bibitem'])">
4046
+ <xsl:if test="ancestor::*[local-name() = 'bibitem']">
3978
4047
  <xsl:attribute name="color">black</xsl:attribute>
3979
4048
  <xsl:attribute name="text-decoration">none</xsl:attribute>
3980
4049
  <xsl:attribute name="font-weight">300</xsl:attribute>
3981
4050
  </xsl:if>
3982
4051
 
4052
+
3983
4053
  <xsl:choose>
3984
4054
  <xsl:when test="$target_text = ''">
3985
4055
  <xsl:apply-templates/>
@@ -4093,6 +4163,7 @@
4093
4163
  </xsl:if>
4094
4164
 
4095
4165
 
4166
+
4096
4167
  <fo:block-container margin-left="0mm">
4097
4168
 
4098
4169
 
@@ -4278,7 +4349,24 @@
4278
4349
  </fo:instream-foreign-object>
4279
4350
  </xsl:when>
4280
4351
  <xsl:otherwise>
4281
- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
4352
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
4353
+ <xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
4354
+
4355
+ <xsl:variable name="img_src">
4356
+ <xsl:choose>
4357
+ <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
4358
+ <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
4359
+ </xsl:choose>
4360
+ </xsl:variable>
4361
+
4362
+ <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
4363
+ <xsl:if test="number($scale) &lt; 100">
4364
+ <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
4365
+ </xsl:if>
4366
+
4367
+ </xsl:if>
4368
+
4369
+ </fo:external-graphic>
4282
4370
  </xsl:otherwise>
4283
4371
  </xsl:choose>
4284
4372
 
@@ -4346,6 +4434,253 @@
4346
4434
  <xsl:param name="height"/>
4347
4435
  <line xmlns="http://www.w3.org/2000/svg" x1="0" y1="0" x2="{$width}" y2="{$height}" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
4348
4436
  <line xmlns="http://www.w3.org/2000/svg" x1="0" y1="{$height}" x2="{$width}" y2="0" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
4437
+ </xsl:template><xsl:variable name="figure_name_height">14</xsl:variable><xsl:variable name="width_effective" select="$pageWidth - $marginLeftRight1 - $marginLeftRight2"/><xsl:variable name="height_effective" select="$pageHeight - $marginTop - $marginBottom - $figure_name_height"/><xsl:variable name="image_dpi" select="96"/><xsl:variable name="width_effective_px" select="$width_effective div 25.4 * $image_dpi"/><xsl:variable name="height_effective_px" select="$height_effective div 25.4 * $image_dpi"/><xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image']) and *[local-name() = 'svg']]/*[local-name() = 'name']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image'])]/*[local-name() = 'svg']" priority="2" name="image_svg">
4438
+ <xsl:param name="name"/>
4439
+
4440
+ <xsl:variable name="svg_content">
4441
+ <xsl:apply-templates select="." mode="svg_update"/>
4442
+ </xsl:variable>
4443
+
4444
+ <xsl:variable name="alt-text">
4445
+ <xsl:choose>
4446
+ <xsl:when test="normalize-space(../*[local-name() = 'name']) != ''">
4447
+ <xsl:value-of select="../*[local-name() = 'name']"/>
4448
+ </xsl:when>
4449
+ <xsl:when test="normalize-space($name) != ''">
4450
+ <xsl:value-of select="$name"/>
4451
+ </xsl:when>
4452
+ <xsl:otherwise>Figure</xsl:otherwise>
4453
+ </xsl:choose>
4454
+ </xsl:variable>
4455
+
4456
+ <xsl:choose>
4457
+ <xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
4458
+ <fo:block>
4459
+ <xsl:variable name="width" select="@width"/>
4460
+ <xsl:variable name="height" select="@height"/>
4461
+
4462
+ <xsl:variable name="scale_x">
4463
+ <xsl:choose>
4464
+ <xsl:when test="$width &gt; $width_effective_px">
4465
+ <xsl:value-of select="$width_effective_px div $width"/>
4466
+ </xsl:when>
4467
+ <xsl:otherwise>1</xsl:otherwise>
4468
+ </xsl:choose>
4469
+ </xsl:variable>
4470
+
4471
+ <xsl:variable name="scale_y">
4472
+ <xsl:choose>
4473
+ <xsl:when test="$height * $scale_x &gt; $height_effective_px">
4474
+ <xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
4475
+ </xsl:when>
4476
+ <xsl:otherwise>1</xsl:otherwise>
4477
+ </xsl:choose>
4478
+ </xsl:variable>
4479
+
4480
+ <xsl:variable name="scale">
4481
+ <xsl:choose>
4482
+ <xsl:when test="$scale_y != 1">
4483
+ <xsl:value-of select="$scale_x * $scale_y"/>
4484
+ </xsl:when>
4485
+ <xsl:otherwise>
4486
+ <xsl:value-of select="$scale_x"/>
4487
+ </xsl:otherwise>
4488
+ </xsl:choose>
4489
+ </xsl:variable>
4490
+
4491
+ <xsl:variable name="width_scale" select="round($width * $scale)"/>
4492
+ <xsl:variable name="height_scale" select="round($height * $scale)"/>
4493
+
4494
+ <fo:table table-layout="fixed" width="100%">
4495
+ <fo:table-column column-width="proportional-column-width(1)"/>
4496
+ <fo:table-column column-width="{$width_scale}px"/>
4497
+ <fo:table-column column-width="proportional-column-width(1)"/>
4498
+ <fo:table-body>
4499
+ <fo:table-row>
4500
+ <fo:table-cell column-number="2">
4501
+ <fo:block>
4502
+ <fo:block-container width="{$width_scale}px" height="{$height_scale}px">
4503
+ <xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
4504
+ <fo:block line-height="0" font-size="0">
4505
+ <xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
4506
+ <xsl:call-template name="bookmark"/>
4507
+ </xsl:for-each>
4508
+ </fo:block>
4509
+ </xsl:if>
4510
+ <fo:block text-depth="0" line-height="0" font-size="0">
4511
+
4512
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}">
4513
+ <xsl:attribute name="width">100%</xsl:attribute>
4514
+ <xsl:attribute name="content-height">100%</xsl:attribute>
4515
+ <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4516
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
4517
+
4518
+ <xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
4519
+ </fo:instream-foreign-object>
4520
+ </fo:block>
4521
+
4522
+ <xsl:apply-templates select=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]" mode="svg_imagemap_links">
4523
+ <xsl:with-param name="scale" select="$scale"/>
4524
+ </xsl:apply-templates>
4525
+ </fo:block-container>
4526
+ </fo:block>
4527
+ </fo:table-cell>
4528
+ </fo:table-row>
4529
+ </fo:table-body>
4530
+ </fo:table>
4531
+ </fo:block>
4532
+
4533
+ </xsl:when>
4534
+ <xsl:otherwise>
4535
+ <fo:block xsl:use-attribute-sets="image-style">
4536
+ <fo:instream-foreign-object fox:alt-text="{$alt-text}">
4537
+ <xsl:attribute name="width">100%</xsl:attribute>
4538
+ <xsl:attribute name="content-height">100%</xsl:attribute>
4539
+ <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4540
+ <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
4541
+ <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
4542
+ <!-- effective height 297 - 27.4 - 13 = 256.6 -->
4543
+ <!-- effective width 210 - 12.5 - 25 = 172.5 -->
4544
+ <!-- effective height / width = 1.48, 1.4 - with title -->
4545
+ <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
4546
+ <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
4547
+ <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
4548
+ </xsl:if>
4549
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
4550
+ <xsl:copy-of select="$svg_content"/>
4551
+ </fo:instream-foreign-object>
4552
+ </fo:block>
4553
+ </xsl:otherwise>
4554
+ </xsl:choose>
4555
+ </xsl:template><xsl:template match="@*|node()" mode="svg_update">
4556
+ <xsl:copy>
4557
+ <xsl:apply-templates select="@*|node()" mode="svg_update"/>
4558
+ </xsl:copy>
4559
+ </xsl:template><xsl:template match="*[local-name() = 'image']/@href" mode="svg_update">
4560
+ <xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
4561
+ <xsl:value-of select="."/>
4562
+ </xsl:attribute>
4563
+ </xsl:template><xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
4564
+ <xsl:copy>
4565
+ <xsl:apply-templates select="@*" mode="svg_update"/>
4566
+ <xsl:variable name="viewbox">
4567
+ <xsl:call-template name="split">
4568
+ <xsl:with-param name="pText" select="@viewBox"/>
4569
+ <xsl:with-param name="sep" select="' '"/>
4570
+ </xsl:call-template>
4571
+ </xsl:variable>
4572
+ <xsl:attribute name="width">
4573
+ <xsl:value-of select="round(xalan:nodeset($viewbox)//item[3])"/>
4574
+ </xsl:attribute>
4575
+ <xsl:attribute name="height">
4576
+ <xsl:value-of select="round(xalan:nodeset($viewbox)//item[4])"/>
4577
+ </xsl:attribute>
4578
+ <xsl:apply-templates mode="svg_update"/>
4579
+ </xsl:copy>
4580
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
4581
+ <xsl:variable name="svg_content" select="document(@src)"/>
4582
+ <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
4583
+ <xsl:for-each select="xalan:nodeset($svg_content)/node()">
4584
+ <xsl:call-template name="image_svg">
4585
+ <xsl:with-param name="name" select="$name"/>
4586
+ </xsl:call-template>
4587
+ </xsl:for-each>
4588
+ </xsl:template><xsl:template match="@*|node()" mode="svg_remove_a">
4589
+ <xsl:copy>
4590
+ <xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
4591
+ </xsl:copy>
4592
+ </xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
4593
+ <xsl:apply-templates mode="svg_remove_a"/>
4594
+ </xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
4595
+ <xsl:param name="scale"/>
4596
+ <xsl:variable name="dest">
4597
+ <xsl:choose>
4598
+ <xsl:when test="starts-with(@href, '#')">
4599
+ <xsl:value-of select="substring-after(@href, '#')"/>
4600
+ </xsl:when>
4601
+ <xsl:otherwise>
4602
+ <xsl:value-of select="@href"/>
4603
+ </xsl:otherwise>
4604
+ </xsl:choose>
4605
+ </xsl:variable>
4606
+ <xsl:for-each select="./*[local-name() = 'rect']">
4607
+ <xsl:call-template name="insertSVGMapLink">
4608
+ <xsl:with-param name="left" select="floor(@x * $scale)"/>
4609
+ <xsl:with-param name="top" select="floor(@y * $scale)"/>
4610
+ <xsl:with-param name="width" select="floor(@width * $scale)"/>
4611
+ <xsl:with-param name="height" select="floor(@height * $scale)"/>
4612
+ <xsl:with-param name="dest" select="$dest"/>
4613
+ </xsl:call-template>
4614
+ </xsl:for-each>
4615
+
4616
+ <xsl:for-each select="./*[local-name() = 'polygon']">
4617
+ <xsl:variable name="points">
4618
+ <xsl:call-template name="split">
4619
+ <xsl:with-param name="pText" select="@points"/>
4620
+ </xsl:call-template>
4621
+ </xsl:variable>
4622
+ <xsl:variable name="x_coords">
4623
+ <xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
4624
+ <xsl:sort select="." data-type="number"/>
4625
+ <x><xsl:value-of select="."/></x>
4626
+ </xsl:for-each>
4627
+ </xsl:variable>
4628
+ <xsl:variable name="y_coords">
4629
+ <xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
4630
+ <xsl:sort select="." data-type="number"/>
4631
+ <y><xsl:value-of select="."/></y>
4632
+ </xsl:for-each>
4633
+ </xsl:variable>
4634
+ <xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
4635
+ <xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
4636
+ <xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
4637
+ <xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
4638
+ <xsl:call-template name="insertSVGMapLink">
4639
+ <xsl:with-param name="left" select="floor($x * $scale)"/>
4640
+ <xsl:with-param name="top" select="floor($y * $scale)"/>
4641
+ <xsl:with-param name="width" select="floor($width * $scale)"/>
4642
+ <xsl:with-param name="height" select="floor($height * $scale)"/>
4643
+ <xsl:with-param name="dest" select="$dest"/>
4644
+ </xsl:call-template>
4645
+ </xsl:for-each>
4646
+
4647
+ <xsl:for-each select="./*[local-name() = 'circle']">
4648
+ <xsl:call-template name="insertSVGMapLink">
4649
+ <xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
4650
+ <xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
4651
+ <xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
4652
+ <xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
4653
+ <xsl:with-param name="dest" select="$dest"/>
4654
+ </xsl:call-template>
4655
+ </xsl:for-each>
4656
+ <xsl:for-each select="./*[local-name() = 'ellipse']">
4657
+ <xsl:call-template name="insertSVGMapLink">
4658
+ <xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
4659
+ <xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
4660
+ <xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
4661
+ <xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
4662
+ <xsl:with-param name="dest" select="$dest"/>
4663
+ </xsl:call-template>
4664
+ </xsl:for-each>
4665
+ </xsl:template><xsl:template name="insertSVGMapLink">
4666
+ <xsl:param name="left"/>
4667
+ <xsl:param name="top"/>
4668
+ <xsl:param name="width"/>
4669
+ <xsl:param name="height"/>
4670
+ <xsl:param name="dest"/>
4671
+ <fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
4672
+ <fo:block font-size="1pt">
4673
+ <fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
4674
+ <fo:inline-container inline-progression-dimension="100%">
4675
+ <fo:block-container height="{$height - 1}px" width="100%">
4676
+ <!-- DEBUG <xsl:if test="local-name()='polygon'">
4677
+ <xsl:attribute name="background-color">magenta</xsl:attribute>
4678
+ </xsl:if> -->
4679
+ <fo:block> </fo:block></fo:block-container>
4680
+ </fo:inline-container>
4681
+ </fo:basic-link>
4682
+ </fo:block>
4683
+ </fo:block-container>
4349
4684
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4350
4685
  <xsl:apply-templates mode="contents"/>
4351
4686
  <xsl:text> </xsl:text>
@@ -4374,28 +4709,39 @@
4374
4709
  <xsl:when test="count(xalan:nodeset($contents)/doc) &gt; 1">
4375
4710
  <xsl:for-each select="xalan:nodeset($contents)/doc">
4376
4711
  <fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
4712
+ <xsl:if test="@bundle = 'true'">
4713
+ <xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
4714
+ </xsl:if>
4377
4715
  <fo:bookmark-title>
4378
- <xsl:variable name="bookmark-title_">
4379
- <xsl:call-template name="getLangVersion">
4380
- <xsl:with-param name="lang" select="@lang"/>
4381
- <xsl:with-param name="doctype" select="@doctype"/>
4382
- <xsl:with-param name="title" select="@title-part"/>
4383
- </xsl:call-template>
4384
- </xsl:variable>
4385
4716
  <xsl:choose>
4386
- <xsl:when test="normalize-space($bookmark-title_) != ''">
4387
- <xsl:value-of select="normalize-space($bookmark-title_)"/>
4388
- </xsl:when>
4389
- <xsl:otherwise>
4717
+ <xsl:when test="not(normalize-space(@bundle) = 'true')"> <!-- 'bundle' means several different documents (not language versions) in one xml -->
4718
+ <xsl:variable name="bookmark-title_">
4719
+ <xsl:call-template name="getLangVersion">
4720
+ <xsl:with-param name="lang" select="@lang"/>
4721
+ <xsl:with-param name="doctype" select="@doctype"/>
4722
+ <xsl:with-param name="title" select="@title-part"/>
4723
+ </xsl:call-template>
4724
+ </xsl:variable>
4390
4725
  <xsl:choose>
4391
- <xsl:when test="@lang = 'en'">English</xsl:when>
4392
- <xsl:when test="@lang = 'fr'">Français</xsl:when>
4393
- <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
4394
- <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
4726
+ <xsl:when test="normalize-space($bookmark-title_) != ''">
4727
+ <xsl:value-of select="normalize-space($bookmark-title_)"/>
4728
+ </xsl:when>
4729
+ <xsl:otherwise>
4730
+ <xsl:choose>
4731
+ <xsl:when test="@lang = 'en'">English</xsl:when>
4732
+ <xsl:when test="@lang = 'fr'">Français</xsl:when>
4733
+ <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
4734
+ <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
4735
+ </xsl:choose>
4736
+ </xsl:otherwise>
4395
4737
  </xsl:choose>
4738
+ </xsl:when>
4739
+ <xsl:otherwise>
4740
+ <xsl:value-of select="@title-part"/>
4396
4741
  </xsl:otherwise>
4397
4742
  </xsl:choose>
4398
4743
  </fo:bookmark-title>
4744
+
4399
4745
  <xsl:apply-templates select="contents/item" mode="bookmark"/>
4400
4746
 
4401
4747
  <xsl:call-template name="insertFigureBookmarks">
@@ -4494,16 +4840,23 @@
4494
4840
  <xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
4495
4841
  </xsl:choose>
4496
4842
  </xsl:template><xsl:template match="item" mode="bookmark">
4497
- <fo:bookmark internal-destination="{@id}" starting-state="hide">
4498
- <fo:bookmark-title>
4499
- <xsl:if test="@section != ''">
4500
- <xsl:value-of select="@section"/>
4501
- <xsl:text> </xsl:text>
4502
- </xsl:if>
4503
- <xsl:value-of select="normalize-space(title)"/>
4504
- </fo:bookmark-title>
4505
- <xsl:apply-templates mode="bookmark"/>
4506
- </fo:bookmark>
4843
+ <xsl:choose>
4844
+ <xsl:when test="@id != ''">
4845
+ <fo:bookmark internal-destination="{@id}" starting-state="hide">
4846
+ <fo:bookmark-title>
4847
+ <xsl:if test="@section != ''">
4848
+ <xsl:value-of select="@section"/>
4849
+ <xsl:text> </xsl:text>
4850
+ </xsl:if>
4851
+ <xsl:value-of select="normalize-space(title)"/>
4852
+ </fo:bookmark-title>
4853
+ <xsl:apply-templates mode="bookmark"/>
4854
+ </fo:bookmark>
4855
+ </xsl:when>
4856
+ <xsl:otherwise>
4857
+ <xsl:apply-templates mode="bookmark"/>
4858
+ </xsl:otherwise>
4859
+ </xsl:choose>
4507
4860
  </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
4508
4861
  <xsl:if test="normalize-space() != ''">
4509
4862
  <fo:block xsl:use-attribute-sets="figure-name-style">
@@ -4869,7 +5222,19 @@
4869
5222
  </fo:inline>
4870
5223
  </xsl:if>
4871
5224
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
4872
- <fo:inline><xsl:apply-templates/></fo:inline>
5225
+ <xsl:variable name="element">inline
5226
+
5227
+ </xsl:variable>
5228
+ <xsl:choose>
5229
+ <xsl:when test="contains($element, 'block')">
5230
+ <fo:block xsl:use-attribute-sets="example-p-style">
5231
+ <xsl:apply-templates/>
5232
+ </fo:block>
5233
+ </xsl:when>
5234
+ <xsl:otherwise>
5235
+ <fo:inline><xsl:apply-templates/></fo:inline>
5236
+ </xsl:otherwise>
5237
+ </xsl:choose>
4873
5238
  </xsl:template><xsl:template match="*[local-name() = 'example']">
4874
5239
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4875
5240
 
@@ -4988,7 +5353,7 @@
4988
5353
  <fo:inline>
4989
5354
 
4990
5355
 
4991
- <xsl:attribute name="font-weight">600</xsl:attribute>
5356
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
4992
5357
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
4993
5358
 
4994
5359
 
@@ -5069,7 +5434,9 @@
5069
5434
 
5070
5435
 
5071
5436
  </xsl:if>
5072
-
5437
+
5438
+
5439
+
5073
5440
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5074
5441
  <xsl:if test="normalize-space(@citeas) = ''">
5075
5442
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -5078,6 +5445,7 @@
5078
5445
 
5079
5446
 
5080
5447
 
5448
+
5081
5449
  </xsl:if>
5082
5450
 
5083
5451
  <xsl:apply-templates/>
@@ -5451,7 +5819,6 @@
5451
5819
  </xsl:template><xsl:template name="processBibitem">
5452
5820
 
5453
5821
 
5454
- <!-- end BIPM bibitem processing-->
5455
5822
 
5456
5823
 
5457
5824
 
@@ -5916,20 +6283,40 @@
5916
6283
  </xsl:call-template>
5917
6284
  </xsl:if>
5918
6285
  </xsl:template><xsl:template name="getLocalizedString">
5919
- <xsl:param name="key"/>
6286
+ <xsl:param name="key"/>
6287
+ <xsl:param name="formatted">false</xsl:param>
5920
6288
 
5921
6289
  <xsl:variable name="curr_lang">
5922
6290
  <xsl:call-template name="getLang"/>
5923
6291
  </xsl:variable>
5924
6292
 
5925
- <xsl:variable name="data_value" select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
6293
+ <xsl:variable name="data_value">
6294
+ <xsl:choose>
6295
+ <xsl:when test="$formatted = 'true'">
6296
+ <xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6297
+ </xsl:when>
6298
+ <xsl:otherwise>
6299
+ <xsl:value-of select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
6300
+ </xsl:otherwise>
6301
+ </xsl:choose>
6302
+ </xsl:variable>
5926
6303
 
5927
6304
  <xsl:choose>
5928
- <xsl:when test="$data_value != ''">
5929
- <xsl:value-of select="$data_value"/>
6305
+ <xsl:when test="normalize-space($data_value) != ''">
6306
+ <xsl:choose>
6307
+ <xsl:when test="$formatted = 'true'"><xsl:copy-of select="$data_value"/></xsl:when>
6308
+ <xsl:otherwise><xsl:value-of select="$data_value"/></xsl:otherwise>
6309
+ </xsl:choose>
5930
6310
  </xsl:when>
5931
6311
  <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
5932
- <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6312
+ <xsl:choose>
6313
+ <xsl:when test="$formatted = 'true'">
6314
+ <xsl:apply-templates select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6315
+ </xsl:when>
6316
+ <xsl:otherwise>
6317
+ <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6318
+ </xsl:otherwise>
6319
+ </xsl:choose>
5933
6320
  </xsl:when>
5934
6321
  <xsl:otherwise>
5935
6322
  <xsl:variable name="key_">
@@ -5940,7 +6327,7 @@
5940
6327
  <xsl:value-of select="$key_"/>
5941
6328
  </xsl:otherwise>
5942
6329
  </xsl:choose>
5943
-
6330
+
5944
6331
  </xsl:template><xsl:template name="setTrackChangesStyles">
5945
6332
  <xsl:param name="isAdded"/>
5946
6333
  <xsl:param name="isDeleted"/>
@@ -5991,4 +6378,100 @@
5991
6378
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
5992
6379
  </xsl:choose>
5993
6380
  </xsl:attribute>
6381
+ </xsl:template><xsl:template name="number-to-words">
6382
+ <xsl:param name="number"/>
6383
+ <xsl:param name="first"/>
6384
+ <xsl:if test="$number != ''">
6385
+ <xsl:variable name="words">
6386
+ <words>
6387
+ <word cardinal="1">One-</word>
6388
+ <word ordinal="1">First </word>
6389
+ <word cardinal="2">Two-</word>
6390
+ <word ordinal="2">Second </word>
6391
+ <word cardinal="3">Three-</word>
6392
+ <word ordinal="3">Third </word>
6393
+ <word cardinal="4">Four-</word>
6394
+ <word ordinal="4">Fourth </word>
6395
+ <word cardinal="5">Five-</word>
6396
+ <word ordinal="5">Fifth </word>
6397
+ <word cardinal="6">Six-</word>
6398
+ <word ordinal="6">Sixth </word>
6399
+ <word cardinal="7">Seven-</word>
6400
+ <word ordinal="7">Seventh </word>
6401
+ <word cardinal="8">Eight-</word>
6402
+ <word ordinal="8">Eighth </word>
6403
+ <word cardinal="9">Nine-</word>
6404
+ <word ordinal="9">Ninth </word>
6405
+ <word ordinal="10">Tenth </word>
6406
+ <word ordinal="11">Eleventh </word>
6407
+ <word ordinal="12">Twelfth </word>
6408
+ <word ordinal="13">Thirteenth </word>
6409
+ <word ordinal="14">Fourteenth </word>
6410
+ <word ordinal="15">Fifteenth </word>
6411
+ <word ordinal="16">Sixteenth </word>
6412
+ <word ordinal="17">Seventeenth </word>
6413
+ <word ordinal="18">Eighteenth </word>
6414
+ <word ordinal="19">Nineteenth </word>
6415
+ <word cardinal="20">Twenty-</word>
6416
+ <word ordinal="20">Twentieth </word>
6417
+ <word cardinal="30">Thirty-</word>
6418
+ <word ordinal="30">Thirtieth </word>
6419
+ <word cardinal="40">Forty-</word>
6420
+ <word ordinal="40">Fortieth </word>
6421
+ <word cardinal="50">Fifty-</word>
6422
+ <word ordinal="50">Fiftieth </word>
6423
+ <word cardinal="60">Sixty-</word>
6424
+ <word ordinal="60">Sixtieth </word>
6425
+ <word cardinal="70">Seventy-</word>
6426
+ <word ordinal="70">Seventieth </word>
6427
+ <word cardinal="80">Eighty-</word>
6428
+ <word ordinal="80">Eightieth </word>
6429
+ <word cardinal="90">Ninety-</word>
6430
+ <word ordinal="90">Ninetieth </word>
6431
+ <word cardinal="100">Hundred-</word>
6432
+ <word ordinal="100">Hundredth </word>
6433
+ </words>
6434
+ </xsl:variable>
6435
+
6436
+ <xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
6437
+
6438
+ <xsl:variable name="value">
6439
+ <xsl:choose>
6440
+ <xsl:when test="$ordinal != ''">
6441
+ <xsl:value-of select="$ordinal"/>
6442
+ </xsl:when>
6443
+ <xsl:otherwise>
6444
+ <xsl:choose>
6445
+ <xsl:when test="$number &lt; 100">
6446
+ <xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
6447
+ <xsl:variable name="digit" select="substring($number,2)"/>
6448
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
6449
+ <xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
6450
+ </xsl:when>
6451
+ <xsl:otherwise>
6452
+ <!-- more 100 -->
6453
+ <xsl:variable name="hundred" select="substring($number,1,1)"/>
6454
+ <xsl:variable name="digits" select="number(substring($number,2))"/>
6455
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
6456
+ <xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
6457
+ <xsl:call-template name="number-to-words">
6458
+ <xsl:with-param name="number" select="$digits"/>
6459
+ </xsl:call-template>
6460
+ </xsl:otherwise>
6461
+ </xsl:choose>
6462
+ </xsl:otherwise>
6463
+ </xsl:choose>
6464
+ </xsl:variable>
6465
+ <xsl:choose>
6466
+ <xsl:when test="$first = 'true'">
6467
+ <xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
6468
+ <xsl:call-template name="capitalize">
6469
+ <xsl:with-param name="str" select="$value_lc"/>
6470
+ </xsl:call-template>
6471
+ </xsl:when>
6472
+ <xsl:otherwise>
6473
+ <xsl:value-of select="$value"/>
6474
+ </xsl:otherwise>
6475
+ </xsl:choose>
6476
+ </xsl:if>
5994
6477
  </xsl:template></xsl:stylesheet>