metanorma-un 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -47,7 +47,7 @@
47
47
 
48
48
  <xsl:template match="/">
49
49
  <xsl:call-template name="namespaceCheck"/>
50
- <fo:root font-family="Times New Roman, STIX Two Math, Source Han Sans" font-size="10pt" xml:lang="{$lang}">
50
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
51
51
  <fo:layout-master-set>
52
52
  <!-- Cover page -->
53
53
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
@@ -103,7 +103,7 @@
103
103
  <fo:page-sequence master-reference="cover-page" force-page-count="even">
104
104
  <fo:flow flow-name="xsl-region-body">
105
105
  <fo:block-container absolute-position="fixed" left="0mm" top="72mm">
106
- <fo:block>
106
+ <fo:block>
107
107
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Front))}" width="188mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
108
108
  </fo:block>
109
109
  </fo:block-container>
@@ -324,10 +324,10 @@
324
324
  <!-- Back Page -->
325
325
  <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
326
326
  <fo:flow flow-name="xsl-region-body">
327
- <fo:block> </fo:block>
328
- <fo:block break-after="page"/>
327
+ <fo:block> </fo:block>
328
+ <fo:block break-after="page"/>
329
329
  <fo:block-container absolute-position="fixed" left="0mm" top="72mm">
330
- <fo:block>
330
+ <fo:block>
331
331
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Back))}" width="210mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
332
332
  </fo:block>
333
333
  </fo:block-container>
@@ -344,9 +344,6 @@
344
344
  <!-- ============================= -->
345
345
  <!-- CONTENTS -->
346
346
  <!-- ============================= -->
347
- <xsl:template match="node()" mode="contents">
348
- <xsl:apply-templates mode="contents"/>
349
- </xsl:template>
350
347
 
351
348
  <xsl:template match="un:un-standard/un:sections/*" mode="contents">
352
349
  <xsl:apply-templates mode="contents"/>
@@ -611,7 +608,7 @@
611
608
 
612
609
  <xsl:template match="un:ul//un:note/un:p | un:ol//un:note/un:p" mode="process" priority="2">
613
610
  <fo:block margin-top="4pt">
614
- <xsl:apply-templates select="../un:name" mode="presentation"/>
611
+ <xsl:apply-templates select="../un:name"/>
615
612
  <xsl:apply-templates/>
616
613
  </fo:block>
617
614
  </xsl:template>
@@ -676,30 +673,6 @@
676
673
  </xsl:template>
677
674
 
678
675
 
679
- <xsl:template match="un:admonition">
680
- <fo:block break-after="page"/>
681
- <fo:block-container border="0.25pt solid black" margin-top="7mm" margin-left="-9mm" margin-right="-14mm" padding-top="3mm">
682
- <fo:block id="{@id}" font-weight="bold" margin-left="20mm" margin-right="25mm" text-align="center" margin-top="6pt" margin-bottom="12pt" keep-with-next="always">
683
- <xsl:apply-templates select="un:name" mode="process"/>
684
- </fo:block>
685
- <fo:block-container margin-left="20mm" margin-right="20mm">
686
- <fo:block-container margin-left="0mm" margin-right="0mm" text-indent="0mm">
687
- <xsl:apply-templates/>
688
- </fo:block-container>
689
- </fo:block-container>
690
- </fo:block-container>
691
- <fo:block margin-bottom="6pt"> </fo:block>
692
- </xsl:template>
693
-
694
- <xsl:template match="un:admonition/un:name"/>
695
- <xsl:template match="un:admonition/un:name" mode="process">
696
- <xsl:apply-templates/>
697
- </xsl:template>
698
-
699
- <xsl:template match="un:admonition/un:p">
700
- <fo:block text-align="justify" margin-bottom="6pt"><xsl:apply-templates/></fo:block>
701
- </xsl:template>
702
-
703
676
  <!-- ============================= -->
704
677
  <!-- ============================= -->
705
678
 
@@ -815,33 +788,6 @@
815
788
  <!-- ============================ -->
816
789
 
817
790
 
818
- <xsl:template match="un:bibitem">
819
- <fo:block id="{@id}" margin-top="6pt" margin-left="14mm" text-indent="-14mm">
820
- <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
821
- <xsl:if test="un:title">
822
- <fo:inline font-style="italic">
823
- <xsl:text>, </xsl:text>
824
- <xsl:choose>
825
- <xsl:when test="un:title[@type = 'main' and @language = 'en']">
826
- <xsl:value-of select="un:title[@type = 'main' and @language = 'en']"/>
827
- </xsl:when>
828
- <xsl:otherwise>
829
- <xsl:value-of select="un:title"/>
830
- </xsl:otherwise>
831
- </xsl:choose>
832
- </fo:inline>
833
- </xsl:if>
834
- <xsl:apply-templates select="un:formattedref"/>
835
- </fo:block>
836
- </xsl:template>
837
- <xsl:template match="un:bibitem/un:docidentifier"/>
838
-
839
- <xsl:template match="un:bibitem/un:title"/>
840
-
841
- <xsl:template match="un:formattedref">
842
- <xsl:text>, </xsl:text><xsl:apply-templates/>
843
- </xsl:template>
844
-
845
791
 
846
792
  <xsl:template match="un:figure" priority="2">
847
793
  <fo:block-container id="{@id}">
@@ -849,9 +795,9 @@
849
795
  <xsl:attribute name="margin-left">-5mm</xsl:attribute>
850
796
  <xsl:attribute name="margin-right">-5mm</xsl:attribute>
851
797
  </xsl:if>
852
- <xsl:apply-templates select="un:name" mode="presentation"/>
798
+ <xsl:apply-templates select="un:name"/>
853
799
  <fo:block>
854
- <xsl:apply-templates/>
800
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
855
801
  </fo:block>
856
802
  <xsl:call-template name="fn_display_figure"/>
857
803
  <xsl:for-each select="un:note">
@@ -966,12 +912,12 @@
966
912
  <xsl:attribute name="text-align">left</xsl:attribute>
967
913
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
968
914
  </xsl:if>
969
- <xsl:apply-templates/>
915
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
970
916
  </fo:block>
971
917
  </fo:table-cell>
972
918
  <fo:table-cell> <!-- display-align="center" -->
973
919
  <fo:block text-align="right">
974
- <xsl:apply-templates select="un:name" mode="presentation"/>
920
+ <xsl:apply-templates select="un:name"/>
975
921
  </fo:block>
976
922
  </fo:table-cell>
977
923
  </fo:table-row>
@@ -988,16 +934,8 @@
988
934
  <xsl:call-template name="formula-un"/>
989
935
  </xsl:template>
990
936
 
991
-
992
-
993
- <xsl:template match="un:references">
994
- <fo:block>
995
- <xsl:if test="not(un:title)">
996
- <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
997
- </xsl:if>
998
- <xsl:apply-templates/>
999
- </fo:block>
1000
- </xsl:template>
937
+
938
+
1001
939
  <!-- ============================ -->
1002
940
  <!-- ============================ -->
1003
941
 
@@ -1044,22 +982,18 @@
1044
982
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAAUgAAAEfCAYAAAAjn198AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA8BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4M0JCQjMxNzJBNjcxMUVBQjQ3MkM1NDNGQjcxMjlFQyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4M0JCQjMxNjJBNjcxMUVBQjQ3MkM1NDNGQjcxMjlFQyIgeG1wOkNyZWF0b3JUb29sPSJBY3JvYmF0IFBERk1ha2VyIDE4IGZvciBXb3JkIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InV1aWQ6OTM1MzU0ZmUtYzRmYS00Y2I4LTlkOGMtYjk0M2E4OTk2YzhiIiBzdFJlZjpkb2N1bWVudElEPSJ1dWlkOjhlMzkwMGEzLTMwZWUtNGRlNy04NDc0LTlhZTA5ZTFjZjhmMiIvPiA8ZGM6Y3JlYXRvcj4gPHJkZjpTZXE+IDxyZGY6bGk+U3RlcGhl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</xsl:text>
1045
983
  </xsl:variable>
1046
984
 
1047
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
985
+ <xsl:variable name="titles_">
1048
986
 
1049
987
  <title-edition lang="en">
1050
988
 
1051
- <xsl:text>Edition </xsl:text>
1052
-
1053
-
989
+ <xsl:text>Edition </xsl:text>
990
+
1054
991
  </title-edition>
1055
992
 
1056
993
  <title-edition lang="fr">
1057
-
1058
- <xsl:text>Édition </xsl:text>
1059
-
994
+ <xsl:text>Édition </xsl:text>
1060
995
  </title-edition>
1061
996
 
1062
-
1063
997
  <!-- These titles of Table of contents renders different than determined in localized-strings -->
1064
998
  <title-toc lang="en">
1065
999
 
@@ -1069,14 +1003,13 @@
1069
1003
 
1070
1004
  </title-toc>
1071
1005
  <title-toc lang="fr">
1006
+ <xsl:text>Sommaire</xsl:text>
1007
+ </title-toc>
1008
+ <title-toc lang="zh">
1072
1009
 
1073
- <xsl:text>Sommaire</xsl:text>
1074
-
1010
+ <xsl:text>Contents</xsl:text>
1011
+
1075
1012
  </title-toc>
1076
-
1077
- <title-toc lang="zh">Contents</title-toc>
1078
-
1079
-
1080
1013
 
1081
1014
  <title-descriptors lang="en">Descriptors</title-descriptors>
1082
1015
 
@@ -1092,12 +1025,8 @@
1092
1025
  </title-part>
1093
1026
  <title-part lang="zh">第 # 部分:</title-part>
1094
1027
 
1095
- <title-subpart lang="en">
1096
-
1097
- </title-subpart>
1098
- <title-subpart lang="fr">
1099
-
1100
- </title-subpart>
1028
+ <title-subpart lang="en">Sub-part #</title-subpart>
1029
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
1101
1030
 
1102
1031
  <title-list-tables lang="en">List of Tables</title-list-tables>
1103
1032
 
@@ -1112,7 +1041,7 @@
1112
1041
  <title-continued lang="en">(continued)</title-continued>
1113
1042
  <title-continued lang="fr">(continué)</title-continued>
1114
1043
 
1115
- </xsl:variable><xsl:variable name="bibdata">
1044
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1116
1045
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1117
1046
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1118
1047
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1141,12 +1070,32 @@
1141
1070
  </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
1142
1071
 
1143
1072
 
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+
1087
+ <xsl:attribute name="font-family">Times New Roman, STIX Two Math, Source Han Sans</xsl:attribute>
1088
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1089
+
1144
1090
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1145
1091
 
1146
1092
 
1147
1093
 
1148
1094
 
1149
1095
 
1096
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1097
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1098
+
1150
1099
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1151
1100
  <xsl:attribute name="white-space">pre</xsl:attribute>
1152
1101
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1156,14 +1105,21 @@
1156
1105
 
1157
1106
 
1158
1107
 
1159
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
1160
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
1161
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1108
+
1109
+
1110
+
1111
+
1162
1112
 
1163
1113
 
1164
1114
 
1165
1115
 
1166
1116
 
1117
+
1118
+
1119
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
1120
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1121
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1122
+
1167
1123
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1168
1124
 
1169
1125
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -1270,7 +1226,60 @@
1270
1226
 
1271
1227
  </xsl:attribute-set><xsl:variable name="table-border_">
1272
1228
 
1273
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
1229
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1230
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1231
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
1254
+
1255
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
1256
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1257
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
1258
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1259
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1274
1283
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1275
1284
 
1276
1285
 
@@ -1293,7 +1302,151 @@
1293
1302
 
1294
1303
 
1295
1304
 
