metanorma-ogc 1.5.4 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +4 -32
  3. data/.gitignore +11 -0
  4. data/Gemfile +0 -1
  5. data/lib/isodoc/ogc/biblio.rb +7 -6
  6. data/lib/isodoc/ogc/html/htmlstyle.css +48 -28
  7. data/lib/isodoc/ogc/html/htmlstyle.scss +18 -11
  8. data/lib/isodoc/ogc/html/wordstyle.css +30 -18
  9. data/lib/isodoc/ogc/html/wordstyle.scss +30 -18
  10. data/lib/isodoc/ogc/html/wordstyle_wp.css +22 -12
  11. data/lib/isodoc/ogc/html/wordstyle_wp.scss +22 -12
  12. data/lib/isodoc/ogc/metadata.rb +1 -0
  13. data/lib/isodoc/ogc/ogc.abstract-specification-topic.xsl +1520 -1369
  14. data/lib/isodoc/ogc/ogc.best-practice.xsl +1520 -1369
  15. data/lib/isodoc/ogc/ogc.change-request-supporting-document.xsl +1520 -1369
  16. data/lib/isodoc/ogc/ogc.community-practice.xsl +1520 -1369
  17. data/lib/isodoc/ogc/ogc.community-standard.xsl +1520 -1369
  18. data/lib/isodoc/ogc/ogc.discussion-paper.xsl +1520 -1369
  19. data/lib/isodoc/ogc/ogc.engineering-report.xsl +1520 -1369
  20. data/lib/isodoc/ogc/ogc.other.xsl +1520 -1369
  21. data/lib/isodoc/ogc/ogc.policy.xsl +1520 -1369
  22. data/lib/isodoc/ogc/ogc.reference-model.xsl +1520 -1369
  23. data/lib/isodoc/ogc/ogc.release-notes.xsl +1520 -1369
  24. data/lib/isodoc/ogc/ogc.standard.xsl +1520 -1369
  25. data/lib/isodoc/ogc/ogc.test-suite.xsl +1520 -1369
  26. data/lib/isodoc/ogc/ogc.user-guide.xsl +1520 -1369
  27. data/lib/isodoc/ogc/ogc.white-paper.xsl +1496 -1349
  28. data/lib/isodoc/ogc/presentation_xml_convert.rb +24 -8
  29. data/lib/isodoc/ogc/reqt.rb +17 -3
  30. data/lib/{asciidoctor → metanorma}/ogc/basicdoc.rng +0 -0
  31. data/lib/{asciidoctor → metanorma}/ogc/biblio.rng +0 -0
  32. data/lib/{asciidoctor → metanorma}/ogc/boilerplate.xml +0 -0
  33. data/lib/{asciidoctor → metanorma}/ogc/cleanup.rb +54 -10
  34. data/lib/{asciidoctor → metanorma}/ogc/converter.rb +13 -3
  35. data/lib/{asciidoctor → metanorma}/ogc/front.rb +2 -2
  36. data/lib/{asciidoctor → metanorma}/ogc/isodoc.rng +35 -2
  37. data/lib/{asciidoctor → metanorma}/ogc/ogc.rng +0 -0
  38. data/lib/{asciidoctor → metanorma}/ogc/reqt.rng +0 -0
  39. data/lib/{asciidoctor → metanorma}/ogc/validate.rb +39 -1
  40. data/lib/metanorma/ogc/version.rb +1 -1
  41. data/lib/metanorma/ogc.rb +1 -0
  42. data/lib/metanorma-ogc.rb +0 -1
  43. data/metanorma-ogc.gemspec +1 -1
  44. metadata +14 -15
  45. data/lib/asciidoctor/ogc.rb +0 -6
@@ -154,7 +154,7 @@
154
154
 
155
155
  <xsl:template match="/">
156
156
  <xsl:call-template name="namespaceCheck"/>
157
- <fo:root font-family="Lato, STIX Two Math, Source Han Sans" font-size="11pt" color="{$color_main}" xml:lang="{$lang}">
157
+ <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
158
158
  <fo:layout-master-set>
159
159
  <!-- Cover page -->
160
160
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
@@ -767,9 +767,6 @@
767
767
  <!-- ============================= -->
768
768
  <!-- CONTENTS -->
769
769
  <!-- ============================= -->
770
- <xsl:template match="node()" mode="contents">
771
- <xsl:apply-templates mode="contents"/>
772
- </xsl:template>
773
770
 
774
771
  <!-- element with title -->
775
772
  <xsl:template match="*[ogc:title]" mode="contents">
@@ -917,13 +914,7 @@
917
914
  <!-- title -->
918
915
  <!-- ====== -->
919
916
 
920
- <xsl:template match="ogc:annex2/ogc:title">
921
- <fo:block font-size="12pt" text-align="center" margin-bottom="12pt" keep-with-next="always">
922
- <xsl:apply-templates/>
923
- </fo:block>
924
- </xsl:template>
925
-
926
- <xsl:template match="ogc:title">
917
+ <xsl:template match="ogc:title" name="title">
927
918
 
928
919
  <xsl:variable name="level">
929
920
  <xsl:call-template name="getLevel"/>
@@ -947,7 +938,6 @@
947
938
  </xsl:choose>
948
939
  </xsl:variable>
949
940
 
950
-
951
941
  <xsl:variable name="element-name">
952
942
  <xsl:choose>
953
943
  <xsl:when test="../@inline-header = 'true'">fo:inline</xsl:when>
@@ -977,10 +967,6 @@
977
967
  <fo:table-cell>
978
968
  <fo:block space-before="36pt">
979
969
  <xsl:variable name="title">
980
- <!-- <xsl:call-template name="extractTitle"/> -->
981
- <!-- <xsl:for-each select="..">
982
- <xsl:call-template name="getName"/>
983
- </xsl:for-each> -->
984
970
  <xsl:choose>
985
971
  <xsl:when test="*[local-name() = 'tab']">
986
972
  <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
@@ -1096,46 +1082,6 @@
1096
1082
  </fo:block>
1097
1083
  </xsl:template>
1098
1084
 
1099
-
1100
-
1101
- <xsl:template match="ogc:bibitem">
1102
- <fo:block id="{@id}" margin-bottom="12pt" start-indent="25mm" text-indent="-25mm" line-height="115%">
1103
- <xsl:if test=".//ogc:fn">
1104
- <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
1105
- </xsl:if>
1106
- <xsl:call-template name="processBibitem"/>
1107
- </fo:block>
1108
- </xsl:template>
1109
-
1110
-
1111
- <xsl:template match="ogc:bibitem/ogc:note" priority="2">
1112
- <fo:footnote>
1113
- <xsl:variable name="number">
1114
- <xsl:choose>
1115
- <xsl:when test="ancestor::ogc:references[preceding-sibling::ogc:references]">
1116
- <xsl:number level="any" count="ogc:references[preceding-sibling::ogc:references]//ogc:bibitem/ogc:note"/>
1117
- </xsl:when>
1118
- <xsl:otherwise>
1119
- <xsl:number level="any" count="ogc:bibitem/ogc:note"/>
1120
- </xsl:otherwise>
1121
- </xsl:choose>
1122
- </xsl:variable>
1123
- <fo:inline font-size="65%" keep-with-previous.within-line="always" vertical-align="super"> <!-- 60% baseline-shift="35%" -->
1124
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
1125
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
1126
- </fo:basic-link>
1127
- </fo:inline>
1128
- <fo:footnote-body>
1129
- <fo:block font-size="10pt" margin-bottom="12pt" start-indent="0pt">
1130
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" font-size="60%" vertical-align="super"><!-- baseline-shift="30%" padding-right="9mm" alignment-baseline="hanging" -->
1131
- <xsl:value-of select="$number"/><!-- <xsl:text>)</xsl:text> -->
1132
- </fo:inline>
1133
- <xsl:apply-templates/>
1134
- </fo:block>
1135
- </fo:footnote-body>
1136
- </fo:footnote>
1137
- </xsl:template>
1138
-
1139
1085
 
1140
1086
 
1141
1087
  <xsl:template match="ogc:ul | ogc:ol" mode="ul_ol">
@@ -1173,13 +1119,10 @@
1173
1119
  <fo:list-item id="{@id}">
1174
1120
  <fo:list-item-label end-indent="label-end()">
1175
1121
  <fo:block>
1176
- <xsl:if test="local-name(..) = 'ul'">
1177
- <xsl:attribute name="color">
1178
- <xsl:value-of select="$color_design"/>
1179
- </xsl:attribute>
1180
- </xsl:if>
1181
1122
  <xsl:choose>
1182
- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> <!-- &#x2014; dash -->
1123
+ <xsl:when test="local-name(..) = 'ul'">
1124
+ <xsl:call-template name="setULLabel"/>
1125
+ </xsl:when>
1183
1126
  <xsl:otherwise> <!-- for ordered lists -->
1184
1127
  <xsl:choose>
1185
1128
  <xsl:when test="../@class = 'steps'">
@@ -1230,8 +1173,8 @@
1230
1173
  <fo:list-item-label><fo:block/></fo:list-item-label>
1231
1174
  <fo:list-item-body>
1232
1175
  <fo:block>
1233
- <xsl:apply-templates select="ogc:name" mode="presentation"/>
1234
- <xsl:apply-templates/>
1176
+ <xsl:apply-templates select="ogc:name"/>
1177
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1235
1178
  </fo:block>
1236
1179
  </fo:list-item-body>
1237
1180
  </fo:list-item>
@@ -1242,22 +1185,40 @@
1242
1185
  <xsl:call-template name="getLevelTermName"/>
1243
1186
  </xsl:variable>
1244
1187
  <fo:block space-before="36pt" margin-bottom="10pt" keep-with-next="always" role="H{$levelTerm}">
1245
- <fo:block color="{$color_blue}" keep-with-next="always">
1246
- <fo:inline font-size="18pt" padding-right="1mm"><xsl:apply-templates/></fo:inline>
1247
- <xsl:apply-templates select="../ogc:preferred | ../ogc:deprecated | ../ogc:admitted" mode="term_name"/>
1248
- </fo:block>
1249
- <xsl:call-template name="insertOrangeHorizontalLine"/>
1188
+ <fo:list-block color="{$color_blue}" keep-with-next="always" provisional-distance-between-starts="{string-length()*3}mm">
1189
+ <fo:list-item>
1190
+ <fo:list-item-label end-indent="label-end()">
1191
+ <fo:block><fo:inline font-size="18pt" padding-right="1mm"><xsl:apply-templates/></fo:inline></fo:block>
1192
+ </fo:list-item-label>
1193
+ <fo:list-item-body start-indent="body-start()">
1194
+ <fo:block>
1195
+ <xsl:apply-templates select="../ogc:preferred | ../ogc:deprecated | ../ogc:admitted" mode="term_name"/>
1196
+ </fo:block>
1197
+ </fo:list-item-body>
1198
+ </fo:list-item>
1199
+ </fo:list-block>
1200
+ <xsl:call-template name="insertShortHorizontalLine"/>
1250
1201
  </fo:block>
1251
1202
  </xsl:template>
1252
1203
 
1253
1204
  <xsl:template match="ogc:preferred | ogc:deprecated | ogc:admitted" priority="2"/>
1254
1205
 
1255
- <xsl:template match="ogc:preferred" mode="term_name">
1206
+ <!-- first preferred displays on the same line as term/name -->
1207
+ <xsl:template match="ogc:preferred[not(preceding-sibling::ogc:preferred)]" mode="term_name" priority="2">
1256
1208
  <fo:inline font-size="18pt" padding-right="3mm"><xsl:call-template name="setStyle_preferred"/><xsl:apply-templates/></fo:inline>
1257
1209
  <fo:inline padding-right="2mm"> </fo:inline>
1258
1210
  </xsl:template>
1259
1211
 
1260
- <xsl:template match="ogc:deprecated | ogc:admitted" mode="term_name">
1212
+ <xsl:template match="ogc:preferred | ogc:deprecated | ogc:admitted" mode="term_name">
1213
+ <xsl:choose>
1214
+ <xsl:when test="preceding-sibling::*[self::ogc:preferred or self::deprecated or self::admitted]">
1215
+ <fo:block space-before="6pt"><xsl:call-template name="displayTerm"/></fo:block> <!-- block wrapper -->
1216
+ </xsl:when>
1217
+ <xsl:otherwise><xsl:call-template name="displayTerm"/></xsl:otherwise>
1218
+ </xsl:choose>
1219
+ </xsl:template>
1220
+
1221
+ <xsl:template name="displayTerm">
1261
1222
  <fo:inline font-size="18pt" padding-right="3mm"><xsl:apply-templates/></fo:inline>
1262
1223
  <fo:inline font-size="11pt" padding="1mm" padding-bottom="0.5mm" baseline-shift="25%">
1263
1224
  <xsl:variable name="kind" select="local-name()"/>
@@ -1272,69 +1233,13 @@
1272
1233
  <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($kind))"/>
1273
1234
  </xsl:call-template>
1274
1235
  </fo:inline>
1275
- <fo:inline padding-right="2mm"> </fo:inline>
1236
+ <xsl:if test="following-sibling::*[self::ogc:preferred or self::deprecated or self::admitted]">
1237
+ <fo:inline padding-right="2mm"> </fo:inline>
1238
+ </xsl:if>
1276
1239
  </xsl:template>
1277
1240
 
1278
- <!-- [position() &gt; 1] -->
1279
- <xsl:template match="ogc:references[not(@normative='true')]">
1280
- <fo:block break-after="page"/>
1281
- <fo:block id="{@id}" line-height="120%">
1282
- <xsl:apply-templates/>
1283
- </fo:block>
1284
- </xsl:template>
1285
-
1286
- <xsl:template match="ogc:annex//ogc:references">
1287
- <fo:block id="{@id}">
1288
- <xsl:apply-templates/>
1289
- </fo:block>
1290
- </xsl:template>
1291
-
1292
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
1293
- <xsl:template match="ogc:references[not(@normative='true')]/ogc:bibitem">
1294
- <fo:list-block id="{@id}" margin-bottom="12pt" provisional-distance-between-starts="13mm">
1295
- <fo:list-item>
1296
- <fo:list-item-label end-indent="label-end()">
1297
- <fo:block>
1298
- <fo:inline>
1299
- <xsl:number format="1."/>
1300
- </fo:inline>
1301
- </fo:block>
1302
- </fo:list-item-label>
1303
- <fo:list-item-body start-indent="body-start()">
1304
- <fo:block>
1305
- <xsl:call-template name="processBibitem"/>
1306
- </fo:block>
1307
- </fo:list-item-body>
1308
- </fo:list-item>
1309
- </fo:list-block>
1310
- </xsl:template>
1311
1241
 
1312
-
1313
- <xsl:template match="ogc:references[not(@normative='true')]/ogc:bibitem" mode="contents"/>
1314
1242
 
1315
- <xsl:template match="ogc:bibitem/ogc:title">
1316
- <fo:inline font-style="italic">
1317
- <xsl:apply-templates/>
1318
- </fo:inline>
1319
- </xsl:template>
1320
-
1321
-
1322
- <xsl:template match="ogc:admonition">
1323
- <fo:block-container border="0.5pt solid rgb(79, 129, 189)" color="rgb(79, 129, 189)" margin-left="16mm" margin-right="16mm" margin-bottom="12pt">
1324
- <fo:block-container margin-left="0mm" margin-right="0mm" padding="2mm" padding-top="3mm">
1325
- <fo:block font-size="11pt" margin-bottom="6pt" font-weight="bold" font-style="italic" text-align="center">
1326
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(@type))"/>
1327
- </fo:block>
1328
- <fo:block font-style="italic">
1329
- <xsl:apply-templates/>
1330
- </fo:block>
1331
- </fo:block-container>
1332
- </fo:block-container>
1333
-
1334
-
1335
- </xsl:template>
1336
-
1337
-
1338
1243
  <xsl:template match="ogc:formula/ogc:stem">
1339
1244
  <fo:block margin-top="6pt" margin-bottom="12pt">
1340
1245
  <fo:table table-layout="fixed" width="100%">
@@ -1349,7 +1254,7 @@
1349
1254
  </fo:table-cell>
1350
1255
  <fo:table-cell display-align="center">
1351
1256
  <fo:block text-align="right">
1352
- <xsl:apply-templates select="../ogc:name" mode="presentation"/>
1257
+ <xsl:apply-templates select="../ogc:name" mode="formula_number"/>
1353
1258
  </fo:block>
1354
1259
  </fo:table-cell>
1355
1260
  </fo:table-row>
@@ -1368,13 +1273,13 @@
1368
1273
  <xsl:template match="ogc:figure" priority="2">
1369
1274
  <fo:block-container id="{@id}" margin-top="12pt" margin-bottom="12pt">
1370
1275
  <fo:block>
1371
- <xsl:apply-templates/>
1276
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
1372
1277
  </fo:block>
1373
1278
  <xsl:call-template name="fn_display_figure"/>
1374
1279
  <xsl:for-each select="ogc:note">
1375
1280
  <xsl:call-template name="note"/>
1376
1281
  </xsl:for-each>
1377
- <xsl:apply-templates select="ogc:name" mode="presentation"/>
1282
+ <xsl:apply-templates select="ogc:name"/>
1378
1283
  </fo:block-container>
1379
1284
  </xsl:template>
1380
1285
 
@@ -1609,7 +1514,7 @@
1609
1514
  </xsl:if>
1610
1515
 
1611
1516
  </fo:block>
1612
- <xsl:call-template name="insertOrangeHorizontalLine"/>
1517
+ <xsl:call-template name="insertShortHorizontalLine"/>
1613
1518
  </fo:block>
1614
1519
  </xsl:template>
1615
1520
 
@@ -1674,7 +1579,7 @@
1674
1579
  </xsl:choose>
1675
1580
  </xsl:template>
1676
1581
 
