metanorma-un 0.10.8 → 0.10.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -284,10 +284,10 @@
284
284
  </xsl:if>
285
285
 
286
286
  <!-- Preface Pages (except Abstract, that showed in Summary on cover page`) -->
287
- <xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name() = 'note' or local-name() = 'admonition')]">
287
+ <xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract' or local-name() = 'note' or local-name() = 'admonition' or (local-name() = 'clause' and @type = 'toc'))]">
288
288
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
289
289
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
290
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition']"/>
290
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition' and not(local-name() = 'clause' and @type = 'toc')]"/>
291
291
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
292
292
  <fo:block break-after="page"/>
293
293
  </xsl:if>
@@ -330,6 +330,7 @@
330
330
 
331
331
  <xsl:variable name="skip">
332
332
  <xsl:choose>
333
+ <xsl:when test="@type = 'toc'">true</xsl:when>
333
334
  <xsl:when test="ancestor-or-self::un:bibitem">true</xsl:when>
334
335
  <xsl:when test="ancestor-or-self::un:term">true</xsl:when>
335
336
  <xsl:when test="@inline-header = 'true'">true</xsl:when>
@@ -1129,6 +1130,10 @@
1129
1130
 
1130
1131
  </xsl:attribute-set>
1131
1132
 
1133
+ <xsl:template name="refine_link-style">
1134
+
1135
+ </xsl:template> <!-- refine_link-style -->
1136
+
1132
1137
  <xsl:attribute-set name="sourcecode-container-style">
1133
1138
 
1134
1139
  </xsl:attribute-set>
@@ -1144,6 +1149,10 @@
1144
1149
 
1145
1150
  </xsl:attribute-set>
1146
1151
 
1152
+ <xsl:template name="refine_sourcecode-style">
1153
+
1154
+ </xsl:template> <!-- refine_sourcecode-style -->
1155
+
1147
1156
  <xsl:attribute-set name="pre-style">
1148
1157
  <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1149
1158
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1221,6 +1230,10 @@
1221
1230
 
1222
1231
  </xsl:attribute-set> <!-- example-style -->
1223
1232
 
1233
+ <xsl:template name="refine_example-style">
1234
+
1235
+ </xsl:template> <!-- refine_example-style -->
1236
+
1224
1237
  <xsl:attribute-set name="example-body-style">
1225
1238
 
1226
1239
  </xsl:attribute-set> <!-- example-body-style -->
@@ -1243,6 +1256,15 @@
1243
1256
 
1244
1257
  </xsl:attribute-set> <!-- example-p-style -->
1245
1258
 
1259
+ <xsl:template name="refine_example-p-style">
1260
+
1261
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
1262
+ <xsl:if test="$num = 1">
1263
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
1264
+ </xsl:if>
1265
+
1266
+ </xsl:template> <!-- refine_example-p-style -->
1267
+
1246
1268
  <xsl:attribute-set name="termexample-name-style">
1247
1269
 
1248
1270
  </xsl:attribute-set> <!-- termexample-name-style -->
@@ -1269,6 +1291,15 @@
1269
1291
 
1270
1292
  </xsl:attribute-set> <!-- table-container-style -->
1271
1293
 
1294
+ <xsl:template name="refine_table-container-style">
1295
+ <xsl:param name="margin-side"/>
1296
+
1297
+ <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1298
+ <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1299
+
1300
+ <!-- end table block-container attributes -->
1301
+ </xsl:template> <!-- refine_table-container-style -->
1302
+
1272
1303
  <xsl:attribute-set name="table-style">
1273
1304
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1274
1305
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
@@ -1277,6 +1308,18 @@
1277
1308
 
1278
1309
  </xsl:attribute-set><!-- table-style -->
1279
1310
 
1311
+ <xsl:template name="refine_table-style">
1312
+ <xsl:param name="margin-side"/>
1313
+
1314
+ <xsl:if test="$margin-side != 0">
1315
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
1316
+ <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
1317
+ </xsl:if>
1318
+
1319
+ <xsl:call-template name="setBordersTableArray"/>
1320
+
1321
+ </xsl:template> <!-- refine_table-style -->
1322
+
1280
1323
  <xsl:attribute-set name="table-name-style">
1281
1324
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1282
1325
 
@@ -1289,6 +1332,11 @@
1289
1332
 
1290
1333
  </xsl:attribute-set> <!-- table-name-style -->
1291
1334
 
1335
+ <xsl:template name="refine_table-name-style">
1336
+ <xsl:param name="continued"/>
1337
+
1338
+ </xsl:template> <!-- refine_table-name-style -->
1339
+
1292
1340
  <xsl:attribute-set name="table-row-style">
1293
1341
  <xsl:attribute name="min-height">4mm</xsl:attribute>
1294
1342
 
@@ -1299,14 +1347,30 @@
1299
1347
 
1300
1348
  </xsl:attribute-set>
1301
1349
 
1350
+ <xsl:template name="refine_table-header-row-style">
1351
+
1352
+ <xsl:call-template name="setBordersTableArray"/>
1353
+
1354
+ </xsl:template> <!-- refine_table-header-row-style -->
1355
+
1302
1356
  <xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1303
1357
 
1304
1358
  </xsl:attribute-set>
1305
1359
 
1360
+ <xsl:template name="refine_table-footer-row-style">
1361
+
1362
+ </xsl:template> <!-- refine_table-footer-row-style -->
1363
+
1306
1364
  <xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1307
1365
 
1308
1366
  </xsl:attribute-set>
1309
1367
 
1368
+ <xsl:template name="refine_table-body-row-style">
1369
+
1370
+ <xsl:call-template name="setBordersTableArray"/>
1371
+
1372
+ </xsl:template> <!-- refine_table-body-row-style -->
1373
+
1310
1374
  <xsl:attribute-set name="table-header-cell-style">
1311
1375
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1312
1376
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1325,6 +1389,18 @@
1325
1389
 
1326
1390
  </xsl:attribute-set> <!-- table-header-cell-style -->
1327
1391
 
1392
+ <xsl:template name="refine_table-header-cell-style">
1393
+
1394
+ <xsl:call-template name="setBordersTableArray"/>
1395
+
1396
+ <xsl:if test="$lang = 'ar'">
1397
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1398
+ </xsl:if>
1399
+
1400
+ <xsl:call-template name="setTableCellAttributes"/>
1401
+
1402
+ </xsl:template> <!-- refine_table-header-cell-style -->
1403
+
1328
1404
  <xsl:attribute-set name="table-cell-style">
1329
1405
  <xsl:attribute name="display-align">center</xsl:attribute>
1330
1406
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1340,6 +1416,18 @@
1340
1416
 
1341
1417
  </xsl:attribute-set> <!-- table-cell-style -->
1342
1418
 
1419
+ <xsl:template name="refine_table-cell-style">
1420
+
1421
+ <xsl:if test="$lang = 'ar'">
1422
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1423
+ </xsl:if>
1424
+
1425
+ <!-- bsi -->
1426
+
1427
+ <xsl:call-template name="setBordersTableArray"/>
1428
+
1429
+ </xsl:template> <!-- refine_table-cell-style -->
1430
+
1343
1431
  <xsl:attribute-set name="table-footer-cell-style">
1344
1432
  <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1345
1433
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1348,12 +1436,20 @@
1348
1436
 
1349
1437
  </xsl:attribute-set> <!-- table-footer-cell-style -->
1350
1438
 
1439
+ <xsl:template name="refine_table-footer-cell-style">
1440
+
1441
+ </xsl:template> <!-- refine_table-footer-cell-style -->
1442
+
1351
1443
  <xsl:attribute-set name="table-note-style">
1352
1444
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1353
1445
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1354
1446
 
1355
1447
  </xsl:attribute-set><!-- table-note-style -->
1356
1448
 
1449
+ <xsl:template name="refine_table-note-style">
1450
+
1451
+ </xsl:template> <!-- refine_table-note-style -->
1452
+
1357
1453
  <xsl:attribute-set name="table-fn-style">
1358
1454
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1359
1455
 
@@ -1411,11 +1507,19 @@
1411
1507
 
1412
1508
  </xsl:attribute-set>
1413
1509
 
1510
+ <xsl:template name="refine_dt-cell-style">
1511
+
1512
+ </xsl:template> <!-- refine_dt-cell-style -->
1513
+
1414
1514
  <xsl:attribute-set name="dt-block-style">
1415
1515
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
1416
1516
 
1417
1517
  </xsl:attribute-set>
1418
1518
 
1519
+ <xsl:template name="refine_dt-block-style">
1520
+
1521
+ </xsl:template> <!-- refine_dt-block-style -->
1522
+
1419
1523
  <xsl:attribute-set name="dl-name-style">
1420
1524
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1421
1525
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1429,6 +1533,10 @@
1429
1533
 
1430
1534
  </xsl:attribute-set>
1431
1535
 
1536
+ <xsl:template name="refine_dd-cell-style">
1537
+
1538
+ </xsl:template> <!-- refine_dd-cell-style -->
1539
+
1432
1540
  <!-- ========================== -->
1433
1541
  <!-- END Definition's list styles -->
1434
1542
  <!-- ========================== -->
@@ -1442,7 +1550,6 @@
1442
1550
  </xsl:attribute-set>
1443
1551
 
1444
1552
  <xsl:attribute-set name="xref-style">
1445
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1446
1553
 
1447
1554
  </xsl:attribute-set>
1448
1555
 
@@ -1452,12 +1559,22 @@
1452
1559
 
1453
1560
  </xsl:attribute-set>
1454
1561
 
1562
+ <xsl:template name="refine_eref-style">
1563
+ <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
1564
+ <xsl:variable name="text" select="normalize-space()"/>
1565
+
1566
+ </xsl:template> <!-- refine_eref-style -->
1567
+
1455
1568
  <xsl:attribute-set name="note-style">
1456
1569
 
1457
1570
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1458
1571
 
1459
1572
  </xsl:attribute-set>
1460
1573
 
1574
+ <xsl:template name="refine_note-style">
1575
+
1576
+ </xsl:template>
1577
+
1461
1578
  <xsl:variable name="note-body-indent">10mm</xsl:variable>
1462
1579
  <xsl:variable name="note-body-indent-table">5mm</xsl:variable>
1463
1580
 
@@ -1467,11 +1584,23 @@
1467
1584
 
1468
1585
  </xsl:attribute-set>
1469
1586
 
1587
+ <xsl:template name="refine_note-name-style">
1588
+
1589
+ </xsl:template> <!-- refine_note-name-style -->
1590
+
1470
1591
  <xsl:attribute-set name="table-note-name-style">
1471
1592
  <xsl:attribute name="padding-right">2mm</xsl:attribute>
1472
1593
 
1473
1594
  </xsl:attribute-set>
1474
1595
 
1596
+ <xsl:template name="refine_table-note-name-style">
1597
+
1598
+ <xsl:if test="@type = 'source' or @type = 'abbreviation'">
1599
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
1600
+ </xsl:if>
1601
+
1602
+ </xsl:template> <!-- refine_table-note-name-style -->
1603
+
1475
1604
  <xsl:attribute-set name="note-p-style">
1476
1605
 
1477
1606
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1485,10 +1614,18 @@
1485
1614
 
1486
1615
  </xsl:attribute-set>
1487
1616
 
1617
+ <xsl:template name="refine_termnote-style">
1618
+
1619
+ </xsl:template> <!-- refine_termnote-style -->
1620
+
1488
1621
  <xsl:attribute-set name="termnote-name-style">
1489
1622
 
1490
1623
  </xsl:attribute-set>
1491
1624
 
1625
+ <xsl:template name="refine_termnote-name-style">
1626
+
1627
+ </xsl:template>
1628
+
1492
1629
  <xsl:attribute-set name="termnote-p-style">
1493
1630
 
1494
1631
  </xsl:attribute-set>
@@ -1499,6 +1636,10 @@
1499
1636
 
1500
1637
  </xsl:attribute-set>
1501
1638
 
1639
+ <xsl:template name="refine_quote-style">
1640
+
1641
+ </xsl:template>
1642
+
1502
1643
  <xsl:attribute-set name="quote-source-style">
1503
1644
  <xsl:attribute name="text-align">right</xsl:attribute>
1504
1645
 
@@ -1508,6 +1649,10 @@
1508
1649
 
1509
1650
  </xsl:attribute-set>
1510
1651
 
1652
+ <xsl:template name="refine_termsource-style">
1653
+
1654
+ </xsl:template> <!-- refine_termsource-style -->
1655
+
1511
1656
  <xsl:attribute-set name="termsource-text-style">
1512
1657
 
1513
1658
  </xsl:attribute-set>
@@ -1544,6 +1689,10 @@
1544
1689
 
1545
1690
  </xsl:attribute-set>
1546
1691
 
1692
+ <xsl:template name="refine_figure-name-style">
1693
+
1694
+ </xsl:template> <!-- refine_figure-name-style -->
1695
+
1547
1696
  <xsl:attribute-set name="figure-source-style">
1548
1697
 
1549
1698
  </xsl:attribute-set>
@@ -1560,6 +1709,15 @@
1560
1709
 
1561
1710
  </xsl:attribute-set> <!-- formula-stem-block-style -->
1562
1711
 
1712
+ <xsl:template name="refine_formula-stem-block-style">
1713
+
1714
+ <xsl:if test="ancestor::*[local-name() ='annex']">
1715
+ <xsl:attribute name="text-align">left</xsl:attribute>
1716
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
1717
+ </xsl:if>
1718
+
1719
+ </xsl:template> <!-- refine_formula-stem-block-style -->
1720
+
1563
1721
  <xsl:attribute-set name="formula-stem-number-style">
1564
1722
  <xsl:attribute name="text-align">right</xsl:attribute>
1565
1723
 
@@ -1576,6 +1734,10 @@
1576
1734
 
1577
1735
  </xsl:attribute-set>
1578
1736
 
1737
+ <xsl:template name="refine_image-style">
1738
+
1739
+ </xsl:template>
1740
+
1579
1741
  <xsl:attribute-set name="figure-pseudocode-p-style">
1580
1742
 
1581
1743
  </xsl:attribute-set>
@@ -1662,6 +1824,10 @@
1662
1824
 
1663
1825
  </xsl:attribute-set>
1664
1826
 
1827
+ <xsl:template name="refine_mathml-style">
1828
+
1829
+ </xsl:template>
1830
+
1665
1831
  <xsl:attribute-set name="list-style">
1666
1832
 
1667
1833
  <xsl:attribute name="provisional-distance-between-starts">4mm</xsl:attribute>
@@ -1669,6 +1835,10 @@
1669
1835
 
1670
1836
  </xsl:attribute-set> <!-- list-style -->
1671
1837
 
1838
+ <xsl:template name="refine_list-style">
1839
+
1840
+ </xsl:template> <!-- refine_list-style -->
1841
+
1672
1842
  <xsl:attribute-set name="list-name-style">
1673
1843
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1674
1844
 
@@ -1680,14 +1850,26 @@
1680
1850
 
1681
1851
  </xsl:attribute-set>
1682
1852
 
1853
+ <xsl:template name="refine_list-item-style">
1854
+
1855
+ </xsl:template> <!-- refine_list-item-style -->
1856
+
1683
1857
  <xsl:attribute-set name="list-item-label-style">
1684
1858
 
1685
1859
  </xsl:attribute-set>
1686
1860
 
1861
+ <xsl:template name="refine_list-item-label-style">
1862
+
1863
+ </xsl:template> <!-- refine_list-item-label-style -->
1864
+
1687
1865
  <xsl:attribute-set name="list-item-body-style">
1688
1866
 
1689
1867
  </xsl:attribute-set>
1690
1868
 
1869
+ <xsl:template name="refine_list-item-body-style">
1870
+
1871
+ </xsl:template> <!-- refine_list-item-body-style -->
1872
+
1691
1873
  <xsl:attribute-set name="toc-style">
1692
1874
  <xsl:attribute name="line-height">135%</xsl:attribute>
1693
1875
  </xsl:attribute-set>
@@ -1698,6 +1880,10 @@
1698
1880
 
1699
1881
  </xsl:attribute-set>
1700
1882
 
1883
+ <xsl:template name="refine_fn-reference-style">
1884
+
1885
+ </xsl:template> <!-- refine_fn-reference-style -->
1886
+
1701
1887
  <xsl:attribute-set name="fn-style">
1702
1888
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1703
1889
  </xsl:attribute-set>
@@ -1723,6 +1909,10 @@
1723
1909
 
1724
1910
  </xsl:attribute-set>
1725
1911
 
1912
+ <xsl:template name="refine_fn-body-style">
1913
+
1914
+ </xsl:template> <!-- refine_fn-body-style -->
1915
+
1726
1916
  <xsl:attribute-set name="fn-body-num-style">
1727
1917
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1728
1918
 
@@ -1732,6 +1922,10 @@
1732
1922
 
1733
1923
  </xsl:attribute-set> <!-- fn-body-num-style -->
1734
1924
 
1925
+ <xsl:template name="refine_fn-body-num-style">
1926
+
1927
+ </xsl:template> <!-- refine_fn-body-num-style -->
1928
+
1735
1929
  <!-- admonition -->
1736
1930
  <xsl:attribute-set name="admonition-style">
1737
1931
 
@@ -2383,10 +2577,9 @@
2383
2577
 
2384
2578
  <fo:block-container xsl:use-attribute-sets="table-container-style">
2385
2579
 
2386
- <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
2387
- <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
2388
-
2389
- <!-- end table block-container attributes -->
2580
+ <xsl:call-template name="refine_table-container-style">
2581
+ <xsl:with-param name="margin-side" select="$margin-side"/>
2582
+ </xsl:call-template>
2390
2583
 
2391
2584
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2392
2585
 
@@ -2413,12 +2606,9 @@
2413
2606
 
2414
2607
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2415
2608
 
2416
- <xsl:if test="$margin-side != 0">
2417
- <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2418
- <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2419
- </xsl:if>
2420
-
2421
- <xsl:call-template name="setBordersTableArray"/>
2609
+ <xsl:call-template name="refine_table-style">
2610
+ <xsl:with-param name="margin-side" select="$margin-side"/>
2611
+ </xsl:call-template>
2422
2612
 
2423
2613
  </xsl:element>
2424
2614
  </xsl:variable>
@@ -2440,7 +2630,7 @@
2440
2630
  </xsl:attribute>
2441
2631
  </xsl:for-each>
2442
2632
 
2443
- <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
2633
+ <xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or ./*[local-name()='example'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
2444
2634
  <xsl:if test="$isNoteOrFnExist = 'true'">
2445
2635
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2446
2636
  </xsl:if>
@@ -2484,7 +2674,7 @@
2484
2674
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2485
2675
  </xsl:when>
2486
2676
  <xsl:otherwise>
2487
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
2677
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'example') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
2488
2678
  </xsl:otherwise>
2489
2679
  </xsl:choose>
2490
2680
 
@@ -2571,6 +2761,10 @@
2571
2761
 
2572
2762
  <fo:block xsl:use-attribute-sets="table-name-style">
2573
2763
 
2764
+ <xsl:call-template name="refine_table-name-style">
2765
+ <xsl:with-param name="continued" select="$continued"/>
2766
+ </xsl:call-template>
2767
+
2574
2768
  <xsl:choose>
2575
2769
  <xsl:when test="$continued = 'true'">
2576
2770
 
@@ -2953,6 +3147,8 @@
2953
3147
  <fo:table-row>
2954
3148
  <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">
2955
3149
 
3150
+ <xsl:call-template name="refine_table-header-title-style"/>
3151
+
2956
3152
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2957
3153
  <xsl:with-param name="continued">true</xsl:with-param>
2958
3154
  </xsl:apply-templates>
@@ -2965,6 +3161,10 @@
2965
3161
  </fo:table-row>
2966
3162
  </xsl:template> <!-- table-header-title -->
2967
3163
 
3164
+ <xsl:template name="refine_table-header-title-style">
3165
+
3166
+ </xsl:template> <!-- refine_table-header-title-style -->
3167
+
2968
3168
  <xsl:template match="*[local-name()='thead']" mode="process_tbody">
2969
3169
  <fo:table-body>
2970
3170
  <xsl:apply-templates/>
@@ -2989,7 +3189,7 @@
2989
3189
  <xsl:param name="colwidths"/>
2990
3190
  <xsl:param name="colgroup"/>
2991
3191
 
2992
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source']"/>
3192
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='example'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
2993
3193
 
2994
3194
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
2995
3195
 
@@ -3049,6 +3249,8 @@
3049
3249
  <fo:table-row>
3050
3250
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3051
3251
 
3252
+ <xsl:call-template name="refine_table-footer-cell-style"/>
3253
+
3052
3254
  <xsl:call-template name="setBordersTableArray"/>
3053
3255
 
3054
3256
  <!-- fn will be processed inside 'note' processing -->
@@ -3057,8 +3259,10 @@
3057
3259
 
3058
3260
  <!-- except gb and bsi -->
3059
3261
 
3262
+ <xsl:apply-templates select="../*[local-name()='p']"/>
3060
3263
  <xsl:apply-templates select="../*[local-name()='dl']"/>
3061
3264
  <xsl:apply-templates select="../*[local-name()='note']"/>
3265
+ <xsl:apply-templates select="../*[local-name()='example']"/>
3062
3266
  <xsl:apply-templates select="../*[local-name()='source']"/>
3063
3267
 
3064
3268
  <xsl:variable name="isDisplayRowSeparator">
@@ -3067,7 +3271,7 @@
3067
3271
 
3068
3272
  <!-- horizontal row separator -->
3069
3273
  <xsl:if test="normalize-space($isDisplayRowSeparator) = 'true'">
3070
- <xsl:if test="../*[local-name()='note'] and normalize-space($table_fn_block) != ''">
3274
+ <xsl:if test="(../*[local-name()='note'] or ../*[local-name()='example']) and normalize-space($table_fn_block) != ''">
3071
3275
  <fo:block-container border-top="0.5pt solid black" padding-left="1mm" padding-right="1mm">
3072
3276
 
3073
3277
  <xsl:call-template name="setBordersTableArray"/>
@@ -3188,7 +3392,7 @@
3188
3392
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3189
3393
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3190
3394
 
3191
- <xsl:call-template name="setBordersTableArray"/>
3395
+ <xsl:call-template name="refine_table-header-row-style"/>
3192
3396
 
3193
3397
  <xsl:call-template name="setTableRowAttributes"/>
3194
3398
 
@@ -3222,6 +3426,8 @@
3222
3426
  <xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3223
3427
  <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3224
3428
 
3429
+ <xsl:call-template name="refine_table-footer-row-style"/>
3430
+
3225
3431
  <xsl:call-template name="setTableRowAttributes"/>
3226
3432
  <xsl:apply-templates/>
3227
3433
  </fo:table-row>
@@ -3235,9 +3441,10 @@
3235
3441
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
3236
3442
  </xsl:if>
3237
3443
 
3238
- <xsl:call-template name="setBordersTableArray"/>
3444
+ <xsl:call-template name="refine_table-body-row-style"/>
3239
3445
 
3240
3446
  <xsl:call-template name="setTableRowAttributes"/>
3447
+
3241
3448
  <xsl:apply-templates/>
3242
3449
  </fo:table-row>
3243
3450
  </xsl:template>
@@ -3260,13 +3467,7 @@
3260
3467
  <xsl:with-param name="default">center</xsl:with-param>
3261
3468
  </xsl:call-template>
3262
3469
 
3263
- <xsl:call-template name="setBordersTableArray"/>
3264
-
3265
- <xsl:if test="$lang = 'ar'">
3266
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
3267
- </xsl:if>
3268
-
3269
- <xsl:call-template name="setTableCellAttributes"/>
3470
+ <xsl:call-template name="refine_table-header-cell-style"/>
3270
3471
 
3271
3472
  <fo:block>
3272
3473
  <xsl:apply-templates/>
@@ -3308,13 +3509,7 @@
3308
3509
  <xsl:with-param name="default">left</xsl:with-param>
3309
3510
  </xsl:call-template>
3310
3511
 
3311
- <xsl:if test="$lang = 'ar'">
3312
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
3313
- </xsl:if>
3314
-
3315
- <!-- bsi -->
3316
-
3317
- <xsl:call-template name="setBordersTableArray"/>
3512
+ <xsl:call-template name="refine_table-cell-style"/>
3318
3513
 
3319
3514
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3320
3515
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -3341,16 +3536,16 @@
3341
3536
  </fo:table-cell>
3342
3537
  </xsl:template> <!-- td -->
3343
3538
 
3344
- <xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3539
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name() = 'example']" priority="2">
3345
3540
 
3346
3541
  <fo:block xsl:use-attribute-sets="table-note-style">
3347
3542
 
3348
- <!-- Table's note name (NOTE, for example) -->
3543
+ <xsl:call-template name="refine_table-note-style"/>
3544
+
3545
+ <!-- Table's note/example name (NOTE, for example) -->
3349
3546
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
3350
3547
 
3351
- <xsl:if test="@type = 'source' or @type = 'abbreviation'">
3352
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3353
- </xsl:if>
3548
+ <xsl:call-template name="refine_table-note-name-style"/>
3354
3549
 
3355
3550
  <xsl:apply-templates select="*[local-name() = 'name']"/>
3356
3551
 
@@ -3361,7 +3556,7 @@
3361
3556
 
3362
3557
  </xsl:template> <!-- table/note -->
3363
3558
 
3364
- <xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3559
+ <xsl:template match="*[local-name()='table']/*[local-name()='note' or local-name()='example']/*[local-name()='p']" priority="2">
3365
3560
  <xsl:apply-templates/>
3366
3561
  </xsl:template>
3367
3562
 
@@ -3379,6 +3574,14 @@
3379
3574
  <!-- list of footnotes to calculate actual footnotes number -->
3380
3575
  <xsl:variable name="p_fn_">
3381
3576
  <xsl:call-template name="get_fn_list"/>
3577
+ <!-- <xsl:choose>
3578
+ <xsl:when test="$namespace = 'jis'">
3579
+ <xsl:call-template name="get_fn_list_for_element"/>
3580
+ </xsl:when>
3581
+ <xsl:otherwise>
3582
+ <xsl:call-template name="get_fn_list"/>
3583
+ </xsl:otherwise>
3584
+ </xsl:choose> -->
3382
3585
  </xsl:variable>
3383
3586
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
3384
3587
 
@@ -3403,7 +3606,14 @@
3403
3606
 
3404
3607
  </xsl:variable>
3405
3608
 
3406
- <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3609
+ <xsl:variable name="ref_id">
3610
+ <xsl:choose>
3611
+ <xsl:when test="normalize-space(@ref_id) != ''"><xsl:value-of select="@ref_id"/></xsl:when>
3612
+ <xsl:otherwise>
3613
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3614
+ </xsl:otherwise>
3615
+ </xsl:choose>
3616
+ </xsl:variable>
3407
3617
  <xsl:variable name="footnote_inline">
3408
3618
  <fo:inline>
3409
3619
 
@@ -3429,7 +3639,7 @@
3429
3639
  <xsl:call-template name="insert_basic_link">
3430
3640
  <xsl:with-param name="element">
3431
3641
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3432
- <xsl:value-of select="$current_fn_number_text"/>
3642
+ <xsl:copy-of select="$current_fn_number_text"/>
3433
3643
  </fo:basic-link>
3434
3644
  </xsl:with-param>
3435
3645
  </xsl:call-template>
@@ -3449,8 +3659,12 @@
3449
3659
 
3450
3660
  <fo:block xsl:use-attribute-sets="fn-body-style">
3451
3661
 
3662
+ <xsl:call-template name="refine_fn-body-style"/>
3663
+
3452
3664
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3453
3665
 
3666
+ <xsl:call-template name="refine_fn-body-num-style"/>
3667
+
3454
3668
  <xsl:value-of select="$current_fn_number_text"/>
3455
3669
  </fo:inline>
3456
3670
  <xsl:apply-templates/>
@@ -3502,6 +3716,28 @@
3502
3716
  </xsl:choose>
3503
3717
  </xsl:template>
3504
3718
 
3719
+ <xsl:template name="get_fn_list_for_element">
3720
+ <xsl:choose>
3721
+ <xsl:when test="@current_fn_number"> <!-- footnote reference number calculated already -->
3722
+ <fn gen_id="{generate-id(.)}">
3723
+ <xsl:copy-of select="@*"/>
3724
+ <xsl:copy-of select="node()"/>
3725
+ </fn>
3726
+ </xsl:when>
3727
+ <xsl:otherwise>
3728
+ <xsl:for-each select="ancestor::*[local-name() = 'ul' or local-name() = 'ol'][1]">
3729
+ <xsl:variable name="element_id" select="@id"/>
3730
+ <xsl:for-each select=".//*[local-name() = 'fn'][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3731
+ <!-- copy unique fn -->
3732
+ <fn gen_id="{generate-id(.)}">
3733
+ <xsl:copy-of select="@*"/>
3734
+ <xsl:copy-of select="node()"/>
3735
+ </fn>
3736
+ </xsl:for-each>
3737
+ </xsl:for-each>
3738
+ </xsl:otherwise>
3739
+ </xsl:choose>
3740
+ </xsl:template>
3505
3741
  <!-- ============================ -->
3506
3742
  <!-- table's footnotes rendering -->
3507
3743
  <!-- ============================ -->
@@ -3676,6 +3912,8 @@
3676
3912
  <xsl:template match="*[local-name()='fn']">
3677
3913
  <fo:inline xsl:use-attribute-sets="fn-reference-style">
3678
3914
 
3915
+ <xsl:call-template name="refine_fn-reference-style"/>
3916
+
3679
3917
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3680
3918
 
3681
3919
  <xsl:value-of select="@reference"/>
@@ -3775,6 +4013,8 @@
3775
4013
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3776
4014
  <fo:block margin-bottom="12pt" text-align="left">
3777
4015
 
4016
+ <xsl:call-template name="refine_dl_formula_where_style"/>
4017
+
3778
4018
  <!-- <xsl:variable name="title-where">
3779
4019
  <xsl:call-template name="getLocalizedString">
3780
4020
  <xsl:with-param name="key">where</xsl:with-param>
@@ -3788,6 +4028,8 @@
3788
4028
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
3789
4029
  <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3790
4030
 
4031
+ <xsl:call-template name="refine_figure_key_style"/>
4032
+
3791
4033
  <xsl:variable name="title-key">
3792
4034
  <xsl:call-template name="getLocalizedString">
3793
4035
  <xsl:with-param name="key">key</xsl:with-param>
@@ -3802,12 +4044,16 @@
3802
4044
  <xsl:if test="$onlyOneComponent = 'false'">
3803
4045
  <fo:block>
3804
4046
 
4047
+ <xsl:call-template name="refine_multicomponent_style"/>
4048
+
3805
4049
  <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
3806
4050
  <xsl:attribute name="margin-top">0</xsl:attribute>
3807
4051
  </xsl:if>
3808
4052
 
3809
4053
  <fo:block>
3810
4054
 
4055
+ <xsl:call-template name="refine_multicomponent_block_style"/>
4056
+
3811
4057
  <xsl:apply-templates select="*[local-name() = 'name']">
3812
4058
  <xsl:with-param name="process">true</xsl:with-param>
3813
4059
  </xsl:apply-templates>
@@ -3965,6 +4211,24 @@
3965
4211
 
3966
4212
  </xsl:template> <!-- END: dl -->
3967
4213
 
4214
+ <xsl:template name="refine_dl_formula_where_style">
4215
+
4216
+ </xsl:template> <!-- refine_dl_formula_where_style -->
4217
+
4218
+ <xsl:template name="refine_figure_key_style">
4219
+
4220
+ </xsl:template> <!-- refine_figure_key_style -->
4221
+
4222
+ <xsl:template name="refine_multicomponent_style">
4223
+ <xsl:variable name="parent" select="local-name(..)"/>
4224
+
4225
+ </xsl:template> <!-- refine_multicomponent_style -->
4226
+
4227
+ <xsl:template name="refine_multicomponent_block_style">
4228
+ <xsl:variable name="parent" select="local-name(..)"/>
4229
+
4230
+ </xsl:template> <!-- refine_multicomponent_block_style -->
4231
+
3968
4232
  <!-- ignore 'p' with 'where' in formula, before 'dl' -->
3969
4233
  <xsl:template match="*[local-name() = 'formula']/*[local-name() = 'p' and @keep-with-next = 'true' and following-sibling::*[1][local-name() = 'dl']]"/>
3970
4234
 
@@ -4184,6 +4448,8 @@
4184
4448
 
4185
4449
  </xsl:if>
4186
4450
 
4451
+ <xsl:call-template name="refine_dt-cell-style"/>
4452
+
4187
4453
  <fo:block xsl:use-attribute-sets="dt-block-style">
4188
4454
  <xsl:copy-of select="@id"/>
4189
4455
 
@@ -4191,6 +4457,8 @@
4191
4457
  <xsl:attribute name="margin-top">0</xsl:attribute>
4192
4458
  </xsl:if>
4193
4459
 
4460
+ <xsl:call-template name="refine_dt-block-style"/>
4461
+
4194
4462
  <xsl:apply-templates>
4195
4463
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
4196
4464
  </xsl:apply-templates>
@@ -4210,6 +4478,8 @@
4210
4478
  <xsl:attribute name="border">0.1pt solid black</xsl:attribute>
4211
4479
  </xsl:if>
4212
4480
 
4481
+ <xsl:call-template name="refine_dd-cell-style"/>
4482
+
4213
4483
  <fo:block>
4214
4484
 
4215
4485
  <xsl:if test="$isGenerateTableIF = 'true'">
@@ -4352,20 +4622,31 @@
4352
4622
  <!-- ========================= -->
4353
4623
  <xsl:template match="*[local-name()='em']">
4354
4624
  <fo:inline font-style="italic">
4625
+ <xsl:call-template name="refine_italic_style"/>
4355
4626
  <xsl:apply-templates/>
4356
4627
  </fo:inline>
4357
4628
  </xsl:template>
4358
4629
 
4630
+ <xsl:template name="refine_italic_style">
4631
+
4632
+ </xsl:template>
4633
+
4359
4634
  <xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
4360
4635
  <xsl:param name="split_keep-within-line"/>
4361
4636
  <fo:inline font-weight="bold">
4362
4637
 
4638
+ <xsl:call-template name="refine_strong_style"/>
4639
+
4363
4640
  <xsl:apply-templates>
4364
4641
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
4365
4642
  </xsl:apply-templates>
4366
4643
  </fo:inline>
4367
4644
  </xsl:template>
4368
4645
 
4646
+ <xsl:template name="refine_strong_style">
4647
+
4648
+ </xsl:template>
4649
+
4369
4650
  <xsl:template match="*[local-name()='padding']">
4370
4651
  <fo:inline padding-right="{@value}"> </fo:inline>
4371
4652
  </xsl:template>
@@ -4832,7 +5113,10 @@
4832
5113
  </xsl:choose>
4833
5114
  </xsl:variable>
4834
5115
 
4835
- <xsl:value-of select="$text9"/>
5116
+ <!-- replace sequence #x200B and space TO space -->
5117
+ <xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b ', ' ')"/>
5118
+
5119
+ <xsl:value-of select="$text10"/>
4836
5120
  </xsl:template>
4837
5121
 
4838
5122
  <xsl:template name="add-zero-spaces-link-java">
@@ -5507,6 +5791,11 @@
5507
5791
 
5508
5792
  <fo:inline xsl:use-attribute-sets="mathml-style">
5509
5793
 
5794
+ <!-- DEBUG -->
5795
+ <!-- <xsl:copy-of select="ancestor::*[local-name() = 'stem']/@font-family"/> -->
5796
+
5797
+ <xsl:call-template name="refine_mathml-style"/>
5798
+
5510
5799
  <xsl:if test="$isGenerateTableIF = 'true' and ancestor::*[local-name() = 'td' or local-name() = 'th' or local-name() = 'dl'] and not(following-sibling::node()[not(self::comment())][normalize-space() != ''])"> <!-- math in table cell, and math is last element -->
5511
5800
  <!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
5512
5801
  </xsl:if>
@@ -5611,6 +5900,8 @@
5611
5900
 
5612
5901
  <fo:instream-foreign-object fox:alt-text="Math">
5613
5902
 
5903
+ <xsl:call-template name="refine_mathml_insteam_object_style"/>
5904
+
5614
5905
  <!-- put MathML in Actual Text -->
5615
5906
  <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
5616
5907
  <xsl:attribute name="fox:actual-text">
@@ -5631,6 +5922,10 @@
5631
5922
  </fo:instream-foreign-object>
5632
5923
  </xsl:template>
5633
5924
 
5925
+ <xsl:template name="refine_mathml_insteam_object_style">
5926
+
5927
+ </xsl:template> <!-- refine_mathml_insteam_object_style -->
5928
+
5634
5929
  <xsl:template match="mathml:*" mode="mathml_actual_text">
5635
5930
  <!-- <xsl:text>a+b</xsl:text> -->
5636
5931
  <xsl:text>&lt;</xsl:text>
@@ -5775,6 +6070,8 @@
5775
6070
  <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
5776
6071
  <fo:inline xsl:use-attribute-sets="mathml-style">
5777
6072
 
6073
+ <xsl:call-template name="refine_mathml-style"/>
6074
+
5778
6075
  <xsl:choose>
5779
6076
  <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
5780
6077
  <xsl:otherwise>
@@ -5819,6 +6116,8 @@
5819
6116
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5820
6117
  </xsl:if>
5821
6118
 
6119
+ <xsl:call-template name="refine_link-style"/>
6120
+
5822
6121
  <xsl:choose>
5823
6122
  <xsl:when test="$target_text = ''">
5824
6123
  <xsl:apply-templates/>
@@ -5906,6 +6205,9 @@
5906
6205
  <xsl:call-template name="insert_basic_link">
5907
6206
  <xsl:with-param name="element">
5908
6207
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
6208
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://')) and not(ancestor::*[local-name() = 'table' or local-name() = 'dl'])">
6209
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6210
+ </xsl:if>
5909
6211
  <xsl:if test="parent::*[local-name() = 'add']">
5910
6212
  <xsl:call-template name="append_add-style"/>
5911
6213
  </xsl:if>
@@ -5967,10 +6269,7 @@
5967
6269
  <fo:table-cell display-align="center">
5968
6270
  <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5969
6271
 
5970
- <xsl:if test="ancestor::*[local-name() ='annex']">
5971
- <xsl:attribute name="text-align">left</xsl:attribute>
5972
- <xsl:attribute name="margin-left">7mm</xsl:attribute>
5973
- </xsl:if>
6272
+ <xsl:call-template name="refine_formula-stem-block-style"/>
5974
6273
 
5975
6274
  <xsl:apply-templates/>
5976
6275
  </fo:block>
@@ -6013,21 +6312,18 @@
6013
6312
 
6014
6313
  <xsl:call-template name="setBlockSpanAll"/>
6015
6314
 
6315
+ <xsl:call-template name="refine_note-style"/>
6316
+
6016
6317
  <fo:block-container margin-left="0mm" margin-right="0mm">
6017
6318
 
6018
6319
  <fo:block>
6019
6320
 
6020
- <xsl:attribute name="font-size">10pt</xsl:attribute>
6021
- <xsl:attribute name="text-indent">0</xsl:attribute>
6022
- <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
6023
- <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
6024
- <xsl:attribute name="font-size">9pt</xsl:attribute>
6025
- <xsl:attribute name="text-align">justify</xsl:attribute>
6026
- <xsl:attribute name="padding-top">0mm</xsl:attribute>
6027
- </xsl:if>
6321
+ <xsl:call-template name="refine_note_block_style"/>
6028
6322
 
6029
6323
  <fo:inline xsl:use-attribute-sets="note-name-style">
6030
6324
 
6325
+ <xsl:call-template name="refine_note-name-style"/>
6326
+
6031
6327
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6032
6328
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
6033
6329
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6053,6 +6349,19 @@
6053
6349
 
6054
6350
  </xsl:template>
6055
6351
 
6352
+ <xsl:template name="refine_note_block_style">
6353
+
6354
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
6355
+ <xsl:attribute name="text-indent">0</xsl:attribute>
6356
+ <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
6357
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
6358
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
6359
+ <xsl:attribute name="text-align">justify</xsl:attribute>
6360
+ <xsl:attribute name="padding-top">0mm</xsl:attribute>
6361
+ </xsl:if>
6362
+
6363
+ </xsl:template>
6364
+
6056
6365
  <xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
6057
6366
  <xsl:variable name="num"><xsl:number/></xsl:variable>
6058
6367
  <xsl:choose>
@@ -6074,12 +6383,16 @@
6074
6383
 
6075
6384
  <xsl:call-template name="setBlockSpanAll"/>
6076
6385
 
6386
+ <xsl:call-template name="refine_termnote-style"/>
6387
+
6077
6388
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
6078
6389
 
6079
6390
  <xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
6080
6391
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
6081
6392
  </xsl:if>
6082
6393
 
6394
+ <xsl:call-template name="refine_termnote-name-style"/>
6395
+
6083
6396
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6084
6397
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
6085
6398
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6253,6 +6566,8 @@
6253
6566
  <xsl:otherwise>
6254
6567
  <fo:block xsl:use-attribute-sets="image-style">
6255
6568
 
6569
+ <xsl:call-template name="refine_image-style"/>
6570
+
6256
6571
  <xsl:variable name="src">
6257
6572
  <xsl:call-template name="image_src"/>
6258
6573
  </xsl:variable>
@@ -7102,6 +7417,8 @@
7102
7417
  <xsl:if test="normalize-space() != ''">
7103
7418
  <fo:block xsl:use-attribute-sets="figure-name-style">
7104
7419
 
7420
+ <xsl:call-template name="refine_figure-name-style"/>
7421
+
7105
7422
  <xsl:apply-templates/>
7106
7423
  </fo:block>
7107
7424
  </xsl:if>
@@ -7366,6 +7683,8 @@
7366
7683
  </xsl:attribute>
7367
7684
  </xsl:for-each>
7368
7685
 
7686
+ <xsl:call-template name="refine_sourcecode-style"/>
7687
+
7369
7688
  <!-- remove margin between rows in the table with sourcecode line numbers -->
7370
7689
  <xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
7371
7690
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
@@ -8070,6 +8389,8 @@
8070
8389
 
8071
8390
  <xsl:call-template name="setBlockSpanAll"/>
8072
8391
 
8392
+ <xsl:call-template name="refine_example-style"/>
8393
+
8073
8394
  <xsl:variable name="fo_element">
8074
8395
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
8075
8396
  block
@@ -8180,6 +8501,12 @@
8180
8501
 
8181
8502
  </xsl:template>
8182
8503
 
8504
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'example']/*[local-name() = 'name']">
8505
+ <fo:inline xsl:use-attribute-sets="example-name-style">
8506
+ <xsl:apply-templates/>
8507
+ </fo:inline>
8508
+ </xsl:template>
8509
+
8183
8510
  <xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
8184
8511
  <xsl:param name="fo_element">block</xsl:param>
8185
8512
 
@@ -8197,9 +8524,7 @@
8197
8524
  </xsl:if>
8198
8525
  <fo:block xsl:use-attribute-sets="example-p-style">
8199
8526
 
8200
- <xsl:if test="$num = 1">
8201
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
8202
- </xsl:if>
8527
+ <xsl:call-template name="refine_example-p-style"/>
8203
8528
 
8204
8529
  <xsl:apply-templates/>
8205
8530
  </fo:block>
@@ -8217,6 +8542,7 @@
8217
8542
  </xsl:otherwise>
8218
8543
  </xsl:choose>
8219
8544
  </xsl:template> <!-- example/p -->
8545
+
8220
8546
  <!-- ====== -->
8221
8547
  <!-- ====== -->
8222
8548
 
@@ -8228,6 +8554,8 @@
8228
8554
  <xsl:template match="*[local-name() = 'termsource']" name="termsource">
8229
8555
  <fo:block xsl:use-attribute-sets="termsource-style">
8230
8556
 
8557
+ <xsl:call-template name="refine_termsource-style"/>
8558
+
8231
8559
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
8232
8560
  <xsl:variable name="termsource_text">
8233
8561
  <xsl:apply-templates/>
@@ -8343,6 +8671,8 @@
8343
8671
  <fo:block-container margin-left="0mm">
8344
8672
  <fo:block-container xsl:use-attribute-sets="quote-style">
8345
8673
 
8674
+ <xsl:call-template name="refine_quote-style"/>
8675
+
8346
8676
  <fo:block-container margin-left="0mm" margin-right="0mm">
8347
8677
  <fo:block role="BlockQuote">
8348
8678
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
@@ -8417,8 +8747,7 @@
8417
8747
 
8418
8748
  </xsl:if>
8419
8749
 
8420
- <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
8421
- <xsl:variable name="text" select="normalize-space()"/>
8750
+ <xsl:call-template name="refine_eref-style"/>
8422
8751
 
8423
8752
  <xsl:call-template name="insert_basic_link">
8424
8753
  <xsl:with-param name="element">
@@ -8428,7 +8757,7 @@
8428
8757
  </xsl:if>
8429
8758
  <xsl:if test="@type = 'inline'">
8430
8759
 
8431
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
8760
+ <xsl:call-template name="refine_basic_link_style"/>
8432
8761
 
8433
8762
  </xsl:if>
8434
8763
 
@@ -8462,6 +8791,13 @@
8462
8791
  </xsl:otherwise>
8463
8792
  </xsl:choose>
8464
8793
  </xsl:template>
8794
+
8795
+ <xsl:template name="refine_basic_link_style">
8796
+
8797
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
8798
+
8799
+ </xsl:template> <!-- refine_basic_link_style -->
8800
+
8465
8801
  <!-- ====== -->
8466
8802
  <!-- END eref -->
8467
8803
  <!-- ====== -->
@@ -8604,16 +8940,22 @@
8604
8940
  <fo:block>
8605
8941
  <xsl:call-template name="setId"/>
8606
8942
 
8607
- <xsl:variable name="num"><xsl:number/></xsl:variable>
8608
- <xsl:if test="$num = 1">
8609
- <xsl:attribute name="margin-top">20pt</xsl:attribute>
8610
- </xsl:if>
8943
+ <xsl:call-template name="sections_element_style"/>
8611
8944
 
8612
8945
  <xsl:apply-templates/>
8613
8946
  </fo:block>
8614
8947
 
8615
8948
  </xsl:template>
8616
8949
 
8950
+ <xsl:template name="sections_element_style">
8951
+
8952
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
8953
+ <xsl:if test="$num = 1">
8954
+ <xsl:attribute name="margin-top">20pt</xsl:attribute>
8955
+ </xsl:if>
8956
+
8957
+ </xsl:template> <!-- sections_element_style -->
8958
+
8617
8959
  <xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
8618
8960
  <fo:block break-after="page"/>
8619
8961
  <fo:block>
@@ -8628,10 +8970,16 @@
8628
8970
 
8629
8971
  <xsl:call-template name="setBlockSpanAll"/>
8630
8972
 
8973
+ <xsl:call-template name="refine_clause_style"/>
8974
+
8631
8975
  <xsl:apply-templates/>
8632
8976
  </fo:block>
8633
8977
  </xsl:template>
8634
8978
 
8979
+ <xsl:template name="refine_clause_style">
8980
+
8981
+ </xsl:template> <!-- refine_clause_style -->
8982
+
8635
8983
  <xsl:template match="*[local-name() = 'definitions']">
8636
8984
  <fo:block id="{@id}">
8637
8985
  <xsl:apply-templates/>
@@ -8644,15 +8992,21 @@
8644
8992
 
8645
8993
  <xsl:call-template name="setBlockSpanAll"/>
8646
8994
 
8647
- <xsl:variable name="num"><xsl:number/></xsl:variable>
8648
- <xsl:if test="$num = 1">
8649
- <xsl:attribute name="margin-top">3pt</xsl:attribute>
8650
- </xsl:if>
8995
+ <xsl:call-template name="refine_annex_style"/>
8651
8996
 
8652
8997
  </fo:block>
8653
8998
  <xsl:apply-templates/>
8654
8999
  </xsl:template>
8655
9000
 
9001
+ <xsl:template name="refine_annex_style">
9002
+
9003
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
9004
+ <xsl:if test="$num = 1">
9005
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
9006
+ </xsl:if>
9007
+
9008
+ </xsl:template>
9009
+
8656
9010
  <xsl:template match="*[local-name() = 'review']"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
8657
9011
  <!-- comment 2019-11-29 -->
8658
9012
  <!-- <fo:block font-weight="bold">Review:</fo:block>
@@ -8729,6 +9083,9 @@
8729
9083
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
8730
9084
  </xsl:choose>
8731
9085
  </xsl:when>
9086
+ <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
9087
+ <xsl:value-of select="@label"/>
9088
+ </xsl:when>
8732
9089
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
8733
9090
 
8734
9091
  <!-- Example: for BSI <?list-start 2?> -->
@@ -8786,10 +9143,10 @@
8786
9143
  <xsl:when test="$type = 'arabic'">
8787
9144
  1.
8788
9145
  </xsl:when>
8789
- <xsl:when test="$type = 'alphabet'">
9146
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
8790
9147
  a)
8791
9148
  </xsl:when>
8792
- <xsl:when test="$type = 'alphabet_upper'">
9149
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
8793
9150
  A.
8794
9151
  </xsl:when>
8795
9152
  <xsl:when test="$type = 'roman'">
@@ -8817,6 +9174,8 @@
8817
9174
  </xsl:choose>
8818
9175
  </xsl:attribute>
8819
9176
 
9177
+ <xsl:call-template name="refine_list_container_style"/>
9178
+
8820
9179
  <fo:block-container margin-left="0mm">
8821
9180
  <fo:block>
8822
9181
  <xsl:apply-templates select="." mode="list"/>
@@ -8834,6 +9193,10 @@
8834
9193
  </xsl:choose>
8835
9194
  </xsl:template>
8836
9195
 
9196
+ <xsl:template name="refine_list_container_style">
9197
+
9198
+ </xsl:template> <!-- refine_list_container_style -->
9199
+
8837
9200
  <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
8838
9201
 
8839
9202
  <xsl:apply-templates select="*[local-name() = 'name']">
@@ -8844,11 +9207,7 @@
8844
9207
 
8845
9208
  <xsl:variable name="provisional_distance_between_starts_">
8846
9209
  <attributes xsl:use-attribute-sets="list-style">
8847
-
8848
- <xsl:if test="local-name() = 'ol'">
8849
- <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
8850
- </xsl:if>
8851
-
9210
+ <xsl:call-template name="refine_list-style_provisional-distance-between-starts"/>
8852
9211
  </attributes>
8853
9212
  </xsl:variable>
8854
9213
  <xsl:variable name="provisional_distance_between_starts" select="normalize-space(xalan:nodeset($provisional_distance_between_starts_)/attributes/@provisional-distance-between-starts)"/>
@@ -8884,6 +9243,8 @@
8884
9243
  <addon><xsl:value-of select="$addon"/></addon> -->
8885
9244
  </xsl:if>
8886
9245
 
9246
+ <xsl:call-template name="refine_list-style"/>
9247
+
8887
9248
  <xsl:if test="*[local-name() = 'name']">
8888
9249
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
8889
9250
  </xsl:if>
@@ -8896,6 +9257,14 @@
8896
9257
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
8897
9258
  </xsl:template>
8898
9259
 
9260
+ <xsl:template name="refine_list-style_provisional-distance-between-starts">
9261
+
9262
+ <xsl:if test="local-name() = 'ol'">
9263
+ <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
9264
+ </xsl:if>
9265
+
9266
+ </xsl:template> <!-- refine_list-style_provisional-distance-between-starts -->
9267
+
8899
9268
  <xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
8900
9269
  <xsl:param name="process">false</xsl:param>
8901
9270
  <xsl:if test="$process = 'true'">
@@ -8909,20 +9278,27 @@
8909
9278
  <fo:list-item xsl:use-attribute-sets="list-item-style">
8910
9279
  <xsl:copy-of select="@id"/>
8911
9280
 
9281
+ <xsl:call-template name="refine_list-item-style"/>
9282
+
8912
9283
  <fo:list-item-label end-indent="label-end()">
8913
9284
  <fo:block xsl:use-attribute-sets="list-item-label-style">
8914
9285
 
9286
+ <xsl:call-template name="refine_list-item-label-style"/>
9287
+
8915
9288
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
8916
9289
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
8917
9290
  <xsl:call-template name="append_add-style"/>
8918
9291
  </xsl:if>
8919
9292
 
8920
9293
  <xsl:call-template name="getListItemFormat"/>
9294
+
8921
9295
  </fo:block>
8922
9296
  </fo:list-item-label>
8923
9297
  <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
8924
9298
  <fo:block>
8925
9299
 
9300
+ <xsl:call-template name="refine_list-item-body-style"/>
9301
+
8926
9302
  <xsl:apply-templates/>
8927
9303
 
8928
9304
  <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
@@ -9240,6 +9616,7 @@
9240
9616
 
9241
9617
  <fo:block id="{@id}">
9242
9618
  <xsl:apply-templates/>
9619
+
9243
9620
  </fo:block>
9244
9621
  </xsl:template>
9245
9622
 
@@ -9257,6 +9634,7 @@
9257
9634
 
9258
9635
  <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
9259
9636
  <xsl:apply-templates/>
9637
+
9260
9638
  </fo:block>
9261
9639
 
9262
9640
  </xsl:template> <!-- references -->
@@ -9820,6 +10198,9 @@
9820
10198
  </xsl:copy>
9821
10199
  </xsl:template>
9822
10200
 
10201
+ <!-- prevent empty thead processing in XSL-FO, remove it -->
10202
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'thead'][count(*) = 0]" mode="update_xml_step1"/>
10203
+
9823
10204
  <xsl:template name="add_id">
9824
10205
  <xsl:if test="not(@id)">
9825
10206
  <!-- add @id - first element with @id plus '_element_name' -->
@@ -10104,6 +10485,14 @@
10104
10485
  <xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))]" mode="linear_xml" name="linear_xml_fn">
10105
10486
  <xsl:variable name="p_fn_">
10106
10487
  <xsl:call-template name="get_fn_list"/>
10488
+ <!-- <xsl:choose>
10489
+ <xsl:when test="$namespace = 'jis'">
10490
+ <xsl:call-template name="get_fn_list_for_element"/>
10491
+ </xsl:when>
10492
+ <xsl:otherwise>
10493
+ <xsl:call-template name="get_fn_list"/>
10494
+ </xsl:otherwise>
10495
+ </xsl:choose> -->
10107
10496
  </xsl:variable>
10108
10497
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
10109
10498
  <xsl:variable name="gen_id" select="generate-id(.)"/>
@@ -10118,8 +10507,14 @@
10118
10507
  <xsl:attribute name="current_fn_number">
10119
10508
  <xsl:value-of select="$current_fn_number"/>
10120
10509
  </xsl:attribute>
10510
+ <xsl:variable name="skip_footnote_body_" select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
10121
10511
  <xsl:attribute name="skip_footnote_body"> <!-- false for repeatable footnote -->
10122
- <xsl:value-of select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
10512
+
10513
+ <xsl:value-of select="$skip_footnote_body_"/>
10514
+
10515
+ </xsl:attribute>
10516
+ <xsl:attribute name="ref_id">
10517
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
10123
10518
  </xsl:attribute>
10124
10519
  <xsl:apply-templates select="node()" mode="linear_xml"/>
10125
10520
  </xsl:copy>