metanorma-iho 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,11 +2,6 @@
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
5
- <xsl:param name="svg_images"/>
6
- <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
7
- <xsl:variable name="images" select="document($svg_images)"/>
8
- <xsl:param name="basepath"/>
9
-
10
5
 
11
6
 
12
7
  <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
@@ -15,19 +10,11 @@
15
10
 
16
11
  <xsl:variable name="debug">false</xsl:variable>
17
12
 
18
- <xsl:variable name="marginLeftRight1" select="25.4"/>
19
- <xsl:variable name="marginLeftRight2" select="25.4"/>
20
- <xsl:variable name="marginTop" select="25.4"/>
21
- <xsl:variable name="marginBottom" select="25.4"/>
22
-
23
-
13
+
24
14
  <xsl:variable name="title-en" select="/iho:iho-standard/iho:bibdata/iho:title[@language = 'en']"/>
25
15
  <xsl:variable name="docidentifier" select="/iho:iho-standard/iho:bibdata/iho:docidentifier[@type = 'IHO']"/>
26
16
  <xsl:variable name="copyrightText" select="concat('© International Hydrographic Association ', /iho:iho-standard/iho:bibdata/iho:copyright/iho:from ,' – All rights reserved')"/>
27
17
 
28
- <xsl:variable name="lang">
29
- <xsl:call-template name="getLang"/>
30
- </xsl:variable>
31
18
 
32
19
  <!-- Example:
33
20
  <item level="1" id="Foreword" display="true">Foreword</item>
@@ -573,38 +560,13 @@
573
560
  <xsl:apply-templates/>
574
561
  </xsl:template>
575
562
 
576
-
577
- <xsl:template match="iho:ul | iho:ol" mode="ul_ol">
578
- <fo:list-block provisional-distance-between-starts="6mm">
579
- <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
580
- </fo:list-block>
581
- <xsl:for-each select="./iho:note">
582
- <xsl:call-template name="note"/>
583
- </xsl:for-each>
584
- </xsl:template>
585
-
563
+ <!-- note in list item -->
586
564
  <xsl:template match="iho:ul//iho:note | iho:ol//iho:note" priority="2">
587
565
  <fo:block id="{@id}">
588
566
  <xsl:apply-templates/>
589
567
  </fo:block>
590
568
  </xsl:template>
591
569
 
592
-
593
- <xsl:template match="iho:li">
594
- <fo:list-item id="{@id}" margin-bottom="12pt">
595
- <fo:list-item-label end-indent="label-end()">
596
- <fo:block line-height="115%">
597
- <xsl:call-template name="getListItemFormat"/>
598
- </fo:block>
599
- </fo:list-item-label>
600
- <fo:list-item-body start-indent="body-start()">
601
- <fo:block>
602
- <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
603
- <xsl:apply-templates select=".//iho:note"/>
604
- </fo:block>
605
- </fo:list-item-body>
606
- </fo:list-item>
607
- </xsl:template>
608
570
 
609
571
  <xsl:template match="iho:li//iho:p//text()">
610
572
  <xsl:choose>
@@ -618,13 +580,6 @@
618
580
  </xsl:template>
619
581
 
620
582
 
621
- <xsl:template match="iho:formula/iho:stem">
622
- <fo:block margin-top="6pt" margin-bottom="12pt" text-align="center">
623
- <xsl:apply-templates/>
624
- </fo:block>
625
- </xsl:template>
626
-
627
-
628
583
 
629
584
  <xsl:template match="iho:example/iho:p" priority="2">
630
585
  <fo:block-container xsl:use-attribute-sets="example-p-style">
@@ -645,23 +600,6 @@
645
600
  <!-- https://github.com/metanorma/mn-native-pdf/issues/214 -->
646
601
  <xsl:template match="iho:index"/>
647
602
 
648
-
649
- <xsl:template match="iho:preferred">
650
- <xsl:variable name="levelTerm">
651
- <xsl:call-template name="getLevelTermName"/>
652
- </xsl:variable>
653
- <fo:block line-height="1.1" role="H{$levelTerm}">
654
- <fo:block font-weight="bold" keep-with-next="always">
655
- <xsl:apply-templates select="ancestor::iho:term[1]/iho:name"/>
656
- </fo:block>
657
- <fo:block font-weight="bold" keep-with-next="always">
658
- <xsl:call-template name="setStyle_preferred"/>
659
- <xsl:apply-templates/>
660
- </fo:block>
661
- </fo:block>
662
- </xsl:template>
663
-
664
-
665
603
 
666
604
 
667
605
  <xsl:template name="insertHeaderFooter">
@@ -709,27 +647,6 @@
709
647
  </xsl:template>
710
648
 
711
649
 
712
- <xsl:template name="getListItemFormat">
713
- <xsl:choose>
714
- <xsl:when test="local-name(..) = 'ul'">
715
- <xsl:call-template name="setULLabel"/>
716
- </xsl:when>
717
- <xsl:otherwise> <!-- for ordered lists -->
718
- <xsl:choose>
719
- <xsl:when test="../@type = 'arabic'">
720
- <xsl:number format="a)" lang="en"/>
721
- </xsl:when>
722
- <xsl:when test="../@type = 'alphabet'">
723
- <xsl:number format="a)" lang="en"/>
724
- </xsl:when>
725
- <xsl:otherwise>
726
- <xsl:number format="1."/>
727
- </xsl:otherwise>
728
- </xsl:choose>
729
- </xsl:otherwise>
730
- </xsl:choose>
731
- </xsl:template>
732
-
733
650
  <xsl:template match="@*|node()" mode="step2">
734
651
  <xsl:copy>
735
652
  <xsl:apply-templates select="@*|node()" mode="step2"/>