1677
- <xsl:template name="insertOrangeHorizontalLine">
1582
+ <xsl:template name="insertShortHorizontalLine">
1678
1583
  <fo:block-container width="12.7mm" border-top="1pt solid {$color_design}" margin-top="3mm">
1679
1584
  <fo:block font-size="1pt"> </fo:block>
1680
1585
  </fo:block-container>
@@ -1688,29 +1593,19 @@
1688
1593
  </fo:static-content>
1689
1594
  </xsl:template>
1690
1595
 
1691
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
1692
-
1693
- <title-annex lang="en">Annex </title-annex>
1694
- <title-annex lang="fr">Annexe </title-annex>
1695
-
1696
- <title-annex lang="zh">Annex </title-annex>
1697
-
1698
-
1596
+ <xsl:variable name="titles_">
1699
1597
 
1700
1598
  <title-edition lang="en">
1701
1599
 
1702
-
1703
- <xsl:text>Version</xsl:text>
1704
-
1600
+ <xsl:text>Version</xsl:text>
1601
+
1705
1602
  </title-edition>
1706
1603
 
1707
1604
  <title-edition lang="fr">
1708
-
1709
- <xsl:text>Édition </xsl:text>
1710
-
1605
+ <xsl:text>Édition </xsl:text>
1711
1606
  </title-edition>
1712
1607
 
1713
-
1608
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
1714
1609
  <title-toc lang="en">
1715
1610
 
1716
1611
  <xsl:text>Contents</xsl:text>
@@ -1719,24 +1614,13 @@
1719
1614
 
1720
1615
  </title-toc>
1721
1616
  <title-toc lang="fr">
1617
+ <xsl:text>Sommaire</xsl:text>
1618
+ </title-toc>
1619
+ <title-toc lang="zh">
1722
1620
 
1723
- <xsl:text>Sommaire</xsl:text>
1724
-
1725
-
1726
- </title-toc>
1727
-
1728
- <title-toc lang="zh">Contents</title-toc>
1729
-
1730
-
1731
-
1732
- <title-page lang="en">Page</title-page>
1733
- <title-page lang="fr">Page</title-page>
1734
-
1735
- <title-key lang="en">Key</title-key>
1736
- <title-key lang="fr">Légende</title-key>
1737
-
1738
- <title-where lang="en">where</title-where>
1739
- <title-where lang="fr">où</title-where>
1621
+ <xsl:text>Contents</xsl:text>
1622
+
1623
+ </title-toc>
1740
1624
 
1741
1625
  <title-descriptors lang="en">Descriptors</title-descriptors>
1742
1626
 
@@ -1752,32 +1636,9 @@
1752
1636
  </title-part>
1753
1637
  <title-part lang="zh">第 # 部分:</title-part>
1754
1638
 
1755
- <title-subpart lang="en">
1756
-
1757
- </title-subpart>
1758
- <title-subpart lang="fr">
1759
-
1760
- </title-subpart>
1761
-
1762
- <title-modified lang="en">modified</title-modified>
1763
- <title-modified lang="fr">modifiée</title-modified>
1639
+ <title-subpart lang="en">Sub-part #</title-subpart>
1640
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
1764
1641
 
1765
- <title-modified lang="zh">modified</title-modified>
1766
-
1767
-
1768
-
1769
- <title-source lang="en">
1770
-
1771
-
1772
- <xsl:text>Source</xsl:text>
1773
-
1774
- </title-source>
1775
-
1776
- <title-keywords lang="en">Keywords</title-keywords>
1777
-
1778
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
1779
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
1780
-
1781
1642
  <title-list-tables lang="en">List of Tables</title-list-tables>
1782
1643
 
1783
1644
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -1786,41 +1647,12 @@
1786
1647
 
1787
1648
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1788
1649
 
1789
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
1790
-
1791
- <title-abstract lang="en">Abstract</title-abstract>
1792
-
1793
1650
  <title-summary lang="en">Summary</title-summary>
1794
1651
 
1795
- <title-in lang="en">in </title-in>
1796
-
1797
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
1798
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
1799
-
1800
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
1801
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
1802
-
1803
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
1804
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
1805
-
1806
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
1807
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
1808
-
1809
- <title-obligation-normative lang="en">normative</title-obligation-normative>
1810
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
1811
-
1812
- <title-caution lang="en">CAUTION</title-caution>
1813
- <title-caution lang="zh">注意</title-caution>
1814
-
1815
- <title-warning lang="en">WARNING</title-warning>
1816
- <title-warning lang="zh">警告</title-warning>
1817
-
1818
- <title-amendment lang="en">AMENDMENT</title-amendment>
1819
-
1820
1652
  <title-continued lang="en">(continued)</title-continued>
1821
1653
  <title-continued lang="fr">(continué)</title-continued>
1822
1654
 
1823
- </xsl:variable><xsl:variable name="bibdata">
1655
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
1824
1656
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
1825
1657
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
1826
1658
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -1849,15 +1681,35 @@
1849
1681
  </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">
1850
1682
 
1851
1683
 
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+
1695
+ <xsl:attribute name="font-family">Lato, STIX Two Math, Source Han Sans</xsl:attribute>
1696
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1697
+ <xsl:attribute name="color"><xsl:value-of select="$color_main"/></xsl:attribute>
1698
+
1699
+
1700
+
1701
+
1852
1702
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1853
1703
 
1854
1704
 
1855
1705
 
1856
1706
 
1857
- <!-- <xsl:attribute name="color">rgb(33, 55, 92)</xsl:attribute> -->
1858
1707
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
1859
1708
 
1860
1709
 
1710
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1711
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1712
+
1861
1713
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
1862
1714
  <xsl:attribute name="white-space">pre</xsl:attribute>
1863
1715
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
@@ -1867,6 +1719,11 @@
1867
1719
 
1868
1720
 
1869
1721
 
1722
+
1723
+
1724
+
1725
+
1726
+
1870
1727
 
1871
1728
 
1872
1729
  <xsl:attribute name="font-family">Fira Code</xsl:attribute>
@@ -1875,6 +1732,8 @@
1875
1732
 
1876
1733
 
1877
1734
 
1735
+
1736
+
1878
1737
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
1879
1738
 
1880
1739
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
@@ -1959,6 +1818,7 @@
1959
1818
 
1960
1819
 
1961
1820
 
1821
+
1962
1822
 
1963
1823
  <xsl:attribute name="margin-top">10pt</xsl:attribute>
1964
1824
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
@@ -1972,7 +1832,9 @@
1972
1832
 
1973
1833
 
1974
1834
 
1835
+
1975
1836
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1837
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1976
1838
 
1977
1839
 
1978
1840
 
@@ -1984,7 +1846,6 @@
1984
1846
 
1985
1847
 
1986
1848
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1987
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1988
1849
 
1989
1850
 
1990
1851
 
@@ -2002,6 +1863,7 @@
2002
1863
 
2003
1864
 
2004
1865
 
1866
+
2005
1867
 
2006
1868
  <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
2007
1869
 
@@ -2020,55 +1882,41 @@
2020
1882
 
2021
1883
  </xsl:attribute-set><xsl:variable name="table-border_">
2022
1884
 
2023
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
2024
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2025
-
1885
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1886
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1887
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2026
1888
 
2027
1889
 
2028
1890
 
2029
1891
 
2030
-
2031
1892
 
2032
-
2033
- <xsl:attribute name="text-align">left</xsl:attribute>
2034
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2035
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2036
- <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
2037
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2038
1893
 
2039
1894
 
2040
-
2041
1895
 
2042
1896
 
2043
1897
 
2044
1898
 
2045
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2046
1899
 
2047
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2048
-
2049
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2050
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2051
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2052
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2053
1900
 
2054
1901
 
2055
1902
 
2056
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2057
1903
 
2058
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2059
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2060
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
1904
+ <xsl:attribute name="space-after">12pt</xsl:attribute>
2061
1905
 
2062
1906
 
2063
1907
 
2064
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
1908
+
2065
1909
 
2066
1910
 
1911
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
1912
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1913
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
1914
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1915
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2067
1916
 
2068
1917
 
2069
1918
 
2070
1919
 
2071
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
2072
1920
 
2073
1921
 
2074
1922
 
@@ -2076,157 +1924,389 @@
2076
1924
 
2077
1925
 
2078
1926
 
2079
- </xsl:attribute-set><xsl:attribute-set name="note-style">
2080
1927
 
2081
1928
 
2082
1929
 
2083
1930
 
2084
-
2085
1931
 
1932
+
2086
1933
 
2087
1934
 
2088
1935
 
2089
1936
 
2090
-
2091
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2092
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2093
1937
 
1938
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
1939
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1940
+
2094
1941
 
2095
1942
 
2096
1943
 
2097
1944
 
1945
+
2098
1946
 
2099
- </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
1947
+
1948
+ <xsl:attribute name="text-align">left</xsl:attribute>
1949
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1950
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
1951
+ <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
1952
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2100
1953
 
2101
1954
 
1955
+
2102
1956
 
2103
1957
 
2104
1958
 
2105
1959
 
1960
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
1961
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
2106
1962
 
2107
1963
 
2108
1964
 
1965
+ <xsl:attribute name="min-height">8.5mm</xsl:attribute>
2109
1966
 
2110
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2111
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
2112
1967
 
1968
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
1969
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2113
1970
 
2114
1971
 
2115
1972
 
2116
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2117
1973
 
2118
1974
 
2119
1975
 
2120
1976
 
2121
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1977
+ <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
1978
+ <xsl:attribute name="color">white</xsl:attribute>
2122
1979
 
1980
+
2123
1981
 
1982
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2124
1983
 
2125
-
2126
1984
 
2127
1985
 
1986
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1987
+
1988
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
1989
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1990
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1991
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
1992
+ <xsl:attribute name="display-align">center</xsl:attribute>
2128
1993
 
2129
1994
 
2130
1995
 
2131
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2132
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2133
1996
 
2134
1997
 
2135
1998
 
2136
1999
 
2137
2000
 
2138
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2001
+
2002
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2139
2003
 
2140
2004
 
2141
2005
 
2142
2006
 
2143
2007
 
2144
-
2145
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2146
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2008
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
2009
+ <xsl:attribute name="display-align">center</xsl:attribute>
2010
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2011
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2147
2012
 
2148
2013
 
2149
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2150
2014
 
2151
2015
 
2152
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2153
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
2154
-
2155
2016
 
2156
2017
 
2157
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
2158
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
2159
2018
 
2160
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2161
- <xsl:attribute name="margin-left">13mm</xsl:attribute>
2162
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
2163
2019
 
2164
2020
 
2021
+ <xsl:attribute name="border">solid 0pt white</xsl:attribute>
2022
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2023
+ <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
2165
2024
 
2166
2025
 
2167
2026
 
2168
2027
 
2169
2028
 
2170
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2029
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2030
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2031
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2032
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2033
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2171
2034
 
2172
- <xsl:attribute name="text-align">right</xsl:attribute>
2173
- <xsl:attribute name="margin-right">25mm</xsl:attribute>
2174
2035
 
2175
-
2176
-
2177
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2178
2036
 
2179
2037
 
2180
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2181
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2182
2038
 
2183
2039
 
2184
2040
 
2041
+
2185
2042
 
2186
2043
 
2044
+ <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2187
2045
 
2188
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
2189
2046
 
2047
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
2048
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2049
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2190
2050
 
2191
2051
 
2192
2052
 
2193
2053
 
2194
- </xsl:attribute-set><xsl:attribute-set name="term-style">
2195
2054
 
2196
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2197
2055
 
2198
2056
 
2199
-
2200
2057
 
2201
- <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
2202
- <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2203
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
2204
- <!-- <xsl:attribute name="margin-bottom">6pt</xsl:attribute> -->
2205
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2206
- <!-- <xsl:attribute name="keep-with-next">always</xsl:attribute> -->
2207
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2208
- <xsl:attribute name="text-align">center</xsl:attribute>
2058
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2059
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2209
2060
 
2210
2061
 
2211
2062
 
2212
2063
 
2213
2064
 
2214
2065
 
2066
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2067
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2068
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2215
2069
 
2216
2070
 
2217
2071
 
2218
2072
 
2219
2073
 
2220
2074
 
2221
-
2222
2075
 
2223
2076
 
2224
2077
 
2225
-
2226
- </xsl:attribute-set><xsl:attribute-set name="formula-style">
2227
2078
 
2228
- </xsl:attribute-set><xsl:attribute-set name="image-style">
2229
- <xsl:attribute name="text-align">center</xsl:attribute>
2079
+
2080
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2081
+
2082
+
2083
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
2084
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2085
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2086
+
2087
+
2088
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
2089
+
2090
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
2091
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2092
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2093
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2094
+
2095
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
2096
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2097
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2098
+
2099
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
2100
+
2101
+ <xsl:attribute name="min-height">8.5mm</xsl:attribute>
2102
+
2103
+
2104
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
2105
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
2116
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2117
+
2118
+
2119
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2120
+
2121
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
2122
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2123
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2124
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2125
+
2126
+
2127
+
2128
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2129
+
2130
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2131
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2132
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2133
+
2134
+
2135
+
2136
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2164
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+
2182
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2183
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2184
+
2185
+
2186
+
2187
+
2188
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2189
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2190
+
2191
+
2192
+
2193
+
2194
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+
2204
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2205
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2206
+
2207
+
2208
+
2209
+
2210
+
2211
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2212
+
2213
+
2214
+
2215
+
2216
+
2217
+
2218
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2219
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2220
+
2221
+
2222
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2223
+
2224
+
2225
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2226
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2227
+
2228
+
2229
+
2230
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
2231
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
2232
+
2233
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2234
+ <xsl:attribute name="margin-left">13mm</xsl:attribute>
2235
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2244
+
2245
+ <xsl:attribute name="text-align">right</xsl:attribute>
2246
+ <xsl:attribute name="margin-right">25mm</xsl:attribute>
2247
+
2248
+
2249
+
2250
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2251
+
2252
+
2253
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2254
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
2262
+
2263
+
2264
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2265
+
2266
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
2267
+
2268
+
2269
+
2270
+
2271
+
2272
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
2273
+
2274
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
2275
+
2276
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2277
+
2278
+
2279
+
2280
+
2281
+ <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
2282
+ <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2283
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2284
+ <!-- <xsl:attribute name="margin-bottom">6pt</xsl:attribute> -->
2285
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2286
+ <!-- <xsl:attribute name="keep-with-next">always</xsl:attribute> -->
2287
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2288
+ <xsl:attribute name="text-align">center</xsl:attribute>
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+
2303
+
2304
+
2305
+
2306
+ </xsl:attribute-set><xsl:attribute-set name="formula-style">
2307
+
2308
+ </xsl:attribute-set><xsl:attribute-set name="image-style">
2309
+ <xsl:attribute name="text-align">center</xsl:attribute>
2230
2310
 
2231
2311
 
2232
2312
  <xsl:attribute name="space-before">12pt</xsl:attribute>
@@ -2236,75 +2316,259 @@
2236
2316
 
2237
2317
 
2238
2318
 
2239
- </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2319
+ </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2320
+
2321
+ </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2322
+
2323
+
2324
+ <xsl:attribute name="width">100%</xsl:attribute>
2325
+ <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2326
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
2327
+
2328
+
2329
+
2330
+
2331
+
2332
+ </xsl:attribute-set><xsl:attribute-set name="tt-style">
2333
+
2334
+
2335
+
2336
+ <xsl:attribute name="font-family">Fira Code</xsl:attribute>
2337
+
2338
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2339
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2340
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2341
+ <xsl:attribute name="text-align">center</xsl:attribute>
2342
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2343
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2344
+
2345
+ </xsl:attribute-set><xsl:attribute-set name="domain-style">
2346
+
2347
+ </xsl:attribute-set><xsl:attribute-set name="admitted-style">
2348
+
2349
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2350
+
2351
+
2352
+
2353
+ </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2354
+
2355
+
2356
+ </xsl:attribute-set><xsl:attribute-set name="definition-style">
2357
+
2358
+ <xsl:attribute name="space-after">6pt</xsl:attribute>
2359
+
2360
+
2361
+
2362
+ </xsl:attribute-set><xsl:variable name="color-added-text">
2363
+ <xsl:text>rgb(0, 255, 0)</xsl:text>
2364
+ </xsl:variable><xsl:attribute-set name="add-style">
2365
+ <xsl:attribute name="color">red</xsl:attribute>
2366
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2367
+ <!-- <xsl:attribute name="color">black</xsl:attribute>
2368
+ <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2369
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2370
+ <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2371
+ </xsl:attribute-set><xsl:variable name="color-deleted-text">
2372
+ <xsl:text>red</xsl:text>
2373
+ </xsl:variable><xsl:attribute-set name="del-style">
2374
+ <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
2375
+ <xsl:attribute name="text-decoration">line-through</xsl:attribute>
2376
+ </xsl:attribute-set><xsl:attribute-set name="mathml-style">
2377
+ <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
2378
+
2379
+
2380
+ </xsl:attribute-set><xsl:attribute-set name="list-style">
2381
+
2382
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
2383
+ <xsl:attribute name="line-height">135%</xsl:attribute>
2384
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2385
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2386
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2387
+
2388
+
2389
+
2390
+
2391
+
2392
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2393
+
2394
+
2395
+
2396
+
2397
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
2398
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2399
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
2400
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2401
+
2402
+
2403
+
2404
+
2405
+
2406
+
2407
+
2408
+
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2415
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2416
+
2417
+
2418
+
2419
+
2420
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
2421
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
2422
+ <xsl:attribute name="font-style">normal</xsl:attribute>
2423
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2424
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2425
+
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+
2438
+
2439
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2440
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2441
+ <xsl:attribute name="color"><xsl:value-of select="$color_main"/></xsl:attribute>
2442
+ <xsl:attribute name="line-height">124%</xsl:attribute>
2443
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2450
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2451
+
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+
2458
+
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+ <xsl:attribute name="font-size">60%</xsl:attribute>
2466
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2467
+
2468
+
2469
+
2470
+
2471
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2472
+
2473
+
2474
+
2475
+
2476
+
2477
+
2478
+
2479
+
2480
+
2481
+
2482
+
2483
+ <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
2484
+ <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
2485
+ <xsl:attribute name="margin-left">16mm</xsl:attribute>
2486
+ <xsl:attribute name="margin-right">16mm</xsl:attribute>
2487
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2488
+
2489
+
2490
+
2491
+
2492
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2493
+
2494
+
2495
+
2496
+
2497
+
2498
+
2499
+
2500
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2501
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2502
+ <xsl:attribute name="padding">2mm</xsl:attribute>
2503
+ <xsl:attribute name="padding-top">3mm</xsl:attribute>
2504
+
2505
+
2506
+
2507
+
2508
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
2509
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2510
+
2511
+
2512
+
2513
+
2514
+
2515
+
2516
+
2517
+
2518
+
2519
+
2520
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2521
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2522
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2523
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2524
+ <xsl:attribute name="text-align">center</xsl:attribute>
2525
+
2526
+
2527
+
2528
+
2529
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
2530
+
2531
+
2532
+
2533
+
2534
+
2535
+
2536
+
2537
+
2538
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2539
+
2240
2540
 