1305
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
1306
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
1307
+
1308
+
1309
+
1310
+
1311
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
1312
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1313
+
1314
+
1315
+
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1323
+
1324
+
1325
+
1326
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1327
+
1328
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1329
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1330
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1331
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1332
+ <xsl:attribute name="display-align">center</xsl:attribute>
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+
1346
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1347
+
1348
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
1349
+ <xsl:attribute name="display-align">center</xsl:attribute>
1350
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1351
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1366
+
1367
+
1296
1368
  </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
1369
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1370
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1371
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1372
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
1385
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1386
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1387
+
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
1396
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
1404
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1405
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1419
+
1420
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
1421
+ <xsl:attribute name="text-indent">0</xsl:attribute>
1422
+ <xsl:attribute name="start-indent">0</xsl:attribute>
1423
+
1424
+
1425
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
1426
+
1427
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
1428
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1429
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1430
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1431
+
1432
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
1433
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1434
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1435
+
1436
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
1437
+
1438
+
1439
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
1440
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1297
1450
 
1298
1451
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1299
1452
 
@@ -1352,6 +1505,7 @@
1352
1505
 
1353
1506
 
1354
1507
  </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1508
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
1355
1509
 
1356
1510
 
1357
1511
 
@@ -1412,6 +1566,9 @@
1412
1566
 
1413
1567
 
1414
1568
 
1569
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
1570
+
1571
+
1415
1572
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
1416
1573
 
1417
1574
 
@@ -1419,6 +1576,8 @@
1419
1576
 
1420
1577
  </xsl:attribute-set><xsl:attribute-set name="term-style">
1421
1578
 
1579
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
1580
+
1422
1581
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
1423
1582
 
1424
1583
 
@@ -1518,9 +1677,8 @@
1518
1677
 
1519
1678
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
1520
1679
  <xsl:attribute name="line-height">135%</xsl:attribute>
1521
- </xsl:attribute-set><xsl:attribute-set name="fn-style">
1522
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1523
- </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1680
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
1681
+ <xsl:attribute name="font-size">80%</xsl:attribute>
1524
1682
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1525
1683
 
1526
1684
 
@@ -1530,6 +1688,10 @@
1530
1688
 
1531
1689
 
1532
1690
 
1691
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
1692
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1693
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
1694
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1533
1695
 
1534
1696
 
1535
1697
 
@@ -1538,7 +1700,15 @@
1538
1700
 
1539
1701
 
1540
1702
 
1541
- <xsl:attribute name="font-size">55%</xsl:attribute>
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+ <xsl:attribute name="font-size">55%</xsl:attribute>
1542
1712
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1543
1713
 
1544
1714
  </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
@@ -1590,30 +1760,209 @@
1590
1760
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
1591
1761
  <xsl:attribute name="vertical-align">super</xsl:attribute>
1592
1762
 
1593
- </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="OLD_processPrefaceSectionsDefault_Contents">
1594
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1595
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1596
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1597
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1598
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1599
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
1763
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+ <xsl:attribute name="border">0.25pt solid black</xsl:attribute>
1779
+ <xsl:attribute name="margin-top">7mm</xsl:attribute>
1780
+ <xsl:attribute name="margin-left">-9mm</xsl:attribute>
1781
+ <xsl:attribute name="margin-right">-14mm</xsl:attribute>
1782
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
1783
+ <xsl:attribute name="margin-bottom">16pt</xsl:attribute>
1784
+
1785
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+ <xsl:attribute name="margin-left">20mm</xsl:attribute>
1797
+ <xsl:attribute name="margin-right">20mm</xsl:attribute>
1798
+ <xsl:attribute name="text-indent">0mm</xsl:attribute>
1799
+
1800
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
1801
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1816
+ <xsl:attribute name="margin-left">20mm</xsl:attribute>
1817
+ <xsl:attribute name="margin-right">25mm</xsl:attribute>
1818
+ <xsl:attribute name="text-align">center</xsl:attribute>
1819
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1820
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1821
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1822
+
1823
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+ <xsl:attribute name="text-align">justify</xsl:attribute>
1836
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1837
+
1838
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1858
+ <xsl:attribute name="margin-left">14mm</xsl:attribute>
1859
+ <xsl:attribute name="text-indent">-14mm</xsl:attribute>
1860
+
1861
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
1862
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1863
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
1876
+
1877
+
1878
+
1879
+
1880
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
1881
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
1882
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
1895
+
1896
+
1897
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
1898
+
1899
+
1900
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
1901
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1902
+ <xsl:attribute name="font-size">65%</xsl:attribute>
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+
1918
+
1919
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1920
+
1921
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
1922
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+ <xsl:attribute name="font-size">60%</xsl:attribute>
1940
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
1941
+
1942
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
1943
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
1944
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1945
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
1958
+
1959
+
1960
+
1961
+ </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1600
1962
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1601
1963
  <xsl:sort select="@displayorder" data-type="number"/>
1602
1964
  <xsl:apply-templates select="." mode="contents"/>
1603
1965
  </xsl:for-each>
1604
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
1605
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1606
-
1607
- <!-- Normative references -->
1608
- <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"/>
1609
- <!-- Terms and definitions -->
1610
- <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"/>
1611
- <!-- Another main sections -->
1612
- <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"/>
1613
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1614
- <!-- Bibliography -->
1615
- <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"/>
1616
-
1617
1966
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1618
1967
 
1619
1968
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
@@ -1630,29 +1979,11 @@
1630
1979
  <xsl:sort select="@displayorder" data-type="number"/>
1631
1980
  <xsl:apply-templates select="." mode="contents"/>
1632
1981
  </xsl:for-each>
1633
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
1634
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1635
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1636
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1637
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1638
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1639
1982
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1640
1983
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1641
1984
  <xsl:sort select="@displayorder" data-type="number"/>
1642
1985
  <xsl:apply-templates select="."/>
1643
1986
  </xsl:for-each>
1644
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
1645
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1646
-
1647
- <!-- Normative references -->
1648
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1649
- <!-- Terms and definitions -->
1650
- <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']]"/>
1651
- <!-- Another main sections -->
1652
- <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'])]"/>
1653
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1654
- <!-- Bibliography -->
1655
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1656
1987
  </xsl:template><xsl:template name="processMainSectionsDefault">
1657
1988
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1658
1989
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1689,43 +2020,19 @@
1689
2020
  <xsl:call-template name="getSimpleTable"/>
1690
2021
  </xsl:variable>
1691
2022
 
1692
- <!-- <xsl:if test="$namespace = 'bipm'">
1693
- <fo:block>&#xA0;</fo:block>
1694
- </xsl:if> -->
1695
-
1696
2023
 
1697
2024
  <!-- Display table's name before table as standalone block -->
1698
2025
  <!-- $namespace = 'iso' or -->
1699
2026
 
1700
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
1701
-
1702
-
1703
-
1704
-
2027
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
2028
+
1705
2029
 
1706
- <xsl:call-template name="fn_name_display"/>
1707
2030
 
2031
+ <xsl:call-template name="table_name_fn_display"/>
1708
2032
 
1709
2033
 
1710
2034
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
1711
2035
 
1712
- <!-- <xsl:variable name="cols-count">
1713
- <xsl:choose>
1714
- <xsl:when test="*[local-name()='thead']">
1715
- <xsl:call-template name="calculate-columns-numbers">
1716
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
1717
- </xsl:call-template>
1718
- </xsl:when>
1719
- <xsl:otherwise>
1720
- <xsl:call-template name="calculate-columns-numbers">
1721
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
1722
- </xsl:call-template>
1723
- </xsl:otherwise>
1724
- </xsl:choose>
1725
- </xsl:variable> -->
1726
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
1727
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
1728
-
1729
2036
  <xsl:variable name="colwidths">
1730
2037
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
1731
2038
  <xsl:call-template name="calculate-column-widths">
@@ -1736,17 +2043,8 @@
1736
2043
  </xsl:variable>
1737
2044
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
1738
2045
 
1739
- <!-- <xsl:variable name="colwidths2">
1740
- <xsl:call-template name="calculate-column-widths">
1741
- <xsl:with-param name="cols-count" select="$cols-count"/>
1742
- </xsl:call-template>
1743
- </xsl:variable> -->
1744
-
1745
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
1746
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
1747
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
1748
2046
 
1749
- <xsl:variable name="margin-left">
2047
+ <xsl:variable name="margin-side">
1750
2048
  <xsl:choose>
1751
2049
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
1752
2050
  <xsl:otherwise>0</xsl:otherwise>
@@ -1754,78 +2052,81 @@
1754
2052
  </xsl:variable>
1755
2053
 
1756
2054
 
1757
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
1758
-
1759
-
1760
-
1761
-
2055
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2056
+
1762
2057
 
1763
- <xsl:attribute name="space-after">12pt</xsl:attribute>
1764
- <xsl:if test="not(ancestor::*[local-name()='sections'])">
1765
- <xsl:attribute name="font-size">10pt</xsl:attribute>
1766
- </xsl:if>
1767
-
1768
-
2058
+ <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
2059
+ <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1769
2060
 
2061
+
1770
2062
 
1771
-
2063
+
1772
2064
 
2065
+
1773
2066
 
1774
2067
 
1775
2068
 
2069
+
1776
2070
 
1777
2071
 
1778
2072
 
1779
2073
 
1780
2074
 
2075
+ <xsl:if test="not(ancestor::*[local-name()='sections'])">
2076
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2077
+ </xsl:if>
1781
2078
 
2079
+ <!-- end table block-container attributes -->
1782
2080
 
1783
2081
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
1784
2082
 
1785
2083
 
2084
+ <xsl:variable name="table_width_default">100%</xsl:variable>
1786
2085
  <xsl:variable name="table_width">
1787
2086
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
1788
2087
 
1789
-
1790
-
1791
- <xsl:choose>
1792
- <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
1793
- <xsl:otherwise>100%</xsl:otherwise>
1794
- </xsl:choose>
1795
-
2088
+ <xsl:choose>
2089
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2090
+ <xsl:otherwise><xsl:value-of select="$table_width_default"/></xsl:otherwise>
2091
+ </xsl:choose>
2092
+
1796
2093
  </xsl:variable>
1797
2094
 
2095
+
1798
2096
  <xsl:variable name="table_attributes">
1799
- <attribute name="table-layout">fixed</attribute>
1800
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
1801
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
1802
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
1803
-
1804
-
1805
-
1806
-
1807
-
1808
-
1809
-
1810
-
1811
-
1812
- <xsl:if test="ancestor::*[local-name()='sections']">
1813
- <attribute name="border-top">1.5pt solid black</attribute>
1814
- <attribute name="border-bottom">1.5pt solid black</attribute>
1815
- </xsl:if>
1816
-
1817
-
1818
-
1819
-
1820
-
1821
-
2097
+
2098
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
2099
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2100
+
2101
+
2102
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2103
+ <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+
2116
+
2117
+ <xsl:if test="ancestor::*[local-name()='sections']">
2118
+ <xsl:attribute name="border-top">1.5pt solid black</xsl:attribute>
2119
+ <xsl:attribute name="border-bottom">1.5pt solid black</xsl:attribute>
2120
+ </xsl:if>
2121
+
2122
+ </xsl:element>
1822
2123
  </xsl:variable>
1823
2124
 
1824
2125
 
1825
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2126
+ <fo:table id="{@id}">
1826
2127
 
1827
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
1828
- <xsl:attribute name="{@name}">
2128
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2129
+ <xsl:attribute name="{local-name()}">
1829
2130
  <xsl:value-of select="."/>
1830
2131
  </xsl:attribute>
1831
2132
  </xsl:for-each>
@@ -1836,7 +2137,6 @@
1836
2137
  </xsl:if>
1837
2138
 
1838
2139
 
1839
-
1840
2140
  <xsl:choose>
1841
2141
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
1842
2142
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -1862,7 +2162,7 @@
1862
2162
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
1863
2163
  </xsl:when>
1864
2164
  <xsl:otherwise>