@@ -806,11 +723,21 @@
806
723
  <xsl:text>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</xsl:text>
807
724
  </xsl:variable>
808
725
 
809
- <xsl:variable name="pageWidth_">
726
+ <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
727
+ <xsl:call-template name="getLang"/>
728
+ </xsl:variable><xsl:variable name="pageWidth_">
810
729
  210
811
730
  </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
812
731
  297
813
- </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
732
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
733
+ 25.4
734
+ </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
735
+ 25.4
736
+ </xsl:variable><xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/><xsl:variable name="marginTop_">
737
+ 25.4
738
+ </xsl:variable><xsl:variable name="marginTop" select="normalize-space($marginTop_)"/><xsl:variable name="marginBottom_">
739
+ 25.4
740
+ </xsl:variable><xsl:variable name="marginBottom" select="normalize-space($marginBottom_)"/><xsl:variable name="titles_">
814
741
 
815
742
  <title-edition lang="en">
816
743
 
@@ -872,7 +799,7 @@
872
799
  </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
873
800
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
874
801
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
875
- </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
802
+ </xsl:variable><xsl:variable name="linebreak">&#8232;</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space">​</xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
876
803
  <xsl:param name="name"/>
877
804
  <xsl:param name="lang"/>
878
805
  <xsl:variable name="lang_">
@@ -895,7 +822,7 @@
895
822
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
896
823
  </xsl:otherwise>
897
824
  </xsl:choose>
898
- </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
825
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:attribute-set name="root-style">
899
826
 
900
827
 
901
828
 
@@ -1063,12 +990,13 @@
1063
990
 
1064
991
 
1065
992
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1066
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1067
993
 
1068
994
 
1069
995
 
1070
996
 
1071
997
 
998
+
999
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1072
1000
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1073
1001
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1074
1002
 
@@ -1442,7 +1370,8 @@
1442
1370
 
1443
1371
 
1444
1372
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1445
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
1373
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
1374
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1446
1375
 
1447
1376
 
1448
1377
 
@@ -1454,10 +1383,8 @@
1454
1383
 
1455
1384
 
1456
1385
  </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1386
+ <xsl:attribute name="text-align">right</xsl:attribute>
1457
1387
 
1458
-
1459
- <xsl:attribute name="text-align">right</xsl:attribute>
1460
-
1461
1388
 
1462
1389
  </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1463
1390
 
@@ -1484,6 +1411,9 @@
1484
1411
 
1485
1412
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
1486
1413
 
1414
+ </xsl:attribute-set><xsl:attribute-set name="term-name-style">
1415
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1416
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1487
1417
  </xsl:attribute-set><xsl:attribute-set name="figure-style">
1488
1418
 
1489
1419
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
@@ -1515,6 +1445,33 @@
1515
1445
 
1516
1446
 
1517
1447
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1448
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1449
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1450
+
1451
+
1452
+
1453
+
1454
+
1455
+
1456
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-block-style">
1457
+ <xsl:attribute name="text-align">center</xsl:attribute>
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
1470
+ <xsl:attribute name="text-align">right</xsl:attribute>
1471
+
1472
+
1473
+
1474
+
1518
1475
 
1519
1476
  </xsl:attribute-set><xsl:attribute-set name="image-style">
1520
1477
  <xsl:attribute name="text-align">center</xsl:attribute>
@@ -1550,6 +1507,20 @@
1550
1507
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1551
1508
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1552
1509
 
1510
+ </xsl:attribute-set><xsl:attribute-set name="preferred-block-style">
1511
+
1512
+
1513
+
1514
+ <xsl:attribute name="line-height">1.1</xsl:attribute>
1515
+
1516
+
1517
+
1518
+
1519
+ </xsl:attribute-set><xsl:attribute-set name="preferred-term-style">
1520
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1521
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1522
+
1523
+
1553
1524
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
1554
1525
 
1555
1526
  </xsl:attribute-set><xsl:attribute-set name="admitted-style">
@@ -1585,6 +1556,39 @@
1585
1556
 
1586
1557
  </xsl:attribute-set><xsl:attribute-set name="list-style">
1587
1558
 
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+ <xsl:attribute name="provisional-distance-between-starts">6mm</xsl:attribute>
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+
1574
+
1575
+
1576
+
1577
+ </xsl:attribute-set><xsl:attribute-set name="list-item-style">
1578
+
1579
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1580
+
1581
+
1582
+ </xsl:attribute-set><xsl:attribute-set name="list-item-label-style">
1583
+
1584
+ <xsl:attribute name="line-height">115%</xsl:attribute>
1585
+
1586
+
1587
+
1588
+ </xsl:attribute-set><xsl:attribute-set name="list-item-body-style">
1589
+
1590
+
1591
+
1588
1592
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
1589
1593
  <xsl:attribute name="line-height">135%</xsl:attribute>
1590
1594
  </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
@@ -1869,6 +1873,111 @@
1869
1873
 
1870
1874
 
1871
1875
 
