metanorma-iho 0.3.7 → 0.3.11

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: 78ed7a2327fce3d84a0abea428a0a3d64df78ba43260d86763741a7af909fc12
4
- data.tar.gz: 99d76431ad5f1df63d4b41d75b845313da2bd3798cf09f2fba7144e990d712d3
3
+ metadata.gz: d1c7a140b39e67d340a21b4aa9343f07b27a8d57c8e802b40dc2e94a6d83f771
4
+ data.tar.gz: e19e7fa1be664d71ef311fa4fa839f17a8a01275812f42d2e7120b785d267bae
5
5
  SHA512:
6
- metadata.gz: b2c96de49bd42c36f59dde810db26b023a8c5ca561a047afecd3b923af8620d5488e10f33a0c71322b8a96acffd496daf0f74007154693e76c019a411f96339d
7
- data.tar.gz: e864952f8073090f3b64a51080f447d2d91d9b357d8d2a33a29c9664a396fe77d1efc7538b69f31d8a2c4e1985febc9f1ef6806b24ec29037c6541d94cc18c53
6
+ metadata.gz: c5b15eb2b6719fa988c7ceeee272ead0363487947ae432fe48505b40395bfe3f23c2d74bda35fc9bbab026f2e46c97c7dc512c07084b0ee29043ca06dfebead2
7
+ data.tar.gz: 517b60a00c651806b0fda9a8e718e72627bb3569875272306ab4cdce19dc8ec7ea74f321a804bf1137ce201e43aa564215e584a208ad04e0fc1a9ae95e01042f
@@ -32,6 +32,18 @@
32
32
  <ref name="DocumentType"/>
33
33
  </element>
34
34
  </define>
35
+ <define name="section-title">
36
+ <element name="title">
37
+ <zeroOrMore>
38
+ <ref name="TextElement"/>
39
+ </zeroOrMore>
40
+ </element>
41
+ <zeroOrMore>
42
+ <element name="variant-title">
43
+ <ref name="TypedTitleString"/>
44
+ </element>
45
+ </zeroOrMore>
46
+ </define>
35
47
  <define name="hyperlink">
36
48
  <element name="link">
37
49
  <attribute name="target">
@@ -158,15 +170,17 @@
158
170
  <data type="boolean"/>
159
171
  </attribute>
160
172
  </optional>
161
- <attribute name="type">
162
- <choice>
163
- <value>roman</value>
164
- <value>alphabet</value>
165
- <value>arabic</value>
166
- <value>roman_upper</value>
167
- <value>alphabet_upper</value>
168
- </choice>
169
- </attribute>
173
+ <optional>
174
+ <attribute name="type">
175
+ <choice>
176
+ <value>roman</value>
177
+ <value>alphabet</value>
178
+ <value>arabic</value>
179
+ <value>roman_upper</value>
180
+ <value>alphabet_upper</value>
181
+ </choice>
182
+ </attribute>
183
+ </optional>
170
184
  <oneOrMore>
171
185
  <ref name="li"/>
172
186
  </oneOrMore>
@@ -976,6 +990,16 @@
976
990
  <data type="boolean"/>
977
991
  </attribute>
978
992
  </optional>
993
+ <optional>
994
+ <attribute name="linkmention">
995
+ <data type="boolean"/>
996
+ </attribute>
997
+ </optional>
998
+ <optional>
999
+ <attribute name="linkref">
1000
+ <data type="boolean"/>
1001
+ </attribute>
1002
+ </optional>
979
1003
  <optional>
980
1004
  <element name="refterm">
981
1005
  <zeroOrMore>
@@ -1011,8 +1035,14 @@
1011
1035
  <ref name="imagemap"/>
1012
1036
  <ref name="svgmap"/>
1013
1037
  <ref name="inputform"/>
1038
+ <ref name="toc"/>
1014
1039
  </choice>
1015
1040
  </define>
1041
+ <define name="toc">
1042
+ <element name="toc">
1043
+ <ref name="ul"/>
1044
+ </element>
1045
+ </define>
1016
1046
  <define name="inputform">
1017
1047
  <element name="form">
1018
1048
  <attribute name="id">
@@ -1254,6 +1284,12 @@
1254
1284
  <optional>
1255
1285
  <attribute name="type"/>
1256
1286
  </optional>
1287
+ <optional>
1288
+ <attribute name="identifier"/>
1289
+ </optional>
1290
+ <optional>
1291
+ <attribute name="prefix"/>
1292
+ </optional>
1257
1293
  <text/>
1258
1294
  </define>
1259
1295
  <define name="ics">
@@ -1674,7 +1710,9 @@
1674
1710
  <zeroOrMore>
1675
1711
  <ref name="termgrammar"/>
1676
1712
  </zeroOrMore>
1677
- <ref name="definition"/>
1713
+ <oneOrMore>
1714
+ <ref name="termdefinition"/>
1715
+ </oneOrMore>
1678
1716
  <zeroOrMore>
1679
1717
  <ref name="termnote"/>
1680
1718
  </zeroOrMore>
@@ -1737,7 +1775,7 @@
1737
1775
  </oneOrMore>
1738
1776
  </element>
1739
1777
  </define>
