metanorma-un 0.10.8 → 0.10.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>
@@ -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() = '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()='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,6 +3259,7 @@
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']"/>
3062
3265
  <xsl:apply-templates select="../*[local-name()='source']"/>
@@ -3188,7 +3391,7 @@
3188
3391
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3189
3392
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3190
3393
 
3191
- <xsl:call-template name="setBordersTableArray"/>
3394
+ <xsl:call-template name="refine_table-header-row-style"/>
3192
3395
 
3193
3396
  <xsl:call-template name="setTableRowAttributes"/>
3194
3397
 
@@ -3222,6 +3425,8 @@
3222
3425
  <xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3223
3426
  <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3224
3427
 
3428
+ <xsl:call-template name="refine_table-footer-row-style"/>
3429
+
3225
3430
  <xsl:call-template name="setTableRowAttributes"/>
3226
3431
  <xsl:apply-templates/>
3227
3432
  </fo:table-row>
@@ -3235,9 +3440,10 @@
3235
3440
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
3236
3441
  </xsl:if>
3237
3442
 
3238
- <xsl:call-template name="setBordersTableArray"/>
3443
+ <xsl:call-template name="refine_table-body-row-style"/>
3239
3444
 
3240
3445
  <xsl:call-template name="setTableRowAttributes"/>
3446
+
3241
3447
  <xsl:apply-templates/>
3242
3448
  </fo:table-row>
3243
3449
  </xsl:template>
@@ -3260,13 +3466,7 @@
3260
3466
  <xsl:with-param name="default">center</xsl:with-param>
3261
3467
  </xsl:call-template>
3262
3468
 
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"/>
3469
+ <xsl:call-template name="refine_table-header-cell-style"/>
3270
3470
 
3271
3471
  <fo:block>
3272
3472
  <xsl:apply-templates/>
@@ -3308,13 +3508,7 @@
3308
3508
  <xsl:with-param name="default">left</xsl:with-param>
3309
3509
  </xsl:call-template>
3310
3510
 
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"/>
3511
+ <xsl:call-template name="refine_table-cell-style"/>
3318
3512
 
3319
3513
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3320
3514
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -3345,12 +3539,12 @@
3345
3539
 
3346
3540
  <fo:block xsl:use-attribute-sets="table-note-style">
3347
3541
 
3542
+ <xsl:call-template name="refine_table-note-style"/>
3543
+
3348
3544
  <!-- Table's note name (NOTE, for example) -->
3349
3545
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
3350
3546
 
3351
- <xsl:if test="@type = 'source' or @type = 'abbreviation'">
3352
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3353
- </xsl:if>
3547
+ <xsl:call-template name="refine_table-note-name-style"/>
3354
3548
 
3355
3549
  <xsl:apply-templates select="*[local-name() = 'name']"/>
3356
3550
 
@@ -3379,6 +3573,14 @@
3379
3573
  <!-- list of footnotes to calculate actual footnotes number -->
3380
3574
  <xsl:variable name="p_fn_">
3381
3575
  <xsl:call-template name="get_fn_list"/>
3576
+ <!-- <xsl:choose>
3577
+ <xsl:when test="$namespace = 'jis'">
3578
+ <xsl:call-template name="get_fn_list_for_element"/>
3579
+ </xsl:when>
3580
+ <xsl:otherwise>
3581
+ <xsl:call-template name="get_fn_list"/>
3582
+ </xsl:otherwise>
3583
+ </xsl:choose> -->
3382
3584
  </xsl:variable>
3383
3585
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
3384
3586
 
@@ -3403,7 +3605,14 @@
3403
3605
 
3404
3606
  </xsl:variable>
3405
3607
 
3406
- <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3608
+ <xsl:variable name="ref_id">
3609
+ <xsl:choose>
3610
+ <xsl:when test="normalize-space(@ref_id) != ''"><xsl:value-of select="@ref_id"/></xsl:when>
3611
+ <xsl:otherwise>
3612
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3613
+ </xsl:otherwise>
3614
+ </xsl:choose>
3615
+ </xsl:variable>
3407
3616
  <xsl:variable name="footnote_inline">
3408
3617
  <fo:inline>
3409
3618
 
@@ -3429,7 +3638,7 @@
3429
3638
  <xsl:call-template name="insert_basic_link">
3430
3639
  <xsl:with-param name="element">