1876
+ </xsl:attribute-set><xsl:attribute-set name="hljs-doctag">
1877
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1878
+ </xsl:attribute-set><xsl:attribute-set name="hljs-keyword">
1879
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1880
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-keyword">
1881
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1882
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-tag">
1883
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1884
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-variable">
1885
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1886
+ </xsl:attribute-set><xsl:attribute-set name="hljs-type">
1887
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1888
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable_and_language_">
1889
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1890
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title">
1891
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1892
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class_">
1893
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1894
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class__and_inherited__">
1895
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1896
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_function_">
1897
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1898
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attr">
1899
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1900
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attribute">
1901
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1902
+ </xsl:attribute-set><xsl:attribute-set name="hljs-literal">
1903
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1904
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta">
1905
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1906
+ </xsl:attribute-set><xsl:attribute-set name="hljs-number">
1907
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1908
+ </xsl:attribute-set><xsl:attribute-set name="hljs-operator">
1909
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1910
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable">
1911
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1912
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-attr">
1913
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1914
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-class">
1915
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1916
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-id">
1917
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1918
+ </xsl:attribute-set><xsl:attribute-set name="hljs-regexp">
1919
+ <xsl:attribute name="color">#032f62</xsl:attribute>
1920
+ </xsl:attribute-set><xsl:attribute-set name="hljs-string">
1921
+ <xsl:attribute name="color">#032f62</xsl:attribute>
1922
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-string">
1923
+ <xsl:attribute name="color">#032f62</xsl:attribute>
1924
+ </xsl:attribute-set><xsl:attribute-set name="hljs-built_in">
1925
+ <xsl:attribute name="color">#e36209</xsl:attribute>
1926
+ </xsl:attribute-set><xsl:attribute-set name="hljs-symbol">
1927
+ <xsl:attribute name="color">#e36209</xsl:attribute>
1928
+ </xsl:attribute-set><xsl:attribute-set name="hljs-comment">
1929
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
1930
+ </xsl:attribute-set><xsl:attribute-set name="hljs-code">
1931
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
1932
+ </xsl:attribute-set><xsl:attribute-set name="hljs-formula">
1933
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
1934
+ </xsl:attribute-set><xsl:attribute-set name="hljs-name">
1935
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1936
+ </xsl:attribute-set><xsl:attribute-set name="hljs-quote">
1937
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1938
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-tag">
1939
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1940
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-pseudo">
1941
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1942
+ </xsl:attribute-set><xsl:attribute-set name="hljs-subst">
1943
+ <xsl:attribute name="color">#24292e</xsl:attribute>
1944
+ </xsl:attribute-set><xsl:attribute-set name="hljs-section">
1945
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1946
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1947
+ </xsl:attribute-set><xsl:attribute-set name="hljs-bullet">
1948
+ <xsl:attribute name="color">#735c0f</xsl:attribute>
1949
+ </xsl:attribute-set><xsl:attribute-set name="hljs-emphasis">
1950
+ <xsl:attribute name="color">#24292e</xsl:attribute>
1951
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1952
+ </xsl:attribute-set><xsl:attribute-set name="hljs-strong">
1953
+ <xsl:attribute name="color">#24292e</xsl:attribute>
1954
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1955
+ </xsl:attribute-set><xsl:attribute-set name="hljs-addition">
1956
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1957
+ <xsl:attribute name="background-color">#f0fff4</xsl:attribute>
1958
+ </xsl:attribute-set><xsl:attribute-set name="hljs-deletion">
1959
+ <xsl:attribute name="color">#b31d28</xsl:attribute>
1960
+ <xsl:attribute name="background-color">#ffeef0</xsl:attribute>
1961
+ </xsl:attribute-set><xsl:attribute-set name="hljs-char_and_escape_">
1962
+ </xsl:attribute-set><xsl:attribute-set name="hljs-link">
1963
+ </xsl:attribute-set><xsl:attribute-set name="hljs-params">
1964
+ </xsl:attribute-set><xsl:attribute-set name="hljs-property">
1965
+ </xsl:attribute-set><xsl:attribute-set name="hljs-punctuation">
1966
+ </xsl:attribute-set><xsl:attribute-set name="hljs-tag">
1967
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-title-style">
1968
+ <xsl:attribute name="role">H1</xsl:attribute>
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-clause-title-style">
1975
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1976
+
1977
+
1978
+
1979
+
1980
+
1872
1981
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1873
1982
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1874
1983
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1955,9 +2064,12 @@
1955
2064
 
1956
2065
 
1957
2066
  </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
2067
+ <xsl:param name="margin"/>
1958
2068
 
1959
2069
  <!-- process in the template 'paragraph' -->
1960
- <xsl:call-template name="paragraph"/>
2070
+ <xsl:call-template name="paragraph">
2071
+ <xsl:with-param name="margin" select="$margin"/>
2072
+ </xsl:call-template>
1961
2073
 
1962
2074
  </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
1963
2075
  <fo:block xsl:use-attribute-sets="feedback-statement-style">
@@ -1969,9 +2081,12 @@
1969
2081
  <xsl:call-template name="title"/>
1970
2082
 
1971
2083
  </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
2084
+ <xsl:param name="margin"/>
1972
2085
 
1973
2086
  <!-- process in the template 'paragraph' -->
1974
- <xsl:call-template name="paragraph"/>
2087
+ <xsl:call-template name="paragraph">
2088
+ <xsl:with-param name="margin" select="$margin"/>
2089
+ </xsl:call-template>
1975
2090
 
1976
2091
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
1977
2092
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
@@ -2311,8 +2426,7 @@
2311
2426
  </xsl:call-template>
2312
2427
  </xsl:if>
2313
2428
  </xsl:template><xsl:template match="text()" mode="td_text">
2314
- <xsl:variable name="zero-space">​</xsl:variable>
2315
- <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
2429
+ <xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
2316
2430
  </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
2317
2431
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2318
2432
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
@@ -3286,20 +3400,44 @@
3286
3400
  <fo:inline text-decoration="underline">
3287
3401
  <xsl:apply-templates/>
3288
3402
  </fo:inline>
3289
- </xsl:template><xsl:template match="*[local-name()='add']">
3403
+ </xsl:template><xsl:template match="*[local-name()='add']" name="tag_add">
3290
3404
  <xsl:param name="skip">true</xsl:param>
3405
+ <xsl:param name="block">false</xsl:param>
3406
+ <xsl:param name="type"/>
3407
+ <xsl:param name="text-align"/>
3291
3408
  <xsl:choose>
3292
3409
  <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3293