2241
- </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2242
2541
 
2243
2542
 
2244
- <xsl:attribute name="width">100%</xsl:attribute>
2245
- <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2246
- <xsl:attribute name="scaling">uniform</xsl:attribute>
2543
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
2247
2544
 
2248
2545
 
2249
2546
 
2250
-
2251
-
2252
- </xsl:attribute-set><xsl:attribute-set name="tt-style">
2253
2547
 
2254
2548
 
2255
2549
 
2256
- <xsl:attribute name="font-family">Fira Code</xsl:attribute>
2257
2550
 
2258
- </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2259
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2260
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2261
- <xsl:attribute name="text-align">center</xsl:attribute>
2262
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2263
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2264
2551
 
2265
- </xsl:attribute-set><xsl:attribute-set name="domain-style">
2266
-
2267
- </xsl:attribute-set><xsl:attribute-set name="admitted-style">
2268
2552
 
2269
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2270
2553
 
2271
2554
 
2272
2555
 
2273
- </xsl:attribute-set><xsl:attribute-set name="deprecates-style">
2274
2556
 
2275
2557
 
2276
- </xsl:attribute-set><xsl:attribute-set name="definition-style">
2277
2558
 
2278
- <xsl:attribute name="space-after">6pt</xsl:attribute>
2559
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2560
+ <xsl:attribute name="start-indent">25mm</xsl:attribute>
2561
+ <xsl:attribute name="text-indent">-25mm</xsl:attribute>
2562
+ <xsl:attribute name="line-height">115%</xsl:attribute>
2279
2563
 
2280
2564
 
2281
2565
 
2282
- </xsl:attribute-set><xsl:variable name="color-added-text">
2283
- <xsl:text>rgb(0, 255, 0)</xsl:text>
2284
- </xsl:variable><xsl:attribute-set name="add-style">
2285
- <xsl:attribute name="color">red</xsl:attribute>
2286
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2287
- <!-- <xsl:attribute name="color">black</xsl:attribute>
2288
- <xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
2289
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
2290
- <xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
2291
- </xsl:attribute-set><xsl:variable name="color-deleted-text">
2292
- <xsl:text>red</xsl:text>
2293
- </xsl:variable><xsl:attribute-set name="del-style">
2294
- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
2295
- <xsl:attribute name="text-decoration">line-through</xsl:attribute>
2296
- </xsl:attribute-set><xsl:attribute-set name="mathml-style">
2297
- <xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
2298
2566
 
2567
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
2568
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2569
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2299
2570
 
2300
- </xsl:attribute-set><xsl:attribute-set name="list-style">
2301
2571
 
2302
- </xsl:attribute-set><xsl:attribute-set name="toc-style">
2303
- <xsl:attribute name="line-height">135%</xsl:attribute>
2304
- </xsl:attribute-set><xsl:attribute-set name="fn-style">
2305
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2306
- </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
2307
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2308
2572
 
2309
2573
 
2310
2574
 
@@ -2312,48 +2576,61 @@
2312
2576
 
2313
2577
 
2314
2578
 
2579
+
2580
+ <xsl:attribute name="provisional-distance-between-starts">13mm</xsl:attribute>
2315
2581
 
2316
2582
 
2317
2583
 
2584
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
2318
2585
 
2319
2586
 
2320
2587
 
2321
- <xsl:attribute name="font-size">65%</xsl:attribute>
2322
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2323
2588
 
2589
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
2590
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2591
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2324
2592
 
2325
2593
 
2326
2594
 
2327
- </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
2328
- <xsl:attribute name="font-weight">normal</xsl:attribute>
2329
- <xsl:attribute name="font-style">normal</xsl:attribute>
2330
- <xsl:attribute name="text-indent">0</xsl:attribute>
2331
- <xsl:attribute name="start-indent">0</xsl:attribute>
2332
2595
 
2333
2596
 
2334
2597
 
2335
2598
 
2336
2599
 
2337
2600
 
2601
+
2602
+ <xsl:attribute name="provisional-distance-between-starts">13mm</xsl:attribute>
2338
2603
 
2339
2604
 
2340
2605
 
2606
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2341
2607
 
2342
2608
 
2609
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2343
2610
 
2344
2611
 
2612
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2613
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2614
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2345
2615
 
2346
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2347
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2348
- <xsl:attribute name="color"><xsl:value-of select="$color_main"/></xsl:attribute>
2349
- <xsl:attribute name="line-height">124%</xsl:attribute>
2350
- <xsl:attribute name="text-align">justify</xsl:attribute>
2351
2616
 
2352
2617
 
2353
2618
 
2354
2619
 
2355
2620
 
2356
- </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2621
+
2622
+
2623
+
2624
+
2625
+
2626
+
2627
+
2628
+
2629
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2630
+
2631
+
2632
+
2633
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
2357
2634
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2358
2635
 
2359
2636
 
@@ -2374,31 +2651,32 @@
2374
2651
 
2375
2652
 
2376
2653
 
2654
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
2655
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2656
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2657
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
2658
+
2659
+
2660
+
2377
2661
 
2378
- </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:template name="OLD_processPrefaceSectionsDefault_Contents">
2379
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2380
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2381
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2382
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2383
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2384
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
2662
+
2663
+
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2670
+
2671
+
2672
+
2673
+ <xsl:attribute name="line-height">120%</xsl:attribute>
2674
+
2675
+ </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">
2385
2676
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2386
2677
  <xsl:sort select="@displayorder" data-type="number"/>
2387
2678
  <xsl:apply-templates select="." mode="contents"/>
2388
2679
  </xsl:for-each>
2389
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
2390
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2391
-
2392
- <!-- Normative references -->
2393
- <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"/>
2394
- <!-- Terms and definitions -->
2395
- <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"/>
2396
- <!-- Another main sections -->
2397
- <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"/>
2398
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2399
- <!-- Bibliography -->
2400
- <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"/>
2401
-
2402
2680
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2403
2681
 
2404
2682
  <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']]">
@@ -2415,29 +2693,11 @@
2415
2693
  <xsl:sort select="@displayorder" data-type="number"/>
2416
2694
  <xsl:apply-templates select="." mode="contents"/>
2417
2695
  </xsl:for-each>
2418
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
2419
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2420
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2421
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2422
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2423
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2424
2696
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2425
2697
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2426
2698
  <xsl:sort select="@displayorder" data-type="number"/>
2427
2699
  <xsl:apply-templates select="."/>
2428
2700
  </xsl:for-each>
2429
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
2430
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2431
-
2432
- <!-- Normative references -->
2433
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2434
- <!-- Terms and definitions -->
2435
- <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']]"/>
2436
- <!-- Another main sections -->
2437
- <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'])]"/>
2438
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2439
- <!-- Bibliography -->
2440
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2441
2701
  </xsl:template><xsl:template name="processMainSectionsDefault">
2442
2702
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2443
2703
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -2476,43 +2736,19 @@
2476
2736
  <xsl:call-template name="getSimpleTable"/>
2477
2737
  </xsl:variable>
2478
2738
 
2479
- <!-- <xsl:if test="$namespace = 'bipm'">
2480
- <fo:block>&#xA0;</fo:block>
2481
- </xsl:if> -->
2482
-
2483
2739
 
2484
2740
  <!-- Display table's name before table as standalone block -->
2485
2741
  <!-- $namespace = 'iso' or -->
2486
2742
 
2487
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
2488
-
2489
-
2490
-
2491
-
2743
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- table's title rendered before table -->
2744
+
2492
2745
 
2493
- <xsl:call-template name="fn_name_display"/>
2494
2746
 
2747
+ <xsl:call-template name="table_name_fn_display"/>
2495
2748
 
2496
2749
 
2497
2750
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
2498
2751
 
2499
- <!-- <xsl:variable name="cols-count">
2500
- <xsl:choose>
2501
- <xsl:when test="*[local-name()='thead']">
2502
- <xsl:call-template name="calculate-columns-numbers">
2503
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2504
- </xsl:call-template>
2505
- </xsl:when>
2506
- <xsl:otherwise>
2507
- <xsl:call-template name="calculate-columns-numbers">
2508
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2509
- </xsl:call-template>
2510
- </xsl:otherwise>
2511
- </xsl:choose>
2512
- </xsl:variable> -->
2513
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2514
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2515
-
2516
2752
  <xsl:variable name="colwidths">
2517
2753
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2518
2754
  <xsl:call-template name="calculate-column-widths">
@@ -2523,17 +2759,8 @@
2523
2759
  </xsl:variable>
2524
2760
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2525
2761
 
2526
- <!-- <xsl:variable name="colwidths2">
2527
- <xsl:call-template name="calculate-column-widths">
2528
- <xsl:with-param name="cols-count" select="$cols-count"/>
2529
- </xsl:call-template>
2530
- </xsl:variable> -->
2531
-
2532
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2533
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2534
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2535
2762
 
2536
- <xsl:variable name="margin-left">
2763
+ <xsl:variable name="margin-side">
2537
2764
  <xsl:choose>
2538
2765
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2539
2766
  <xsl:otherwise>0</xsl:otherwise>
@@ -2541,20 +2768,20 @@
2541
2768
  </xsl:variable>
2542
2769
 
2543
2770
 
2544
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2771
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2772
+
2545
2773
 
2774
+
2546
2775
 
2776
+
2547
2777
 
2548
-
2549
-
2550
-
2778
+
2551
2779
 
2552
2780
 
2553
2781
 
2554
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2555
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2556
- <xsl:attribute name="space-after">12pt</xsl:attribute>
2557
-
2782
+
2783
+
2784
+
2558
2785
 
2559
2786
  <xsl:if test="ancestor::*[local-name()='sections']">
2560
2787
  <xsl:attribute name="font-size">9pt</xsl:attribute>
@@ -2562,58 +2789,49 @@
2562
2789
 
2563
2790
 
2564
2791
 
2565
-
2566
-
2567
-
2568
-
2569
-
2570
-
2571
-
2792
+ <!-- end table block-container attributes -->
2572
2793
 
2573
2794
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2574
2795
 
2575
2796
 
2797
+ <xsl:variable name="table_width_default">100%</xsl:variable>
2576
2798
  <xsl:variable name="table_width">
2577
2799
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2578
2800
 
2579
-
2580
-
2581
- <xsl:choose>
2582
- <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2583
- <xsl:otherwise>100%</xsl:otherwise>
2584
- </xsl:choose>
2585
-
2801
+ <xsl:choose>
2802
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
2803
+ <xsl:otherwise><xsl:value-of select="$table_width_default"/></xsl:otherwise>
2804
+ </xsl:choose>
2805
+
2586
2806
  </xsl:variable>
2587
2807
 
2808
+
2588
2809
  <xsl:variable name="table_attributes">
2589
- <attribute name="table-layout">fixed</attribute>
2590
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2591
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2592
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2593
-
2594
-
2595
-
2596
-
2597
-
2598
-
2599
-
2600
-
2601
- <attribute name="margin-left">0mm</attribute>
2602
- <attribute name="margin-right">0mm</attribute>
2603
-
2604
-
2605
-
2606
-
2607
-
2608
-
2609
-
2810
+
2811
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
2812
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2813
+
2814
+
2815
+
2816
+
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+
2823
+
2824
+
2825
+
2826
+
2827
+ </xsl:element>
2610
2828
  </xsl:variable>
2611
2829
 
2612
2830
 
2613
- <fo:table id="{@id}" table-omit-footer-at-break="true">
2831
+ <fo:table id="{@id}">
2614
2832
 
2615
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2616
- <xsl:attribute name="{@name}">
2833
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
2834
+ <xsl:attribute name="{local-name()}">
2617
2835
  <xsl:value-of select="."/>
2618
2836
  </xsl:attribute>
2619
2837
  </xsl:for-each>
@@ -2624,7 +2842,6 @@
2624
2842
  </xsl:if>
2625
2843
 
2626
2844
 
2627
-
2628
2845
  <xsl:choose>
2629
2846
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2630
2847
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2650,7 +2867,7 @@
2650
2867
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2651
2868
  </xsl:when>
2652
2869
  <xsl:otherwise>
2653
- <xsl:apply-templates/>
2870
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
2654
2871
  </xsl:otherwise>
2655
2872
  </xsl:choose>
2656
2873
 
@@ -2665,25 +2882,6 @@
2665
2882
  </xsl:call-template>
2666
2883
  </xsl:for-each>
2667
2884
 
2668
- <!-- insert footer as table -->
2669
- <!-- <fo:table>
2670
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2671
- <xsl:attribute name="{@name}">
2672
- <xsl:value-of select="."/>
2673
- </xsl:attribute>
2674
- </xsl:for-each>
2675
-
2676
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2677
- <xsl:choose>
2678
- <xsl:when test=". = 1 or . = 0">
2679
- <fo:table-column column-width="proportional-column-width(2)"/>
2680
- </xsl:when>
2681
- <xsl:otherwise>
2682
- <fo:table-column column-width="proportional-column-width({.})"/>
2683
- </xsl:otherwise>
2684
- </xsl:choose>
2685
- </xsl:for-each>
2686
- </fo:table>-->
2687
2885
 
2688
2886
 
2689
2887
 
@@ -2741,18 +2939,17 @@
2741
2939
  </xsl:otherwise>
2742
2940
  </xsl:choose>
2743
2941
 
2744
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
2942
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2745
2943
  <xsl:param name="continued"/>
2746
2944
  <xsl:if test="normalize-space() != ''">
2747
2945
  <fo:block xsl:use-attribute-sets="table-name-style">
2748
-
2946
+
2749
2947
 
2750
2948
 
2751
2949
 
2752
2950
 
2753
2951
  <xsl:choose>
2754
2952
  <xsl:when test="$continued = 'true'">
2755
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
2756
2953
 
2757
2954
  </xsl:when>
2758
2955
  <xsl:otherwise>
@@ -2815,13 +3012,6 @@
2815
3012
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
2816
3013
  <xsl:variable name="td_text">
2817
3014
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2818
-
2819
- <!-- <xsl:if test="$namespace = 'bipm'">
2820
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2821
- <word><xsl:value-of select="normalize-space(.)"/></word>
2822
- </xsl:for-each>
2823
- </xsl:if> -->
2824
-
2825
3015
  </xsl:variable>
2826
3016
  <xsl:variable name="words">
2827
3017
  <xsl:variable name="string_with_added_zerospaces">
@@ -2858,7 +3048,6 @@
2858
3048
  </xsl:otherwise>
2859
3049
  </xsl:choose>
2860
3050
  </xsl:variable>
2861
-
2862
3051
 
2863
3052
  <column>
2864
3053
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2894,7 +3083,6 @@
2894
3083
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2895
3084
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2896
3085
  <xsl:param name="cols-count"/>
2897
- <!-- font-weight="bold" -->
2898
3086
  <fo:table-header>
2899
3087
 
2900
3088
 
@@ -2906,13 +3094,12 @@
2906
3094
  <fo:table-row>
2907
3095
  <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">
2908
3096
 
2909
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3097
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2910
3098
  <xsl:with-param name="continued">true</xsl:with-param>
2911
3099
  </xsl:apply-templates>
2912
3100
 
2913
3101
 
2914
3102
 
2915
-
2916
3103
  </fo:table-cell>
2917
3104
  </fo:table-row>
2918
3105
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -2928,66 +3115,6 @@
2928
3115
  <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2929
3116
  </fo:table-footer>
2930
3117
  </xsl:if>
2931
- </xsl:template><xsl:template name="insertTableFooter2">
2932
- <xsl:param name="cols-count"/>
2933
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2934
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
2935
-
2936
- <fo:table-footer>
2937
-
2938
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
2939
-
2940
- <!-- if there are note(s) or fn(s) then create footer row -->
2941
- <xsl:if test="$isNoteOrFnExist = 'true'">
2942
-
2943
-
2944
-
2945
- <fo:table-row>
2946
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
2947
-
2948
-
2949
-
2950
- <!-- fn will be processed inside 'note' processing -->
2951
-
2952
-
2953
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
2954
-
2955
-
2956
-
2957
-
2958
-
2959
- <!-- except gb -->
2960
-
2961
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2962
-
2963
-
2964
- <!-- show Note under table in preface (ex. abstract) sections -->
2965
- <!-- empty, because notes show at page side in main sections -->
2966
- <!-- <xsl:if test="$namespace = 'bipm'">
2967
- <xsl:choose>
2968
- <xsl:when test="ancestor::*[local-name()='preface']">
2969
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
2970
- </xsl:when>
2971
- <xsl:otherwise>
2972
- <fo:block/>
2973
- </xsl:otherwise>
2974
- </xsl:choose>
2975
- </xsl:if> -->
2976
-
2977
-
2978
- <!-- horizontal row separator -->
2979
-
2980
-
2981
- <!-- fn processing -->
2982
- <xsl:call-template name="fn_display"/>
2983
-
2984
- </fo:table-cell>
2985
- </fo:table-row>
2986
-
2987
- </xsl:if>
2988
- </fo:table-footer>
2989
-
2990
- </xsl:if>
2991
3118
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2992
3119
  <xsl:param name="table_attributes"/>