3431
3640
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3432
- <xsl:value-of select="$current_fn_number_text"/>
3641
+ <xsl:copy-of select="$current_fn_number_text"/>
3433
3642
  </fo:basic-link>
3434
3643
  </xsl:with-param>
3435
3644
  </xsl:call-template>
@@ -3449,8 +3658,12 @@
3449
3658
 
3450
3659
  <fo:block xsl:use-attribute-sets="fn-body-style">
3451
3660
 
3661
+ <xsl:call-template name="refine_fn-body-style"/>
3662
+
3452
3663
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3453
3664
 
3665
+ <xsl:call-template name="refine_fn-body-num-style"/>
3666
+
3454
3667
  <xsl:value-of select="$current_fn_number_text"/>
3455
3668
  </fo:inline>
3456
3669
  <xsl:apply-templates/>
@@ -3502,6 +3715,28 @@
3502
3715
  </xsl:choose>
3503
3716
  </xsl:template>
3504
3717
 
3718
+ <xsl:template name="get_fn_list_for_element">
3719
+ <xsl:choose>
3720
+ <xsl:when test="@current_fn_number"> <!-- footnote reference number calculated already -->
3721
+ <fn gen_id="{generate-id(.)}">
3722
+ <xsl:copy-of select="@*"/>
3723
+ <xsl:copy-of select="node()"/>
3724
+ </fn>
3725
+ </xsl:when>
3726
+ <xsl:otherwise>
3727
+ <xsl:for-each select="ancestor::*[local-name() = 'ul' or local-name() = 'ol'][1]">
3728
+ <xsl:variable name="element_id" select="@id"/>
3729
+ <xsl:for-each select=".//*[local-name() = 'fn'][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3730
+ <!-- copy unique fn -->
3731
+ <fn gen_id="{generate-id(.)}">
3732
+ <xsl:copy-of select="@*"/>
3733
+ <xsl:copy-of select="node()"/>
3734
+ </fn>
3735
+ </xsl:for-each>
3736
+ </xsl:for-each>
3737
+ </xsl:otherwise>
3738
+ </xsl:choose>
3739
+ </xsl:template>
3505
3740
  <!-- ============================ -->
3506
3741
  <!-- table's footnotes rendering -->
3507
3742
  <!-- ============================ -->
@@ -3676,6 +3911,8 @@
3676
3911
  <xsl:template match="*[local-name()='fn']">
3677
3912
  <fo:inline xsl:use-attribute-sets="fn-reference-style">
3678
3913
 
3914
+ <xsl:call-template name="refine_fn-reference-style"/>
3915
+
3679
3916
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3680
3917
 
3681
3918
  <xsl:value-of select="@reference"/>
@@ -3775,6 +4012,8 @@
3775
4012
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3776
4013
  <fo:block margin-bottom="12pt" text-align="left">
3777
4014
 
4015
+ <xsl:call-template name="refine_dl_formula_where_style"/>
4016
+
3778
4017
  <!-- <xsl:variable name="title-where">
3779
4018
  <xsl:call-template name="getLocalizedString">
3780
4019
  <xsl:with-param name="key">where</xsl:with-param>
@@ -3788,6 +4027,8 @@
3788
4027
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
3789
4028
  <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3790
4029
 
4030
+ <xsl:call-template name="refine_figure_key_style"/>
4031
+
3791
4032
  <xsl:variable name="title-key">
3792
4033
  <xsl:call-template name="getLocalizedString">
3793
4034
  <xsl:with-param name="key">key</xsl:with-param>
@@ -3802,12 +4043,16 @@
3802
4043
  <xsl:if test="$onlyOneComponent = 'false'">
3803
4044
  <fo:block>
3804
4045
 
4046
+ <xsl:call-template name="refine_multicomponent_style"/>
4047
+
3805
4048
  <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
3806
4049
  <xsl:attribute name="margin-top">0</xsl:attribute>
3807
4050
  </xsl:if>
3808
4051
 
3809
4052
  <fo:block>
3810
4053
 
4054
+ <xsl:call-template name="refine_multicomponent_block_style"/>
4055
+
3811
4056
  <xsl:apply-templates select="*[local-name() = 'name']">
3812
4057
  <xsl:with-param name="process">true</xsl:with-param>
3813
4058
  </xsl:apply-templates>