1865
- <xsl:apply-templates/>
2165
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1866
2166
  </xsl:otherwise>
1867
2167
  </xsl:choose>
1868
2168
 
@@ -1877,25 +2177,6 @@
1877
2177
  </xsl:call-template>
1878
2178
  </xsl:for-each>
1879
2179
 
1880
- <!-- insert footer as table -->
1881
- <!-- <fo:table>
1882
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
1883
- <xsl:attribute name="{@name}">
1884
- <xsl:value-of select="."/>
1885
- </xsl:attribute>
1886
- </xsl:for-each>
1887
-
1888
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
1889
- <xsl:choose>
1890
- <xsl:when test=". = 1 or . = 0">
1891
- <fo:table-column column-width="proportional-column-width(2)"/>
1892
- </xsl:when>
1893
- <xsl:otherwise>
1894
- <fo:table-column column-width="proportional-column-width({.})"/>
1895
- </xsl:otherwise>
1896
- </xsl:choose>
1897
- </xsl:for-each>
1898
- </fo:table>-->
1899
2180
 
1900
2181
 
1901
2182
 
@@ -1953,18 +2234,17 @@
1953
2234
  </xsl:otherwise>
1954
2235
  </xsl:choose>
1955
2236
 
1956
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2237
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
1957
2238
  <xsl:param name="continued"/>
1958
2239
  <xsl:if test="normalize-space() != ''">
1959
2240
  <fo:block xsl:use-attribute-sets="table-name-style">
1960
-
2241
+
1961
2242
 
1962
2243
 
1963
2244
 
1964
2245
 
1965
2246
  <xsl:choose>
1966
2247
  <xsl:when test="$continued = 'true'">
1967
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
1968
2248
 
1969
2249
  </xsl:when>
1970
2250
  <xsl:otherwise>
@@ -2027,13 +2307,6 @@
2027
2307
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
2028
2308
  <xsl:variable name="td_text">
2029
2309
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2030
-
2031
- <!-- <xsl:if test="$namespace = 'bipm'">
2032
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2033
- <word><xsl:value-of select="normalize-space(.)"/></word>
2034
- </xsl:for-each>
2035
- </xsl:if> -->
2036
-
2037
2310
  </xsl:variable>
2038
2311
  <xsl:variable name="words">
2039
2312
  <xsl:variable name="string_with_added_zerospaces">
@@ -2070,7 +2343,6 @@
2070
2343
  </xsl:otherwise>
2071
2344
  </xsl:choose>
2072
2345
  </xsl:variable>
2073
-
2074
2346
 
2075
2347
  <column>
2076
2348
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2106,7 +2378,6 @@
2106
2378
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2107
2379
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2108
2380
  <xsl:param name="cols-count"/>
2109
- <!-- font-weight="bold" -->
2110
2381
  <fo:table-header>
2111
2382
 
2112
2383
 
@@ -2118,13 +2389,12 @@
2118
2389
  <fo:table-row>
2119
2390
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
2120
2391
 
2121
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
2392
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2122
2393
  <xsl:with-param name="continued">true</xsl:with-param>
2123
2394
  </xsl:apply-templates>
2124
2395
 
2125
2396
 
2126
2397
 
2127
-
2128
2398
  </fo:table-cell>
2129
2399
  </fo:table-row>
2130
2400
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -2140,64 +2410,6 @@
2140
2410
  <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2141
2411
  </fo:table-footer>
2142
2412
  </xsl:if>
2143
- </xsl:template><xsl:template name="insertTableFooter2">
2144
- <xsl:param name="cols-count"/>
2145
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2146
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2147
-
2148
- <fo:table-footer>
2149
-
2150
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2151
-
2152
- <!-- if there are note(s) or fn(s) then create footer row -->
2153
- <xsl:if test="$isNoteOrFnExist = 'true'">
2154
-
2155
-
2156
-
2157
- <fo:table-row>
2158
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2159
-
2160
-
2161
-
2162
- <!-- fn will be processed inside 'note' processing -->
2163
-
2164
-
2165
-
2166
-
2167
-
2168
-
2169
- <!-- except gb -->
2170
-
2171
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2172
-
2173
-
2174
- <!-- show Note under table in preface (ex. abstract) sections -->
2175
- <!-- empty, because notes show at page side in main sections -->
2176
- <!-- <xsl:if test="$namespace = 'bipm'">
2177
- <xsl:choose>
2178
- <xsl:when test="ancestor::*[local-name()='preface']">
2179
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2180
- </xsl:when>
2181
- <xsl:otherwise>
2182
- <fo:block/>
2183
- </xsl:otherwise>
2184
- </xsl:choose>
2185
- </xsl:if> -->
2186
-
2187
-
2188
- <!-- horizontal row separator -->
2189
-
2190
-
2191
- <!-- fn processing -->
2192
- <xsl:call-template name="fn_display"/>
2193
-
2194
- </fo:table-cell>
2195
- </fo:table-row>
2196
-
2197
- </xsl:if>
2198
- </fo:table-footer>
2199
-
2200
- </xsl:if>
2201
2413
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2202
2414
  <xsl:param name="table_attributes"/>
2203
2415
  <xsl:param name="colwidths"/>
@@ -2223,17 +2435,18 @@
2223
2435
  </xsl:variable>
2224
2436
 
2225
2437
  <fo:table keep-with-previous="always">
2226
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2438
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2439
+ <xsl:variable name="name" select="local-name()"/>
2227
2440
  <xsl:choose>
2228
- <xsl:when test="@name = 'border-top'">
2229
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
2441
+ <xsl:when test="$name = 'border-top'">
2442
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
2230
2443
  </xsl:when>
2231
- <xsl:when test="@name = 'border'">
2232
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2444
+ <xsl:when test="$name = 'border'">
2445
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2233
2446
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
2234
2447
  </xsl:when>
2235
2448
  <xsl:otherwise>
2236
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
2449
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
2237
2450
  </xsl:otherwise>
2238
2451
  </xsl:choose>
2239
2452
  </xsl:for-each>
@@ -2262,9 +2475,10 @@
2262
2475
 
2263
2476
  <fo:table-body>
2264
2477
  <fo:table-row>
2265
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2478
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2266
2479
 
2267
2480
 
2481
+
2268
2482
 
2269
2483
 
2270
2484
  <!-- fn will be processed inside 'note' processing -->
@@ -2274,37 +2488,20 @@
2274
2488
 
2275
2489
 
2276
2490
 
2277
-
2278
-
2279
-
2280
2491
  <!-- for BSI (not PAS) display Notes before footnotes -->
2281
2492
 
2282
2493
 
2283
- <!-- except gb -->
2494
+ <!-- except gb and bsi -->
2284
2495
 
2285
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2286
-
2287
-
2288
- <!-- <xsl:if test="$namespace = 'bipm'">
2289
- <xsl:choose>
2290
- <xsl:when test="ancestor::*[local-name()='preface']">
2291
- show Note under table in preface (ex. abstract) sections
2292
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2293
- </xsl:when>
2294
- <xsl:otherwise>
2295
- empty, because notes show at page side in main sections
2296
- <fo:block/>
2297
- </xsl:otherwise>
2298
- </xsl:choose>
2299
- </xsl:if> -->
2496
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2497
+
2300
2498
 
2301
2499
 
2302
2500
  <!-- horizontal row separator -->
2303
2501
 
2304
2502
 
2305
2503
  <!-- fn processing -->
2306
- <xsl:call-template name="fn_display"/>
2307
-
2504
+ <xsl:call-template name="table_fn_display"/>
2308
2505
 
2309
2506
  <!-- for PAS display Notes after footnotes -->
2310
2507
 
@@ -2346,75 +2543,57 @@
2346
2543
 
2347
2544
 
2348
2545
  <xsl:apply-templates/>
2349
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
2350
-
2546
+
2351
2547
  </fo:table-body>
2352
2548
 
2353
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
2354
- <xsl:choose>
2355
- <xsl:when test="substring-after(., '—') != ''">
2356
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
2357
- </xsl:when>
2358
- <xsl:otherwise>
2359
- <xsl:value-of select="."/>
2360
- </xsl:otherwise>
2361
- </xsl:choose>
2362
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
2363
- <xsl:apply-templates mode="presentation_name"/>
2364
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
2365
- <xsl:apply-templates select="."/>
2549
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
2550
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
2551
+
2552
+
2553
+
2554
+
2555
+
2556
+
2557
+
2558
+ <xsl:call-template name="setTableRowAttributes"/>
2559
+
2560
+ <xsl:apply-templates/>
2561
+ </fo:table-row>
2562
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
2563
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
2564
+
2565
+ <xsl:call-template name="setTableRowAttributes"/>
2566
+ <xsl:apply-templates/>
2567
+ </fo:table-row>
2366
2568
  </xsl:template><xsl:template match="*[local-name()='tr']">
2367
- <xsl:variable name="parent-name" select="local-name(..)"/>
2368
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2369
- <fo:table-row min-height="4mm">
2370
- <xsl:if test="$parent-name = 'thead'">
2371
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2372
-
2373
-
2374
-
2375
-
2376
-
2377
-
2378
-
2379
-
2380
- </xsl:if>
2381
- <xsl:if test="$parent-name = 'tfoot'">
2382
-
2383
-
2384
-
2385
- </xsl:if>
2386
-
2387
-
2388
-
2389
-
2390
-
2391
-
2392
-
2393
-
2394
-
2395
-
2396
- <!-- <xsl:if test="$namespace = 'bipm'">
2397
- <xsl:attribute name="height">8mm</xsl:attribute>
2398
- </xsl:if> -->
2399
-
2569
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
2570
+
2571
+
2572
+
2573
+
2574
+
2575
+ <xsl:call-template name="setTableRowAttributes"/>
2400
2576
  <xsl:apply-templates/>
2401
2577
  </fo:table-row>
2578
+ </xsl:template><xsl:template name="setTableRowAttributes">
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+
2585
+
2586
+
2402
2587
  </xsl:template><xsl:template match="*[local-name()='th']">
2403
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
2404
- <xsl:attribute name="text-align">
2405
- <xsl:choose>
2406
- <xsl:when test="@align">
2407
- <xsl:call-template name="setAlignment"/>
2408
- <!-- <xsl:value-of select="@align"/> -->
2409
- </xsl:when>
2410
- <xsl:otherwise>center</xsl:otherwise>
2411
- </xsl:choose>
2412
- </xsl:attribute>
2413
-
2588
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
2589
+ <xsl:call-template name="setTextAlignment">
2590
+ <xsl:with-param name="default">center</xsl:with-param>
2591
+ </xsl:call-template>
2414
2592
 
2415
2593
 
2416
2594
 
2417
2595
 
2596
+
2418
2597
 
2419
2598
 
2420
2599
 
@@ -2433,30 +2612,30 @@
2433
2612
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2434
2613
  </xsl:if>
2435
2614
  </xsl:if>
2436
- <xsl:attribute name="text-indent">0mm</xsl:attribute>
2437
-
2438
-
2439
-
2440
2615
 
2441
2616
 
2442
2617
  <xsl:if test="$lang = 'ar'">
2443
2618
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2444
2619
  </xsl:if>
2445
- <xsl:if test="@colspan">
2446
- <xsl:attribute name="number-columns-spanned">
2447
- <xsl:value-of select="@colspan"/>
2448
- </xsl:attribute>
2449
- </xsl:if>
2450
- <xsl:if test="@rowspan">
2451
- <xsl:attribute name="number-rows-spanned">
2452
- <xsl:value-of select="@rowspan"/>
2453
- </xsl:attribute>
2454
- </xsl:if>
2455
- <xsl:call-template name="display-align"/>
2620
+
2621
+ <xsl:call-template name="setTableCellAttributes"/>
2622
+
2456
2623
  <fo:block>
2457
2624
  <xsl:apply-templates/>