2993
3120
  <xsl:param name="colwidths"/>
@@ -3013,17 +3140,18 @@
3013
3140
  </xsl:variable>
3014
3141
 
3015
3142
  <fo:table keep-with-previous="always">
3016
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3143
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3144
+ <xsl:variable name="name" select="local-name()"/>
3017
3145
  <xsl:choose>
3018
- <xsl:when test="@name = 'border-top'">
3019
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
3146
+ <xsl:when test="$name = 'border-top'">
3147
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3020
3148
  </xsl:when>
3021
- <xsl:when test="@name = 'border'">
3022
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3149
+ <xsl:when test="$name = 'border'">
3150
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3023
3151
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3024
3152
  </xsl:when>
3025
3153
  <xsl:otherwise>
3026
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3154
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3027
3155
  </xsl:otherwise>
3028
3156
  </xsl:choose>
3029
3157
  </xsl:for-each>
@@ -3052,19 +3180,15 @@
3052
3180
 
3053
3181
  <fo:table-body>
3054
3182
  <fo:table-row>
3055
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3183
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3056
3184
 
3057
3185
 
3186
+
3058
3187
 
3059
3188
 
3060
3189
  <!-- fn will be processed inside 'note' processing -->
3061
3190
 
3062
3191
 
3063
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3064
-
3065
-
3066
-
3067
-
3068
3192
 
3069
3193
 
3070
3194
 
@@ -3072,31 +3196,17 @@
3072
3196
  <!-- for BSI (not PAS) display Notes before footnotes -->
3073
3197
 
3074
3198
 
3075
- <!-- except gb -->
3076
-
3077
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3199
+ <!-- except gb and bsi -->
3078
3200
 
3079
-
3080
- <!-- <xsl:if test="$namespace = 'bipm'">
3081
- <xsl:choose>
3082
- <xsl:when test="ancestor::*[local-name()='preface']">
3083
- show Note under table in preface (ex. abstract) sections
3084
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3085
- </xsl:when>
3086
- <xsl:otherwise>
3087
- empty, because notes show at page side in main sections
3088
- <fo:block/>
3089
- </xsl:otherwise>
3090
- </xsl:choose>
3091
- </xsl:if> -->
3201
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3202
+
3092
3203
 
3093
3204
 
3094
3205
  <!-- horizontal row separator -->
3095
3206
 
3096
3207
 
3097
3208
  <!-- fn processing -->
3098
- <xsl:call-template name="fn_display"/>
3099
-
3209
+ <xsl:call-template name="table_fn_display"/>
3100
3210
 
3101
3211
  <!-- for PAS display Notes after footnotes -->
3102
3212
 
@@ -3136,94 +3246,64 @@
3136
3246
 
3137
3247
  <fo:table-body>
3138
3248
 
3139
-
3249
+
3250
+ <xsl:apply-templates/>
3251
+
3252
+ </fo:table-body>
3253
+
3254
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3255
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3256
+
3257
+
3258
+
3259
+
3260
+
3261
+
3262
+
3263
+ <xsl:call-template name="setTableRowAttributes"/>
3264
+
3265
+ <xsl:apply-templates/>
3266
+ </fo:table-row>
3267
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3268
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3269
+
3270
+ <xsl:call-template name="setTableRowAttributes"/>
3140
3271
  <xsl:apply-templates/>
3141
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3142
-
3143
- </fo:table-body>
3144
-
3145
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3146
- <xsl:choose>
3147
- <xsl:when test="substring-after(., '—') != ''">
3148
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3149
- </xsl:when>
3150
- <xsl:otherwise>
3151
- <xsl:value-of select="."/>
3152
- </xsl:otherwise>
3153
- </xsl:choose>
3154
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3155
- <xsl:apply-templates mode="presentation_name"/>
3156
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3157
- <xsl:apply-templates select="."/>
3272
+ </fo:table-row>
3158
3273
  </xsl:template><xsl:template match="*[local-name()='tr']">
3159
- <xsl:variable name="parent-name" select="local-name(..)"/>
3160
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3161
- <fo:table-row min-height="4mm">
3162
- <xsl:if test="$parent-name = 'thead'">
3163
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3164
-
3165
-
3166
-
3167
-
3168
-
3169
-
3170
-
3171
-
3172
- </xsl:if>
3173
- <xsl:if test="$parent-name = 'tfoot'">
3174
-
3175
-
3176
-
3274
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3275
+
3276
+
3277
+ <xsl:variable name="number"><xsl:number/></xsl:variable>
3278
+ <xsl:if test="$number mod 2 = 0">
3279
+ <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
3177
3280
  </xsl:if>
3178
-
3179
-
3180
-
3181
- <xsl:attribute name="min-height">8.5mm</xsl:attribute>
3182
- <xsl:if test="$parent-name = 'thead'">
3183
- <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
3184
- <xsl:attribute name="color">white</xsl:attribute>
3185
- </xsl:if>
3186
- <xsl:if test="$parent-name = 'tbody'">
3187
- <xsl:variable name="number"><xsl:number/></xsl:variable>
3188
- <xsl:if test="$number mod 2 = 0">
3189
- <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
3190
- </xsl:if>
3191
- </xsl:if>
3192
-
3193
-
3194
-
3195
-
3196
-
3197
-
3198
-
3199
-
3200
- <!-- <xsl:if test="$namespace = 'bipm'">
3201
- <xsl:attribute name="height">8mm</xsl:attribute>
3202
- </xsl:if> -->
3203
-
3281
+
3282
+
3283
+
3284
+
3285
+ <xsl:call-template name="setTableRowAttributes"/>
3204
3286
  <xsl:apply-templates/>
3205
3287
  </fo:table-row>
3288
+ </xsl:template><xsl:template name="setTableRowAttributes">
3289
+
3290
+
3291
+
3292
+
3293
+
3294
+
3295
+
3296
+
3206
3297
  </xsl:template><xsl:template match="*[local-name()='th']">
3207
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3208
- <xsl:attribute name="text-align">
3209
- <xsl:choose>
3210
- <xsl:when test="@align">
3211
- <xsl:call-template name="setAlignment"/>
3212
- <!-- <xsl:value-of select="@align"/> -->
3213
- </xsl:when>
3214
- <xsl:otherwise>center</xsl:otherwise>
3215
- </xsl:choose>
3216
- </xsl:attribute>
3217
-
3218
-
3219
-
3220
-
3298
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
3299
+ <xsl:call-template name="setTextAlignment">
3300
+ <xsl:with-param name="default">center</xsl:with-param>
3301
+ </xsl:call-template>
3221
3302
 
3222
-
3223
- <xsl:attribute name="border">solid black 0pt</xsl:attribute>
3224
3303
 
3225
3304
 
3226
3305
 
3306
+
3227
3307
 
3228
3308
 
3229
3309
 
@@ -3232,21 +3312,25 @@
3232
3312
  <xsl:if test="$lang = 'ar'">
3233
3313
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3234
3314
  </xsl:if>
3235
- <xsl:if test="@colspan">
3236
- <xsl:attribute name="number-columns-spanned">
3237
- <xsl:value-of select="@colspan"/>
3238
- </xsl:attribute>
3239
- </xsl:if>
3240
- <xsl:if test="@rowspan">
3241
- <xsl:attribute name="number-rows-spanned">
3242
- <xsl:value-of select="@rowspan"/>
3243
- </xsl:attribute>
3244
- </xsl:if>
3245
- <xsl:call-template name="display-align"/>
3315
+
3316
+ <xsl:call-template name="setTableCellAttributes"/>
3317
+
3246
3318
  <fo:block>
3247
3319
  <xsl:apply-templates/>
3248
3320
  </fo:block>
3249
3321
  </fo:table-cell>
3322
+ </xsl:template><xsl:template name="setTableCellAttributes">
3323
+ <xsl:if test="@colspan">
3324
+ <xsl:attribute name="number-columns-spanned">
3325
+ <xsl:value-of select="@colspan"/>
3326
+ </xsl:attribute>
3327
+ </xsl:if>
3328
+ <xsl:if test="@rowspan">
3329
+ <xsl:attribute name="number-rows-spanned">
3330
+ <xsl:value-of select="@rowspan"/>
3331
+ </xsl:attribute>
3332
+ </xsl:if>
3333
+ <xsl:call-template name="display-align"/>
3250
3334
  </xsl:template><xsl:template name="display-align">
3251
3335
  <xsl:if test="@valign">
3252
3336
  <xsl:attribute name="display-align">
@@ -3259,63 +3343,56 @@
3259
3343
  </xsl:attribute>
3260
3344
  </xsl:if>
3261
3345
  </xsl:template><xsl:template match="*[local-name()='td']">
3262
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3263
- <xsl:attribute name="text-align">
3264
- <xsl:choose>
3265
- <xsl:when test="@align">
3266
- <xsl:call-template name="setAlignment"/>
3267
- <!-- <xsl:value-of select="@align"/> -->
3268
- </xsl:when>
3269
- <xsl:otherwise>left</xsl:otherwise>
3270
- </xsl:choose>
3271
- </xsl:attribute>
3346
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
3347
+ <xsl:call-template name="setTextAlignment">
3348
+ <xsl:with-param name="default">left</xsl:with-param>
3349
+ </xsl:call-template>
3350
+
3272
3351
  <xsl:if test="$lang = 'ar'">
3273
3352
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3274
3353
  </xsl:if>
3275
3354
 
3276
3355
 
3277
3356
 
3357
+ <!-- bsi -->
3278
3358
 
3279
3359
 
3280
3360
 
3281
3361
 
3282
3362
 
3283
- <xsl:attribute name="border">solid 0pt white</xsl:attribute>
3284
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
3285
- <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
3286
3363
 
3287
3364
 
3288
3365
 
3366
+
3289
3367
 
3290
3368
 
3291
3369
 
3292
3370
 
3293
3371
 
3294
3372
 
3295
- <xsl:if test=".//*[local-name() = 'table']">
3373
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3296
3374
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3297
3375
  </xsl:if>
3298
- <xsl:if test="@colspan">
3299
- <xsl:attribute name="number-columns-spanned">
3300
- <xsl:value-of select="@colspan"/>
3301
- </xsl:attribute>
3302
- </xsl:if>
3303
- <xsl:if test="@rowspan">
3304
- <xsl:attribute name="number-rows-spanned">
3305
- <xsl:value-of select="@rowspan"/>
3306
- </xsl:attribute>
3307
- </xsl:if>
3308
- <xsl:call-template name="display-align"/>
3376
+
3377
+ <xsl:call-template name="setTableCellAttributes"/>
3378
+
3309
3379
  <fo:block>
3310
-
3380
+
3381
+
3382
+
3311
3383
  <xsl:apply-templates/>
3312
3384
  </fo:block>
3313
3385
  </fo:table-cell>
3314
3386
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3387
+
3388
+ <fo:block xsl:use-attribute-sets="table-note-style">
3389
+
3390
+
3391
+
3392
+
3315
3393
 
3316
-
3317
- <fo:block font-size="10pt" margin-bottom="12pt">
3318
-
3394
+ <!-- Table's note name (NOTE, for example) -->
3395
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3319
3396
 
3320
3397
 
3321
3398
 
@@ -3323,22 +3400,14 @@
3323
3400
 
3324
3401
 
3325
3402
 
3326
- <!-- Table's note name (NOTE, for example) -->
3327
-
3328
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3329
-
3330
-
3331
-
3403
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3332
3404
 
3333
-
3334
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3335
-
3336
- </fo:inline>
3337
-
3338
-
3339
-
3340
- <xsl:apply-templates mode="process"/>
3341
- </fo:block>
3405
+ </fo:inline>
3406
+
3407
+
3408
+
3409
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
3410
+ </fo:block>
3342
3411
 
3343
3412
  </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">
3344
3413
  <xsl:apply-templates/>
@@ -3418,8 +3487,7 @@
3418
3487
  <xsl:copy-of select="$footnote_inline"/>
3419
3488
  <fo:footnote-body>
3420
3489
 
3421
- <fo:block-container text-indent="0" start-indent="0">
3422
-
3490
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3423
3491
 
3424
3492
  <fo:block xsl:use-attribute-sets="fn-body-style">
3425
3493
 
@@ -3438,7 +3506,7 @@
3438
3506
  <xsl:copy-of select="$footnote_inline"/>
3439
3507
  </xsl:otherwise>
3440
3508
  </xsl:choose>
3441
- </xsl:template><xsl:template name="fn_display">
3509
+ </xsl:template><xsl:template name="table_fn_display">
3442
3510
  <xsl:variable name="references">
3443
3511
 
3444
3512
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3449,33 +3517,26 @@
3449
3517
  <xsl:for-each select="xalan:nodeset($references)//fn">
3450
3518
  <xsl:variable name="reference" select="@reference"/>
3451
3519
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3452
- <fo:block margin-bottom="12pt">
3520
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3453
3521
 
3454
3522
 
3455
3523
 
3456
-
3457
-
3458
-
3459
-
3460
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3524
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3461
3525
 
3462
- <xsl:attribute name="vertical-align">super</xsl:attribute>
3463
3526
 
3464
3527
 
3465
3528
 
3466
3529
 
3530
+ <xsl:value-of select="@reference"/>
3467
3531
 
3468
3532
 
3469
3533
 
3470
3534
 
3471
- <xsl:value-of select="@reference"/>
3472
3535
 
3473
3536
 
3474
3537
 
3475
3538
  </fo:inline>
3476
- <fo:inline>
3477
-
3478
- <!-- <xsl:apply-templates /> -->
3539
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3479
3540
  <xsl:copy-of select="./node()"/>
3480
3541
  </fo:inline>
3481
3542
  </fo:block>
@@ -3493,15 +3554,7 @@
3493
3554
 
3494
3555
  <xsl:apply-templates/>
3495
3556
  </fn>
3496
- </xsl:template><xsl:template name="fn_name_display">
3497
- <!-- <xsl:variable name="references">
3498
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3499
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3500
- <xsl:apply-templates />
3501
- </fn>
3502
- </xsl:for-each>
3503
- </xsl:variable>
3504
- $references=<xsl:copy-of select="$references"/> -->
3557
+ </xsl:template><xsl:template name="table_name_fn_display">
3505
3558
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3506
3559
  <xsl:variable name="reference" select="@reference"/>
3507
3560
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3510,9 +3563,7 @@
3510
3563
  </fo:block>
3511
3564
  </xsl:for-each>
3512
3565
  </xsl:template><xsl:template name="fn_display_figure">
3513
- <xsl:variable name="key_iso">
3514
- <!-- and (not(@class) or @class !='pseudocode') -->
3515
- </xsl:variable>
3566
+
3516
3567
  <xsl:variable name="references">
3517
3568
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3518
3569
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3520,50 +3571,52 @@
3520
3571
  </fn>
3521
3572
  </xsl:for-each>
3522
3573
  </xsl:variable>
3574
+
3575
+ <xsl:if test="xalan:nodeset($references)//fn">
3523
3576
 
3524
- <!-- current hierarchy is 'figure' element -->
3525
- <xsl:variable name="following_dl_colwidths">
3526
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3527
- <xsl:variable name="html-table">
3528
- <xsl:variable name="doc_ns">
3577
+ <xsl:variable name="key_iso">
3578
+
3579
+ </xsl:variable>
3580
+
3581
+ <!-- current hierarchy is 'figure' element -->
3582
+ <xsl:variable name="following_dl_colwidths">
3583
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3584
+ <xsl:variable name="html-table">
3585
+ <xsl:variable name="doc_ns">
3586
+
3587
+ </xsl:variable>
3588
+ <xsl:variable name="ns">
3589
+ <xsl:choose>
3590
+ <xsl:when test="normalize-space($doc_ns) != ''">
3591
+ <xsl:value-of select="normalize-space($doc_ns)"/>
3592
+ </xsl:when>
3593
+ <xsl:otherwise>
3594
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
3595
+ </xsl:otherwise>
3596
+ </xsl:choose>
3597
+ </xsl:variable>
3529
3598
 
3530
- </xsl:variable>
3531
- <xsl:variable name="ns">
3532
- <xsl:choose>
3533
- <xsl:when test="normalize-space($doc_ns) != ''">
3534
- <xsl:value-of select="normalize-space($doc_ns)"/>
3535
- </xsl:when>
3536
- <xsl:otherwise>
3537
- <xsl:value-of select="substring-before(name(/*), '-')"/>
3538
- </xsl:otherwise>
3539
- </xsl:choose>
3540
- </xsl:variable>
3541
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3542
- <!-- <xsl:element name="{$ns}:table"> -->
3543
3599
  <xsl:for-each select="*[local-name() = 'dl'][1]">
3544
3600
  <tbody>
3545
3601
  <xsl:apply-templates mode="dl"/>
3546
3602
  </tbody>
3547
3603
  </xsl:for-each>
3548
- <!-- </xsl:element> -->
3549
- </xsl:variable>
3550
-
3551
- <xsl:call-template name="calculate-column-widths">
3552
- <xsl:with-param name="cols-count" select="2"/>
3553
- <xsl:with-param name="table" select="$html-table"/>
3554
- </xsl:call-template>
3555
-
3556
- </xsl:if>
3557
- </xsl:variable>
3558
-
3559
-
3560
- <xsl:variable name="maxlength_dt">
3561
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3562
- <xsl:call-template name="getMaxLength_dt"/>
3563
- </xsl:for-each>
3564
- </xsl:variable>
3565
-
3566
- <xsl:if test="xalan:nodeset($references)//fn">
3604
+ </xsl:variable>
3605
+
3606
+ <xsl:call-template name="calculate-column-widths">
3607
+ <xsl:with-param name="cols-count" select="2"/>
3608
+ <xsl:with-param name="table" select="$html-table"/>
3609
+ </xsl:call-template>
3610
+
3611
+ </xsl:if>
3612
+ </xsl:variable>
3613
+
3614
+ <xsl:variable name="maxlength_dt">
3615
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3616
+ <xsl:call-template name="getMaxLength_dt"/>
3617
+ </xsl:for-each>
3618
+ </xsl:variable>
3619
+
3567
3620
  <fo:block>