3410
  <xsl:choose>
3294
- <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3411
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3295
3412
  <xsl:otherwise>
3296
- <fo:inline>
3413
+ <xsl:variable name="tag">
3297
3414
  <xsl:call-template name="insertTag">
3298
- <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3415
+ <xsl:with-param name="type">
3416
+ <xsl:choose>
3417
+ <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
3418
+ <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
3419
+ </xsl:choose>
3420
+ </xsl:with-param>
3299
3421
  <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3300
3422
  <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3301
3423
  </xsl:call-template>
3302
- </fo:inline>
3424
+ </xsl:variable>
3425
+ <xsl:choose>
3426
+ <xsl:when test="$block = 'false'">
3427
+ <fo:inline>
3428
+ <xsl:copy-of select="$tag"/>
3429
+ </fo:inline>
3430
+ </xsl:when>
3431
+ <xsl:otherwise>
3432
+ <fo:block> <!-- for around figures -->
3433
+ <xsl:if test="$text-align != ''">
3434
+ <xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
3435
+ </xsl:if>
3436
+ <xsl:copy-of select="$tag"/>
3437
+ </fo:block>
3438
+ </xsl:otherwise>
3439
+ </xsl:choose>
3440
+
3303
3441
  </xsl:otherwise>
3304
3442
  </xsl:choose>
3305
3443
  </xsl:when>
@@ -3658,17 +3796,21 @@
3658
3796
  </xsl:apply-templates>
3659
3797
  </xsl:template><xsl:template name="getLang">
3660
3798
  <xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
3661
- <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
3662
3799
  <xsl:variable name="language">
3663
3800
  <xsl:choose>
3664
3801
  <xsl:when test="$language_current != ''">
3665
3802
  <xsl:value-of select="$language_current"/>
3666
3803
  </xsl:when>
3667
- <xsl:when test="$language_current_2 != ''">
3668
- <xsl:value-of select="$language_current_2"/>
3669
- </xsl:when>
3670
3804
  <xsl:otherwise>
3671
- <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3805
+ <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
3806
+ <xsl:choose>
3807
+ <xsl:when test="$language_current_2 != ''">
3808
+ <xsl:value-of select="$language_current_2"/>
3809
+ </xsl:when>
3810
+ <xsl:otherwise>
3811
+ <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3812
+ </xsl:otherwise>
3813
+ </xsl:choose>
3672
3814
  </xsl:otherwise>
3673
3815
  </xsl:choose>
3674
3816
  </xsl:variable>
@@ -3885,8 +4027,8 @@
3885
4027
 
3886
4028
  </xsl:if>
3887
4029
  <fo:block-container margin-left="0mm">
3888
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
3889
- <xsl:apply-templates/>
4030
+ <fo:block id="{@id}">
4031
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
3890
4032
  </fo:block>
3891
4033
  </fo:block-container>
3892
4034
  </fo:block-container>
@@ -3898,10 +4040,43 @@
3898
4040
  <fo:inline>
3899
4041
  <xsl:apply-templates/>
3900
4042
  </fo:inline>
3901
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
4043
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
3902
4044
  <xsl:if test="normalize-space() != ''">
3903
4045
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3904
4046
  </xsl:if>