2458
2625
  </fo:block>
2459
2626
  </fo:table-cell>
2627
+ </xsl:template><xsl:template name="setTableCellAttributes">
2628
+ <xsl:if test="@colspan">
2629
+ <xsl:attribute name="number-columns-spanned">
2630
+ <xsl:value-of select="@colspan"/>
2631
+ </xsl:attribute>
2632
+ </xsl:if>
2633
+ <xsl:if test="@rowspan">
2634
+ <xsl:attribute name="number-rows-spanned">
2635
+ <xsl:value-of select="@rowspan"/>
2636
+ </xsl:attribute>
2637
+ </xsl:if>
2638
+ <xsl:call-template name="display-align"/>
2460
2639
  </xsl:template><xsl:template name="display-align">
2461
2640
  <xsl:if test="@valign">
2462
2641
  <xsl:attribute name="display-align">
@@ -2469,22 +2648,18 @@
2469
2648
  </xsl:attribute>
2470
2649
  </xsl:if>
2471
2650
  </xsl:template><xsl:template match="*[local-name()='td']">
2472
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
2473
- <xsl:attribute name="text-align">
2474
- <xsl:choose>
2475
- <xsl:when test="@align">
2476
- <xsl:call-template name="setAlignment"/>
2477
- <!-- <xsl:value-of select="@align"/> -->
2478
- </xsl:when>
2479
- <xsl:otherwise>left</xsl:otherwise>
2480
- </xsl:choose>
2481
- </xsl:attribute>
2651
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
2652
+ <xsl:call-template name="setTextAlignment">
2653
+ <xsl:with-param name="default">left</xsl:with-param>
2654
+ </xsl:call-template>
2655
+
2482
2656
  <xsl:if test="$lang = 'ar'">
2483
2657
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2484
2658
  </xsl:if>
2485
2659
 
2486
2660
 
2487
2661
 
2662
+ <!-- bsi -->
2488
2663
 
2489
2664
 
2490
2665
 
@@ -2492,75 +2667,61 @@
2492
2667
 
2493
2668
 
2494
2669
 
2495
- <xsl:if test="ancestor::*[local-name()='sections']">
2496
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2497
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2498
- </xsl:if>
2499
- <xsl:attribute name="text-indent">0mm</xsl:attribute>
2670
+
2671
+
2500
2672
 
2501
2673
 
2502
2674
 
2503
2675
 
2504
2676
 
2677
+ <xsl:if test="ancestor::*[local-name()='sections']">
2678
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2679
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2680
+ </xsl:if>
2505
2681
 
2506
2682
 
2507
- <xsl:if test=".//*[local-name() = 'table']">
2683
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
2508
2684
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
2509
2685
  </xsl:if>
2510
- <xsl:if test="@colspan">
2511
- <xsl:attribute name="number-columns-spanned">
2512
- <xsl:value-of select="@colspan"/>
2513
- </xsl:attribute>
2514
- </xsl:if>
2515
- <xsl:if test="@rowspan">
2516
- <xsl:attribute name="number-rows-spanned">
2517
- <xsl:value-of select="@rowspan"/>
2518
- </xsl:attribute>
2519
- </xsl:if>
2520
- <xsl:call-template name="display-align"/>
2686
+
2687
+ <xsl:call-template name="setTableCellAttributes"/>
2688
+
2521
2689
  <fo:block>
2522
-
2690
+
2691
+
2692
+
2523
2693
  <xsl:apply-templates/>
2524
2694
  </fo:block>
2525
2695
  </fo:table-cell>
2526
2696
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
2697
+
2698
+ <fo:block xsl:use-attribute-sets="table-note-style">
2699
+
2700
+
2701
+
2702
+
2527
2703
 
2528
-
2529
- <fo:block font-size="10pt" margin-bottom="12pt">
2704
+ <!-- Table's note name (NOTE, for example) -->
2705
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
2530
2706
 
2531
2707
 
2532
2708
 
2533
2709
 
2534
2710
 
2535
2711
 
2712
+ <xsl:if test="@type = 'source' or @type = 'abbreviation'">
2713
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2714
+ </xsl:if>
2536
2715
 
2537
2716
 
2538
- <!-- Table's note name (NOTE, for example) -->
2539
-
2540
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2541
-
2542
-
2543
-
2544
- <xsl:if test="@type = 'source' or @type = 'abbreviation'">
2545
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2546
- <!-- <fo:inline>
2547
- <xsl:call-template name="capitalize">
2548
- <xsl:with-param name="str" select="@type"/>
2549
- </xsl:call-template>
2550
- <xsl:text>: </xsl:text>
2551
- </fo:inline> -->
2552
- </xsl:if>
2553
-
2554
-
2717
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
2555
2718
 
2556
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2557
-
2558
- </fo:inline>
2559
-
2560
-
2561
-
2562
- <xsl:apply-templates mode="process"/>
2563
- </fo:block>
2719
+ </fo:inline>
2720
+
2721
+
2722
+
2723
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
2724
+ </fo:block>
2564
2725
 
2565
2726
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
2566
2727
  <xsl:apply-templates/>
@@ -2640,8 +2801,7 @@
2640
2801
  <xsl:copy-of select="$footnote_inline"/>
2641
2802
  <fo:footnote-body>
2642
2803
 
2643
- <fo:block-container text-indent="0" start-indent="0">
2644
-
2804
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
2645
2805
 
2646
2806
  <fo:block xsl:use-attribute-sets="fn-body-style">
2647
2807
 
@@ -2660,7 +2820,7 @@
2660
2820
  <xsl:copy-of select="$footnote_inline"/>
2661
2821
  </xsl:otherwise>
2662
2822
  </xsl:choose>
2663
- </xsl:template><xsl:template name="fn_display">
2823
+ </xsl:template><xsl:template name="table_fn_display">
2664
2824
  <xsl:variable name="references">
2665
2825
 
2666
2826
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -2671,33 +2831,26 @@
2671
2831
  <xsl:for-each select="xalan:nodeset($references)//fn">
2672
2832
  <xsl:variable name="reference" select="@reference"/>
2673
2833
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
2674
- <fo:block margin-bottom="12pt">
2834
+ <fo:block xsl:use-attribute-sets="table-fn-style">
2675
2835
 
2676
2836
 
2677
2837
 
2678
-
2679
-
2680
-
2681
-
2682
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
2838
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
2683
2839
 
2684
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2685
2840
 
2686
2841
 
2687
2842
 
2688
2843
 
2844
+ <xsl:value-of select="@reference"/>
2689
2845
 
2690
2846
 
2691
2847
 
2692
2848
 
2693
- <xsl:value-of select="@reference"/>
2694
2849
 
2695
2850
 
2696
2851
 
2697
2852
  </fo:inline>
2698
- <fo:inline>
2699
-
2700
- <!-- <xsl:apply-templates /> -->
2853
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
2701
2854
  <xsl:copy-of select="./node()"/>
2702
2855
  </fo:inline>
2703
2856
  </fo:block>
@@ -2709,15 +2862,7 @@
2709
2862
 
2710
2863
  <xsl:apply-templates/>
2711
2864
  </fn>
2712
- </xsl:template><xsl:template name="fn_name_display">
2713
- <!-- <xsl:variable name="references">
2714
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2715
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
2716
- <xsl:apply-templates />
2717
- </fn>
2718
- </xsl:for-each>
2719
- </xsl:variable>
2720
- $references=<xsl:copy-of select="$references"/> -->
2865
+ </xsl:template><xsl:template name="table_name_fn_display">
2721
2866
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
2722
2867
  <xsl:variable name="reference" select="@reference"/>
2723
2868
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -2726,9 +2871,7 @@
2726
2871
  </fo:block>
2727
2872
  </xsl:for-each>
2728
2873
  </xsl:template><xsl:template name="fn_display_figure">
2729
- <xsl:variable name="key_iso">
2730
- <!-- and (not(@class) or @class !='pseudocode') -->
2731
- </xsl:variable>
2874
+
2732
2875
  <xsl:variable name="references">
2733
2876
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
2734
2877
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -2736,50 +2879,52 @@
2736
2879
  </fn>
2737
2880
  </xsl:for-each>
2738
2881
  </xsl:variable>
2882
+
2883
+ <xsl:if test="xalan:nodeset($references)//fn">
2739
2884
 
2740
- <!-- current hierarchy is 'figure' element -->
2741
- <xsl:variable name="following_dl_colwidths">
2742
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2743
- <xsl:variable name="html-table">
2744
- <xsl:variable name="doc_ns">
2885
+ <xsl:variable name="key_iso">
2886
+
2887
+ </xsl:variable>
2888
+
2889
+ <!-- current hierarchy is 'figure' element -->
2890
+ <xsl:variable name="following_dl_colwidths">
2891
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
2892
+ <xsl:variable name="html-table">
2893
+ <xsl:variable name="doc_ns">
2894
+
2895
+ </xsl:variable>
2896
+ <xsl:variable name="ns">
2897
+ <xsl:choose>
2898
+ <xsl:when test="normalize-space($doc_ns) != ''">
2899
+ <xsl:value-of select="normalize-space($doc_ns)"/>
2900
+ </xsl:when>
2901
+ <xsl:otherwise>
2902
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
2903
+ </xsl:otherwise>
2904
+ </xsl:choose>
2905
+ </xsl:variable>
2745
2906
 
2746
- </xsl:variable>
2747
- <xsl:variable name="ns">
2748
- <xsl:choose>
2749
- <xsl:when test="normalize-space($doc_ns) != ''">
2750
- <xsl:value-of select="normalize-space($doc_ns)"/>
2751
- </xsl:when>
2752
- <xsl:otherwise>
2753
- <xsl:value-of select="substring-before(name(/*), '-')"/>
2754
- </xsl:otherwise>
2755
- </xsl:choose>
2756
- </xsl:variable>
2757
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2758
- <!-- <xsl:element name="{$ns}:table"> -->
2759
2907
  <xsl:for-each select="*[local-name() = 'dl'][1]">
2760
2908
  <tbody>
2761
2909
  <xsl:apply-templates mode="dl"/>
2762
2910
  </tbody>
2763
2911
  </xsl:for-each>
2764
- <!-- </xsl:element> -->
2765
- </xsl:variable>
2766
-
2767
- <xsl:call-template name="calculate-column-widths">
2768
- <xsl:with-param name="cols-count" select="2"/>
2769
- <xsl:with-param name="table" select="$html-table"/>
2770
- </xsl:call-template>
2771
-
2772
- </xsl:if>
2773
- </xsl:variable>
2774
-
2775
-
2776
- <xsl:variable name="maxlength_dt">
2777
- <xsl:for-each select="*[local-name() = 'dl'][1]">
2778
- <xsl:call-template name="getMaxLength_dt"/>
2779
- </xsl:for-each>
2780
- </xsl:variable>
2781
-
2782
- <xsl:if test="xalan:nodeset($references)//fn">
2912
+ </xsl:variable>
2913
+
2914
+ <xsl:call-template name="calculate-column-widths">
2915
+ <xsl:with-param name="cols-count" select="2"/>
2916
+ <xsl:with-param name="table" select="$html-table"/>
2917
+ </xsl:call-template>
2918
+
2919
+ </xsl:if>
2920
+ </xsl:variable>
2921
+
2922
+ <xsl:variable name="maxlength_dt">
2923
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
2924
+ <xsl:call-template name="getMaxLength_dt"/>
2925
+ </xsl:for-each>
2926
+ </xsl:variable>
2927
+
2783
2928
  <fo:block>
2784
2929
  <fo:table width="95%" table-layout="fixed">
2785
2930
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -2806,20 +2951,18 @@
2806
2951
  <fo:table-row>
2807
2952
  <fo:table-cell>
2808
2953
  <fo:block>