@@ -3965,6 +4210,24 @@
3965
4210
 
3966
4211
  </xsl:template> <!-- END: dl -->
3967
4212
 
4213
+ <xsl:template name="refine_dl_formula_where_style">
4214
+
4215
+ </xsl:template> <!-- refine_dl_formula_where_style -->
4216
+
4217
+ <xsl:template name="refine_figure_key_style">
4218
+
4219
+ </xsl:template> <!-- refine_figure_key_style -->
4220
+
4221
+ <xsl:template name="refine_multicomponent_style">
4222
+ <xsl:variable name="parent" select="local-name(..)"/>
4223
+
4224
+ </xsl:template> <!-- refine_multicomponent_style -->
4225
+
4226
+ <xsl:template name="refine_multicomponent_block_style">
4227
+ <xsl:variable name="parent" select="local-name(..)"/>
4228
+
4229
+ </xsl:template> <!-- refine_multicomponent_block_style -->
4230
+
3968
4231
  <!-- ignore 'p' with 'where' in formula, before 'dl' -->
3969
4232
  <xsl:template match="*[local-name() = 'formula']/*[local-name() = 'p' and @keep-with-next = 'true' and following-sibling::*[1][local-name() = 'dl']]"/>
3970
4233
 
@@ -4184,6 +4447,8 @@
4184
4447
 
4185
4448
  </xsl:if>
4186
4449
 
4450
+ <xsl:call-template name="refine_dt-cell-style"/>
4451
+
4187
4452
  <fo:block xsl:use-attribute-sets="dt-block-style">
4188
4453
  <xsl:copy-of select="@id"/>
4189
4454
 
@@ -4191,6 +4456,8 @@
4191
4456
  <xsl:attribute name="margin-top">0</xsl:attribute>
4192
4457
  </xsl:if>
4193
4458
 
4459
+ <xsl:call-template name="refine_dt-block-style"/>
4460
+
4194
4461
  <xsl:apply-templates>
4195
4462
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
4196
4463
  </xsl:apply-templates>
@@ -4210,6 +4477,8 @@
4210
4477
  <xsl:attribute name="border">0.1pt solid black</xsl:attribute>
4211
4478
  </xsl:if>
4212
4479
 
4480
+ <xsl:call-template name="refine_dd-cell-style"/>
4481
+
4213
4482
  <fo:block>
4214
4483
 
4215
4484
  <xsl:if test="$isGenerateTableIF = 'true'">
@@ -4360,12 +4629,18 @@
4360
4629
  <xsl:param name="split_keep-within-line"/>
4361
4630
  <fo:inline font-weight="bold">
4362
4631
 
4632
+ <xsl:call-template name="refine_strong_style"/>
4633
+
4363
4634
  <xsl:apply-templates>
4364
4635
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
4365
4636
  </xsl:apply-templates>
4366
4637
  </fo:inline>
4367
4638
  </xsl:template>
4368
4639
 
4640
+ <xsl:template name="refine_strong_style">
4641
+
4642
+ </xsl:template>
4643
+
4369
4644
  <xsl:template match="*[local-name()='padding']">
4370
4645
  <fo:inline padding-right="{@value}"> </fo:inline>
4371
4646
  </xsl:template>
@@ -4832,7 +5107,10 @@
4832
5107
  </xsl:choose>
4833
5108
  </xsl:variable>
4834
5109
 
4835
- <xsl:value-of select="$text9"/>
5110
+ <!-- replace sequence #x200B and space TO space -->
5111
+ <xsl:variable name="text10" select="java:replaceAll(java:java.lang.String.new($text9), '\u200b ', ' ')"/>
5112
+
5113
+ <xsl:value-of select="$text10"/>
4836
5114
  </xsl:template>
4837
5115
 
4838
5116
  <xsl:template name="add-zero-spaces-link-java">
@@ -5507,6 +5785,11 @@
5507
5785
 
5508
5786
  <fo:inline xsl:use-attribute-sets="mathml-style">
5509
5787
 
5788
+ <!-- DEBUG -->
5789
+ <!-- <xsl:copy-of select="ancestor::*[local-name() = 'stem']/@font-family"/> -->
5790
+
5791
+ <xsl:call-template name="refine_mathml-style"/>
5792
+
5510
5793
  <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
5794
  <!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
5512
5795
  </xsl:if>