3568
3621
  <fo:table width="95%" table-layout="fixed">
3569
3622
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3590,20 +3643,18 @@
3590
3643
  <fo:table-row>
3591
3644
  <fo:table-cell>
3592
3645
  <fo:block>
3593
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3594
-
3646
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
3595
3647
  <xsl:value-of select="@reference"/>
3596
3648
  </fo:inline>
3597
3649
  </fo:block>
3598
3650
  </fo:table-cell>
3599
3651
  <fo:table-cell>
3600
- <fo:block text-align="justify" margin-bottom="12pt">
3601
-
3652
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
3602
3653
  <xsl:if test="normalize-space($key_iso) = 'true'">
3603
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
3654
+
3655
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3656
+
3604
3657
  </xsl:if>
3605
-
3606
- <!-- <xsl:apply-templates /> -->
3607
3658
  <xsl:copy-of select="./node()"/>
3608
3659
  </fo:block>
3609
3660
  </fo:table-cell>
@@ -3616,16 +3667,8 @@
3616
3667
  </xsl:if>
3617
3668
 
3618
3669
  </xsl:template><xsl:template match="*[local-name()='fn']">
3619
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3620
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
3621
-
3622
-
3623
-
3624
-
3625
-
3626
-
3627
- <xsl:attribute name="vertical-align">super</xsl:attribute>
3628
-
3670
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
3671
+
3629
3672
 
3630
3673
 
3631
3674
 
@@ -3654,10 +3697,10 @@
3654
3697
  <xsl:variable name="isDeleted" select="@deleted"/>
3655
3698
  <fo:block-container>
3656
3699
 
3657
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3658
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3659
- </xsl:if>
3660
-
3700
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3701
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3702
+ </xsl:if>
3703
+
3661
3704
 
3662
3705
  <xsl:if test="parent::*[local-name() = 'note']">
3663
3706
  <xsl:attribute name="margin-left">
@@ -3674,11 +3717,11 @@
3674
3717
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3675
3718
  </xsl:call-template>
3676
3719
 
3677
- <fo:block-container>
3678
-
3679
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3680
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
3720
+ <fo:block-container margin-left="0mm">
3721
+
3681
3722
 
3723
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
3724
+
3682
3725
 
3683
3726
  <xsl:variable name="parent" select="local-name(..)"/>
3684
3727
 
@@ -3689,23 +3732,19 @@
3689
3732
  <xsl:choose>
3690
3733
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3691
3734
 
3692
-
3693
- <fo:block margin-bottom="12pt" text-align="left">
3694
-
3695
- <xsl:variable name="title-where">
3735
+ <fo:block margin-bottom="12pt" text-align="left">
3696
3736
 
3697
-
3698
- <xsl:call-template name="getTitle">
3699
- <xsl:with-param name="name" select="'title-where'"/>
3737
+ <xsl:variable name="title-where">
3738
+ <xsl:call-template name="getLocalizedString">
3739
+ <xsl:with-param name="key">where</xsl:with-param>
3700
3740
  </xsl:call-template>
3701
-
3702
- </xsl:variable>
3703
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3704
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
3705
- <xsl:text/>
3706
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3707
- </fo:block>
3708
-
3741
+ </xsl:variable>
3742
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3743
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
3744
+ <xsl:text/>
3745
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3746
+ </fo:block>
3747
+
3709
3748
  </xsl:when>
3710
3749
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3711
3750
  <fo:block margin-bottom="12pt" text-align="left">
@@ -3714,12 +3753,9 @@
3714
3753
 
3715
3754
 
3716
3755
  <xsl:variable name="title-where">
3717
-
3718
-
3719
- <xsl:call-template name="getTitle">
3720
- <xsl:with-param name="name" select="'title-where'"/>
3721
- </xsl:call-template>
3722
-
3756
+ <xsl:call-template name="getLocalizedString">
3757
+ <xsl:with-param name="key">where</xsl:with-param>
3758
+ </xsl:call-template>
3723
3759
  </xsl:variable>
3724
3760
  <xsl:value-of select="$title-where"/>
3725
3761
  </fo:block>
@@ -3731,12 +3767,9 @@
3731
3767
 
3732
3768
 
3733
3769
  <xsl:variable name="title-key">
3734
-
3735
-
3736
- <xsl:call-template name="getTitle">
3737
- <xsl:with-param name="name" select="'title-key'"/>
3738
- </xsl:call-template>
3739
-
3770
+ <xsl:call-template name="getLocalizedString">
3771
+ <xsl:with-param name="key">key</xsl:with-param>
3772
+ </xsl:call-template>
3740
3773
  </xsl:variable>
3741
3774
  <xsl:value-of select="$title-key"/>
3742
3775
  </fo:block>
@@ -3758,9 +3791,7 @@
3758
3791
  <fo:table width="95%" table-layout="fixed">
3759
3792
 
3760
3793
  <xsl:choose>
3761
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
3762
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
3763
- </xsl:when>
3794
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
3764
3795
  <xsl:when test="normalize-space($key_iso) = 'true'">
3765
3796
  <xsl:attribute name="font-size">10pt</xsl:attribute>
3766
3797
 
@@ -3781,12 +3812,9 @@
3781
3812
  </xsl:otherwise>
3782
3813
  </xsl:choose>
3783
3814
  </xsl:variable>
3784
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3785
- <!-- <xsl:element name="{$ns}:table"> -->
3786
- <tbody>
3787
- <xsl:apply-templates mode="dl"/>
3788
- </tbody>
3789
- <!-- </xsl:element> -->
3815
+ <tbody>
3816
+ <xsl:apply-templates mode="dl"/>
3817
+ </tbody>
3790
3818
  </xsl:variable>
3791
3819
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
3792
3820
  <xsl:variable name="colwidths">
@@ -3866,8 +3894,6 @@
3866
3894
  </xsl:for-each>
3867
3895
  </xsl:otherwise>
3868
3896
  </xsl:choose>
3869
- <!-- <fo:table-column column-width="15%"/>
3870
- <fo:table-column column-width="85%"/> -->
3871
3897
  </xsl:otherwise>
3872
3898
  </xsl:choose>
3873
3899
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -3882,12 +3908,6 @@
3882
3908
  </xsl:for-each>
3883
3909
  </xsl:variable>
3884
3910
  <xsl:variable name="maxLength">
3885
- <!-- <xsl:for-each select="*[local-name()='dt']">
3886
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
3887
- <xsl:if test="position() = 1">
3888
- <xsl:value-of select="string-length(normalize-space(.))"/>
3889
- </xsl:if>
3890
- </xsl:for-each> -->
3891
3911
  <xsl:for-each select="xalan:nodeset($lengths)/length">
3892
3912
  <xsl:sort select="." data-type="number" order="descending"/>
3893
3913
  <xsl:if test="position() = 1">
@@ -3913,12 +3933,12 @@
3913
3933
  <xsl:if test="normalize-space($key_iso) = 'true'">
3914
3934
  <xsl:attribute name="margin-top">0</xsl:attribute>
3915
3935
  </xsl:if>
3916
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3936
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3917
3937
  </fo:block>
3918
3938
  </fo:table-cell>
3919
3939
  <fo:table-cell>
3920
3940
  <fo:block>
3921
- <xsl:apply-templates/>
3941
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3922
3942
  </fo:block>
3923
3943
  </fo:table-cell>
3924
3944
  </fo:table-row>
@@ -3929,84 +3949,41 @@
3929
3949
  </td>
3930
3950
  <td>
3931
3951
 
3932
-
3933
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3934
-
3952
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3953
+
3935
3954
  </td>
3936
3955
  </tr>
3937
3956
 
3938
3957
  </xsl:template><xsl:template match="*[local-name()='dt']">
3939
3958
  <xsl:param name="key_iso"/>
3940
3959
 
3941
- <fo:table-row>
3942
-
3943
- <xsl:attribute name="min-height">8.5mm</xsl:attribute>
3944
-
3945
-
3960
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3946
3961
  <fo:table-cell>
3947
3962
 
3948
- <fo:block margin-top="6pt">
3963
+ <fo:block xsl:use-attribute-sets="dt-style">
3949
3964
  <xsl:copy-of select="@id"/>
3950
3965
 
3951
-
3952
3966
  <xsl:if test="normalize-space($key_iso) = 'true'">
3953
3967
  <xsl:attribute name="margin-top">0</xsl:attribute>
3954
-
3955
3968
  </xsl:if>
3956
3969
 
3957
3970
 
3958
3971
 
3959
-
3960
-
3961
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
3962
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3963
-
3964
-
3965
-
3966
3972
  <xsl:apply-templates/>
3967
- <!-- <xsl:if test="$namespace = 'gb'">
3968
- <xsl:if test="ancestor::*[local-name()='formula']">
3969
- <xsl:text>—</xsl:text>
3970
- </xsl:if>
3971
- </xsl:if> -->
3972
3973
  </fo:block>
3973
3974
  </fo:table-cell>
3974
3975
  <fo:table-cell>
3975
3976
  <fo:block>
3976
3977
 
3977
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3978
- <xsl:if test="local-name(*[1]) != 'stem'">
3979
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3980
- </xsl:if>
3981
- </xsl:if> -->
3982
-
3983
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3984
-
3978
+
3979
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
3985
3980
  </fo:block>
3986
3981
  </fo:table-cell>
3987
3982
  </fo:table-row>
3988
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
3989
- <xsl:if test="local-name(*[1]) = 'stem'">
3990
- <fo:table-row>
3991
- <fo:table-cell>
3992
- <fo:block margin-top="6pt">
3993
- <xsl:if test="normalize-space($key_iso) = 'true'">
3994
- <xsl:attribute name="margin-top">0</xsl:attribute>
3995
- </xsl:if>
3996
- <xsl:text>&#xA0;</xsl:text>
3997
- </fo:block>
3998
- </fo:table-cell>
3999
- <fo:table-cell>
4000
- <fo:block>
4001
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4002
- </fo:block>
4003
- </fo:table-cell>
4004
- </fo:table-row>
4005
- </xsl:if>
4006
- </xsl:if> -->
4007
3983
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4008
3984
  <xsl:apply-templates/>
4009
3985
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
3986
+ <xsl:apply-templates select="@language"/>
4010
3987
  <xsl:apply-templates/>
4011
3988
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4012
3989
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -4031,6 +4008,7 @@
4031
4008
  </fo:inline>
4032
4009
  </xsl:template><xsl:template match="*[local-name()='tt']">
4033
4010
  <fo:inline xsl:use-attribute-sets="tt-style">
4011
+
4034
4012
  <xsl:variable name="_font-size">
4035
4013
 
4036
4014
 
@@ -4067,7 +4045,22 @@
4067
4045
  <xsl:apply-templates/>
4068
4046
  </fo:inline>
4069
4047
  </xsl:template><xsl:template match="*[local-name()='add']">
4048
+ <xsl:param name="skip">true</xsl:param>
4070
4049
  <xsl:choose>
4050
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4051
+ <xsl:choose>
4052
+ <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>
4053
+ <xsl:otherwise>
4054
+ <fo:inline>
4055
+ <xsl:call-template name="insertTag">
4056
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4057
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4058
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4059
+ </xsl:call-template>
4060
+ </fo:inline>
4061
+ </xsl:otherwise>
4062
+ </xsl:choose>
4063
+ </xsl:when>
4071
4064
  <xsl:when test="@amendment">
4072
4065
  <fo:inline>
4073
4066
  <xsl:call-template name="insertTag">
@@ -4102,7 +4095,6 @@
4102
4095
  </fo:inline>
4103
4096
  </xsl:otherwise>
4104
4097
  </xsl:choose>
4105
-
4106
4098
  </xsl:template><xsl:template name="insertTag">
4107
4099
  <xsl:param name="type"/>
4108
4100
  <xsl:param name="kind"/>
@@ -4110,22 +4102,20 @@
4110
4102
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4111
4103
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4112
4104
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4113
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
4114
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
4115
4105
  <xsl:attribute name="height">5mm</xsl:attribute>
4116
4106
  <xsl:attribute name="content-width">100%</xsl:attribute>
4117
4107
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4118
4108
  <xsl:attribute name="scaling">uniform</xsl:attribute>
4119
4109
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4120
4110
  <g>
4121
- <xsl:if test="$type = 'closing'">
4111
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4122
4112
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
4123
4113
  </xsl:if>
4124
4114
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
4125
4115
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
4126
4116
  </g>
4127
4117
  <text font-family="Arial" x="15" y="57" font-size="40pt">
4128
- <xsl:if test="$type = 'closing'">
4118
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4129
4119
  <xsl:attribute name="x">25</xsl:attribute>
4130
4120
  </xsl:if>
4131
4121
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -4329,14 +4319,6 @@
4329
4319
 
4330
4320
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4331
4321
 
4332
- <!-- <xsl:choose>
4333
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4334
-
4335
- </xsl:when>
4336
- <xsl:otherwise>
4337
- <xsl:copy-of select="current()"/>
4338
- </xsl:otherwise>
4339
- </xsl:choose> -->
4340
4322
  </xsl:variable>
4341
4323
  <xsl:copy-of select="$simple-table"/>
4342
4324
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -4455,8 +4437,6 @@
4455
4437
  <xsl:choose>
4456
4438
  <xsl:when test="contains($str2, ' ')">
4457
4439
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4458
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4459
- <xsl:value-of select="substring($substr, 2)"/> -->
4460
4440
  <xsl:call-template name="capitalize">
4461
4441
  <xsl:with-param name="str" select="$substr"/>
4462
4442
  </xsl:call-template>
@@ -4466,8 +4446,6 @@
4466
4446
  </xsl:call-template>
4467
4447
  </xsl:when>
4468
4448
  <xsl:otherwise>
4469
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4470
- <xsl:value-of select="substring($str2, 2)"/> -->
4471
4449
  <xsl:call-template name="capitalize">
4472
4450
  <xsl:with-param name="str" select="$str2"/>
4473
4451
  </xsl:call-template>
@@ -4495,6 +4473,7 @@
4495
4473
  <xsl:apply-templates select="." mode="mathml"/>
4496
4474
  </xsl:variable>
4497
4475
  <fo:instream-foreign-object fox:alt-text="Math">
4476
+
4498
4477
 
4499
4478
 
4500
4479
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -4526,7 +4505,7 @@
4526
4505
  </xsl:attribute>
4527
4506
 
4528
4507
 
4529
- <!-- <xsl:copy-of select="."/> -->
4508
+
4530
4509
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4531
4510
  </fo:instream-foreign-object>
4532
4511
  </fo:inline>
@@ -4585,6 +4564,10 @@
4585
4564
 
4586
4565
 
4587
4566
 
4567
+
4568
+
4569
+
4570
+
4588
4571
  <xsl:choose>
4589
4572
  <xsl:when test="$target_text = ''">
4590
4573
  <xsl:apply-templates/>
@@ -4618,9 +4601,9 @@
4618
4601
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
4619
4602
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4620
4603
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4621
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4604
+ <xsl:apply-templates select="*[local-name()='name']"/>
4622
4605
  </fo:block>
4623
- <xsl:apply-templates/>
4606
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
4624
4607
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
4625
4608
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4626
4609
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -4642,7 +4625,6 @@
4642
4625
  </fo:inline>
4643
4626
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4644
4627
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4645
-
4646
4628
  <xsl:apply-templates/>
4647
4629
  </fo:basic-link>
4648
4630
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -4670,13 +4652,17 @@
4670
4652
  <fo:inline>
4671
4653
  <xsl:apply-templates/>
4672
4654
  </fo:inline>
4673
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
4655
+ </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 -->
4674
4656
  <xsl:if test="normalize-space() != ''">
4675
4657
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
4676
4658
  </xsl:if>
4677
4659
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
4678
4660
 
4679
4661
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
4662
+
4663
+
4664
+
4665
+
4680
4666
 
4681
4667
 
4682
4668
  <xsl:if test="ancestor::ogc:ul or ancestor::ogc:ol and not(ancestor::ogc:note[1]/following-sibling::*)">
@@ -4685,38 +4671,49 @@
4685
4671
 
4686
4672
 
4687
4673
 
4674
+
4675
+
4688
4676
 
4689
4677
  <fo:block-container margin-left="0mm">
4678
+
4690
4679
 
4691
4680
 
4692
4681
 
4682
+
4693
4683
 
4694
-
4695
-
4696
-
4697
-
4698
- <fo:block>
4699
-
4700
-
4701
-
4702
-
4703
-
4684
+ <fo:block>
4685
+
4686
+
4704
4687
 
4705
- <fo:inline xsl:use-attribute-sets="note-name-style">
4706
4688
 
4707
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4708
- </fo:inline>
4709
- <xsl:apply-templates/>
4710
- </fo:block>
4711
-
4712
-
4689
+
4690
+
4691
+
4692
+ <fo:inline xsl:use-attribute-sets="note-name-style">
4693
+
4694
+
4695
+
4696
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
4697
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4698
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4699
+ <xsl:with-param name="skip">false</xsl:with-param>
4700
+ </xsl:apply-templates>
4701
+ </xsl:if>
4702
+
4703
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4704
+
4705
+ </fo:inline>
4706
+
4707
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4708
+ </fo:block>
4709
+
4713
4710
  </fo:block-container>
4714
4711
  </fo:block-container>
4715
4712
 
4716
4713
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
4717
4714
  <xsl:variable name="num"><xsl:number/></xsl:variable>