2809
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
2810
-
2954
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
2811
2955
  <xsl:value-of select="@reference"/>
2812
2956
  </fo:inline>
2813
2957
  </fo:block>
2814
2958
  </fo:table-cell>
2815
2959
  <fo:table-cell>
2816
- <fo:block text-align="justify" margin-bottom="12pt">
2817
-
2960
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
2818
2961
  <xsl:if test="normalize-space($key_iso) = 'true'">
2819
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
2962
+
2963
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
2964
+
2820
2965
  </xsl:if>
2821
-
2822
- <!-- <xsl:apply-templates /> -->
2823
2966
  <xsl:copy-of select="./node()"/>
2824
2967
  </fo:block>
2825
2968
  </fo:table-cell>
@@ -2832,14 +2975,8 @@
2832
2975
  </xsl:if>
2833
2976
 
2834
2977
  </xsl:template><xsl:template match="*[local-name()='fn']">
2835
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
2836
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
2837
-
2838
-
2839
-
2840
-
2841
-
2842
-
2978
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
2979
+
2843
2980
 
2844
2981
 
2845
2982
 
@@ -2863,10 +3000,10 @@
2863
3000
  <xsl:variable name="isDeleted" select="@deleted"/>
2864
3001
  <fo:block-container>
2865
3002
 
2866
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
2867
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2868
- </xsl:if>
2869
-
3003
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3004
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3005
+ </xsl:if>
3006
+
2870
3007
 
2871
3008
  <xsl:if test="parent::*[local-name() = 'note']">
2872
3009
  <xsl:attribute name="margin-left">
@@ -2883,11 +3020,11 @@
2883
3020
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
2884
3021
  </xsl:call-template>
2885
3022
 
2886
- <fo:block-container>
2887
-
2888
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2889
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
3023
+ <fo:block-container margin-left="0mm">
3024
+
2890
3025
 
3026
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3027
+
2891
3028
 
2892
3029
  <xsl:variable name="parent" select="local-name(..)"/>
2893
3030
 
@@ -2898,20 +3035,19 @@
2898
3035
  <xsl:choose>
2899
3036
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
2900
3037
 
2901
-
2902
- <fo:block margin-bottom="12pt" text-align="left">
2903
-
2904
- <xsl:variable name="title-where">
2905
- <xsl:call-template name="getLocalizedString">
2906
- <xsl:with-param name="key">where</xsl:with-param>
2907
- </xsl:call-template>
2908
- </xsl:variable>
2909
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
2910
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
2911
- <xsl:text/>
2912
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
2913
- </fo:block>
2914
-
3038
+ <fo:block margin-bottom="12pt" text-align="left">
3039
+
3040
+ <xsl:variable name="title-where">
3041
+ <xsl:call-template name="getLocalizedString">
3042
+ <xsl:with-param name="key">where</xsl:with-param>
3043
+ </xsl:call-template>
3044
+ </xsl:variable>
3045
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3046
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3047
+ <xsl:text/>
3048
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3049
+ </fo:block>
3050
+
2915
3051
  </xsl:when>
2916
3052
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
2917
3053
  <fo:block margin-bottom="12pt" text-align="left">
@@ -2958,9 +3094,7 @@
2958
3094
  <fo:table width="95%" table-layout="fixed">
2959
3095
 
2960
3096
  <xsl:choose>
2961
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
2962
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
2963
- </xsl:when>
3097
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
2964
3098
  <xsl:when test="normalize-space($key_iso) = 'true'">
2965
3099
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2966
3100
 
@@ -2981,12 +3115,9 @@
2981
3115
  </xsl:otherwise>
2982
3116
  </xsl:choose>
2983
3117
  </xsl:variable>
2984
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
2985
- <!-- <xsl:element name="{$ns}:table"> -->
2986
- <tbody>
2987
- <xsl:apply-templates mode="dl"/>
2988
- </tbody>
2989
- <!-- </xsl:element> -->
3118
+ <tbody>
3119
+ <xsl:apply-templates mode="dl"/>
3120
+ </tbody>
2990
3121
  </xsl:variable>
2991
3122
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
2992
3123
  <xsl:variable name="colwidths">
@@ -3066,8 +3197,6 @@
3066
3197
  </xsl:for-each>
3067
3198
  </xsl:otherwise>
3068
3199
  </xsl:choose>
3069
- <!-- <fo:table-column column-width="15%"/>
3070
- <fo:table-column column-width="85%"/> -->
3071
3200
  </xsl:otherwise>
3072
3201
  </xsl:choose>
3073
3202
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -3082,12 +3211,6 @@
3082
3211
  </xsl:for-each>
3083
3212
  </xsl:variable>
3084
3213
  <xsl:variable name="maxLength">
3085
- <!-- <xsl:for-each select="*[local-name()='dt']">
3086
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3087
- <xsl:if test="position() = 1">
3088
- <xsl:value-of select="string-length(normalize-space(.))"/>
3089
- </xsl:if>
3090
- </xsl:for-each> -->
3091
3214
  <xsl:for-each select="xalan:nodeset($lengths)/length">
3092
3215
  <xsl:sort select="." data-type="number" order="descending"/>
3093
3216
  <xsl:if test="position() = 1">
@@ -3113,12 +3236,12 @@
3113
3236
  <xsl:if test="normalize-space($key_iso) = 'true'">
3114
3237
  <xsl:attribute name="margin-top">0</xsl:attribute>
3115
3238
  </xsl:if>
3116
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3239
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3117
3240
  </fo:block>
3118
3241
  </fo:table-cell>
3119
3242
  <fo:table-cell>
3120
3243
  <fo:block>
3121
- <xsl:apply-templates/>
3244
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3122
3245
  </fo:block>
3123
3246
  </fo:table-cell>
3124
3247
  </fo:table-row>
@@ -3129,76 +3252,37 @@
3129
3252
  </td>
3130
3253
  <td>
3131
3254
 
3132
-
3133
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3134
-
3255
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3256
+
3135
3257
  </td>
3136
3258
  </tr>
3137
3259
 
3138
3260
  </xsl:template><xsl:template match="*[local-name()='dt']">
3139
3261
  <xsl:param name="key_iso"/>
3140
3262
 
3141
- <fo:table-row>
3142
-
3143
-
3263
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3144
3264
  <fo:table-cell>
3145
3265
 
3146
- <fo:block margin-top="6pt">
3266
+ <fo:block xsl:use-attribute-sets="dt-style">
3147
3267
  <xsl:copy-of select="@id"/>
3148
3268
 
3149
-
3150
3269
  <xsl:if test="normalize-space($key_iso) = 'true'">
3151
3270
  <xsl:attribute name="margin-top">0</xsl:attribute>
3152
-
3153
3271
  </xsl:if>
3154
3272
 
3155
3273
 
3156
3274
 
3157
-
3158
-
3159
-
3160
-
3161
3275
  <xsl:apply-templates/>
3162
- <!-- <xsl:if test="$namespace = 'gb'">
3163
- <xsl:if test="ancestor::*[local-name()='formula']">
3164
- <xsl:text>—</xsl:text>
3165
- </xsl:if>
3166
- </xsl:if> -->
3167
3276
  </fo:block>
3168
3277
  </fo:table-cell>
3169
3278
  <fo:table-cell>
3170
3279
  <fo:block>
3171
3280
 
3172
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3173
- <xsl:if test="local-name(*[1]) != 'stem'">
3174
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3175
- </xsl:if>
3176
- </xsl:if> -->
3177
-
3178
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3179
-
3281
+
3282
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3180
3283
  </fo:block>
3181
3284
  </fo:table-cell>
3182
3285
  </fo:table-row>
3183
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3184
- <xsl:if test="local-name(*[1]) = 'stem'">
3185
- <fo:table-row>
3186
- <fo:table-cell>
3187
- <fo:block margin-top="6pt">
3188
- <xsl:if test="normalize-space($key_iso) = 'true'">
3189
- <xsl:attribute name="margin-top">0</xsl:attribute>
3190
- </xsl:if>
3191
- <xsl:text>&#xA0;</xsl:text>
3192
- </fo:block>
3193
- </fo:table-cell>
3194
- <fo:table-cell>
3195
- <fo:block>
3196
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3197
- </fo:block>
3198
- </fo:table-cell>
3199
- </fo:table-row>
3200
- </xsl:if>
3201
- </xsl:if> -->
3202
3286
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
3203
3287
  <xsl:apply-templates/>
3204
3288
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
@@ -3227,6 +3311,7 @@
3227
3311
  </fo:inline>
3228
3312
  </xsl:template><xsl:template match="*[local-name()='tt']">
3229
3313
  <fo:inline xsl:use-attribute-sets="tt-style">
3314
+
3230
3315
  <xsl:variable name="_font-size">
3231
3316
 
3232
3317
 
@@ -3263,15 +3348,21 @@
3263
3348
  <xsl:apply-templates/>
3264
3349
  </fo:inline>
3265
3350
  </xsl:template><xsl:template match="*[local-name()='add']">
3351
+ <xsl:param name="skip">true</xsl:param>
3266
3352
  <xsl:choose>
3267
3353
  <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3268
- <fo:inline>
3269
- <xsl:call-template name="insertTag">
3270
- <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3271
- <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3272
- <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3273
- </xsl:call-template>
3274
- </fo:inline>
3354
+ <xsl:choose>
3355
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3356
+ <xsl:otherwise>
3357
+ <fo:inline>
3358
+ <xsl:call-template name="insertTag">
3359
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3360
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3361
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3362
+ </xsl:call-template>
3363
+ </fo:inline>
3364
+ </xsl:otherwise>
3365
+ </xsl:choose>
3275
3366
  </xsl:when>
3276
3367
  <xsl:when test="@amendment">
3277
3368
  <fo:inline>
@@ -3314,8 +3405,6 @@
3314
3405
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
3315
3406
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
3316
3407
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
3317
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
3318
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
3319
3408
  <xsl:attribute name="height">5mm</xsl:attribute>
3320
3409
  <xsl:attribute name="content-width">100%</xsl:attribute>
3321
3410
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -3533,14 +3622,6 @@
3533
3622
 
3534
3623
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
3535
3624
 
3536
- <!-- <xsl:choose>
3537
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
3538
-
3539
- </xsl:when>
3540
- <xsl:otherwise>
3541
- <xsl:copy-of select="current()"/>
3542
- </xsl:otherwise>
3543
- </xsl:choose> -->
3544
3625
  </xsl:variable>
3545
3626
  <xsl:copy-of select="$simple-table"/>
3546
3627
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -3659,8 +3740,6 @@
3659
3740
  <xsl:choose>
3660
3741
  <xsl:when test="contains($str2, ' ')">
3661
3742
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
3662
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
3663
- <xsl:value-of select="substring($substr, 2)"/> -->
3664
3743
  <xsl:call-template name="capitalize">
3665
3744
  <xsl:with-param name="str" select="$substr"/>
3666
3745
  </xsl:call-template>
@@ -3670,8 +3749,6 @@
3670
3749
  </xsl:call-template>
3671
3750
  </xsl:when>
3672
3751
  <xsl:otherwise>
3673
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
3674
- <xsl:value-of select="substring($str2, 2)"/> -->
3675
3752
  <xsl:call-template name="capitalize">
3676
3753
  <xsl:with-param name="str" select="$str2"/>
3677
3754
  </xsl:call-template>
@@ -3699,6 +3776,7 @@
3699
3776
  <xsl:apply-templates select="." mode="mathml"/>
3700
3777
  </xsl:variable>
3701
3778
  <fo:instream-foreign-object fox:alt-text="Math">
3779
+
3702
3780
 
3703
3781
 
3704
3782
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -3730,7 +3808,7 @@
3730
3808
  </xsl:attribute>
3731
3809
 
3732
3810
 
3733
- <!-- <xsl:copy-of select="."/> -->
3811
+
3734
3812
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
3735
3813
  </fo:instream-foreign-object>