@@ -5611,6 +5894,8 @@
5611
5894
 
5612
5895
  <fo:instream-foreign-object fox:alt-text="Math">
5613
5896
 
5897
+ <xsl:call-template name="refine_mathml_insteam_object_style"/>
5898
+
5614
5899
  <!-- put MathML in Actual Text -->
5615
5900
  <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
5616
5901
  <xsl:attribute name="fox:actual-text">
@@ -5631,6 +5916,10 @@
5631
5916
  </fo:instream-foreign-object>
5632
5917
  </xsl:template>
5633
5918
 
5919
+ <xsl:template name="refine_mathml_insteam_object_style">
5920
+
5921
+ </xsl:template> <!-- refine_mathml_insteam_object_style -->
5922
+
5634
5923
  <xsl:template match="mathml:*" mode="mathml_actual_text">
5635
5924
  <!-- <xsl:text>a+b</xsl:text> -->
5636
5925
  <xsl:text>&lt;</xsl:text>
@@ -5775,6 +6064,8 @@
5775
6064
  <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
5776
6065
  <fo:inline xsl:use-attribute-sets="mathml-style">
5777
6066
 
6067
+ <xsl:call-template name="refine_mathml-style"/>
6068
+
5778
6069
  <xsl:choose>
5779
6070
  <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
5780
6071
  <xsl:otherwise>
@@ -5819,6 +6110,8 @@
5819
6110
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5820
6111
  </xsl:if>
5821
6112
 
6113
+ <xsl:call-template name="refine_link-style"/>
6114
+
5822
6115
  <xsl:choose>
5823
6116
  <xsl:when test="$target_text = ''">
5824
6117
  <xsl:apply-templates/>
@@ -5906,6 +6199,9 @@
5906
6199
  <xsl:call-template name="insert_basic_link">
5907
6200
  <xsl:with-param name="element">
5908
6201
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
6202
+ <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'])">
6203
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6204
+ </xsl:if>
5909
6205
  <xsl:if test="parent::*[local-name() = 'add']">
5910
6206
  <xsl:call-template name="append_add-style"/>
5911
6207
  </xsl:if>
@@ -5967,10 +6263,7 @@
5967
6263
  <fo:table-cell display-align="center">
5968
6264
  <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5969
6265
 
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>
6266
+ <xsl:call-template name="refine_formula-stem-block-style"/>
5974
6267
 
5975
6268
  <xsl:apply-templates/>
5976
6269
  </fo:block>
@@ -6013,21 +6306,18 @@
6013
6306
 
6014
6307
  <xsl:call-template name="setBlockSpanAll"/>
6015
6308
 
6309
+ <xsl:call-template name="refine_note-style"/>
6310
+
6016
6311
  <fo:block-container margin-left="0mm" margin-right="0mm">
6017
6312
 
6018
6313
  <fo:block>
6019
6314
 
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>
6315
+ <xsl:call-template name="refine_note_block_style"/>
6028
6316
 
6029
6317
  <fo:inline xsl:use-attribute-sets="note-name-style">
6030
6318
 
6319
+ <xsl:call-template name="refine_note-name-style"/>
6320
+
6031
6321
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6032
6322
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
6033
6323
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6053,6 +6343,19 @@
6053
6343
 
6054
6344
  </xsl:template>
6055
6345
 
6346
+ <xsl:template name="refine_note_block_style">
6347
+
6348
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
6349
+ <xsl:attribute name="text-indent">0</xsl:attribute>
6350
+ <xsl:attribute name="padding-top">1.5mm</xsl:attribute>
6351
+ <xsl:if test="../@type = 'source' or ../@type = 'abbreviation'">
6352
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
6353
+ <xsl:attribute name="text-align">justify</xsl:attribute>
6354
+ <xsl:attribute name="padding-top">0mm</xsl:attribute>
6355
+ </xsl:if>
6356
+
6357
+ </xsl:template>
6358
+
6056
6359
  <xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
6057
6360
  <xsl:variable name="num"><xsl:number/></xsl:variable>
6058
6361
  <xsl:choose>
@@ -6074,12 +6377,16 @@
6074
6377
 
6075
6378
  <xsl:call-template name="setBlockSpanAll"/>
6076
6379
 
6380
+ <xsl:call-template name="refine_termnote-style"/>
6381
+
6077
6382
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
6078
6383
 
6079
6384
  <xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