1740
- <define name="definition">
1778
+ <define name="termdefinition">
1741
1779
  <element name="definition">
1742
1780
  <oneOrMore>
1743
1781
  <choice>
@@ -1746,6 +1784,9 @@
1746
1784
  <ref name="formula"/>
1747
1785
  </choice>
1748
1786
  </oneOrMore>
1787
+ <zeroOrMore>
1788
+ <ref name="termsource"/>
1789
+ </zeroOrMore>
1749
1790
  </element>
1750
1791
  </define>
1751
1792
  <define name="termnote">
@@ -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>
@@ -628,6 +628,12 @@ ul > li p:first-child {
628
628
  ul > li:first-child {
629
629
  margin-top: 1em; }
630
630
 
631
+ ul ul > li:first-child {
632
+ margin-top: 0; }
633
+
634
+ ol ul > li:first-child {
635
+ margin-top: 0; }
636
+
631
637
  #toc-list ul {
632
638
  margin-bottom: 0.25em; }
633
639
 
@@ -298,6 +298,13 @@ ul>li:first-child {
298
298
  margin-top: 1em;
299
299
  }
300
300
 
301
+ ul ul > li:first-child {
302
+ margin-top: 0;
303
+ }
304
+ ol ul > li:first-child {
305
+ margin-top: 0;
306
+ }
307
+
301
308
  #toc-list ul {
302
309
  margin-bottom: 0.25em;
303
310
  }
@@ -155,7 +155,7 @@
155
155
  </fo:table-cell>
156
156
  <fo:table-cell number-columns-spanned="2" border="0.5pt solid rgb(0, 21, 50)">
157
157
  <fo:block-container height="154.4mm" text-align="center" display-align="center">
158
- <fo:block font-size="28pt" font-weight="bold" color="rgb(0, 0, 76)">
158
+ <fo:block font-size="28pt" font-weight="bold" color="rgb(0, 0, 76)" role="H1">
159
159
  <xsl:value-of select="$title-en"/>
160
160
  </fo:block>
161
161
  </fo:block-container>
@@ -215,61 +215,63 @@
215
215
  <!-- Table of Contents -->
216
216
  <fo:block-container margin-right="-12.7mm">
217
217
  <fo:block-container margin-right="0mm">
218
- <fo:block color="rgb(14, 36, 133)" margin-bottom="15.5pt">
219
- <xsl:variable name="title-toc">
220
- <xsl:call-template name="getTitle">
221
- <xsl:with-param name="name" select="'title-toc'"/>
222
- </xsl:call-template>
223
- </xsl:variable>
224
- <xsl:value-of select="$title-toc"/>
225
- </fo:block>
226
- <xsl:if test="$debug = 'true'">
227
- <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
228
- DEBUG
229
- contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
230
- <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
231
- </xsl:if>
232
-
233
- <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
234
- <fo:block>
235
- <xsl:if test="@level = 1">
236
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
237
- </xsl:if>
238
-
239
- <fo:list-block>
240
-
241
- <xsl:attribute name="provisional-distance-between-starts">
242
- <xsl:choose>
243
- <xsl:when test="@level &gt;= 1 and @root = 'preface'">0mm</xsl:when>
244
- <xsl:when test="@level &gt;= 1 and @root = 'annex' and not(@type = 'annex')">13mm</xsl:when>
245
- <xsl:when test="@level &gt;= 1 and not(@type = 'annex')">10mm</xsl:when>
246
- <xsl:otherwise>0mm</xsl:otherwise>
247
- </xsl:choose>
248
- </xsl:attribute>
249
- <fo:list-item>
250
- <fo:list-item-label end-indent="label-end()">
251
- <fo:block>
252
- <xsl:if test="@section != '' and not(@type = 'annex')"> <!-- output below -->
253
- <xsl:value-of select="@section"/>
254
- </xsl:if>
255
- </fo:block>
256
- </fo:list-item-label>
257
- <fo:list-item-body start-indent="body-start()">
258
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
259
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
260
- <xsl:apply-templates select="title"/>
261
- <fo:inline keep-together.within-line="always">
262
- <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
263
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
264
- </fo:inline>
265
- </fo:basic-link>
266
- </fo:block>
267
- </fo:list-item-body>
268
- </fo:list-item>
269
- </fo:list-block>
218
+ <fo:block role="TOC">
219
+ <fo:block color="rgb(14, 36, 133)" margin-bottom="15.5pt" role="H1">
220
+ <xsl:variable name="title-toc">
221
+ <xsl:call-template name="getTitle">
222
+ <xsl:with-param name="name" select="'title-toc'"/>
223
+ </xsl:call-template>
224
+ </xsl:variable>
225
+ <xsl:value-of select="$title-toc"/>
270
226
  </fo:block>
227
+ <xsl:if test="$debug = 'true'">
228
+ <xsl:text disable-output-escaping="yes">&lt;!--</xsl:text>
229
+ DEBUG
230
+ contents=<xsl:copy-of select="xalan:nodeset($contents)"/>
231
+ <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
232
+ </xsl:if>
271
233
 