3736
3814
  </fo:inline>
@@ -3789,6 +3867,10 @@
3789
3867
 
3790
3868
 
3791
3869
 
3870
+
3871
+
3872
+
3873
+
3792
3874
  <xsl:choose>
3793
3875
  <xsl:when test="$target_text = ''">
3794
3876
  <xsl:apply-templates/>
@@ -3846,7 +3928,6 @@
3846
3928
  </fo:inline>
3847
3929
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
3848
3930
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3849
-
3850
3931
  <xsl:apply-templates/>
3851
3932
  </fo:basic-link>
3852
3933
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -3874,62 +3955,77 @@
3874
3955
  <fo:inline>
3875
3956
  <xsl:apply-templates/>
3876
3957
  </fo:inline>
3877
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
3958
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
3878
3959
  <xsl:if test="normalize-space() != ''">
3879
3960
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3880
3961
  </xsl:if>
3881
3962
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3882
3963
 
3883
3964
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
3965
+
3884
3966
 
3885
- <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3886
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3887
- </xsl:if>
3888
3967
 
3889
3968
 
3890
3969
 
3891
3970
 
3892
3971
 
3893
- <fo:block-container margin-left="0mm">
3894
-
3895
-
3896
-
3897
-
3898
-
3899
-
3900
-
3901
-
3902
- <fo:block>
3903
-
3904
-
3905
- <xsl:attribute name="font-size">10pt</xsl:attribute>
3906
- <xsl:attribute name="text-indent">0</xsl:attribute>
3907
- <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
3908
- <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3909
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3910
- <xsl:attribute name="text-align">justify</xsl:attribute>
3911
- <xsl:attribute name="padding-top">0mm</xsl:attribute>
3912
- </xsl:if>
3913
-
3914
-
3915
-
3916
-
3917
-
3918
- <fo:inline xsl:use-attribute-sets="note-name-style">
3919
-
3920
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3921
- </fo:inline>
3922
- <xsl:apply-templates/>
3923
- </fo:block>
3972
+
3973
+
3974
+
3975
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3976
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3977
+ </xsl:if>
3978
+
3979
+
3980
+ <fo:block-container margin-left="0mm">
3981
+
3982
+
3924
3983
 
3925
3984
 
3985
+
3986
+
3987
+ <fo:block>
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
3995
+ <xsl:attribute name="text-indent">0</xsl:attribute>
3996
+ <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
3997
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
3998
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
3999
+ <xsl:attribute name="text-align">justify</xsl:attribute>
4000
+ <xsl:attribute name="padding-top">0mm</xsl:attribute>
4001
+ </xsl:if>
4002
+
4003
+
4004
+ <fo:inline xsl:use-attribute-sets="note-name-style">
4005
+
4006
+
4007
+
4008
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
4009
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4010
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4011
+ <xsl:with-param name="skip">false</xsl:with-param>
4012
+ </xsl:apply-templates>
4013
+ </xsl:if>
4014
+
4015
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4016
+
4017
+ </fo:inline>
4018
+
4019
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4020
+ </fo:block>
4021
+
3926
4022
  </fo:block-container>
3927
4023
  </fo:block-container>
3928
4024
 
3929
4025
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
3930
4026
  <xsl:variable name="num"><xsl:number/></xsl:variable>
3931
4027
  <xsl:choose>
3932
- <xsl:when test="$num = 1">
4028
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
3933
4029
  <fo:inline xsl:use-attribute-sets="note-p-style">
3934
4030
  <xsl:apply-templates/>
3935
4031
  </fo:inline>
@@ -3944,12 +4040,16 @@
3944
4040
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
3945
4041
 
3946
4042
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
4043
+
4044
+
4045
+
4046
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3947
4047
 
3948
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3949
4048
  </fo:inline>
3950
- <xsl:apply-templates/>
4049
+
4050
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3951
4051
  </fo:block>
3952
- </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
4052
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
3953
4053
  <xsl:param name="sfx"/>
3954
4054
  <xsl:variable name="suffix">
3955
4055
  <xsl:choose>
@@ -3968,7 +4068,7 @@
3968
4068
  <xsl:apply-templates/>
3969
4069
  <xsl:value-of select="$suffix"/>
3970
4070
  </xsl:if>
3971
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4071
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
3972
4072
  <xsl:param name="sfx"/>
3973
4073
  <xsl:variable name="suffix">
3974
4074
  <xsl:choose>
@@ -3995,25 +4095,23 @@
3995
4095
  <xsl:apply-templates/>
3996
4096
  </fo:block>
3997
4097
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3998
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3999
4098
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4000
4099
 
4001
4100
 
4101
+
4102
+
4002
4103
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
4003
4104
 
4004
4105
  </xsl:if>
4005
- <xsl:apply-templates/>
4106
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4006
4107
  </fo:block>
4007
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4108
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
4008
4109
  <xsl:if test="normalize-space() != ''">
4009
4110
  <xsl:variable name="level">
4010
4111
  <xsl:call-template name="getLevelTermName"/>
4011
4112
  </xsl:variable>
4012
4113
  <fo:inline role="H{$level}">
4013
4114
  <xsl:apply-templates/>
4014
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4015
- <xsl:text>.</xsl:text>
4016
- </xsl:if> -->
4017
4115
  </fo:inline>
4018
4116
  </xsl:if>
4019
4117
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -4026,9 +4124,10 @@
4026
4124
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4027
4125
  </xsl:call-template>
4028
4126
 
4029
- <fo:block>
4030
-
4031
- <xsl:apply-templates/>
4127
+
4128
+
4129
+ <fo:block xsl:use-attribute-sets="figure-style">
4130
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4032
4131
  </fo:block>
4033
4132
  <xsl:call-template name="fn_display_figure"/>
4034
4133
  <xsl:for-each select="*[local-name() = 'note']">
@@ -4036,14 +4135,15 @@
4036
4135
  </xsl:for-each>
4037
4136
 
4038
4137
 
4039
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4138
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
4139
+
4040
4140
 
4041
4141
  </fo:block-container>
4042
4142
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4043
4143
  <fo:block id="{@id}">
4044
- <xsl:apply-templates/>
4144
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4045
4145
  </fo:block>
4046
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4146
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4047
4147
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4048
4148
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4049
4149
  <xsl:apply-templates/>
@@ -4155,9 +4255,7 @@
4155
4255
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
4156
4256
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
4157
4257
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
4158
- <!-- width=<xsl:value-of select="$width"/> -->
4159
4258
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
4160
- <!-- height=<xsl:value-of select="$height"/> -->
4161
4259
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
4162
4260
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
4163
4261
  <xsl:call-template name="svg_cross">
@@ -4427,7 +4525,7 @@
4427
4525
  </fo:basic-link>
4428
4526
  </fo:block>
4429
4527
  </fo:block-container>
4430
- </xsl:template><xsl:template match="*[local-name() = 'emf']"/><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">
4528
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><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">
4431
4529
  <xsl:apply-templates mode="contents"/>
4432
4530
  <xsl:text> </xsl:text>
4433
4531
  </xsl:template><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'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
@@ -4580,8 +4678,6 @@
4580
4678
 
4581
4679
 
4582
4680
 
4583
-
4584
-
4585
4681
  </fo:bookmark-tree>
4586
4682
  </xsl:if>
4587
4683
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4652,7 +4748,7 @@
4652
4748
  <xsl:apply-templates mode="bookmark"/>
4653
4749
  </xsl:otherwise>
4654
4750
  </xsl:choose>
4655
- </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">
4751
+ </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']">
4656
4752
  <xsl:if test="normalize-space() != ''">
4657
4753
  <fo:block xsl:use-attribute-sets="figure-name-style">
4658
4754
 
@@ -4668,12 +4764,6 @@
4668
4764
  <!-- <xsl:text> </xsl:text> -->
4669
4765
  </xsl:template><xsl:template name="getSection">
4670
4766
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
4671
- <!--
4672
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
4673
- <xsl:value-of select="."/>
4674
- </xsl:for-each>
4675
- -->
4676
-
4677
4767
  </xsl:template><xsl:template name="getName">
4678
4768
  <xsl:choose>
4679
4769
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -4742,16 +4832,21 @@
4742
4832
  <xsl:apply-templates mode="contents_item">
4743
4833
  <xsl:with-param name="mode" select="$mode"/>
4744
4834
  </xsl:apply-templates>
4745
- </xsl:template><xsl:template match="*[local-name() = 'add'][starts-with(text(), $ace_tag)]" mode="contents_item">
4835
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
4746
4836
  <xsl:param name="mode">bookmarks</xsl:param>
4747
- <xsl:if test="$mode = 'contents'">
4748
- <xsl:copy>
4749
- <xsl:apply-templates mode="contents_item"/>
4750
- </xsl:copy>
4751
- </xsl:if>
4837
+ <xsl:choose>
4838
+ <xsl:when test="starts-with(text(), $ace_tag)">
4839
+ <xsl:if test="$mode = 'contents'">
4840
+ <xsl:copy>
4841
+ <xsl:apply-templates mode="contents_item"/>
4842
+ </xsl:copy>
4843
+ </xsl:if>
4844
+ </xsl:when>
4845
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
4846
+ </xsl:choose>
4752
4847
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
4753
4848
 
4754
- <fo:block-container margin-left="0mm">
4849
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
4755
4850
  <xsl:copy-of select="@id"/>
4756
4851
 
4757
4852
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -4788,6 +4883,7 @@
4788
4883
 
4789
4884
  10
4790
4885
  </xsl:variable>
4886
+
4791
4887
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
4792
4888
  <xsl:if test="$font-size != ''">
4793
4889
  <xsl:attribute name="font-size">
@@ -4804,11 +4900,11 @@
4804
4900
 
4805
4901
 
4806
4902
 
4807
- <xsl:apply-templates/>
4903
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4808
4904
  </fo:block>
4809
4905
 
4810
4906
 
4811
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4907
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
4812
4908
 
4813
4909
 
4814
4910
 
@@ -4822,7 +4918,7 @@
4822
4918
  <xsl:call-template name="add-zero-spaces-java">
4823
4919
  <xsl:with-param name="text" select="$text"/>
4824
4920
  </xsl:call-template>
4825
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
4921
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4826
4922
  <xsl:if test="normalize-space() != ''">
4827
4923
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
4828
4924
  <xsl:apply-templates/>
@@ -4830,10 +4926,10 @@
4830
4926
  </xsl:if>
4831
4927
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
4832
4928
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
4833
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4834
- <xsl:apply-templates/>
4929
+ <xsl:apply-templates select="*[local-name()='name']"/>
4930
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4835
4931
  </fo:block>
4836
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
4932
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
4837
4933
  <xsl:if test="normalize-space() != ''">
4838
4934
  <fo:block xsl:use-attribute-sets="permission-name-style">
4839
4935
  <xsl:apply-templates/>
@@ -4846,13 +4942,13 @@
4846
4942
  </fo:block>
4847
4943
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
4848
4944
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
4849
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4850
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
4851
- <xsl:apply-templates select="@obligation" mode="presentation"/>
4852
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
4853
- <xsl:apply-templates/>
4945
+ <xsl:apply-templates select="*[local-name()='name']"/>
4946
+ <xsl:apply-templates select="*[local-name()='label']"/>
4947
+ <xsl:apply-templates select="@obligation"/>
4948
+ <xsl:apply-templates select="*[local-name()='subject']"/>
4949
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
4854
4950
  </fo:block>
4855
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
4951
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
4856
4952
  <xsl:if test="normalize-space() != ''">
4857
4953
  <fo:block xsl:use-attribute-sets="requirement-name-style">
4858
4954
 
@@ -4860,20 +4956,24 @@
4860
4956
 
4861
4957
  </fo:block>