4047
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][*[local-name() = 'name']]/*[local-name() = 'stem']">
4048
+ <fo:block xsl:use-attribute-sets="formula-style">
4049
+
4050
+
4051
+
4052
+ <fo:table table-layout="fixed" width="100%">
4053
+ <fo:table-column column-width="95%"/>
4054
+ <fo:table-column column-width="5%"/>
4055
+ <fo:table-body>
4056
+ <fo:table-row>
4057
+ <fo:table-cell display-align="center">
4058
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
4059
+
4060
+
4061
+
4062
+ <xsl:apply-templates/>
4063
+ </fo:block>
4064
+ </fo:table-cell>
4065
+ <fo:table-cell display-align="center">
4066
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style">
4067
+ <xsl:apply-templates select="../*[local-name() = 'name']"/>
4068
+ </fo:block>
4069
+ </fo:table-cell>
4070
+ </fo:table-row>
4071
+ </fo:table-body>
4072
+ </fo:table>
4073
+ </fo:block>
4074
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][not(*[local-name() = 'name'])]/*[local-name() = 'stem']">
4075
+ <fo:block xsl:use-attribute-sets="formula-style">
4076
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
4077
+ <xsl:apply-templates/>
4078
+ </fo:block>
4079
+ </fo:block>
3905
4080
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3906
4081
 
3907
4082
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
@@ -4851,12 +5026,140 @@
4851
5026
  </fo:block-container>
4852
5027
  </fo:block-container>
4853
5028
  </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
4854
- <xsl:variable name="text">
5029
+ <xsl:choose>
5030
+ <xsl:when test="normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
5031
+ <xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
5032
+ <xsl:choose>
5033
+ <xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
5034
+ <xsl:apply-templates select="xalan:nodeset($syntax)" mode="syntax_highlight"/> <!-- process span tags -->
5035
+ </xsl:when>
5036
+ <xsl:otherwise> <!-- if case of non-succesfull syntax highlight (for instance, unknown lang), process without highlighting -->
5037
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
5038
+ </xsl:otherwise>
5039
+ </xsl:choose>
5040
+ </xsl:when>
5041
+ <xsl:otherwise>
5042
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
5043
+ </xsl:otherwise>
5044
+ </xsl:choose>
5045
+
5046
+ </xsl:template><xsl:template name="add_spaces_to_sourcecode">
5047
+ <xsl:variable name="text_step1">
4855
5048
  <xsl:call-template name="add-zero-spaces-equal"/>
4856
5049
  </xsl:variable>
4857
- <xsl:call-template name="add-zero-spaces-java">
4858
- <xsl:with-param name="text" select="$text"/>
4859
- </xsl:call-template>
5050
+ <xsl:variable name="text_step2">
5051
+ <xsl:call-template name="add-zero-spaces-java">
5052
+ <xsl:with-param name="text" select="$text_step1"/>
5053
+ </xsl:call-template>
5054
+ </xsl:variable>
5055
+ <xsl:value-of select="$text_step2"/>
5056
+ </xsl:template><xsl:template match="*" mode="syntax_highlight">
5057
+ <xsl:apply-templates mode="syntax_highlight"/>
5058
+ </xsl:template><xsl:variable name="syntax_highlight_styles_">
5059
+ <style class="hljs-addition" xsl:use-attribute-sets="hljs-addition"/>
5060
+ <style class="hljs-attr" xsl:use-attribute-sets="hljs-attr"/>
5061
+ <style class="hljs-attribute" xsl:use-attribute-sets="hljs-attribute"/>
5062
+ <style class="hljs-built_in" xsl:use-attribute-sets="hljs-built_in"/>
5063
+ <style class="hljs-bullet" xsl:use-attribute-sets="hljs-bullet"/>
5064
+ <style class="hljs-char_and_escape_" xsl:use-attribute-sets="hljs-char_and_escape_"/>
5065
+ <style class="hljs-code" xsl:use-attribute-sets="hljs-code"/>
5066
+ <style class="hljs-comment" xsl:use-attribute-sets="hljs-comment"/>
5067
+ <style class="hljs-deletion" xsl:use-attribute-sets="hljs-deletion"/>
5068
+ <style class="hljs-doctag" xsl:use-attribute-sets="hljs-doctag"/>
5069
+ <style class="hljs-emphasis" xsl:use-attribute-sets="hljs-emphasis"/>
5070
+ <style class="hljs-formula" xsl:use-attribute-sets="hljs-formula"/>
5071
+ <style class="hljs-keyword" xsl:use-attribute-sets="hljs-keyword"/>
5072
+ <style class="hljs-link" xsl:use-attribute-sets="hljs-link"/>
5073
+ <style class="hljs-literal" xsl:use-attribute-sets="hljs-literal"/>
5074
+ <style class="hljs-meta" xsl:use-attribute-sets="hljs-meta"/>
5075
+ <style class="hljs-meta_hljs-string" xsl:use-attribute-sets="hljs-meta_hljs-string"/>
5076
+ <style class="hljs-meta_hljs-keyword" xsl:use-attribute-sets="hljs-meta_hljs-keyword"/>
5077
+ <style class="hljs-name" xsl:use-attribute-sets="hljs-name"/>
5078
+ <style class="hljs-number" xsl:use-attribute-sets="hljs-number"/>
5079
+ <style class="hljs-operator" xsl:use-attribute-sets="hljs-operator"/>
5080
+ <style class="hljs-params" xsl:use-attribute-sets="hljs-params"/>
5081
+ <style class="hljs-property" xsl:use-attribute-sets="hljs-property"/>
5082
+ <style class="hljs-punctuation" xsl:use-attribute-sets="hljs-punctuation"/>
5083
+ <style class="hljs-quote" xsl:use-attribute-sets="hljs-quote"/>
5084
+ <style class="hljs-regexp" xsl:use-attribute-sets="hljs-regexp"/>
5085
+ <style class="hljs-section" xsl:use-attribute-sets="hljs-section"/>
5086
+ <style class="hljs-selector-attr" xsl:use-attribute-sets="hljs-selector-attr"/>
5087
+ <style class="hljs-selector-class" xsl:use-attribute-sets="hljs-selector-class"/>
5088
+ <style class="hljs-selector-id" xsl:use-attribute-sets="hljs-selector-id"/>
5089
+ <style class="hljs-selector-pseudo" xsl:use-attribute-sets="hljs-selector-pseudo"/>
5090
+ <style class="hljs-selector-tag" xsl:use-attribute-sets="hljs-selector-tag"/>
5091
+ <style class="hljs-string" xsl:use-attribute-sets="hljs-string"/>
5092
+ <style class="hljs-strong" xsl:use-attribute-sets="hljs-strong"/>
5093
+ <style class="hljs-subst" xsl:use-attribute-sets="hljs-subst"/>
5094
+ <style class="hljs-symbol" xsl:use-attribute-sets="hljs-symbol"/>
5095
+ <style class="hljs-tag" xsl:use-attribute-sets="hljs-tag"/>
5096
+ <!-- <style class="hljs-tag_hljs-attr" xsl:use-attribute-sets="hljs-tag_hljs-attr"></style> -->
5097
+ <!-- <style class="hljs-tag_hljs-name" xsl:use-attribute-sets="hljs-tag_hljs-name"></style> -->
5098
+ <style class="hljs-template-tag" xsl:use-attribute-sets="hljs-template-tag"/>
5099
+ <style class="hljs-template-variable" xsl:use-attribute-sets="hljs-template-variable"/>
5100
+ <style class="hljs-title" xsl:use-attribute-sets="hljs-title"/>
5101
+ <style class="hljs-title_and_class_" xsl:use-attribute-sets="hljs-title_and_class_"/>
5102
+ <style class="hljs-title_and_class__and_inherited__" xsl:use-attribute-sets="hljs-title_and_class__and_inherited__"/>
5103
+ <style class="hljs-title_and_function_" xsl:use-attribute-sets="hljs-title_and_function_"/>
5104
+ <style class="hljs-type" xsl:use-attribute-sets="hljs-type"/>
5105
+ <style class="hljs-variable" xsl:use-attribute-sets="hljs-variable"/>
5106
+ <style class="hljs-variable_and_language_" xsl:use-attribute-sets="hljs-variable_and_language_"/>
5107
+ </xsl:variable><xsl:variable name="syntax_highlight_styles" select="xalan:nodeset($syntax_highlight_styles_)"/><xsl:template match="span" mode="syntax_highlight" priority="2">
5108
+ <!-- <fo:inline color="green" font-style="italic"><xsl:apply-templates mode="syntax_highlight"/></fo:inline> -->
5109
+ <fo:inline>
5110
+ <xsl:variable name="classes_">
5111
+ <xsl:call-template name="split">
5112
+ <xsl:with-param name="pText" select="@class"/>
5113
+ <xsl:with-param name="sep" select="' '"/>
5114
+ </xsl:call-template>
5115
+ <!-- a few classes together (_and_ suffix) -->
5116
+ <xsl:if test="contains(@class, 'hljs-char') and contains(@class, 'escape_')">
5117
+ <item>hljs-char_and_escape_</item>
5118
+ </xsl:if>
5119
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_')">
5120
+ <item>hljs-title_and_class_</item>
5121
+ </xsl:if>
5122
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_') and contains(@class, 'inherited__')">
5123
+ <item>hljs-title_and_class__and_inherited__</item>
5124
+ </xsl:if>
5125
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'function_')">
5126
+ <item>hljs-title_and_function_</item>
5127
+ </xsl:if>
5128
+ <xsl:if test="contains(@class, 'hljs-variable') and contains(@class, 'language_')">
5129
+ <item>hljs-variable_and_language_</item>
5130
+ </xsl:if>
5131
+ <!-- with parent classes (_ suffix) -->
5132
+ <xsl:if test="contains(@class, 'hljs-keyword') and contains(ancestor::*/@class, 'hljs-meta')">
5133
+ <item>hljs-meta_hljs-keyword</item>
5134
+ </xsl:if>
5135
+ <xsl:if test="contains(@class, 'hljs-string') and contains(ancestor::*/@class, 'hljs-meta')">
5136
+ <item>hljs-meta_hljs-string</item>
5137
+ </xsl:if>
5138
+ </xsl:variable>
5139
+ <xsl:variable name="classes" select="xalan:nodeset($classes_)"/>
5140
+
5141
+ <xsl:for-each select="$classes/item">
5142
+ <xsl:variable name="class_name" select="."/>
5143
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
5144
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
5145
+ </xsl:for-each>
5146
+ </xsl:for-each>
5147
+
5148
+ <!-- <xsl:variable name="class_name">
5149
+ <xsl:choose>
5150
+ <xsl:when test="@class = 'hljs-attr' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-attr</xsl:when>
5151
+ <xsl:when test="@class = 'hljs-name' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-name</xsl:when>
5152
+ <xsl:when test="@class = 'hljs-string' and ancestor::*/@class = 'hljs-meta'">hljs-meta_hljs-string</xsl:when>
5153
+ <xsl:otherwise><xsl:value-of select="@class"/></xsl:otherwise>
5154
+ </xsl:choose>
5155
+ </xsl:variable>
5156
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
5157
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
5158
+ </xsl:for-each> -->
5159
+
5160
+ <xsl:apply-templates mode="syntax_highlight"/></fo:inline>
5161
+ </xsl:template><xsl:template match="text()" mode="syntax_highlight" priority="2">
5162
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
4860
5163
  </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4861