272
- </xsl:for-each>
234
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
235
+ <fo:block role="TOCI">
236
+ <xsl:if test="@level = 1">
237
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
238
+ </xsl:if>
239
+
240
+ <fo:list-block>
241
+
242
+ <xsl:attribute name="provisional-distance-between-starts">
243
+ <xsl:choose>
244
+ <xsl:when test="@level &gt;= 1 and @root = 'preface'">0mm</xsl:when>
245
+ <xsl:when test="@level &gt;= 1 and @root = 'annex' and not(@type = 'annex')">13mm</xsl:when>
246
+ <xsl:when test="@level &gt;= 1 and not(@type = 'annex')">10mm</xsl:when>
247
+ <xsl:otherwise>0mm</xsl:otherwise>
248
+ </xsl:choose>
249
+ </xsl:attribute>
250
+ <fo:list-item>
251
+ <fo:list-item-label end-indent="label-end()">
252
+ <fo:block>
253
+ <xsl:if test="@section != '' and not(@type = 'annex')"> <!-- output below -->
254
+ <xsl:value-of select="@section"/>
255
+ </xsl:if>
256
+ </fo:block>
257
+ </fo:list-item-label>
258
+ <fo:list-item-body start-indent="body-start()">
259
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
260
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
261
+ <xsl:apply-templates select="title"/>
262
+ <fo:inline keep-together.within-line="always">
263
+ <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
264
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
265
+ </fo:inline>
266
+ </fo:basic-link>
267
+ </fo:block>
268
+ </fo:list-item-body>
269
+ </fo:list-item>
270
+ </fo:list-block>
271
+ </fo:block>
272
+
273
+ </xsl:for-each>
274
+ </fo:block>
273
275
  </fo:block-container>
274
276
  </fo:block-container>
275
277
 
@@ -297,7 +299,7 @@
297
299
  <fo:flow flow-name="xsl-region-body">
298
300
  <fo:block-container>
299
301
 
300
- <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt"><xsl:value-of select="$title-en"/></fo:block>
302
+ <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt" role="H1"><xsl:value-of select="$title-en"/></fo:block>
301
303
 
302
304
  <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
303
305
  <!-- Normative references -->
@@ -453,13 +455,14 @@
453
455
  <!-- ====== -->
454
456
 
455
457
  <xsl:template match="iho:annex/iho:title">
456
- <fo:block font-size="13pt" font-weight="bold" text-align="center" margin-bottom="12pt" keep-with-next="always">
458
+ <fo:block font-size="13pt" font-weight="bold" text-align="center" margin-bottom="12pt" keep-with-next="always" role="H1">
457
459
  <xsl:apply-templates/>
460
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
458
461
  </fo:block>
459
462
  </xsl:template>
460
463
 
461
464
  <xsl:template match="iho:bibliography/iho:references[not(@normative='true')]/iho:title">
462
- <fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always">
465
+ <fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always" role="H1">
463
466
  <xsl:apply-templates/>
464
467
  </fo:block>
465
468
  </xsl:template>
@@ -504,7 +507,10 @@
504
507
 
505
508
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
506
509
 
510
+ <xsl:attribute name="role">H<xsl:value-of select="$level"/></xsl:attribute>
511
+
507
512
  <xsl:apply-templates/>
513
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
508
514
  </xsl:element>
509
515
 
510
516
  <xsl:if test="$element-name = 'fo:inline' and not(following-sibling::iho:p)">
@@ -806,8 +812,10 @@
806
812
 
807
813
 
808
814
  <xsl:template match="iho:preferred">
809
-
810
- <fo:block line-height="1.1">
815
+ <xsl:variable name="levelTerm">
816
+ <xsl:call-template name="getLevelTermName"/>
817
+ </xsl:variable>
818
+ <fo:block line-height="1.1" role="H{$levelTerm}">
811
819
  <fo:block font-weight="bold" keep-with-next="always">
812
820
  <xsl:apply-templates select="ancestor::iho:term/iho:name" mode="presentation"/>
813
821
  </fo:block>
@@ -822,14 +830,14 @@
822
830
 
823
831
  <xsl:template name="insertHeaderFooter">
824
832
  <xsl:param name="font-weight" select="'bold'"/>
825
- <fo:static-content flow-name="header-odd">
833
+ <fo:static-content flow-name="header-odd" role="artifact">
826
834
  <fo:block-container height="100%">
827
835
  <fo:block padding-top="12.5mm" text-align="right">
828
836
  <xsl:value-of select="$docidentifier"/>
829
837
  </fo:block>
830
838
  </fo:block-container>
831
839
  </fo:static-content>
832
- <fo:static-content flow-name="footer-odd">
840
+ <fo:static-content flow-name="footer-odd" role="artifact">
833
841
  <fo:block-container height="100%" margin-right="-10mm" display-align="after">
834
842
  <fo:block-container margin-right="0mm">
835
843
  <fo:block padding-bottom="17mm" font-size="10pt" text-align-last="justify">
@@ -842,14 +850,14 @@
842
850
  </fo:block-container>
843
851
  </fo:block-container>
844
852
  </fo:static-content>
845
- <fo:static-content flow-name="header-even">
853
+ <fo:static-content flow-name="header-even" role="artifact">
846
854
  <fo:block-container height="100%">