4862
4958
  </xsl:if>
4863
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
4959
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
4864
4960
  <fo:block xsl:use-attribute-sets="requirement-label-style">
4865
4961
  <xsl:apply-templates/>
4866
4962
  </fo:block>
4867
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
4963
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
4868
4964
  <fo:block>
4869
4965
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
4870
4966
  </fo:block>
4967
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
4968
+ <fo:block xsl:use-attribute-sets="subject-style">
4969
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4970
+ </fo:block>
4871
4971
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
4872
4972
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
4873
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4874
- <xsl:apply-templates/>
4973
+ <xsl:apply-templates select="*[local-name()='name']"/>
4974
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4875
4975
  </fo:block>
4876
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
4976
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
4877
4977
  <xsl:if test="normalize-space() != ''">
4878
4978
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
4879
4979
  <xsl:apply-templates/>
@@ -4884,10 +4984,6 @@
4884
4984
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
4885
4985
  <xsl:apply-templates/>
4886
4986
  </fo:block>
4887
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
4888
- <fo:block xsl:use-attribute-sets="subject-style">
4889
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
4890
- </fo:block>
4891
4987
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
4892
4988
  <fo:block xsl:use-attribute-sets="subject-style">
4893
4989
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -4931,8 +5027,6 @@
4931
5027
  </xsl:variable>
4932
5028
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
4933
5029
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
4934
- <!-- <fo:table-column column-width="35mm"/>
4935
- <fo:table-column column-width="115mm"/> -->
4936
5030
  <fo:table-column column-width="30%"/>
4937
5031
  <fo:table-column column-width="70%"/>
4938
5032
  </xsl:if>
@@ -4942,7 +5036,7 @@
4942
5036
  <xsl:if test=".//*[local-name() = 'fn']">
4943
5037
  <xsl:for-each select="*[local-name() = 'tbody']">
4944
5038
  <fo:block font-size="90%" border-bottom="1pt solid black">
4945
- <xsl:call-template name="fn_display"/>
5039
+ <xsl:call-template name="table_fn_display"/>
4946
5040
  </fo:block>
4947
5041
  </xsl:for-each>
4948
5042
  </xsl:if>
@@ -4959,7 +5053,6 @@
4959
5053
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
4960
5054
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
4961
5055
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
4962
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
4963
5056
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
4964
5057
  </xsl:if>
4965
5058
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -4972,34 +5065,11 @@
4972
5065
  </fo:table-row>
4973
5066
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
4974
5067
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
4975
- <xsl:attribute name="text-align">
4976
- <xsl:choose>
4977
- <xsl:when test="@align">
4978
- <xsl:value-of select="@align"/>
4979
- </xsl:when>
4980
- <xsl:otherwise>left</xsl:otherwise>
4981
- </xsl:choose>
4982
- </xsl:attribute>
4983
- <xsl:if test="@colspan">
4984
- <xsl:attribute name="number-columns-spanned">
4985
- <xsl:value-of select="@colspan"/>
4986
- </xsl:attribute>
4987
- </xsl:if>
4988
- <xsl:if test="@rowspan">
4989
- <xsl:attribute name="number-rows-spanned">
4990
- <xsl:value-of select="@rowspan"/>
4991
- </xsl:attribute>
4992
- </xsl:if>
4993
- <xsl:call-template name="display-align"/>
5068
+ <xsl:call-template name="setTextAlignment">
5069
+ <xsl:with-param name="default">left</xsl:with-param>
5070
+ </xsl:call-template>
4994
5071
 
4995
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
4996
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
4997
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
4998
- </xsl:if>
4999
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
5000
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5001
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5002
- </xsl:if> -->
5072
+ <xsl:call-template name="setTableCellAttributes"/>
5003
5073
 
5004
5074
  <fo:block>
5005
5075
  <xsl:apply-templates/>
@@ -5011,37 +5081,15 @@
5011
5081
  <xsl:attribute name="padding">0mm</xsl:attribute>
5012
5082
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
5013
5083
  </xsl:if>
5014
- <xsl:attribute name="text-align">
5015
- <xsl:choose>
5016
- <xsl:when test="@align">
5017
- <xsl:value-of select="@align"/>
5018
- </xsl:when>
5019
- <xsl:otherwise>left</xsl:otherwise>
5020
- </xsl:choose>
5021
- </xsl:attribute>
5084
+ <xsl:call-template name="setTextAlignment">
5085
+ <xsl:with-param name="default">left</xsl:with-param>
5086
+ </xsl:call-template>
5087
+
5022
5088
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
5023
5089
  <xsl:attribute name="font-weight">bold</xsl:attribute>
5024
5090
  </xsl:if>
5025
- <xsl:if test="@colspan">
5026
- <xsl:attribute name="number-columns-spanned">
5027
- <xsl:value-of select="@colspan"/>
5028
- </xsl:attribute>
5029
- </xsl:if>
5030
- <xsl:if test="@rowspan">
5031
- <xsl:attribute name="number-rows-spanned">
5032
- <xsl:value-of select="@rowspan"/>
5033
- </xsl:attribute>
5034
- </xsl:if>
5035
- <xsl:call-template name="display-align"/>
5036
5091
 
5037
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5038
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
5039
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5040
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
5041
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5042
- </xsl:if>
5043
- </xsl:if> -->
5044
- <!-- 2nd line and below -->
5092
+ <xsl:call-template name="setTableCellAttributes"/>
5045
5093
 
5046
5094
  <fo:block>
5047
5095
  <xsl:apply-templates/>
@@ -5053,15 +5101,15 @@
5053
5101
  <xsl:apply-templates/>
5054
5102
  </fo:block>
5055
5103
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
5056
- <fo:block> <!-- margin-bottom="10pt" -->
5104
+ <fo:block>
5057
5105
  <xsl:apply-templates/>
5058
5106
  </fo:block>
5059
5107
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
5060
5108
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
5061
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5062
- <xsl:apply-templates/>
5109
+ <xsl:apply-templates select="*[local-name()='name']"/>
5110
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5063
5111
  </fo:block>
5064
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
5112
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
5065
5113
  <xsl:if test="normalize-space() != ''">
5066
5114
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
5067
5115
  <xsl:apply-templates/>
@@ -5087,9 +5135,7 @@
5087
5135
 
5088
5136
  <xsl:variable name="fo_element">
5089
5137
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5090
- block
5091
-
5092
-
5138
+ block
5093
5139
  </xsl:variable>
5094
5140
 
5095
5141
  <!-- display 'EXAMPLE' -->
@@ -5166,6 +5212,8 @@
5166
5212
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5167
5213
  <fo:block xsl:use-attribute-sets="termsource-style">
5168
5214
 
5215
+
5216
+
5169
5217
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5170
5218
  <xsl:variable name="termsource_text">
5171
5219
  <xsl:apply-templates/>
@@ -5203,9 +5251,7 @@
5203
5251
  <xsl:value-of select="."/>
5204
5252
  </xsl:if>
5205
5253
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5206
- <fo:inline>
5207
-
5208
-
5254
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
5209
5255
  <xsl:value-of select="."/>
5210
5256
  </fo:inline>
5211
5257
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -5248,7 +5294,6 @@
5248
5294
  <fo:block-container margin-left="0mm">
5249
5295
 
5250
5296
  <fo:block xsl:use-attribute-sets="quote-style">
5251
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
5252
5297
 
5253
5298
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5254
5299
  </fo:block>
@@ -5291,15 +5336,13 @@
5291
5336
  </xsl:variable>
5292
5337
 
5293
5338
  <xsl:choose>
5294
- <xsl:when test="normalize-space($bibitemid) != ''">
5339
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
5295
5340
  <fo:inline xsl:use-attribute-sets="eref-style">
5296
5341
  <xsl:if test="@type = 'footnote'">
5297
-
5298
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5299
- <xsl:attribute name="font-size">80%</xsl:attribute>
5300
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5301
- <xsl:attribute name="vertical-align">super</xsl:attribute>
5302
-
5342
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5343
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5344
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
5345
+ <xsl:attribute name="font-size">80%</xsl:attribute>
5303
5346
 
5304
5347
  </xsl:if>
5305
5348
 
@@ -5316,7 +5359,6 @@
5316
5359
 
5317
5360
 
5318
5361
 
5319
-
5320
5362
  </xsl:if>
5321
5363
 
5322
5364
 
@@ -5374,8 +5416,6 @@
5374
5416
  </xsl:choose>
5375
5417
  </xsl:variable>
5376
5418
 
5377
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5378
-
5379
5419
  <xsl:choose>
5380
5420
  <xsl:when test="$lang = 'zh'">
5381
5421
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -5431,7 +5471,6 @@
5431
5471
  <xsl:apply-templates/>
5432
5472
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
5433
5473
  <fo:inline> <xsl:apply-templates/></fo:inline>
5434
- <!-- <fo:block>&#xA0;</fo:block> -->
5435
5474
  <fo:block/>
5436
5475
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
5437
5476
 
@@ -5474,11 +5513,6 @@
5474
5513
  <xsl:apply-templates/>
5475
5514
  </fo:block>
5476
5515
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
5477
- <fo:block id="{@id}">
5478
- <xsl:apply-templates/>
5479
- </fo:block>
5480
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
5481
-
5482
5516
  <fo:block id="{@id}">
5483
5517
  <xsl:apply-templates/>
5484
5518
  </fo:block>
@@ -5751,32 +5785,68 @@
5751
5785
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
5752
5786
  <fo:block><xsl:apply-templates/></fo:block>
5753
5787
  </fo:table-cell>
5754
- </xsl:template><xsl:template name="processBibitem">
5755
-
5756
-
5757
-
5758
-
5788
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/><xsl:template match="*[local-name() = 'references'][@normative='true']" priority="2">
5759
5789
 
5760
5790
 
5761
5791
 
5792
+ <fo:block id="{@id}">
5793
+ <xsl:apply-templates/>
5794
+ </fo:block>
5795
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
5796
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
5797
+
5798
+ </xsl:if>
5762
5799
 
5800
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
5801
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
5802
+ <fo:block break-after="page"/>
5803
+ </xsl:if>
5804
+ </xsl:if> -->
5763
5805
 
5806
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
5807
+ <xsl:apply-templates/>
5808
+ </fo:block>
5764
5809
 
5765
5810
 
5766
-
5767
5811
 
5768
5812
 
5769
-
5813
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
5814
+ <xsl:call-template name="bibitem"/>
5815
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
5770
5816
 
5817
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
5818
+ <xsl:call-template name="processBibitem"/>
5819
+ </fo:block>
5820
+
5771
5821
 
5822
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
5772
5823
 
5773
- <!-- end MPFD bibitem processing -->
5774
5824
 
5775
- <!-- start M3D bibitem processing -->
5825
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-style">
5826
+ <xsl:call-template name="processBibitem"/>
5827
+ </fo:block>
5828
+
5776
5829
 
5830
+ </xsl:template><xsl:template name="processBibitem">
5777
5831
 
5778
-
5779
5832
 
5833
+ <fo:inline padding-right="5mm">[<xsl:value-of select="un:docidentifier"/>]</fo:inline><xsl:value-of select="un:docidentifier"/>
5834
+ <xsl:if test="un:title">
5835
+ <fo:inline font-style="italic">
5836
+ <xsl:text>, </xsl:text>
5837
+ <xsl:choose>
5838
+ <xsl:when test="un:title[@type = 'main' and @language = 'en']">
5839
+ <xsl:apply-templates select="un:title[@type = 'main' and @language = 'en']"/>
5840
+ </xsl:when>
5841
+ <xsl:otherwise>
5842
+ <xsl:apply-templates select="un:title"/>
5843
+ </xsl:otherwise>
5844
+ </xsl:choose>
5845
+ </fo:inline>
5846
+ </xsl:if>
5847
+ <xsl:apply-templates select="un:formattedref"/>
5848
+
5849
+
5780
5850
  </xsl:template><xsl:template name="processBibitemDocId">