4718
4715
  <xsl:choose>
4719
- <xsl:when test="$num = 1">
4716
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
4720
4717
  <fo:inline xsl:use-attribute-sets="note-p-style">
4721
4718
  <xsl:apply-templates/>
4722
4719
  </fo:inline>
@@ -4731,12 +4728,16 @@
4731
4728
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4732
4729
 
4733
4730
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
4731
+
4732
+
4733
+
4734
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4734
4735
 
4735
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4736
4736
  </fo:inline>
4737
- <xsl:apply-templates/>
4737
+
4738
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4738
4739
  </fo:block>
4739
- </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">
4740
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
4740
4741
  <xsl:param name="sfx"/>
4741
4742
  <xsl:variable name="suffix">
4742
4743
  <xsl:choose>
@@ -4755,7 +4756,7 @@
4755
4756
  <xsl:apply-templates/>
4756
4757
  <xsl:value-of select="$suffix"/>
4757
4758
  </xsl:if>
4758
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
4759
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
4759
4760
  <xsl:param name="sfx"/>
4760
4761
  <xsl:variable name="suffix">
4761
4762
  <xsl:choose>
@@ -4782,25 +4783,25 @@
4782
4783
  <xsl:apply-templates/>
4783
4784
  </fo:block>
4784
4785
  </xsl:template><xsl:template match="*[local-name() = 'term']">
4785
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
4786
4786
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4787
4787
 
4788
4788
 
4789
+
4790
+ <xsl:apply-templates select="ogc:name"/>
4791
+
4792
+
4789
4793
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
4790
4794
 
4791
4795
  </xsl:if>
4792
- <xsl:apply-templates/>
4796
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4793
4797
  </fo:block>
4794
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
4798
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
4795
4799
  <xsl:if test="normalize-space() != ''">
4796
4800
  <xsl:variable name="level">
4797
4801
  <xsl:call-template name="getLevelTermName"/>
4798
4802
  </xsl:variable>
4799
4803
  <fo:inline role="H{$level}">
4800
4804
  <xsl:apply-templates/>
4801
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
4802
- <xsl:text>.</xsl:text>
4803
- </xsl:if> -->
4804
4805
  </fo:inline>
4805
4806
  </xsl:if>
4806
4807
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -4813,9 +4814,10 @@
4813
4814
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4814
4815
  </xsl:call-template>
4815
4816
 
4816
- <fo:block>
4817
-
4818
- <xsl:apply-templates/>
4817
+
4818
+
4819
+ <fo:block xsl:use-attribute-sets="figure-style">
4820
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4819
4821
  </fo:block>
4820
4822
  <xsl:call-template name="fn_display_figure"/>
4821
4823
  <xsl:for-each select="*[local-name() = 'note']">
@@ -4823,14 +4825,15 @@
4823
4825
  </xsl:for-each>
4824
4826
 
4825
4827
 
4826
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4828
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
4829
+
4827
4830
 
4828
4831
  </fo:block-container>
4829
4832
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4830
4833
  <fo:block id="{@id}">
4831
- <xsl:apply-templates/>
4834
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4832
4835
  </fo:block>
4833
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4836
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4834
4837
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4835
4838
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4836
4839
  <xsl:apply-templates/>
@@ -4937,9 +4940,7 @@
4937
4940
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
4938
4941
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
4939
4942
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
4940
- <!-- width=<xsl:value-of select="$width"/> -->
4941
4943
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
4942
- <!-- height=<xsl:value-of select="$height"/> -->
4943
4944
  <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">
4944
4945
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
4945
4946
  <xsl:call-template name="svg_cross">
@@ -5209,7 +5210,7 @@
5209
5210
  </fo:basic-link>
5210
5211
  </fo:block>
5211
5212
  </fo:block-container>
5212
- </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">
5213
+ </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">
5213
5214
  <xsl:apply-templates mode="contents"/>
5214
5215
  <xsl:text> </xsl:text>
5215
5216
  </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">
@@ -5221,11 +5222,58 @@
5221
5222
  <xsl:value-of select="."/>
5222
5223
  </xsl:template><xsl:template match="node()" mode="contents">
5223
5224
  <xsl:apply-templates mode="contents"/>
5225
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
5226
+ <xsl:variable name="level">
5227
+ <xsl:call-template name="getLevel">
5228
+ <xsl:with-param name="depth" select="@depth"/>
5229
+ </xsl:call-template>
5230
+ </xsl:variable>
5231
+
5232
+ <xsl:variable name="section">
5233
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5234
+ </xsl:variable>
5235
+
5236
+ <xsl:variable name="type">floating-title</xsl:variable>
5237
+
5238
+ <xsl:variable name="display">
5239
+ <xsl:choose>
5240
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
5241
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
5242
+ <xsl:otherwise>false</xsl:otherwise>
5243
+ </xsl:choose>
5244
+ </xsl:variable>
5245
+
5246
+ <xsl:variable name="skip">false</xsl:variable>
5247
+
5248
+ <xsl:if test="$skip = 'false'">
5249
+
5250
+ <xsl:variable name="title">
5251
+ <xsl:choose>
5252
+ <xsl:when test="*[local-name() = 'tab']">
5253
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5254
+ </xsl:when>
5255
+ <xsl:otherwise>
5256
+ <xsl:copy-of select="node()"/>
5257
+ </xsl:otherwise>
5258
+ </xsl:choose>
5259
+ </xsl:variable>
5260
+
5261
+ <xsl:variable name="root">
5262
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
5263
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
5264
+ </xsl:variable>
5265
+
5266
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
5267
+ <title>
5268
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
5269
+ </title>
5270
+ </item>
5271
+ </xsl:if>
5224
5272
  </xsl:template><xsl:template match="node()" mode="bookmarks">
5225
5273
  <xsl:apply-templates mode="bookmarks"/>
5226
5274
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
5227
5275
  <xsl:apply-templates select="."/>
5228
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5276
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5229
5277
  <xsl:apply-templates mode="bookmarks"/>
5230
5278
  </xsl:template><xsl:template name="addBookmarks">
5231
5279
  <xsl:param name="contents"/>
@@ -5313,8 +5361,6 @@
5313
5361
 
5314
5362
 
5315
5363
 
5316
-
5317
-
5318
5364
  <xsl:variable name="list_of_tables_">
5319
5365
  <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]"> <!-- contains(*[local-name() = 'name'], '—') -->
5320
5366
  <table id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></table>
@@ -5459,7 +5505,7 @@
5459
5505
  <xsl:apply-templates mode="bookmark"/>
5460
5506
  </xsl:otherwise>
5461
5507
  </xsl:choose>
5462
- </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">
5508
+ </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']">
5463
5509
  <xsl:if test="normalize-space() != ''">
5464
5510
  <fo:block xsl:use-attribute-sets="figure-name-style">
5465
5511
 
@@ -5468,16 +5514,13 @@
5468
5514
  </fo:block>
5469
5515
  </xsl:if>
5470
5516
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
5471
- <xsl:apply-templates mode="contents_item"/>
5517
+ <xsl:param name="mode">bookmarks</xsl:param>
5518
+ <xsl:apply-templates mode="contents_item">
5519
+ <xsl:with-param name="mode" select="$mode"/>
5520
+ </xsl:apply-templates>
5472
5521
  <!-- <xsl:text> </xsl:text> -->
5473
5522
  </xsl:template><xsl:template name="getSection">
5474
5523
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5475
- <!--
5476
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
5477
- <xsl:value-of select="."/>
5478
- </xsl:for-each>
5479
- -->
5480
-
5481
5524
  </xsl:template><xsl:template name="getName">
5482
5525
  <xsl:choose>
5483
5526
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -5541,9 +5584,26 @@
5541
5584
  <xsl:copy-of select="."/>
5542
5585
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
5543
5586
  <xsl:text> </xsl:text>
5587
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
5588
+ <xsl:param name="mode">bookmarks</xsl:param>
5589
+ <xsl:apply-templates mode="contents_item">
5590
+ <xsl:with-param name="mode" select="$mode"/>
5591
+ </xsl:apply-templates>
5592
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
5593
+ <xsl:param name="mode">bookmarks</xsl:param>
5594
+ <xsl:choose>
5595
+ <xsl:when test="starts-with(text(), $ace_tag)">
5596
+ <xsl:if test="$mode = 'contents'">
5597
+ <xsl:copy>
5598
+ <xsl:apply-templates mode="contents_item"/>
5599
+ </xsl:copy>
5600
+ </xsl:if>
5601
+ </xsl:when>
5602
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
5603
+ </xsl:choose>
5544
5604
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5545
5605
 
5546
- <fo:block-container margin-left="0mm">
5606
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5547
5607
  <xsl:copy-of select="@id"/>
5548
5608
 
5549
5609
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -5584,6 +5644,7 @@
5584
5644
 
5585
5645
 
5586
5646
  </xsl:variable>
5647
+
5587
5648
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
5588
5649
  <xsl:if test="$font-size != ''">
5589
5650
  <xsl:attribute name="font-size">
@@ -5604,11 +5665,11 @@
5604
5665
  </xsl:if>
5605
5666
 
5606
5667
 
5607
- <xsl:apply-templates/>
5668
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5608
5669
  </fo:block>
5609
5670
 
5610
5671
 
5611
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5672
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
5612
5673
 
5613
5674
 
5614
5675
 
@@ -5626,7 +5687,7 @@
5626
5687
  <xsl:call-template name="add-zero-spaces-java">
5627
5688
  <xsl:with-param name="text" select="$text"/>
5628
5689
  </xsl:call-template>
5629
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
5690
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
5630
5691
  <xsl:if test="normalize-space() != ''">
5631
5692
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
5632
5693
  <xsl:apply-templates/>
@@ -5634,10 +5695,10 @@
5634
5695
  </xsl:if>
5635
5696
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
5636
5697
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
5637
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5638
- <xsl:apply-templates/>
5698
+ <xsl:apply-templates select="*[local-name()='name']"/>
5699
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5639
5700
  </fo:block>
5640
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
5701
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
5641
5702
  <xsl:if test="normalize-space() != ''">
5642
5703
  <fo:block xsl:use-attribute-sets="permission-name-style">
5643
5704
  <xsl:apply-templates/>
@@ -5652,13 +5713,13 @@
5652
5713
  </fo:block>
5653
5714
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
5654
5715
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
5655
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5656
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
5657
- <xsl:apply-templates select="@obligation" mode="presentation"/>
5658
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
5659
- <xsl:apply-templates/>
5716
+ <xsl:apply-templates select="*[local-name()='name']"/>
5717
+ <xsl:apply-templates select="*[local-name()='label']"/>
5718
+ <xsl:apply-templates select="@obligation"/>
5719
+ <xsl:apply-templates select="*[local-name()='subject']"/>
5720
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
5660
5721
  </fo:block>
5661
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
5722
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
5662
5723
  <xsl:if test="normalize-space() != ''">
5663
5724
  <fo:block xsl:use-attribute-sets="requirement-name-style">
5664
5725
 
@@ -5672,20 +5733,24 @@
5672
5733
 
5673
5734
  </fo:block>
5674
5735
  </xsl:if>
5675
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
5736
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
5676
5737
  <fo:block xsl:use-attribute-sets="requirement-label-style">
5677
5738
  <xsl:apply-templates/>
5678
5739
  </fo:block>
5679
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
5740
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
5680
5741
  <fo:block>
5681
5742
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5682
5743
  </fo:block>
5744
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
5745
+ <fo:block xsl:use-attribute-sets="subject-style">
5746
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5747
+ </fo:block>
5683
5748
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5684
5749
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5685
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5686
- <xsl:apply-templates/>
5750
+ <xsl:apply-templates select="*[local-name()='name']"/>
5751
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5687
5752
  </fo:block>
5688
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
5753
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
5689
5754
  <xsl:if test="normalize-space() != ''">
5690
5755
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
5691
5756
  <xsl:apply-templates/>
@@ -5696,10 +5761,6 @@
5696
5761
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5697
5762
  <xsl:apply-templates/>
5698
5763
  </fo:block>
5699
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5700
- <fo:block xsl:use-attribute-sets="subject-style">
5701
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5702
- </fo:block>
5703
5764
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
5704
5765
  <fo:block xsl:use-attribute-sets="subject-style">
5705
5766
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -5743,8 +5804,6 @@
5743
5804
  </xsl:variable>
5744
5805
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
5745
5806
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
5746
- <!-- <fo:table-column column-width="35mm"/>
5747
- <fo:table-column column-width="115mm"/> -->
5748
5807
  <fo:table-column column-width="30%"/>
5749
5808
  <fo:table-column column-width="70%"/>
5750
5809
  </xsl:if>
@@ -5754,7 +5813,7 @@
5754
5813
  <xsl:if test=".//*[local-name() = 'fn']">
5755
5814
  <xsl:for-each select="*[local-name() = 'tbody']">
5756
5815
  <fo:block font-size="90%" border-bottom="1pt solid black">
5757
- <xsl:call-template name="fn_display"/>
5816
+ <xsl:call-template name="table_fn_display"/>
5758
5817
  </fo:block>
5759
5818
  </xsl:for-each>
5760
5819
  </xsl:if>
@@ -5771,7 +5830,6 @@
5771
5830
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
5772
5831
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
5773
5832
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
5774
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
5775
5833
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
5776
5834
  </xsl:if>
5777
5835
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -5784,34 +5842,11 @@
5784
5842
  </fo:table-row>
5785
5843
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
5786
5844
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
5787
- <xsl:attribute name="text-align">
5788
- <xsl:choose>
5789
- <xsl:when test="@align">
5790
- <xsl:value-of select="@align"/>
5791
- </xsl:when>
5792
- <xsl:otherwise>left</xsl:otherwise>
5793
- </xsl:choose>
5794
- </xsl:attribute>
5795
- <xsl:if test="@colspan">
5796
- <xsl:attribute name="number-columns-spanned">
5797
- <xsl:value-of select="@colspan"/>
5798
- </xsl:attribute>
5799
- </xsl:if>
5800
- <xsl:if test="@rowspan">
5801
- <xsl:attribute name="number-rows-spanned">
5802
- <xsl:value-of select="@rowspan"/>
5803
- </xsl:attribute>
5804
- </xsl:if>
5805
- <xsl:call-template name="display-align"/>
5845
+ <xsl:call-template name="setTextAlignment">
5846
+ <xsl:with-param name="default">left</xsl:with-param>
5847
+ </xsl:call-template>
5806
5848
 
5807
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5808
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5809
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
5810
- </xsl:if>
5811
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
5812
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5813
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5814
- </xsl:if> -->
5849
+ <xsl:call-template name="setTableCellAttributes"/>
5815
5850
 
5816
5851
  <fo:block>
5817
5852
  <xsl:apply-templates/>
@@ -5823,37 +5858,15 @@
5823
5858
  <xsl:attribute name="padding">0mm</xsl:attribute>
5824
5859
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
5825
5860
  </xsl:if>
5826
- <xsl:attribute name="text-align">
5827
- <xsl:choose>
5828
- <xsl:when test="@align">
5829
- <xsl:value-of select="@align"/>
5830
- </xsl:when>
5831
- <xsl:otherwise>left</xsl:otherwise>
5832
- </xsl:choose>
5833
- </xsl:attribute>
5861
+ <xsl:call-template name="setTextAlignment">
5862
+ <xsl:with-param name="default">left</xsl:with-param>
5863
+ </xsl:call-template>
5864
+
5834
5865
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
5835
5866
  <xsl:attribute name="font-weight">bold</xsl:attribute>
5836
5867
  </xsl:if>
5837
- <xsl:if test="@colspan">
5838
- <xsl:attribute name="number-columns-spanned">
5839
- <xsl:value-of select="@colspan"/>
5840
- </xsl:attribute>
5841
- </xsl:if>
5842
- <xsl:if test="@rowspan">
5843
- <xsl:attribute name="number-rows-spanned">
5844
- <xsl:value-of select="@rowspan"/>
5845
- </xsl:attribute>
5846
- </xsl:if>
5847
- <xsl:call-template name="display-align"/>
5848
5868
 
5849
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
5850
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
5851
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
5852
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
5853
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
5854
- </xsl:if>
5855
- </xsl:if> -->
5856
- <!-- 2nd line and below -->
5869
+ <xsl:call-template name="setTableCellAttributes"/>
5857
5870
 
5858
5871
  <fo:block>
5859
5872
  <xsl:apply-templates/>
@@ -5867,15 +5880,15 @@
5867
5880
  <xsl:apply-templates/>
5868
5881
  </fo:block>
5869
5882
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
5870
- <fo:block> <!-- margin-bottom="10pt" -->
5883
+ <fo:block>
5871
5884
  <xsl:apply-templates/>
5872
5885
  </fo:block>
5873
5886
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
5874
5887
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
5875
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5876
- <xsl:apply-templates/>
5888
+ <xsl:apply-templates select="*[local-name()='name']"/>
5889
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5877
5890
  </fo:block>
5878
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
5891
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
5879
5892
  <xsl:if test="normalize-space() != ''">
5880
5893
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
5881
5894
  <xsl:apply-templates/>
@@ -5899,42 +5912,46 @@
5899
5912
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
5900
5913
 
5901
5914
 
5902
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5903
-
5904
- <xsl:variable name="element">
5905
-
5915
+ <xsl:variable name="fo_element">
5916
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5906
5917
  inline
5907
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
5908
5918
  </xsl:variable>
5909
5919
 
5920
+ <!-- display 'EXAMPLE' -->
5921
+ <xsl:apply-templates select="*[local-name()='name']">
5922
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5923
+ </xsl:apply-templates>
5924
+
5910
5925
  <xsl:choose>
5911
- <xsl:when test="contains(normalize-space($element), 'block')">
5912
- <fo:block xsl:use-attribute-sets="example-body-style">
5913
- <xsl:apply-templates/>
5914
- </fo:block>
5926
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5927
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
5928
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5929
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5930
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5931
+ </xsl:apply-templates>
5932
+ </fo:block-container>
5933
+ </fo:block-container>
5915
5934
  </xsl:when>