847
855
  <fo:block padding-top="12.5mm">
848
856
  <xsl:value-of select="$docidentifier"/>
849
857
  </fo:block>
850
858
  </fo:block-container>
851
859
  </fo:static-content>
852
- <fo:static-content flow-name="footer-even">
860
+ <fo:static-content flow-name="footer-even" role="artifact">
853
861
  <fo:block-container height="100%" margin-right="-10mm" display-align="after">
854
862
  <fo:block-container margin-right="0mm">
855
863
  <fo:block padding-bottom="17mm" font-size="10pt" text-align-last="justify">
@@ -1131,6 +1139,7 @@
1131
1139
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1132
1140
  <xsl:attribute name="white-space">pre</xsl:attribute>
1133
1141
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
1142
+ <xsl:attribute name="role">Code</xsl:attribute>
1134
1143
 
1135
1144
 
1136
1145
 
@@ -1157,8 +1166,13 @@
1157
1166
 
1158
1167
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
1159
1168
 
1160
- </xsl:attribute-set><xsl:attribute-set name="requirement-subject-style">
1161
- </xsl:attribute-set><xsl:attribute-set name="requirement-inherit-style">
1169
+ </xsl:attribute-set><xsl:attribute-set name="subject-style">
1170
+ </xsl:attribute-set><xsl:attribute-set name="inherit-style">
1171
+ </xsl:attribute-set><xsl:attribute-set name="description-style">
1172
+ </xsl:attribute-set><xsl:attribute-set name="specification-style">
1173
+ </xsl:attribute-set><xsl:attribute-set name="measurement-target-style">
1174
+ </xsl:attribute-set><xsl:attribute-set name="verification-style">
1175
+ </xsl:attribute-set><xsl:attribute-set name="import-style">
1162
1176
  </xsl:attribute-set><xsl:attribute-set name="recommendation-style">
1163
1177
 
1164
1178
 
@@ -1226,6 +1240,7 @@
1226
1240
 
1227
1241
 
1228
1242
 
1243
+
1229
1244
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1230
1245
  <xsl:attribute name="margin-left">12.7mm</xsl:attribute>
1231
1246
 
@@ -1247,7 +1262,9 @@
1247
1262
 
1248
1263
 
1249
1264
 
1250
- </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1265
+ </xsl:attribute-set><xsl:variable name="table-border_">
1266
+
1267
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1251
1268
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1252
1269
 
1253
1270
 
@@ -1368,7 +1385,8 @@
1368
1385
 
1369
1386
 
1370
1387
 
1371
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
1388
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
1389
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
1372
1390
 
1373
1391
 
1374
1392
 
@@ -1461,7 +1479,7 @@
1461
1479
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
1462
1480
 
1463
1481
 
1464
- <xsl:attribute name="font-family">Courier</xsl:attribute>
1482
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
1465
1483
 
1466
1484
 
1467
1485
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -1567,11 +1585,15 @@
1567
1585
  <fo:block>&#xA0;</fo:block>
1568
1586
  </xsl:if> -->
1569
1587
 
1588
+
1589
+ <!-- Display table's name before table as standalone block -->
1570
1590
  <!-- $namespace = 'iso' or -->
1571
1591
 
1572
1592
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1573
1593
 
1574
-
1594
+
1595
+
1596
+
1575
1597
 
1576
1598
  <xsl:call-template name="fn_name_display"/>
1577
1599
 
@@ -1646,6 +1668,12 @@
1646
1668
 
1647
1669
 
1648
1670
 
1671
+
1672
+
1673
+
1674
+ <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
1675
+
1676
+
1649
1677
  <xsl:variable name="table_width">
1650
1678
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1651
1679
  100%
@@ -1664,6 +1692,7 @@
1664
1692
 
1665
1693
 
1666
1694
 
1695
+
1667
1696
 
1668
1697
 
1669
1698
 
@@ -1690,6 +1719,8 @@
1690
1719
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
1691
1720
  </xsl:if>
1692
1721
 
1722
+
1723
+
1693
1724
  <xsl:choose>
1694
1725
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1695
1726
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -1977,9 +2008,9 @@
1977
2008
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
1978
2009
  <xsl:with-param name="continued">true</xsl:with-param>
1979
2010
  </xsl:apply-templates>
1980
- <xsl:for-each select="ancestor::*[local-name()='table'][1]">
1981
- <xsl:call-template name="fn_name_display"/>
1982
- </xsl:for-each>
2011
+
2012
+
2013
+
1983
2014
 
1984
2015
  </fo:table-cell>
1985
2016
  </fo:table-row>
@@ -2061,7 +2092,11 @@
2061
2092
 
2062
2093
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2063
2094
 
2064
- <xsl:if test="$isNoteOrFnExist = 'true'">
2095
+ <xsl:variable name="isNoteOrFnExistShowAfterTable">
2096
+
2097
+ </xsl:variable>
2098
+
2099
+ <xsl:if test="$isNoteOrFnExist = 'true' or normalize-space($isNoteOrFnExistShowAfterTable) = 'true'">
2065
2100
 
2066
2101
  <xsl:variable name="cols-count">
2067
2102
  <xsl:choose>