5781
5851
  <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
5782
5852
  <xsl:choose>
@@ -5833,6 +5903,50 @@
5833
5903
  <xsl:value-of select="substring(.,1,1)"/>
5834
5904
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5835
5905
  <fo:inline><xsl:apply-templates/></fo:inline>
5906
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
5907
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
5908
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
5909
+ <xsl:apply-templates/>
5910
+ </fo:inline>
5911
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
5912
+ <fo:footnote>
5913
+ <xsl:variable name="number">
5914
+
5915
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
5916
+
5917
+ </xsl:variable>
5918
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
5919
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
5920
+ <xsl:value-of select="$number"/>
5921
+
5922
+ </fo:basic-link>
5923
+ </fo:inline>
5924
+ <fo:footnote-body>
5925
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
5926
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
5927
+ <xsl:value-of select="$number"/>
5928
+
5929
+ </fo:inline>
5930
+ <xsl:apply-templates/>
5931
+ </fo:block>
5932
+ </fo:footnote-body>
5933
+ </fo:footnote>
5934
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
5935
+ <xsl:text> edition </xsl:text>
5936
+ <xsl:value-of select="."/>
5937
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
5938
+ <xsl:text> (</xsl:text>
5939
+ <fo:inline xsl:use-attribute-sets="link-style">
5940
+ <fo:basic-link external-destination="." fox:alt-text=".">
5941
+ <xsl:value-of select="."/>
5942
+ </fo:basic-link>
5943
+ </fo:inline>
5944
+ <xsl:text>)</xsl:text>
5945
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
5946
+
5947
+ <xsl:text>, </xsl:text>
5948
+
5949
+ <xsl:apply-templates/>
5836
5950
  </xsl:template><xsl:template match="*[local-name() = 'form']">
5837
5951
  <fo:block>
5838
5952
  <xsl:apply-templates/>
@@ -5905,23 +6019,6 @@
5905
6019
  <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
5906
6020
  <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
5907
6021
  <xsl:otherwise><!-- default value -->
5908
-
5909
-
5910
-
5911
-
5912
-
5913
-
5914
-
5915
-
5916
-
5917
-
5918
-
5919
-
5920
-
5921
-
5922
-
5923
-
5924
-
5925
6022
  3
5926
6023
  </xsl:otherwise>
5927
6024
  </xsl:choose>
@@ -6020,6 +6117,67 @@
6020
6117
  <xsl:copy-of select="."/>
6021
6118
  </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6022
6119
  <xsl:call-template name="title"/>
6120
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
6121
+
6122
+
6123
+ <fo:block break-after="page"/>
6124
+
6125
+
6126
+
6127
+
6128
+ <!-- text in the box -->
6129
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
6130
+
6131
+
6132
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
6133
+ <xsl:call-template name="displayAdmonitionName"/>
6134
+ </fo:block>
6135
+
6136
+
6137
+
6138
+
6139
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
6140
+
6141
+
6142
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6143
+ <fo:block>
6144
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6145
+ </fo:block>
6146
+ </fo:block-container>
6147
+
6148
+ </fo:block-container>
6149
+
6150
+ </fo:block-container>
6151
+
6152
+ </xsl:template><xsl:template name="displayAdmonitionName">
6153
+
6154
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
6155
+ <xsl:if test="not(*[local-name() = 'name'])">
6156
+ <xsl:apply-templates select="@type"/>
6157
+ </xsl:if>
6158
+
6159
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
6160
+ <xsl:apply-templates/>
6161
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
6162
+ <xsl:variable name="admonition_type_">
6163
+ <xsl:call-template name="getLocalizedString">
6164
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
6165
+ </xsl:call-template>
6166
+ </xsl:variable>
6167
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
6168
+ <xsl:value-of select="$admonition_type"/>
6169
+ <xsl:if test="$admonition_type = ''">
6170
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
6171
+ </xsl:if>
6172
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
6173
+
6174
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
6175
+
6176
+
6177
+
6178
+ <xsl:apply-templates/>
6179
+ </fo:block>
6180
+
6023
6181
  </xsl:template><xsl:template name="convertDate">
6024
6182
  <xsl:param name="date"/>
6025
6183
  <xsl:param name="format" select="'short'"/>
@@ -6028,78 +6186,39 @@
6028
6186
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
6029
6187
  <xsl:variable name="monthStr">
6030
6188
  <xsl:choose>
6031
- <xsl:when test="$month = '01'">January</xsl:when>
6032
- <xsl:when test="$month = '02'">February</xsl:when>
6033
- <xsl:when test="$month = '03'">March</xsl:when>
6034
- <xsl:when test="$month = '04'">April</xsl:when>
6035
- <xsl:when test="$month = '05'">May</xsl:when>
6036
- <xsl:when test="$month = '06'">June</xsl:when>
6037
- <xsl:when test="$month = '07'">July</xsl:when>
6038
- <xsl:when test="$month = '08'">August</xsl:when>
6039
- <xsl:when test="$month = '09'">September</xsl:when>
6040
- <xsl:when test="$month = '10'">October</xsl:when>
6041
- <xsl:when test="$month = '11'">November</xsl:when>
6042
- <xsl:when test="$month = '12'">December</xsl:when>
6043
- </xsl:choose>
6044
- </xsl:variable>
6045
- <xsl:variable name="result">
6046
- <xsl:choose>
6047
- <xsl:when test="$format = 'ddMMyyyy'">
6048
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6049
- <xsl:text> </xsl:text>
6050
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6051
- </xsl:when>
6052
- <xsl:when test="$format = 'ddMM'">
6053
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6054
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6055
- </xsl:when>
6056
- <xsl:when test="$format = 'short' or $day = ''">
6057
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6058
- </xsl:when>
6059
- <xsl:otherwise>
6060
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6061
- </xsl:otherwise>
6189
+ <xsl:when test="$month = '01'">january</xsl:when>
6190
+ <xsl:when test="$month = '02'">february</xsl:when>
6191
+ <xsl:when test="$month = '03'">march</xsl:when>
6192
+ <xsl:when test="$month = '04'">april</xsl:when>
6193
+ <xsl:when test="$month = '05'">may</xsl:when>
6194
+ <xsl:when test="$month = '06'">june</xsl:when>
6195
+ <xsl:when test="$month = '07'">july</xsl:when>
6196
+ <xsl:when test="$month = '08'">august</xsl:when>
6197
+ <xsl:when test="$month = '09'">september</xsl:when>
6198
+ <xsl:when test="$month = '10'">october</xsl:when>
6199
+ <xsl:when test="$month = '11'">november</xsl:when>
6200
+ <xsl:when test="$month = '12'">december</xsl:when>
6062
6201
  </xsl:choose>
6063
6202
  </xsl:variable>
6064
- <xsl:value-of select="$result"/>
6065
- </xsl:template><xsl:template name="convertDateLocalized">
6066
- <xsl:param name="date"/>
6067
- <xsl:param name="format" select="'short'"/>
6068
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
6069
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
6070
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
6071
- <xsl:variable name="monthStr">
6072
- <xsl:choose>
6073
- <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
6074
- <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
6075
- <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
6076
- <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
6077
- <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
6078
- <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
6079
- <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
6080
- <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
6081
- <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
6082
- <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
6083
- <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
6084
- <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
6085
- </xsl:choose>
6203
+ <xsl:variable name="monthStr_localized">
6204
+ <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
6086
6205
  </xsl:variable>
6087
6206
  <xsl:variable name="result">
6088
6207
  <xsl:choose>
6089
6208
  <xsl:when test="$format = 'ddMMyyyy'">
6090
6209
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6091
6210
  <xsl:text> </xsl:text>
6092
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6211
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
6093
6212
  </xsl:when>
6094
6213
  <xsl:when test="$format = 'ddMM'">
6095
6214
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6096
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6215
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
6097
6216
  </xsl:when>
6098
6217
  <xsl:when test="$format = 'short' or $day = ''">
6099
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6218
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
6100
6219
  </xsl:when>
6101
6220
  <xsl:otherwise>
6102
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6221
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
6103
6222
  </xsl:otherwise>
6104
6223
  </xsl:choose>
6105
6224
  </xsl:variable>
@@ -6152,13 +6271,8 @@
6152
6271
  <xsl:variable name="title">
6153
6272
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
6154
6273
 
6155
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
6156
-
6157
-
6158
-
6159
-
6160
-
6161
-
6274
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
6275
+
6162
6276
  </xsl:for-each>
6163
6277
  </xsl:variable>
6164
6278
  <xsl:choose>
@@ -6173,21 +6287,18 @@
6173
6287
  <dc:creator>
6174
6288
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
6175
6289
 
6176
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6177
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6178
- <xsl:if test="position() != last()">; </xsl:if>
6179
- </xsl:for-each>
6180
-
6181
-
6182
-
6290
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
6291
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
6292
+ <xsl:if test="position() != last()">; </xsl:if>
6293
+ </xsl:for-each>
6294
+
6183
6295
  </xsl:for-each>
6184
6296
  </dc:creator>
6185
6297
  <dc:description>
6186
6298
  <xsl:variable name="abstract">
6187
6299
 
6188
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6189
-
6190
-
6300
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
6301
+
6191
6302
  </xsl:variable>
6192
6303
  <xsl:value-of select="normalize-space($abstract)"/>
6193
6304
  </dc:description>
@@ -6207,7 +6318,6 @@
6207
6318
  <xsl:value-of select="../@id"/>
6208
6319
  </xsl:when>
6209
6320
  <xsl:otherwise>
6210
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
6211
6321
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
6212
6322
  </xsl:otherwise>
6213
6323
  </xsl:choose>
@@ -6233,9 +6343,6 @@
6233
6343
  <xsl:when test="ancestor::*[local-name() = 'preface']">
6234
6344
  <xsl:value-of select="$level_total - 2"/>
6235
6345
  </xsl:when>
6236
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
6237
- <xsl:value-of select="$level_total - 1"/>
6238
- </xsl:when> -->
6239
6346
  <xsl:when test="ancestor::*[local-name() = 'sections']">
6240
6347
  <xsl:value-of select="$level_total - 1"/>
6241
6348
  </xsl:when>
@@ -6425,7 +6532,6 @@
6425
6532
  <xsl:value-of select="$key_"/>
6426
6533
  </xsl:otherwise>
6427
6534
  </xsl:choose>
6428
-
6429
6535
  </xsl:template><xsl:template name="setTrackChangesStyles">
6430
6536
  <xsl:param name="isAdded"/>
6431
6537
  <xsl:param name="isDeleted"/>
@@ -6448,7 +6554,6 @@
6448
6554
  <xsl:if test="local-name() = 'table'">
6449
6555
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
6450
6556
  </xsl:if>
6451
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
6452
6557
  <xsl:attribute name="padding">2mm</xsl:attribute>
6453
6558
  </xsl:if>
6454
6559
  </xsl:otherwise>
@@ -6468,15 +6573,18 @@
6468
6573
  </xsl:choose>
6469
6574
  </xsl:template><xsl:template name="setTextAlignment">
6470
6575
  <xsl:param name="default">left</xsl:param>
6576
+ <xsl:variable name="align" select="normalize-space(@align)"/>
6471
6577
  <xsl:attribute name="text-align">
6472
6578
  <xsl:choose>
6473
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6579
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
6580
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
6581
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
6474
6582
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6475
6583
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6476
6584
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6477
6585
  </xsl:choose>
6478
6586
  </xsl:attribute>
6479
- <xsl:if test="@align = 'indent'">
6587
+ <xsl:if test="$align = 'indent'">
6480
6588
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
6481
6589
  </xsl:if>
6482
6590
  </xsl:template><xsl:template name="number-to-words">