5164
  <xsl:if test="normalize-space() != ''">
4862
5165
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
@@ -5227,11 +5530,14 @@
5227
5530
 
5228
5531
 
5229
5532
  <fo:block-container margin-left="0mm">
5230
-
5231
- <fo:block xsl:use-attribute-sets="quote-style">
5533
+ <fo:block-container xsl:use-attribute-sets="quote-style">
5232
5534
 
5233
- <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5234
- </fo:block>
5535
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5536
+ <fo:block role="BlockQuote">
5537
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5538
+ </fo:block>
5539
+ </fo:block-container>
5540
+ </fo:block-container>
5235
5541
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
5236
5542
  <fo:block xsl:use-attribute-sets="quote-source-style">
5237
5543
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
@@ -5380,6 +5686,31 @@
5380
5686
  <xsl:with-param name="count" select="$count - 1"/>
5381
5687
  </xsl:call-template>
5382
5688
  </xsl:if>
5689
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']">
5690
+ <xsl:variable name="level">
5691
+ <xsl:call-template name="getLevel"/>
5692
+ </xsl:variable>
5693
+ <xsl:variable name="font-size">
5694
+ inherit
5695
+ </xsl:variable>
5696
+ <xsl:variable name="levelTerm">
5697
+ <xsl:call-template name="getLevelTermName"/>
5698
+ </xsl:variable>
5699
+ <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
5700
+
5701
+
5702
+
5703
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
5704
+ <fo:block xsl:use-attribute-sets="term-name-style">
5705
+ <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
5706
+ </fo:block>
5707
+ </xsl:if>
5708
+
5709
+ <fo:block xsl:use-attribute-sets="preferred-term-style">
5710
+ <xsl:call-template name="setStyle_preferred"/>
5711
+ <xsl:apply-templates/>
5712
+ </fo:block>
5713
+ </fo:block>
5383
5714
  </xsl:template><xsl:template match="*[local-name() = 'domain']">
5384
5715
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
5385
5716
  <xsl:text> </xsl:text>
@@ -5463,24 +5794,8 @@
5463
5794
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5464
5795
  </xsl:template><xsl:variable name="ul_labels_">
5465
5796
 
5466
-
5467
-
5468
-
5469
-
5470
-
5471
- <label>—</label> <!-- em dash -->
5472
-
5473
-
5474
-
5475
-
5476
-
5477
-
5478
-
5479
-
5480
-
5481
-
5482
-
5483
-
5797
+ <label>—</label> <!-- em dash -->
5798
+
5484
5799
  </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