@@ -2090,6 +2125,8 @@
2090
2125
  </xsl:choose>
2091
2126
  </xsl:for-each>
2092
2127
 
2128
+
2129
+
2093
2130
  <xsl:choose>
2094
2131
  <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2095
2132
  <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
@@ -2126,6 +2163,7 @@
2126
2163
 
2127
2164
 
2128
2165
 
2166
+
2129
2167
  <!-- for BSI (not PAS) display Notes before footnotes -->
2130
2168
 
2131
2169
 
@@ -2199,6 +2237,19 @@
2199
2237
 
2200
2238
  </fo:table-body>
2201
2239
 
2240
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2241
+ <xsl:choose>
2242
+ <xsl:when test="substring-after(., '—') != ''">
2243
+ <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2244
+ </xsl:when>
2245
+ <xsl:otherwise>
2246
+ <xsl:value-of select="."/>
2247
+ </xsl:otherwise>
2248
+ </xsl:choose>
2249
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2250
+ <xsl:apply-templates mode="presentation_name"/>
2251
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2252
+ <xsl:apply-templates select="."/>
2202
2253
  </xsl:template><xsl:template match="*[local-name()='tr']">
2203
2254
  <xsl:variable name="parent-name" select="local-name(..)"/>
2204
2255
  <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
@@ -2211,6 +2262,8 @@
2211
2262
 
2212
2263
 
2213
2264
 
2265
+
2266
+
2214
2267
  </xsl:if>
2215
2268
  <xsl:if test="$parent-name = 'tfoot'">
2216
2269
 
@@ -2225,6 +2278,8 @@
2225
2278
 
2226
2279
 
2227
2280
 
2281
+
2282
+
2228
2283
  <!-- <xsl:if test="$namespace = 'bipm'">
2229
2284
  <xsl:attribute name="height">8mm</xsl:attribute>
2230
2285
  </xsl:if> -->
@@ -2374,14 +2429,12 @@
2374
2429
  <xsl:apply-templates/>
2375
2430
  </xsl:template><xsl:template name="fn_display">
2376
2431
  <xsl:variable name="references">
2432
+
2377
2433
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
2378
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2379
-
2380
-
2381
- <xsl:apply-templates/>
2382
- </fn>
2434
+ <xsl:call-template name="create_fn"/>
2383
2435
  </xsl:for-each>
2384
2436
  </xsl:variable>
2437
+
2385
2438
  <xsl:for-each select="xalan:nodeset($references)//fn">
2386
2439
  <xsl:variable name="reference" select="@reference"/>
2387
2440
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
@@ -2417,6 +2470,12 @@
2417
2470
  </fo:block>
2418
2471
  </xsl:if>
2419
2472
  </xsl:for-each>
2473
+ </xsl:template><xsl:template name="create_fn">
2474
+ <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2475
+
2476
+
2477
+ <xsl:apply-templates/>
2478
+ </fn>
2420
2479
  </xsl:template><xsl:template name="fn_name_display">
2421
2480
  <!-- <xsl:variable name="references">
2422
2481
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
@@ -3403,16 +3462,68 @@
3403
3462
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3404
3463
  </xsl:call-template>
3405
3464
 
3465
+
3466
+
3406
3467
  <xsl:variable name="mathml">
3407
3468
  <xsl:apply-templates select="." mode="mathml"/>
3408
3469
  </xsl:variable>
3409
3470
  <fo:instream-foreign-object fox:alt-text="Math">
3410
3471
 
3411
3472
 
3473
+ <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
3474
+ <xsl:variable name="comment_text_">
3475
+ <xsl:choose>
3476
+ <xsl:when test="normalize-space($comment_text_following) != ''">
3477
+ <xsl:value-of select="$comment_text_following"/>
3478
+ </xsl:when>
3479
+ <xsl:otherwise>
3480
+ <xsl:value-of select="normalize-space(translate(.,' ⁢',' '))"/>
3481
+ </xsl:otherwise>
3482
+ </xsl:choose>
3483
+ </xsl:variable>
3484
+ <xsl:variable name="comment_text" select="java:org.metanorma.fop.Util.unescape($comment_text_)"/>
3485
+
3486
+ <xsl:if test="normalize-space($comment_text) != ''">
3487
+ <!-- put Mathin Alternate Text -->
3488
+ <xsl:attribute name="fox:alt-text">
3489
+ <xsl:value-of select="java:org.metanorma.fop.Util.unescape($comment_text)"/>
3490
+ </xsl:attribute>
3491
+ </xsl:if>
3492
+
3493
+ <xsl:variable name="mathml_content">
3494
+ <xsl:apply-templates select="." mode="mathml_actual_text"/>
3495
+ </xsl:variable>
3496
+ <!-- put MathML in Actual Text -->
3497
+ <xsl:attribute name="fox:actual-text">
3498
+ <xsl:value-of select="$mathml_content"/>
3499
+ </xsl:attribute>
3500
+
3501
+
3412
3502
  <!-- <xsl:copy-of select="."/> -->
3413
3503
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3414
3504
  </fo:instream-foreign-object>
3415
3505
  </fo:inline>