6080
6385
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
6081
6386
  </xsl:if>
6082
6387
 
6388
+ <xsl:call-template name="refine_termnote-name-style"/>
6389
+
6083
6390
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6084
6391
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
6085
6392
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6253,6 +6560,8 @@
6253
6560
  <xsl:otherwise>
6254
6561
  <fo:block xsl:use-attribute-sets="image-style">
6255
6562
 
6563
+ <xsl:call-template name="refine_image-style"/>
6564
+
6256
6565
  <xsl:variable name="src">
6257
6566
  <xsl:call-template name="image_src"/>
6258
6567
  </xsl:variable>
@@ -7102,6 +7411,8 @@
7102
7411
  <xsl:if test="normalize-space() != ''">
7103
7412
  <fo:block xsl:use-attribute-sets="figure-name-style">
7104
7413
 
7414
+ <xsl:call-template name="refine_figure-name-style"/>
7415
+
7105
7416
  <xsl:apply-templates/>
7106
7417
  </fo:block>
7107
7418
  </xsl:if>
@@ -7366,6 +7677,8 @@
7366
7677
  </xsl:attribute>
7367
7678
  </xsl:for-each>
7368
7679
 
7680
+ <xsl:call-template name="refine_sourcecode-style"/>
7681
+
7369
7682
  <!-- remove margin between rows in the table with sourcecode line numbers -->
7370
7683
  <xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
7371
7684
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
@@ -8070,6 +8383,8 @@
8070
8383
 
8071
8384
  <xsl:call-template name="setBlockSpanAll"/>
8072
8385
 
8386
+ <xsl:call-template name="refine_example-style"/>
8387
+
8073
8388
  <xsl:variable name="fo_element">
8074
8389
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
8075
8390
  block
@@ -8197,9 +8512,7 @@
8197
8512
  </xsl:if>
8198
8513
  <fo:block xsl:use-attribute-sets="example-p-style">
8199
8514
 
8200
- <xsl:if test="$num = 1">
8201
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
8202
- </xsl:if>
8515
+ <xsl:call-template name="refine_example-p-style"/>
8203
8516
 
8204
8517
  <xsl:apply-templates/>
8205
8518
  </fo:block>
@@ -8217,6 +8530,7 @@
8217
8530
  </xsl:otherwise>
8218
8531
  </xsl:choose>
8219
8532
  </xsl:template> <!-- example/p -->
8533
+
8220
8534
  <!-- ====== -->
8221
8535
  <!-- ====== -->
8222
8536
 
@@ -8228,6 +8542,8 @@
8228
8542
  <xsl:template match="*[local-name() = 'termsource']" name="termsource">
8229
8543
  <fo:block xsl:use-attribute-sets="termsource-style">
8230
8544
 
8545
+ <xsl:call-template name="refine_termsource-style"/>
8546
+
8231
8547
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
8232
8548
  <xsl:variable name="termsource_text">
8233
8549
  <xsl:apply-templates/>
@@ -8343,6 +8659,8 @@
8343
8659
  <fo:block-container margin-left="0mm">
8344
8660
  <fo:block-container xsl:use-attribute-sets="quote-style">
8345
8661
 
8662
+ <xsl:call-template name="refine_quote-style"/>
8663
+
8346
8664
  <fo:block-container margin-left="0mm" margin-right="0mm">
8347
8665
  <fo:block role="BlockQuote">
8348
8666
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
@@ -8417,8 +8735,7 @@
8417
8735
 
8418
8736
  </xsl:if>
8419
8737
 
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()"/>
8738
+ <xsl:call-template name="refine_eref-style"/>
8422
8739
 
8423
8740
  <xsl:call-template name="insert_basic_link">
8424
8741
  <xsl:with-param name="element">
@@ -8428,7 +8745,7 @@
8428
8745
  </xsl:if>
8429
8746
  <xsl:if test="@type = 'inline'">
8430
8747
 
8431
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
8748
+ <xsl:call-template name="refine_basic_link_style"/>
8432
8749
 
8433
8750
  </xsl:if>
8434
8751
 
@@ -8462,6 +8779,13 @@
8462
8779
  </xsl:otherwise>
8463
8780
  </xsl:choose>
8464
8781
  </xsl:template>