5916
5935
  <xsl:otherwise>
5917
5936
  <fo:inline>
5918
- <xsl:apply-templates/>
5937
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
5938
+ <xsl:with-param name="fo_element" select="$fo_element"/>
5939
+ </xsl:apply-templates>
5919
5940
  </fo:inline>
5920
5941
  </xsl:otherwise>
5921
5942
  </xsl:choose>
5922
5943
 
5923
5944
  </fo:block>
5924
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
5925
-
5926
- <xsl:variable name="element">
5927
-
5928
- inline
5929
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
5930
- </xsl:variable>
5945
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
5946
+ <xsl:param name="fo_element">block</xsl:param>
5947
+
5931
5948
  <xsl:choose>
5932
5949
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
5933
5950
  <fo:inline>
5934
5951
  <xsl:apply-templates/>
5935
5952
  </fo:inline>
5936
5953
  </xsl:when>
5937
- <xsl:when test="contains(normalize-space($element), 'block')">
5954
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
5938
5955
  <fo:block xsl:use-attribute-sets="example-name-style">
5939
5956
  <xsl:apply-templates/>
5940
5957
  </fo:block>
@@ -5947,14 +5964,15 @@
5947
5964
  </xsl:choose>
5948
5965
 
5949
5966
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
5967
+ <xsl:param name="fo_element">block</xsl:param>
5968
+
5950
5969
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5951
5970
  <xsl:variable name="element">
5952
5971
 
5953
-
5954
- inline
5972
+ <xsl:value-of select="$fo_element"/>
5955
5973
  </xsl:variable>
5956
5974
  <xsl:choose>
5957
- <xsl:when test="normalize-space($element) = 'block'">
5975
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
5958
5976
  <fo:block xsl:use-attribute-sets="example-p-style">
5959
5977
 
5960
5978
  <xsl:apply-templates/>
@@ -5969,6 +5987,8 @@
5969
5987
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5970
5988
  <fo:block xsl:use-attribute-sets="termsource-style">
5971
5989
 
5990
+
5991
+
5972
5992
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5973
5993
  <xsl:variable name="termsource_text">
5974
5994
  <xsl:apply-templates/>
@@ -6006,11 +6026,7 @@
6006
6026
  <xsl:value-of select="."/>
6007
6027
  </xsl:if>
6008
6028
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
6009
- <fo:inline>
6010
-
6011
-
6012
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
6013
-
6029
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
6014
6030
  <xsl:value-of select="."/>
6015
6031
  </fo:inline>
6016
6032
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -6024,12 +6040,9 @@
6024
6040
  </fo:basic-link>
6025
6041
  </xsl:template><xsl:template match="*[local-name() = 'modification']">
6026
6042
  <xsl:variable name="title-modified">
6027
-
6028
-
6029
- <xsl:call-template name="getTitle">
6030
- <xsl:with-param name="name" select="'title-modified'"/>
6031
- </xsl:call-template>
6032
-
6043
+ <xsl:call-template name="getLocalizedString">
6044
+ <xsl:with-param name="key">modified</xsl:with-param>
6045
+ </xsl:call-template>
6033
6046
  </xsl:variable>
6034
6047
 
6035
6048
  <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
@@ -6056,7 +6069,6 @@
6056
6069
  <fo:block-container margin-left="0mm">
6057
6070
 
6058
6071
  <fo:block xsl:use-attribute-sets="quote-style">
6059
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
6060
6072
 
6061
6073
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6062
6074
  </fo:block>
@@ -6099,15 +6111,13 @@
6099
6111
  </xsl:variable>
6100
6112
 
6101
6113
  <xsl:choose>
6102
- <xsl:when test="normalize-space($bibitemid) != ''">
6114
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
6103
6115
  <fo:inline xsl:use-attribute-sets="eref-style">
6104
6116
  <xsl:if test="@type = 'footnote'">
6105
-
6106
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6107
- <xsl:attribute name="font-size">80%</xsl:attribute>
6108
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6109
- <xsl:attribute name="vertical-align">super</xsl:attribute>
6110
-
6117
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6118
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6119
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
6120
+ <xsl:attribute name="font-size">80%</xsl:attribute>
6111
6121
 
6112
6122
  </xsl:if>
6113
6123
 
@@ -6124,8 +6134,6 @@
6124
6134
 
6125
6135
 
6126
6136
 
6127
-
6128
-
6129
6137
  </xsl:if>
6130
6138
 
6131
6139
 
@@ -6183,8 +6191,6 @@
6183
6191
  </xsl:choose>
6184
6192
  </xsl:variable>
6185
6193
 
6186
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
6187
-
6188
6194
  <xsl:choose>
6189
6195
  <xsl:when test="$lang = 'zh'">
6190
6196
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -6219,12 +6225,9 @@
6219
6225
  </fo:block>
6220
6226
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
6221
6227
  <xsl:variable name="title-deprecated">
6222
-
6223
- <xsl:call-template name="getLocalizedString">
6224
- <xsl:with-param name="key">deprecated</xsl:with-param>
6225
- </xsl:call-template>
6226
-
6227
-
6228
+ <xsl:call-template name="getLocalizedString">
6229
+ <xsl:with-param name="key">deprecated</xsl:with-param>
6230
+ </xsl:call-template>
6228
6231
  </xsl:variable>
6229
6232
  <fo:block xsl:use-attribute-sets="deprecates-style">
6230
6233
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -6233,6 +6236,8 @@
6233
6236
  <xsl:if test="*[local-name() = 'strong']">
6234
6237
  <xsl:attribute name="font-weight">normal</xsl:attribute>
6235
6238
  </xsl:if>
6239
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
6240
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
6236
6241
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
6237
6242
  <fo:block xsl:use-attribute-sets="definition-style">
6238
6243
  <xsl:apply-templates/>
@@ -6241,7 +6246,6 @@
6241
6246
  <xsl:apply-templates/>
6242
6247
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
6243
6248
  <fo:inline> <xsl:apply-templates/></fo:inline>
6244
- <!-- <fo:block>&#xA0;</fo:block> -->
6245
6249
  <fo:block/>
6246
6250
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
6247
6251
 
@@ -6282,11 +6286,6 @@
6282
6286
  <xsl:apply-templates/>
6283
6287
  </fo:block>
6284
6288
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
6285
- <fo:block id="{@id}">
6286
- <xsl:apply-templates/>
6287
- </fo:block>
6288
- </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']">
6289
-
6290
6289
  <fo:block id="{@id}">
6291
6290
  <xsl:apply-templates/>
6292
6291
  </fo:block>
@@ -6303,6 +6302,51 @@
6303
6302
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6304
6303
  <!-- 0xA0 to space replacement -->
6305
6304
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6305
+ </xsl:template><xsl:variable name="ul_labels_">
6306
+
6307
+
6308
+
6309
+
6310
+
6311
+
6312
+
6313
+
6314
+
6315
+
6316
+
6317
+
6318
+
6319
+ <label color="{$color_design}">•</label>
6320
+
6321
+
6322
+
6323
+
6324
+
6325
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6326
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6327
+ <xsl:variable name="list_level">
6328
+ <xsl:choose>
6329
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6330
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6331
+ </xsl:choose>
6332
+ </xsl:variable>
6333
+ <xsl:choose>
6334
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6335
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6336
+ </xsl:when>
6337
+ <xsl:when test="$list_level mod 3 = 0">
6338
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6339
+ </xsl:when>
6340
+ <xsl:when test="$list_level mod 2 = 0">
6341
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6342
+ </xsl:when>
6343
+ <xsl:otherwise>
6344
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6345
+ </xsl:otherwise>
6346
+ </xsl:choose>
6347
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6348
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6349
+ <xsl:value-of select="."/>
6306
6350
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6307
6351
  <xsl:choose>
6308
6352
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6509,162 +6553,217 @@
6509
6553
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6510
6554
  <fo:block><xsl:apply-templates/></fo:block>
6511
6555
  </fo:table-cell>
6512
- </xsl:template><xsl:template name="processBibitem">
6556
+ </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">
6557
+
6558
+
6559
+
6560
+ <fo:block id="{@id}">
6561
+ <xsl:apply-templates/>
6562
+ </fo:block>
6563
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
6564
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
6565
+
6566
+ <fo:block break-after="page"/>
6567
+
6568
+ </xsl:if>
6569
+
6570
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
6571
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
6572
+ <fo:block break-after="page"/>
6573
+ </xsl:if>
6574
+ </xsl:if> -->
6575
+
6576
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
6577
+ <xsl:apply-templates/>
6578
+ </fo:block>
6579
+
6513
6580
 
6514
6581
 
6515
6582
 
6583
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
6584
+ <xsl:call-template name="bibitem"/>
6585
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
6586
+
6587
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
6588
+ <xsl:call-template name="processBibitem"/>
6589
+ </fo:block>
6590
+
6591
+
6592
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
6593
+
6594
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
6595
+ $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
6596
+ <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
6597
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
6598
+ <fo:list-item>
6599
+ <fo:list-item-label end-indent="label-end()">
6600
+ <fo:block>
6601
+ <fo:inline>
6602
+
6603
+ <xsl:number format="1."/>
6604
+
6605
+ </fo:inline>
6606
+ </fo:block>
6607
+ </fo:list-item-label>
6608
+ <fo:list-item-body start-indent="body-start()">
6609
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
6610
+ <xsl:call-template name="processBibitem"/>
6611
+ </fo:block>
6612
+ </fo:list-item-body>
6613
+ </fo:list-item>
6614
+ </fo:list-block>
6615
+
6616
+
6617
+ </xsl:template><xsl:template name="processBibitem">
6618
+
6516
6619
 
6517
- <!-- start OGC bibtem processing -->
6518
- <xsl:choose>
6519
- <xsl:when test="*[local-name() = 'formattedref']">
6520
- <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
6521
- </xsl:when>
6522
- <xsl:otherwise>
6523
- <xsl:variable name="personalAuthors">
6524
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person']">
6525
- <xsl:call-template name="processPersonalAuthor"/>
6526
- </xsl:for-each>
6527
- <xsl:if test="not(*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person'])">
6528
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']/*[local-name() = 'person']">
6620
+ <!-- start OGC bibitem processing -->
6621
+ <xsl:if test=".//ogc:fn">
6622
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
6623
+ </xsl:if>
6624
+ <xsl:choose>
6625
+ <xsl:when test="*[local-name() = 'formattedref']">
6626
+ <xsl:apply-templates select="*[local-name() = 'formattedref']"/>
6627
+ </xsl:when>
6628
+ <xsl:otherwise>
6629
+ <xsl:variable name="personalAuthors">
6630
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person']">
6529
6631
  <xsl:call-template name="processPersonalAuthor"/>
6530
6632
  </xsl:for-each>