3506
+ </xsl:template><xsl:template match="mathml:*" mode="mathml_actual_text">
3507
+ <!-- <xsl:text>a+b</xsl:text> -->
3508
+ <xsl:text>&lt;</xsl:text>
3509
+ <xsl:value-of select="local-name()"/>
3510
+ <xsl:if test="local-name() = 'math'">
3511
+ <xsl:text> xmlns="http://www.w3.org/1998/Math/MathML"</xsl:text>
3512
+ </xsl:if>
3513
+ <xsl:for-each select="@*">
3514
+ <xsl:text> </xsl:text>
3515
+ <xsl:value-of select="local-name()"/>
3516
+ <xsl:text>="</xsl:text>
3517
+ <xsl:value-of select="."/>
3518
+ <xsl:text>"</xsl:text>
3519
+ </xsl:for-each>
3520
+ <xsl:text>&gt;</xsl:text>
3521
+ <xsl:apply-templates mode="mathml_actual_text"/>
3522
+ <xsl:text>&lt;/</xsl:text>
3523
+ <xsl:value-of select="local-name()"/>
3524
+ <xsl:text>&gt;</xsl:text>
3525
+ </xsl:template><xsl:template match="text()" mode="mathml_actual_text">
3526
+ <xsl:value-of select="normalize-space()"/>
3416
3527
  </xsl:template><xsl:template match="@*|node()" mode="mathml">
3417
3528
  <xsl:copy>
3418
3529
  <xsl:apply-templates select="@*|node()" mode="mathml"/>
@@ -3422,19 +3533,6 @@
3422
3533
  <!-- replace start and end spaces to non-break space -->
3423
3534
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
3424
3535
  </xsl:copy>
3425
- </xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
3426
- <xsl:copy>
3427
- <xsl:apply-templates select="@*|node()" mode="mathml"/>
3428
- </xsl:copy>
3429
- <xsl:choose>
3430
- <!-- if in msub, then don't add space -->
3431
- <xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
3432
- <!-- if next char in digit, don't add space -->
3433
- <xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
3434
- <xsl:otherwise>
3435
- <mathml:mspace width="0.5ex"/>
3436
- </xsl:otherwise>
3437
- </xsl:choose>
3438
3536
  </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">
3439
3537
  <xsl:variable name="target">
3440
3538
  <xsl:choose>
@@ -3487,7 +3585,10 @@
3487
3585
  </fo:block>
3488
3586
  <xsl:apply-templates/>
3489
3587
  </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
3490
- <fo:inline><xsl:apply-templates/></fo:inline>
3588
+ <xsl:variable name="level">
3589
+ <xsl:call-template name="getLevel"/>
3590
+ </xsl:variable>
3591
+ <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
3491
3592
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
3492
3593
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
3493
3594
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3522,9 +3623,10 @@
3522
3623
 
3523
3624
  </xsl:variable>
3524
3625
 
3626
+ <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
3525
3627
  <xsl:choose>
3526
- <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:text>—</xsl:text></xsl:when>
3527
- <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:text> — </xsl:text></xsl:otherwise>
3628
+ <xsl:when test="$lang = 'zh'"><xsl:text>、</xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text>—</xsl:text></xsl:if></xsl:when>
3629
+ <xsl:otherwise><xsl:text>, </xsl:text><xsl:value-of select="$title-modified"/><xsl:if test="normalize-space($text) != ''"><xsl:text> — </xsl:text></xsl:if></xsl:otherwise>
3528
3630
  </xsl:choose>
3529
3631
  <xsl:apply-templates/>
3530
3632
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
@@ -3672,7 +3774,10 @@
3672
3774
  </fo:block>
3673
3775
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
3674
3776
  <xsl:if test="normalize-space() != ''">
3675
- <fo:inline>
3777
+ <xsl:variable name="level">
3778
+ <xsl:call-template name="getLevelTermName"/>
3779
+ </xsl:variable>
3780
+ <fo:inline role="H{$level}">
3676
3781
  <xsl:apply-templates/>
3677
3782
  <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
3678
3783
  <xsl:text>.</xsl:text>
@@ -3745,7 +3850,24 @@
3745
3850
  </fo:instream-foreign-object>
3746
3851
  </xsl:when>
3747
3852
  <xsl:otherwise>
3748
- <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
3853
+ <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
3854
+ <xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
3855
+
3856
+ <xsl:variable name="img_src">
3857
+ <xsl:choose>
3858
+ <xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
3859
+ <xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
3860
+ </xsl:choose>
3861
+ </xsl:variable>
3862
+
3863
+ <xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
3864
+ <xsl:if test="number($scale) &lt; 100">
3865
+ <xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
3866
+ </xsl:if>
3867
+
3868
+ </xsl:if>
3869
+
3870
+ </fo:external-graphic>
3749
3871
  </xsl:otherwise>
3750
3872
  </xsl:choose>
3751
3873
 
@@ -3916,11 +4038,13 @@
3916
4038
  <xsl:attribute name="width">100%</xsl:attribute>
3917
4039
  <xsl:attribute name="content-height">100%</xsl:attribute>
3918
4040
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4041
+ <xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
4042
+ <xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
3919
4043
  <!-- effective height 297 - 27.4 - 13 = 256.6 -->