8782
+
8783
+ <xsl:template name="refine_basic_link_style">
8784
+
8785
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
8786
+
8787
+ </xsl:template> <!-- refine_basic_link_style -->
8788
+
8465
8789
  <!-- ====== -->
8466
8790
  <!-- END eref -->
8467
8791
  <!-- ====== -->
@@ -8604,16 +8928,22 @@
8604
8928
  <fo:block>
8605
8929
  <xsl:call-template name="setId"/>
8606
8930
 
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>
8931
+ <xsl:call-template name="sections_element_style"/>
8611
8932
 
8612
8933
  <xsl:apply-templates/>
8613
8934
  </fo:block>
8614
8935
 
8615
8936
  </xsl:template>
8616
8937
 
8938
+ <xsl:template name="sections_element_style">
8939
+
8940
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
8941
+ <xsl:if test="$num = 1">
8942
+ <xsl:attribute name="margin-top">20pt</xsl:attribute>
8943
+ </xsl:if>
8944
+
8945
+ </xsl:template> <!-- sections_element_style -->
8946
+
8617
8947
  <xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
8618
8948
  <fo:block break-after="page"/>
8619
8949
  <fo:block>
@@ -8628,10 +8958,16 @@
8628
8958
 
8629
8959
  <xsl:call-template name="setBlockSpanAll"/>
8630
8960
 
8961
+ <xsl:call-template name="refine_clause_style"/>
8962
+
8631
8963
  <xsl:apply-templates/>
8632
8964
  </fo:block>
8633
8965
  </xsl:template>
8634
8966
 
8967
+ <xsl:template name="refine_clause_style">
8968
+
8969
+ </xsl:template> <!-- refine_clause_style -->
8970
+
8635
8971
  <xsl:template match="*[local-name() = 'definitions']">
8636
8972
  <fo:block id="{@id}">
8637
8973
  <xsl:apply-templates/>
@@ -8644,15 +8980,21 @@
8644
8980
 
8645
8981
  <xsl:call-template name="setBlockSpanAll"/>
8646
8982
 
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>
8983
+ <xsl:call-template name="refine_annex_style"/>
8651
8984
 
8652
8985
  </fo:block>
8653
8986
  <xsl:apply-templates/>
8654
8987
  </xsl:template>
8655
8988
 
8989
+ <xsl:template name="refine_annex_style">
8990
+
8991
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
8992
+ <xsl:if test="$num = 1">
8993
+ <xsl:attribute name="margin-top">3pt</xsl:attribute>
8994
+ </xsl:if>
8995
+
8996
+ </xsl:template>
8997
+
8656
8998
  <xsl:template match="*[local-name() = 'review']"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
8657
8999
  <!-- comment 2019-11-29 -->
8658
9000
  <!-- <fo:block font-weight="bold">Review:</fo:block>
@@ -8817,6 +9159,8 @@
8817
9159
  </xsl:choose>
8818
9160
  </xsl:attribute>
8819
9161
 
9162
+ <xsl:call-template name="refine_list_container_style"/>
9163
+
8820
9164
  <fo:block-container margin-left="0mm">
8821
9165
  <fo:block>
8822
9166
  <xsl:apply-templates select="." mode="list"/>
@@ -8834,6 +9178,10 @@
8834
9178
  </xsl:choose>
8835
9179
  </xsl:template>
8836
9180
 
9181
+ <xsl:template name="refine_list_container_style">
9182
+
9183
+ </xsl:template> <!-- refine_list_container_style -->
9184
+
8837
9185
  <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
8838
9186
 
8839
9187
  <xsl:apply-templates select="*[local-name() = 'name']">
@@ -8844,11 +9192,7 @@
8844
9192
 
8845
9193
  <xsl:variable name="provisional_distance_between_starts_">
8846
9194
  <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
-
9195
+ <xsl:call-template name="refine_list-style_provisional-distance-between-starts"/>
8852
9196
  </attributes>
8853
9197
  </xsl:variable>
8854
9198
  <xsl:variable name="provisional_distance_between_starts" select="normalize-space(xalan:nodeset($provisional_distance_between_starts_)/attributes/@provisional-distance-between-starts)"/>
@@ -8884,6 +9228,8 @@
8884
9228
  <addon><xsl:value-of select="$addon"/></addon> -->
8885
9229
  </xsl:if>
8886
9230
 
9231
+ <xsl:call-template name="refine_list-style"/>
9232
+
8887
9233
  <xsl:if test="*[local-name() = 'name']">
