metanorma-un 0.10.8 → 0.10.10

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>
@@ -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>