5485
5800
  <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5486
5801
  <xsl:variable name="list_level">
@@ -5506,6 +5821,91 @@
5506
5821
  </xsl:template><xsl:template match="label" mode="ul_labels">
5507
5822
  <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
5508
5823
  <xsl:value-of select="."/>
5824
+ </xsl:template><xsl:template name="getListItemFormat">
5825
+ <!-- Example: for BSI <?list-type loweralpha?> -->
5826
+ <xsl:variable name="processing_instruction_type" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-type'))"/>
5827
+ <xsl:choose>
5828
+ <xsl:when test="local-name(..) = 'ul'">
5829
+ <xsl:choose>
5830
+ <xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
5831
+ <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
5832
+ </xsl:choose>
5833
+ </xsl:when>
5834
+ <xsl:otherwise> <!-- for ordered lists 'ol' -->
5835
+
5836
+ <!-- Example: for BSI <?list-start 2?> -->
5837
+ <xsl:variable name="processing_instruction_start" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-start'))"/>
5838
+
5839
+ <xsl:variable name="start_value">
5840
+ <xsl:choose>
5841
+ <xsl:when test="normalize-space($processing_instruction_start) != ''">
5842
+ <xsl:value-of select="number($processing_instruction_start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
5843
+ </xsl:when>
5844
+ <xsl:when test="normalize-space(../@start) != ''">
5845
+ <xsl:value-of select="number(../@start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
5846
+ </xsl:when>
5847
+ <xsl:otherwise>0</xsl:otherwise>
5848
+ </xsl:choose>
5849
+ </xsl:variable>
5850
+
5851
+ <xsl:variable name="curr_value"><xsl:number/></xsl:variable>
5852
+
5853
+ <xsl:variable name="type">
5854
+ <xsl:choose>
5855
+ <xsl:when test="normalize-space($processing_instruction_type) != ''"><xsl:value-of select="$processing_instruction_type"/></xsl:when>
5856
+ <xsl:when test="normalize-space(../@type) != ''"><xsl:value-of select="../@type"/></xsl:when>
5857
+
5858
+ <xsl:otherwise> <!-- if no @type or @class = 'steps' -->
5859
+
5860
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5861
+ <xsl:variable name="list_level">
5862
+ <xsl:choose>
5863
+ <xsl:when test="$list_level_ &lt;= 5"><xsl:value-of select="$list_level_"/></xsl:when>
5864
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 5"/></xsl:otherwise>
5865
+ </xsl:choose>
5866
+ </xsl:variable>
5867
+
5868
+ <xsl:choose>
5869
+ <xsl:when test="$list_level mod 5 = 0">roman_upper</xsl:when> <!-- level 5 -->
5870
+ <xsl:when test="$list_level mod 4 = 0">alphabet_upper</xsl:when> <!-- level 4 -->
5871
+ <xsl:when test="$list_level mod 3 = 0">roman</xsl:when> <!-- level 3 -->
5872
+ <xsl:when test="$list_level mod 2 = 0 and ancestor::*/@class = 'steps'">alphabet</xsl:when> <!-- level 2 and @class = 'steps'-->
5873
+ <xsl:when test="$list_level mod 2 = 0">arabic</xsl:when> <!-- level 2 -->
5874
+ <xsl:otherwise> <!-- level 1 -->
5875
+ <xsl:choose>
5876
+ <xsl:when test="ancestor::*/@class = 'steps'">arabic</xsl:when>
5877
+ <xsl:otherwise>alphabet</xsl:otherwise>
5878
+ </xsl:choose>
5879
+ </xsl:otherwise>
5880
+ </xsl:choose>
5881
+
5882
+ </xsl:otherwise>
5883
+ </xsl:choose>
5884
+ </xsl:variable>
5885
+
5886
+ <xsl:variable name="format">
5887
+ <xsl:choose>
5888
+ <xsl:when test="$type = 'arabic'">
5889
+ 1)
5890
+ </xsl:when>
5891
+ <xsl:when test="$type = 'alphabet'">
5892
+ a)
5893
+ </xsl:when>
5894
+ <xsl:when test="$type = 'alphabet_upper'">
5895
+ A.
5896
+ </xsl:when>
5897
+ <xsl:when test="$type = 'roman'">
5898
+ i)
5899
+ </xsl:when>
5900
+ <xsl:when test="$type = 'roman_upper'">I.</xsl:when>
5901
+ <xsl:otherwise>1.</xsl:otherwise> <!-- for any case, if $type has non-determined value, not using -->
5902
+ </xsl:choose>
5903
+ </xsl:variable>
5904
+
5905
+ <xsl:number value="$start_value + $curr_value" format="{normalize-space($format)}" lang="en"/>
5906
+
5907
+ </xsl:otherwise>
5908
+ </xsl:choose>
5509
5909
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5510
5910
  <xsl:choose>
5511
5911
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -5521,18 +5921,66 @@
5521
5921
 
5522
5922
  <fo:block-container margin-left="0mm">
5523
5923
  <fo:block>
5524
- <xsl:apply-templates select="." mode="ul_ol"/>
5924
+ <xsl:apply-templates select="." mode="list"/>
5525
5925
  </fo:block>
5526
5926
  </fo:block-container>
5527
5927
  </fo:block-container>
5528
5928
  </xsl:when>
5529
5929
  <xsl:otherwise>
5530
5930
  <fo:block>
5531
- <xsl:apply-templates select="." mode="ul_ol"/>
5931
+ <xsl:apply-templates select="." mode="list"/>
5532
5932
  </fo:block>
5533
5933
  </xsl:otherwise>
5534
5934
  </xsl:choose>