6531
- </xsl:if>
6532
- </xsl:variable>
6533
-
6534
- <xsl:variable name="city" select="*[local-name() = 'place']"/>
6535
- <xsl:variable name="year">
6633
+ <xsl:if test="not(*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'person'])">
6634
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='editor']/*[local-name() = 'person']">
6635
+ <xsl:call-template name="processPersonalAuthor"/>
6636
+ </xsl:for-each>
6637
+ </xsl:if>
6638
+ </xsl:variable>
6639
+
6640
+ <xsl:variable name="city" select="*[local-name() = 'place']"/>
6641
+ <xsl:variable name="year">
6642
+ <xsl:choose>
6643
+ <xsl:when test="*[local-name() = 'date'][@type = 'published']">
6644
+ <xsl:for-each select="*[local-name() = 'date'][@type = 'published']">
6645
+ <xsl:call-template name="renderDate"/>
6646
+ </xsl:for-each>
6647
+ </xsl:when>
6648
+ <xsl:when test="*[local-name() = 'date'][@type = 'issued']">
6649
+ <xsl:for-each select="*[local-name() = 'date'][@type = 'issued']">
6650
+ <xsl:call-template name="renderDate"/>
6651
+ </xsl:for-each>
6652
+ </xsl:when>
6653
+ <xsl:when test="*[local-name() = 'date'][@type = 'circulated']">
6654
+ <xsl:for-each select="*[local-name() = 'date'][@type = 'circulated']">
6655
+ <xsl:call-template name="renderDate"/>
6656
+ </xsl:for-each>
6657
+ </xsl:when>
6658
+ <xsl:otherwise>
6659
+ <xsl:for-each select="*[local-name() = 'date']">
6660
+ <xsl:call-template name="renderDate"/>
6661
+ </xsl:for-each>
6662
+ </xsl:otherwise>
6663
+ </xsl:choose>
6664
+ </xsl:variable>
6665
+
6666
+ <xsl:variable name="uri" select="*[local-name() = 'uri']"/>
6667
+
6668
+
6669
+ <!-- citation structure:
6670
+ {personal names | organisation}: {document identifier}, {title}. {publisher}, {city} ({year})
6671
+ -->
6672
+
6673
+ <!-- Author(s) -->
6536
6674
  <xsl:choose>
6537
- <xsl:when test="*[local-name() = 'date'][@type = 'published']">
6538
- <xsl:for-each select="*[local-name() = 'date'][@type = 'published']">
6539
- <xsl:call-template name="renderDate"/>
6540
- </xsl:for-each>
6675
+ <xsl:when test="xalan:nodeset($personalAuthors)//author">
6676
+ <xsl:for-each select="xalan:nodeset($personalAuthors)//author">
6677
+ <xsl:apply-templates/>
6678
+ <xsl:if test="position() != last()">, </xsl:if>
6679
+ </xsl:for-each>
6680
+ <xsl:text>: </xsl:text>
6681
+ </xsl:when>
6682
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
6683
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
6684
+ <xsl:value-of select="."/>
6685
+ <xsl:if test="position() != last()">/</xsl:if>
6686
+ </xsl:for-each>
6687
+ <xsl:text>: </xsl:text>
6541
6688
  </xsl:when>
6542
- <xsl:when test="*[local-name() = 'date'][@type = 'issued']">
6543
- <xsl:for-each select="*[local-name() = 'date'][@type = 'issued']">
6544
- <xsl:call-template name="renderDate"/>
6689
+ <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6690
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6691
+ <xsl:value-of select="."/>
6692
+ <xsl:if test="position() != last()">, </xsl:if>
6545
6693
  </xsl:for-each>
6694
+ <xsl:text>: </xsl:text>
6546
6695
  </xsl:when>
6547
- <xsl:when test="*[local-name() = 'date'][@type = 'circulated']">
6548
- <xsl:for-each select="*[local-name() = 'date'][@type = 'circulated']">
6549
- <xsl:call-template name="renderDate"/>
6550
- </xsl:for-each>
6696
+ </xsl:choose>
6697
+
6698
+
6699
+ <xsl:variable name="document_identifier">
6700
+ <xsl:call-template name="processBibitemDocId"/>
6701
+ </xsl:variable>
6702
+
6703
+ <xsl:value-of select="$document_identifier"/>
6704
+
6705
+ <xsl:apply-templates select="*[local-name() = 'note']"/>
6706
+
6707
+ <xsl:variable name="isDraft">
6708
+ <xsl:variable name="stage" select="normalize-space(*[local-name() = 'status']/*[local-name() = 'stage'])"/>
6709
+ <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization'][*[local-name() = 'name']/text() = 'Open Geospatial Consortium'] and $stage != '' and $stage != 'published' and $stage != 'deprecated' and $stage != 'retired'">true</xsl:if>
6710
+ </xsl:variable>
6711
+
6712
+ <xsl:if test="$isDraft = 'true'">
6713
+ <xsl:text> (Draft)</xsl:text>
6714
+ </xsl:if>
6715
+
6716
+ <xsl:text>, </xsl:text>
6717
+
6718
+ <xsl:choose>
6719
+ <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
6720
+ <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
6551
6721
  </xsl:when>
6552
6722
  <xsl:otherwise>
6553
- <xsl:for-each select="*[local-name() = 'date']">
6554
- <xsl:call-template name="renderDate"/>
6555
- </xsl:for-each>
6723
+ <xsl:apply-templates select="*[local-name() = 'title']"/>
6556
6724
  </xsl:otherwise>
6557
6725
  </xsl:choose>
6558
- </xsl:variable>
6559
-
6560
- <xsl:variable name="uri" select="*[local-name() = 'uri']"/>
6561
-
6562
-
6563
- <!-- citation structure:
6564
- {personal names | organisation}: {document identifier}, {title}. {publisher}, {city} ({year})
6565
- -->
6566
-
6567
- <!-- Author(s) -->
6568
- <xsl:choose>
6569
- <xsl:when test="xalan:nodeset($personalAuthors)//author">
6570
- <xsl:for-each select="xalan:nodeset($personalAuthors)//author">
6571
- <xsl:apply-templates/>
6572
- <xsl:if test="position() != last()">, </xsl:if>
6573
- </xsl:for-each>
6574
- <xsl:text>: </xsl:text>
6575
- </xsl:when>
6576
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
6577
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'abbreviation']">
6578
- <xsl:value-of select="."/>
6579
- <xsl:if test="position() != last()">/</xsl:if>
6580
- </xsl:for-each>
6581
- <xsl:text>: </xsl:text>
6582
- </xsl:when>
6583
- <xsl:when test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6726
+
6727
+ <xsl:text>. </xsl:text>
6728
+
6729
+ <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6584
6730
  <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6585
6731
  <xsl:value-of select="."/>
6586
6732
  <xsl:if test="position() != last()">, </xsl:if>
6587
6733
  </xsl:for-each>
6588
- <xsl:text>: </xsl:text>
6589
- </xsl:when>
6590
- </xsl:choose>
6591
-
6592
-
6593
- <xsl:variable name="document_identifier">
6594
- <xsl:call-template name="processBibitemDocId"/>
6595
- </xsl:variable>
6596
-
6597
- <xsl:value-of select="$document_identifier"/>
6598
-
6599
- <xsl:apply-templates select="*[local-name() = 'note']"/>
6600
-
6601
- <xsl:variable name="isDraft">
6602
- <xsl:variable name="stage" select="normalize-space(*[local-name() = 'status']/*[local-name() = 'stage'])"/>
6603
- <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization'][*[local-name() = 'name']/text() = 'Open Geospatial Consortium'] and $stage != '' and $stage != 'published' and $stage != 'deprecated' and $stage != 'retired'">true</xsl:if>
6604
- </xsl:variable>
6605
-
6606
- <xsl:if test="$isDraft = 'true'">
6607
- <xsl:text> (Draft)</xsl:text>
6608
- </xsl:if>
6609
-
6610
- <xsl:text>, </xsl:text>
6611
-
6612
- <xsl:choose>
6613
- <xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
6614
- <xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
6615
- </xsl:when>
6616
- <xsl:otherwise>
6617
- <xsl:apply-templates select="*[local-name() = 'title']"/>
6618
- </xsl:otherwise>
6619
- </xsl:choose>
6620
-
6621
- <xsl:text>. </xsl:text>
6622
-
6623
- <xsl:if test="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6624
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name']">
6625
- <xsl:value-of select="."/>
6626
- <xsl:if test="position() != last()">, </xsl:if>
6627
- </xsl:for-each>
6628
- <xsl:if test="normalize-space($city) != ''">, </xsl:if>
6629
- </xsl:if>
6630
-
6631
- <xsl:value-of select="$city"/>
6632
-
6633
- <xsl:if test="(*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name'] or normalize-space($city) != '') and normalize-space($year) != ''">
6634
- <xsl:text> </xsl:text>
6635
- </xsl:if>
6636
-
6637
- <xsl:if test="normalize-space($year) != ''">
6638
- <xsl:text>(</xsl:text>
6639
- <xsl:value-of select="$year"/>
6640
- <xsl:text>). </xsl:text>
6641
- </xsl:if>
6642
-
6643
- <xsl:if test="normalize-space($uri) != ''">
6644
- <fo:inline>
6645
-
6646
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
6647
-
6734
+ <xsl:if test="normalize-space($city) != ''">, </xsl:if>
6735
+ </xsl:if>
6736
+
6737
+ <xsl:value-of select="$city"/>
6738
+
6739
+ <xsl:if test="(*[local-name() = 'contributor'][*[local-name() = 'role']/@type = 'publisher']/*[local-name() = 'organization']/*[local-name() = 'name'] or normalize-space($city) != '') and normalize-space($year) != ''">
6648
6740
  <xsl:text> </xsl:text>
6649
- <fo:basic-link external-destination="{$uri}" fox:alt-text="{$uri}">
6650
- <xsl:value-of select="$uri"/>
6651
- </fo:basic-link>
6652
- </fo:inline>
6653
- </xsl:if>
6654
-
6655
- </xsl:otherwise>
6656
- </xsl:choose>
6657
- <!-- end OGC bibitem processing-->
6658
-
6659
-
6660
-
6661
-
6662
-
6663
-
6664
-
6665
-
6741
+ </xsl:if>
6742
+
6743
+ <xsl:if test="normalize-space($year) != ''">
6744
+ <xsl:text>(</xsl:text>
6745
+ <xsl:value-of select="$year"/>
6746
+ <xsl:text>). </xsl:text>
6747
+ </xsl:if>
6748
+
6749
+ <xsl:if test="normalize-space($uri) != ''">
6750
+ <fo:inline>
6751
+
6752
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
6753
+
6754
+ <xsl:text> </xsl:text>
6755
+ <fo:basic-link external-destination="{$uri}" fox:alt-text="{$uri}">
6756
+ <xsl:value-of select="$uri"/>
6757
+ </fo:basic-link>
6758
+ </fo:inline>
6759
+ </xsl:if>
6760
+
6761
+ </xsl:otherwise>
6762
+ </xsl:choose>
6763
+ <!-- end OGC bibitem processing-->
6764
+
6666
6765
  </xsl:template><xsl:template name="processBibitemDocId">
6667
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
6766
+ <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')]"/>
6668
6767
  <xsl:choose>
6669
6768
  <xsl:when test="normalize-space($_doc_ident) != ''">
6670
6769
  <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
@@ -6678,7 +6777,7 @@
6678
6777
  <xsl:if test="$type != ''">
6679
6778
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
6680
6779
  </xsl:if> -->
6681
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
6780
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
6682
6781
  </xsl:otherwise>
6683
6782
  </xsl:choose>
6684
6783
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -6719,6 +6818,55 @@
6719
6818
  <xsl:value-of select="substring(.,1,1)"/>
6720
6819
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6721
6820
  <fo:inline><xsl:apply-templates/></fo:inline>
6821
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
6822
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
6823
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
6824
+ <xsl:apply-templates/>
6825
+ </fo:inline>
6826
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
6827
+ <fo:footnote>
6828
+ <xsl:variable name="number">
6829
+
6830
+ <xsl:choose>
6831
+ <xsl:when test="ancestor::*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]">
6832
+ <xsl:number level="any" count="*[local-name() = 'references'][preceding-sibling::*[local-name() = 'references']]//*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6833
+ </xsl:when>
6834
+ <xsl:otherwise>
6835
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6836
+ </xsl:otherwise>
6837
+ </xsl:choose>
6838
+
6839
+ </xsl:variable>
6840
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
6841
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
6842
+ <xsl:value-of select="$number"/>
6843
+
6844
+ </fo:basic-link>
6845
+ </fo:inline>
6846
+ <fo:footnote-body>
6847
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
6848
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
6849
+ <xsl:value-of select="$number"/>
6850
+
6851
+ </fo:inline>
6852
+ <xsl:apply-templates/>
6853
+ </fo:block>
6854
+ </fo:footnote-body>
6855
+ </fo:footnote>
6856
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
6857
+ <xsl:text> edition </xsl:text>
6858
+ <xsl:value-of select="."/>
6859
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
6860
+ <xsl:text> (</xsl:text>
6861
+ <fo:inline xsl:use-attribute-sets="link-style">
6862
+ <fo:basic-link external-destination="." fox:alt-text=".">
6863
+ <xsl:value-of select="."/>
6864
+ </fo:basic-link>
6865
+ </fo:inline>
6866
+ <xsl:text>)</xsl:text>
6867
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
6868
+
6869
+ <xsl:apply-templates/>
6722
6870
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6723
6871
  <fo:block>
6724
6872
  <xsl:apply-templates/>
@@ -6784,27 +6932,14 @@
6784
6932
  <fo:block> </fo:block>
6785
6933
  </fo:block-container>
6786
6934
  </xsl:template><xsl:variable name="toc_level">
6935
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
6936
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
6937
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
6787
6938
  <xsl:choose>
6788
- <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
6939
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
6940
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
6789
6941
  <xsl:otherwise><!-- default value -->
6790
-
6791
-
6792
-
6793
-
6794
-
6795
-
6796
-
6797
-
6798
-
6799
-
6800
-
6801
-
6802
-
6803
6942
  2
6804
-
6805
-
6806
-
6807
-
6808
6943
  </xsl:otherwise>
6809
6944
  </xsl:choose>
6810
6945
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -6887,7 +7022,7 @@
6887
7022
  </td>
6888
7023
  </xsl:for-each>
6889
7024
  <td>333</td> <!-- page number, just for fill -->
6890
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7025
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
6891
7026
  <fo:inline padding-right="5mm"> </fo:inline>
6892
7027
  <fo:inline><xsl:apply-templates/></fo:inline>
6893
7028
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -6898,6 +7033,66 @@
6898
7033
  </svg>
6899
7034
  </fo:instream-foreign-object>
6900
7035
  </fo:inline>
7036
+ </xsl:template><xsl:template match="@language">
7037
+ <xsl:copy-of select="."/>
7038
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7039
+ <xsl:call-template name="title"/>
7040
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7041
+
7042
+
7043
+
7044
+
7045
+
7046
+ <!-- text in the box -->
7047
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
7048
+
7049
+
7050
+
7051
+
7052
+
7053
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style">
7054
+
7055
+
7056
+ <fo:block xsl:use-attribute-sets="admonition-name-style">
7057
+ <xsl:call-template name="displayAdmonitionName"/>
7058
+ </fo:block>
7059
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7060
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7061
+ </fo:block>
7062
+
7063
+ </fo:block-container>
7064
+
7065
+ </fo:block-container>
7066
+
7067
+ </xsl:template><xsl:template name="displayAdmonitionName">
7068
+
7069
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7070
+ <xsl:if test="not(*[local-name() = 'name'])">
7071
+ <xsl:apply-templates select="@type"/>
7072
+ </xsl:if>
7073
+
7074
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7075
+ <xsl:apply-templates/>
7076
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7077
+ <xsl:variable name="admonition_type_">
7078
+ <xsl:call-template name="getLocalizedString">
7079
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7080
+ </xsl:call-template>
7081
+ </xsl:variable>
7082
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7083
+ <xsl:value-of select="$admonition_type"/>
7084
+ <xsl:if test="$admonition_type = ''">
7085
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
7086
+ </xsl:if>
7087
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7088
+
7089
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7090
+
7091
+
7092
+
7093
+ <xsl:apply-templates/>
7094
+ </fo:block>
7095
+
6901
7096
  </xsl:template><xsl:template name="convertDate">
6902
7097
  <xsl:param name="date"/>
6903
7098
  <xsl:param name="format" select="'short'"/>
@@ -6906,78 +7101,39 @@
6906
7101
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
6907
7102
  <xsl:variable name="monthStr">
6908
7103
  <xsl:choose>
6909
- <xsl:when test="$month = '01'">January</xsl:when>
6910
- <xsl:when test="$month = '02'">February</xsl:when>
6911
- <xsl:when test="$month = '03'">March</xsl:when>
6912
- <xsl:when test="$month = '04'">April</xsl:when>
6913
- <xsl:when test="$month = '05'">May</xsl:when>
6914
- <xsl:when test="$month = '06'">June</xsl:when>
6915
- <xsl:when test="$month = '07'">July</xsl:when>
6916
- <xsl:when test="$month = '08'">August</xsl:when>
6917
- <xsl:when test="$month = '09'">September</xsl:when>
6918
- <xsl:when test="$month = '10'">October</xsl:when>
6919
- <xsl:when test="$month = '11'">November</xsl:when>
6920
- <xsl:when test="$month = '12'">December</xsl:when>
6921
- </xsl:choose>
6922
- </xsl:variable>
6923
- <xsl:variable name="result">
6924
- <xsl:choose>
6925
- <xsl:when test="$format = 'ddMMyyyy'">
6926
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6927
- <xsl:text> </xsl:text>
6928
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6929
- </xsl:when>
6930
- <xsl:when test="$format = 'ddMM'">
6931
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6932
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6933
- </xsl:when>
6934
- <xsl:when test="$format = 'short' or $day = ''">
6935
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6936
- </xsl:when>
6937
- <xsl:otherwise>
6938
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6939
- </xsl:otherwise>
7104
+ <xsl:when test="$month = '01'">january</xsl:when>
7105
+ <xsl:when test="$month = '02'">february</xsl:when>
7106
+ <xsl:when test="$month = '03'">march</xsl:when>
7107
+ <xsl:when test="$month = '04'">april</xsl:when>
7108
+ <xsl:when test="$month = '05'">may</xsl:when>
7109
+ <xsl:when test="$month = '06'">june</xsl:when>
7110
+ <xsl:when test="$month = '07'">july</xsl:when>
7111
+ <xsl:when test="$month = '08'">august</xsl:when>
7112
+ <xsl:when test="$month = '09'">september</xsl:when>
7113
+ <xsl:when test="$month = '10'">october</xsl:when>
7114
+ <xsl:when test="$month = '11'">november</xsl:when>
7115
+ <xsl:when test="$month = '12'">december</xsl:when>
6940
7116
  </xsl:choose>
6941
7117
  </xsl:variable>
6942
- <xsl:value-of select="$result"/>
6943
- </xsl:template><xsl:template name="convertDateLocalized">
6944
- <xsl:param name="date"/>
6945
- <xsl:param name="format" select="'short'"/>
6946
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
6947
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
6948
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
6949
- <xsl:variable name="monthStr">
6950
- <xsl:choose>
6951
- <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>
6952
- <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>
6953
- <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>
6954
- <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>
6955
- <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>
6956
- <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>
6957
- <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>
6958
- <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>
6959
- <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>
6960
- <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>
6961
- <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>
6962
- <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>
6963
- </xsl:choose>
7118
+ <xsl:variable name="monthStr_localized">
7119
+ <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>
6964
7120
  </xsl:variable>
6965
7121
  <xsl:variable name="result">
6966
7122
  <xsl:choose>
6967
7123
  <xsl:when test="$format = 'ddMMyyyy'">
6968
7124
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6969
7125
  <xsl:text> </xsl:text>
6970
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7126
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
6971
7127
  </xsl:when>
6972
7128
  <xsl:when test="$format = 'ddMM'">
6973
7129
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6974
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7130
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
6975
7131
  </xsl:when>
6976
7132
  <xsl:when test="$format = 'short' or $day = ''">
6977
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7133
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
6978
7134
  </xsl:when>
6979
7135
  <xsl:otherwise>
6980
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7136
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
6981
7137
  </xsl:otherwise>
6982
7138
  </xsl:choose>
6983
7139
  </xsl:variable>
@@ -7029,14 +7185,9 @@
7029
7185
  <dc:title>
7030
7186
  <xsl:variable name="title">
7031
7187
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7032
-
7033
-
7034
-
7035
-
7036
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
7037
-
7038
-
7039
7188
 
7189
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang]"/>
7190
+
7040
7191
  </xsl:for-each>
7041
7192
  </xsl:variable>
7042
7193
  <xsl:choose>
@@ -7051,21 +7202,18 @@
7051
7202
  <dc:creator>
7052
7203
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7053
7204
 
7054
- <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
7055
- <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
7056
- <xsl:if test="position() != last()">; </xsl:if>
7057
- </xsl:for-each>
7058
-
7059
-
7060
-
7205
+ <xsl:for-each select="*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']">
7206
+ <xsl:value-of select="*[local-name() = 'organization']/*[local-name() = 'name']"/>
7207
+ <xsl:if test="position() != last()">; </xsl:if>
7208
+ </xsl:for-each>
7209
+
7061
7210
  </xsl:for-each>
7062
7211
  </dc:creator>
7063
7212
  <dc:description>
7064
7213
  <xsl:variable name="abstract">
7065
7214
 
7066
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
7067
-
7068
-
7215
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
7216
+
7069
7217
  </xsl:variable>
7070
7218
  <xsl:value-of select="normalize-space($abstract)"/>
7071
7219
  </dc:description>
@@ -7085,7 +7233,6 @@
7085
7233
  <xsl:value-of select="../@id"/>
7086
7234
  </xsl:when>
7087
7235
  <xsl:otherwise>
7088
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
7089
7236
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
7090
7237
  </xsl:otherwise>
7091
7238
  </xsl:choose>
@@ -7111,9 +7258,6 @@
7111
7258
  <xsl:when test="ancestor::*[local-name() = 'preface']">
7112
7259
  <xsl:value-of select="$level_total - 2"/>
7113
7260
  </xsl:when>
7114
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
7115
- <xsl:value-of select="$level_total - 1"/>
7116
- </xsl:when> -->
7117
7261
  <xsl:when test="ancestor::*[local-name() = 'sections']">
7118
7262
  <xsl:value-of select="$level_total - 1"/>
7119
7263
  </xsl:when>
@@ -7255,9 +7399,15 @@
7255
7399
  </xsl:template><xsl:template name="getLocalizedString">
7256
7400
  <xsl:param name="key"/>
7257
7401
  <xsl:param name="formatted">false</xsl:param>
7402
+ <xsl:param name="lang"/>
7258
7403
 
7259
7404
  <xsl:variable name="curr_lang">
7260
- <xsl:call-template name="getLang"/>
7405
+ <xsl:choose>
7406
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
7407
+ <xsl:otherwise>
7408
+ <xsl:call-template name="getLang"/>
7409
+ </xsl:otherwise>
7410
+ </xsl:choose>
7261
7411
  </xsl:variable>
7262
7412
 
7263
7413
  <xsl:variable name="data_value">
@@ -7297,7 +7447,6 @@
7297
7447
  <xsl:value-of select="$key_"/>
7298
7448
  </xsl:otherwise>
7299
7449
  </xsl:choose>
7300
-
7301
7450
  </xsl:template><xsl:template name="setTrackChangesStyles">
7302
7451
  <xsl:param name="isAdded"/>
7303
7452
  <xsl:param name="isDeleted"/>
@@ -7320,7 +7469,6 @@
7320
7469
  <xsl:if test="local-name() = 'table'">
7321
7470
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
7322
7471
  </xsl:if>
7323
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
7324
7472
  <xsl:attribute name="padding">2mm</xsl:attribute>
7325
7473
  </xsl:if>
7326
7474
  </xsl:otherwise>
@@ -7340,15 +7488,18 @@
7340
7488
  </xsl:choose>
7341
7489
  </xsl:template><xsl:template name="setTextAlignment">
7342
7490
  <xsl:param name="default">left</xsl:param>
7491
+ <xsl:variable name="align" select="normalize-space(@align)"/>
7343
7492
  <xsl:attribute name="text-align">
7344
7493
  <xsl:choose>
7345
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
7494
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
7495
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
7496
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
7346
7497
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7347
7498
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7348
7499
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7349
7500
  </xsl:choose>
7350
7501
  </xsl:attribute>
7351
- <xsl:if test="@align = 'indent'">
7502
+ <xsl:if test="$align = 'indent'">
7352
7503
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
7353
7504
  </xsl:if>
7354
7505
  </xsl:template><xsl:template name="number-to-words">