3920
4044
  <!-- effective width 210 - 12.5 - 25 = 172.5 -->
3921
4045
  <!-- effective height / width = 1.48, 1.4 - with title -->
3922
- <xsl:if test="@height &gt; (@width * 1.4)"> <!-- for images with big height -->
3923
- <xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
4046
+ <xsl:if test="$svg_height &gt; ($svg_width * 1.4)"> <!-- for images with big height -->
4047
+ <xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
3924
4048
  <xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
3925
4049
  </xsl:if>
3926
4050
  <xsl:attribute name="scaling">uniform</xsl:attribute>
@@ -3937,6 +4061,23 @@
3937
4061
  <xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
3938
4062
  <xsl:value-of select="."/>
3939
4063
  </xsl:attribute>
4064
+ </xsl:template><xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
4065
+ <xsl:copy>
4066
+ <xsl:apply-templates select="@*" mode="svg_update"/>
4067
+ <xsl:variable name="viewbox">
4068
+ <xsl:call-template name="split">
4069
+ <xsl:with-param name="pText" select="@viewBox"/>
4070
+ <xsl:with-param name="sep" select="' '"/>
4071
+ </xsl:call-template>
4072
+ </xsl:variable>
4073
+ <xsl:attribute name="width">
4074
+ <xsl:value-of select="round(xalan:nodeset($viewbox)//item[3])"/>
4075
+ </xsl:attribute>
4076
+ <xsl:attribute name="height">
4077
+ <xsl:value-of select="round(xalan:nodeset($viewbox)//item[4])"/>
4078
+ </xsl:attribute>
4079
+ <xsl:apply-templates mode="svg_update"/>
4080
+ </xsl:copy>
3940
4081
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
3941
4082
  <xsl:variable name="svg_content" select="document(@src)"/>
3942
4083
  <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
@@ -4267,6 +4408,7 @@
4267
4408
  </xsl:when>
4268
4409
  <xsl:otherwise>
4269
4410
  <xsl:apply-templates/>
4411
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
4270
4412
  </xsl:otherwise>
4271
4413
  </xsl:choose>
4272
4414
  </fo:block>
@@ -4407,14 +4549,6 @@
4407
4549
  <fo:block>
4408
4550
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4409
4551
  </fo:block>
4410
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4411
- <fo:block xsl:use-attribute-sets="requirement-subject-style">
4412
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4413
- </fo:block>
4414
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'inherit']">
4415
- <fo:block xsl:use-attribute-sets="requirement-inherit-style">
4416
- <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4417
- </fo:block>
4418
4552
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4419
4553
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4420
4554
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -4431,6 +4565,38 @@
4431
4565
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4432
4566
  <xsl:apply-templates/>
4433
4567
  </fo:block>
4568
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4569
+ <fo:block xsl:use-attribute-sets="subject-style">
4570
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4571
+ </fo:block>
4572
+ </xsl:template><xsl:template match="*[local-name() = 'subject']">
4573
+ <fo:block xsl:use-attribute-sets="subject-style">
4574
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4575
+ </fo:block>
4576
+ </xsl:template><xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
4577
+ <fo:block xsl:use-attribute-sets="inherit-style">
4578
+ <xsl:text>Dependency </xsl:text><xsl:apply-templates/>
4579
+ </fo:block>
4580
+ </xsl:template><xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
4581
+ <fo:block xsl:use-attribute-sets="description-style">
4582
+ <xsl:apply-templates/>
4583
+ </fo:block>
4584
+ </xsl:template><xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
4585
+ <fo:block xsl:use-attribute-sets="specification-style">
4586
+ <xsl:apply-templates/>
4587
+ </fo:block>
4588
+ </xsl:template><xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
4589
+ <fo:block xsl:use-attribute-sets="measurement-target-style">
4590
+ <xsl:apply-templates/>
4591
+ </fo:block>
4592
+ </xsl:template><xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
4593
+ <fo:block xsl:use-attribute-sets="verification-style">
4594
+ <xsl:apply-templates/>
4595
+ </fo:block>
4596
+ </xsl:template><xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
4597
+ <fo:block xsl:use-attribute-sets="import-style">
4598
+ <xsl:apply-templates/>
4599
+ </fo:block>
4434
4600
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
4435
4601
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
4436
4602
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
@@ -4582,7 +4748,19 @@
4582
4748
  </fo:inline>
4583
4749
  </xsl:if>
4584
4750
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
4585
- <fo:inline><xsl:apply-templates/></fo:inline>
4751
+ <xsl:variable name="element">inline
4752
+
4753
+ </xsl:variable>
4754
+ <xsl:choose>
4755
+ <xsl:when test="contains($element, 'block')">
4756
+ <fo:block xsl:use-attribute-sets="example-p-style">
4757
+ <xsl:apply-templates/>
4758
+ </fo:block>
4759
+ </xsl:when>
4760
+ <xsl:otherwise>
4761
+ <fo:inline><xsl:apply-templates/></fo:inline>
4762
+ </xsl:otherwise>
4763
+ </xsl:choose>
4586
4764
  </xsl:template><xsl:template match="*[local-name() = 'example']">