5535
- </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
5935
+ </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
5936
+ <fo:list-block xsl:use-attribute-sets="list-style">
5937
+
5938
+
5939
+
5940
+
5941
+
5942
+
5943
+
5944
+
5945
+
5946
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
5947
+ </fo:list-block>
5948
+ <!-- <xsl:for-each select="./iho:note">
5949
+ <xsl:call-template name="note"/>
5950
+ </xsl:for-each> -->
5951
+ <xsl:apply-templates select="./*[local-name() = 'note']"/>
5952
+ </xsl:template><xsl:template match="*[local-name()='li']">
5953
+ <fo:list-item xsl:use-attribute-sets="list-item-style">
5954
+ <xsl:copy-of select="@id"/>
5955
+
5956
+
5957
+
5958
+ <fo:list-item-label end-indent="label-end()">
5959
+ <fo:block xsl:use-attribute-sets="list-item-label-style">
5960
+
5961
+
5962
+
5963
+ <xsl:call-template name="getListItemFormat"/>
5964
+ </fo:block>
5965
+ </fo:list-item-label>
5966
+ <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
5967
+ <fo:block>
5968
+
5969
+
5970
+
5971
+
5972
+
5973
+ <xsl:apply-templates/>
5974
+
5975
+ <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
5976
+
5977
+ <xsl:for-each select="./bsi:note">
5978
+ <xsl:call-template name="note"/>
5979
+ </xsl:for-each> -->
5980
+ </fo:block>
5981
+ </fo:list-item-body>
5982
+ </fo:list-item>
5983
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="bookmark_in_fn">
5536
5984
  <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
5537
5985
  <bookmark><xsl:value-of select="@id"/></bookmark>
5538
5986
  </xsl:for-each>
@@ -5554,7 +6002,7 @@
5554
6002
  <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
5555
6003
  <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
5556
6004
  <xsl:if test="@to">
5557
- <xsl:value-of select="$dash"/>
6005
+ <xsl:value-of select="$en_dash"/>
5558
6006
  <xsl:copy>
5559
6007
  <xsl:copy-of select="@*"/>
5560
6008
  <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
@@ -5579,7 +6027,7 @@
5579
6027
  <xsl:param name="target"/>
5580
6028
  <!-- <node></node> -->
5581
6029
  <xsl:choose>
5582
- <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
6030
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $en_dash) and $remove = 'true'">
5583
6031
  <!-- skip text (i.e. remove it) and process next element -->
5584
6032
  <!-- [removed_<xsl:value-of select="."/>] -->
5585
6033
  <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
@@ -5663,12 +6111,22 @@
5663
6111
  </xsl:variable>
5664
6112
  <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
5665
6113
  <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
6114
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'title']" priority="4">
6115
+ <fo:block xsl:use-attribute-sets="indexsect-title-style">
6116
+ <!-- Index -->
6117
+ <xsl:apply-templates/>
6118
+ </fo:block>
6119
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']/*[local-name() = 'title']" priority="4">
6120
+ <!-- Letter A, B, C, ... -->
6121
+ <fo:block xsl:use-attribute-sets="indexsect-clause-title-style">
6122
+ <xsl:apply-templates/>
6123
+ </fo:block>
5666
6124
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
5667
6125
  <xsl:apply-templates/>
5668
6126
  <fo:block>
5669
- <xsl:if test="following-sibling::*[local-name() = 'clause']">
5670
- <fo:block> </fo:block>
5671
- </xsl:if>
6127
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
6128
+ <fo:block> </fo:block>
6129
+ </xsl:if>
5672
6130
  </fo:block>
5673
6131
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
5674
6132
  <xsl:apply-templates/>
@@ -5678,6 +6136,9 @@
5678
6136
 
5679
6137
  <xsl:apply-templates/>
5680
6138
  </fo:block>
6139
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
6140
+ <!-- to split by '_' and other chars -->
6141
+ <xsl:call-template name="add-zero-spaces-java"/>
5681
6142
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
5682
6143
  <fo:inline id="{@id}" font-size="1pt"/>
5683
6144
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
@@ -6085,7 +6546,7 @@
6085
6546
  </fo:table-body>
6086
6547
  </fo:table>
6087
6548
  </fo:block>
6088
- </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']">
6549
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']" priority="2">
6089
6550
  <fo:table-row min-height="5mm">
6090
6551
  <xsl:apply-templates/>
6091
6552
  </fo:table-row>
@@ -6313,9 +6774,6 @@
6313
6774
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
6314
6775
  </xsl:choose>
6315
6776
  </xsl:template><xsl:template name="addPDFUAmeta">
6316
- <xsl:variable name="lang">
6317
- <xsl:call-template name="getLang"/>
6318
- </xsl:variable>
6319
6777
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
6320
6778
  <pdf:dictionary type="normal" key="ViewerPreferences">
6321
6779
  <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
@@ -6543,10 +7001,12 @@
6543
7001
  <xsl:param name="key"/>
6544
7002
  <xsl:param name="formatted">false</xsl:param>
6545
7003
  <xsl:param name="lang"/>
7004
+ <xsl:param name="returnEmptyIfNotFound">false</xsl:param>
6546
7005
 
6547
7006
  <xsl:variable name="curr_lang">
6548
7007
  <xsl:choose>
6549
7008
  <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
7009
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
6550
7010
  <xsl:otherwise>
6551
7011
  <xsl:call-template name="getLang"/>
6552
7012
  </xsl:otherwise>
@@ -6581,6 +7041,7 @@
6581
7041
  </xsl:otherwise>
6582
7042
  </xsl:choose>
6583
7043
  </xsl:when>
7044
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
6584
7045
  <xsl:otherwise>
6585
7046
  <xsl:variable name="key_">
6586
7047
  <xsl:call-template name="capitalize">