8888
9234
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
8889
9235
  </xsl:if>
@@ -8896,6 +9242,14 @@
8896
9242
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
8897
9243
  </xsl:template>
8898
9244
 
9245
+ <xsl:template name="refine_list-style_provisional-distance-between-starts">
9246
+
9247
+ <xsl:if test="local-name() = 'ol'">
9248
+ <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
9249
+ </xsl:if>
9250
+
9251
+ </xsl:template> <!-- refine_list-style_provisional-distance-between-starts -->
9252
+
8899
9253
  <xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
8900
9254
  <xsl:param name="process">false</xsl:param>
8901
9255
  <xsl:if test="$process = 'true'">
@@ -8909,20 +9263,27 @@
8909
9263
  <fo:list-item xsl:use-attribute-sets="list-item-style">
8910
9264
  <xsl:copy-of select="@id"/>
8911
9265
 
9266
+ <xsl:call-template name="refine_list-item-style"/>
9267
+
8912
9268
  <fo:list-item-label end-indent="label-end()">
8913
9269
  <fo:block xsl:use-attribute-sets="list-item-label-style">
8914
9270
 
9271
+ <xsl:call-template name="refine_list-item-label-style"/>
9272
+
8915
9273
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
8916
9274
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
8917
9275
  <xsl:call-template name="append_add-style"/>
8918
9276
  </xsl:if>
8919
9277
 
8920
9278
  <xsl:call-template name="getListItemFormat"/>
9279
+
8921
9280
  </fo:block>
8922
9281
  </fo:list-item-label>
8923
9282
  <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
8924
9283
  <fo:block>
8925
9284
 
9285
+ <xsl:call-template name="refine_list-item-body-style"/>
9286
+
8926
9287
  <xsl:apply-templates/>
8927
9288
 
8928
9289
  <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
@@ -9240,6 +9601,7 @@
9240
9601
 
9241
9602
  <fo:block id="{@id}">
9242
9603
  <xsl:apply-templates/>
9604
+
9243
9605
  </fo:block>
9244
9606
  </xsl:template>
9245
9607
 
@@ -9257,6 +9619,7 @@
9257
9619
 
9258
9620
  <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
9259
9621
  <xsl:apply-templates/>
9622
+
9260
9623
  </fo:block>
9261
9624
 
9262
9625
  </xsl:template> <!-- references -->
@@ -9820,6 +10183,9 @@
9820
10183
  </xsl:copy>
9821
10184
  </xsl:template>
9822
10185
 
10186
+ <!-- prevent empty thead processing in XSL-FO, remove it -->
10187
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'thead'][count(*) = 0]" mode="update_xml_step1"/>
10188
+
9823
10189
  <xsl:template name="add_id">
9824
10190
  <xsl:if test="not(@id)">
9825
10191
  <!-- add @id - first element with @id plus '_element_name' -->
@@ -10104,6 +10470,14 @@
10104
10470
  <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
10471
  <xsl:variable name="p_fn_">
10106
10472
  <xsl:call-template name="get_fn_list"/>
10473
+ <!-- <xsl:choose>
10474
+ <xsl:when test="$namespace = 'jis'">
10475
+ <xsl:call-template name="get_fn_list_for_element"/>
10476
+ </xsl:when>
10477
+ <xsl:otherwise>
10478
+ <xsl:call-template name="get_fn_list"/>
10479
+ </xsl:otherwise>
10480
+ </xsl:choose> -->
10107
10481
  </xsl:variable>
10108
10482
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
10109
10483
  <xsl:variable name="gen_id" select="generate-id(.)"/>
@@ -10118,8 +10492,14 @@
10118
10492
  <xsl:attribute name="current_fn_number">
10119
10493
  <xsl:value-of select="$current_fn_number"/>
10120
10494
  </xsl:attribute>
10495
+ <xsl:variable name="skip_footnote_body_" select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
10121
10496
  <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))"/>
10497
+
10498
+ <xsl:value-of select="$skip_footnote_body_"/>
10499
+
10500
+ </xsl:attribute>
10501
+ <xsl:attribute name="ref_id">
10502
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
10123
10503
  </xsl:attribute>
10124
10504
  <xsl:apply-templates select="node()" mode="linear_xml"/>
10125
10505
  </xsl:copy>