4587
4765
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
4588
4766
 
@@ -5125,6 +5303,7 @@
5125
5303
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']" priority="4">
5126
5304
  <xsl:variable name="level" select="count(ancestor::*[local-name() = 'ul'])"/>
5127
5305
  <fo:block start-indent="{5 * $level}mm" text-indent="-5mm">
5306
+
5128
5307
  <xsl:apply-templates/>
5129
5308
  </fo:block>
5130
5309
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
@@ -5164,7 +5343,6 @@
5164
5343
  </xsl:template><xsl:template name="processBibitem">
5165
5344
 
5166
5345
 
5167
- <!-- end BIPM bibitem processing-->
5168
5346
 
5169
5347
 
5170
5348
 
@@ -5393,6 +5571,9 @@
5393
5571
  <fo:block-container border="1pt solid black" width="50%">
5394
5572
  <fo:block> </fo:block>
5395
5573
  </fo:block-container>
5574
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5575
+ <fo:inline padding-right="5mm"> </fo:inline>
5576
+ <fo:inline><xsl:apply-templates/></fo:inline>
5396
5577
  </xsl:template><xsl:template name="convertDate">
5397
5578
  <xsl:param name="date"/>
5398
5579
  <xsl:param name="format" select="'short'"/>
@@ -5631,6 +5812,26 @@
5631
5812
  <xsl:value-of select="$level"/>
5632
5813
  </xsl:otherwise>
5633
5814
  </xsl:choose>
5815
+ </xsl:template><xsl:template name="getLevelTermName">
5816
+ <xsl:choose>
5817
+ <xsl:when test="normalize-space(../@depth) != ''">
5818
+ <xsl:value-of select="../@depth"/>
5819
+ </xsl:when>
5820
+ <xsl:otherwise>
5821
+ <xsl:variable name="title_level_">
5822
+ <xsl:for-each select="../preceding-sibling::*[local-name() = 'title'][1]">
5823
+ <xsl:call-template name="getLevel"/>
5824
+ </xsl:for-each>
5825
+ </xsl:variable>
5826
+ <xsl:variable name="title_level" select="normalize-space($title_level_)"/>
5827
+ <xsl:choose>
5828
+ <xsl:when test="$title_level != ''"><xsl:value-of select="$title_level + 1"/></xsl:when>
5829
+ <xsl:otherwise>
5830
+ <xsl:call-template name="getLevel"/>
5831
+ </xsl:otherwise>
5832
+ </xsl:choose>
5833
+ </xsl:otherwise>
5834
+ </xsl:choose>
5634
5835
  </xsl:template><xsl:template name="split">
5635
5836
  <xsl:param name="pText" select="."/>
5636
5837
  <xsl:param name="sep" select="','"/>
@@ -5728,20 +5929,40 @@
5728
5929
  </xsl:call-template>
5729
5930
  </xsl:if>
5730
5931
  </xsl:template><xsl:template name="getLocalizedString">
5731
- <xsl:param name="key"/>
5932
+ <xsl:param name="key"/>
5933
+ <xsl:param name="formatted">false</xsl:param>
5732
5934
 
5733
5935
  <xsl:variable name="curr_lang">
5734
5936
  <xsl:call-template name="getLang"/>
5735
5937
  </xsl:variable>
5736
5938
 
5737
- <xsl:variable name="data_value" select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
5939
+ <xsl:variable name="data_value">
5940
+ <xsl:choose>
5941
+ <xsl:when test="$formatted = 'true'">
5942
+ <xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
5943
+ </xsl:when>
5944
+ <xsl:otherwise>
5945
+ <xsl:value-of select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
5946
+ </xsl:otherwise>
5947
+ </xsl:choose>
5948
+ </xsl:variable>
5738
5949
 
5739
5950
  <xsl:choose>
5740
- <xsl:when test="$data_value != ''">
5741
- <xsl:value-of select="$data_value"/>
5951
+ <xsl:when test="normalize-space($data_value) != ''">
5952
+ <xsl:choose>
5953
+ <xsl:when test="$formatted = 'true'"><xsl:copy-of select="$data_value"/></xsl:when>
5954
+ <xsl:otherwise><xsl:value-of select="$data_value"/></xsl:otherwise>
5955
+ </xsl:choose>
5742
5956
  </xsl:when>
5743
5957
  <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
5744
- <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
5958
+ <xsl:choose>
5959
+ <xsl:when test="$formatted = 'true'">
5960
+ <xsl:apply-templates select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
5961
+ </xsl:when>
5962
+ <xsl:otherwise>
5963
+ <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
5964
+ </xsl:otherwise>
5965
+ </xsl:choose>
5745
5966
  </xsl:when>
5746
5967
  <xsl:otherwise>
5747
5968
  <xsl:variable name="key_">
@@ -5752,7 +5973,7 @@
5752
5973
  <xsl:value-of select="$key_"/>
5753
5974
  </xsl:otherwise>
5754
5975
  </xsl:choose>
5755
-
5976
+
5756
5977
  </xsl:template><xsl:template name="setTrackChangesStyles">
5757
5978
  <xsl:param name="isAdded"/>
5758
5979
  <xsl:param name="isDeleted"/>