metanorma-bipm 2.0.0 → 2.0.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,14 +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:variable name="images" select="document($svg_images)"/>
7
- <xsl:param name="basepath"/>
8
-
9
- <!-- <item id="#">N_page</item> -->
10
- <!-- param for second pass -->
11
- <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
12
-
13
5
  <xsl:param name="align-cross-elements"/>
14
6
 
15
7
 
@@ -85,14 +77,7 @@
85
77
  <xsl:variable name="column_width" select="($page_width - $column_gap) div $docs_count"/>
86
78
 
87
79
  <xsl:variable name="debug">false</xsl:variable>
88
- <xsl:variable name="pageWidth" select="210"/>
89
- <xsl:variable name="pageHeight" select="297"/>
90
- <xsl:variable name="marginLeftRight1" select="25"/>
91
- <xsl:variable name="marginLeftRight2" select="15"/>
92
- <xsl:variable name="marginTop" select="29.5"/>
93
- <xsl:variable name="marginBottom" select="23.5"/>
94
80
 
95
-
96
81
  <xsl:variable name="all_rights_reserved">
97
82
  <xsl:call-template name="getLocalizedString">
98
83
  <xsl:with-param name="key">all_rights_reserved</xsl:with-param>
@@ -163,14 +148,9 @@
163
148
  </xsl:for-each>
164
149
 
165
150
  </xsl:for-each>
166
-
167
151
  </xsl:variable>
168
152
 
169
153
 
170
- <xsl:variable name="lang">
171
- <xsl:call-template name="getLang"/>
172
- </xsl:variable>
173
-
174
154
  <xsl:template match="/">
175
155
  <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
176
156
  <fo:layout-master-set>
@@ -558,9 +538,6 @@
558
538
  <!-- ============================= -->
559
539
  <!-- CONTENTS -->
560
540
  <!-- ============================= -->
561
- <xsl:template match="node()" mode="contents">
562
- <xsl:apply-templates mode="contents"/>
563
- </xsl:template>
564
541
 
565
542
  <!-- element with title -->
566
543
  <xsl:template match="*[*[local-name()='title']]" mode="contents">
@@ -626,43 +603,6 @@
626
603
  </xsl:template>
627
604
 
628
605
 
629
-
630
- <xsl:template name="getListItemFormat">
631
- <xsl:choose>
632
- <xsl:when test="local-name(..) = 'ul'">
633
- <xsl:call-template name="setULLabel"/>
634
- </xsl:when>
635
- <xsl:otherwise> <!-- for ordered lists -->
636
- <xsl:variable name="start_value">
637
- <xsl:choose>
638
- <xsl:when test="normalize-space(../@start) != ''">
639
- <xsl:value-of select="number(../@start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
640
- </xsl:when>
641
- <xsl:otherwise>0</xsl:otherwise>
642
- </xsl:choose>
643
- </xsl:variable>
644
-
645
- <xsl:variable name="curr_value">
646
- <xsl:number/>
647
- </xsl:variable>
648
-
649
- <xsl:variable name="format">
650
- <xsl:choose>
651
- <xsl:when test="../@type = 'arabic'">1.</xsl:when>
652
- <xsl:when test="../@type = 'alphabet'">a)</xsl:when>
653
- <xsl:when test="../@type = 'alphabet_upper'">A.</xsl:when>
654
- <xsl:when test="../@type = 'roman'">i)</xsl:when>
655
- <xsl:when test="../@type = 'roman_upper'">I.</xsl:when>
656
- <xsl:otherwise>a)</xsl:otherwise>
657
- </xsl:choose>
658
- </xsl:variable>
659
-
660
- <xsl:number value="$start_value + $curr_value" format="{$format}" lang="en"/>
661
-
662
- </xsl:otherwise>
663
- </xsl:choose>
664
- </xsl:template>
665
-
666
606
  <xsl:template name="setListItemLabel">
667
607
  <xsl:attribute name="label">
668
608
  <xsl:call-template name="getListItemFormat"/>
@@ -678,7 +618,7 @@
678
618
 
679
619
 
680
620
 
681
- <xsl:template match="*[local-name()='p']">
621
+ <xsl:template match="*[local-name()='p']" name="paragraph">
682
622
  <xsl:param name="inline" select="'false'"/>
683
623
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
684
624
  <xsl:variable name="element-name">
@@ -725,34 +665,6 @@
725
665
  <xsl:apply-templates/>
726
666
  </xsl:template>
727
667
 
728
-
729
- <xsl:template match="*[local-name()='bibitem']">
730
- <fo:block id="{@id}" margin-bottom="6pt">
731
- <xsl:call-template name="processBibitem"/>
732
- </fo:block>
733
- </xsl:template>
734
-
735
-
736
- <xsl:template match="*[local-name()='bibitem']/*[local-name()='note']" priority="2">
737
- <fo:footnote>
738
- <xsl:variable name="number">
739
- <xsl:number level="any" count="*[local-name()='bibitem']/*[local-name()='note']"/>
740
- </xsl:variable>
741
- <fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
742
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
743
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
744
- </fo:basic-link>
745
- </fo:inline>
746
- <fo:footnote-body>
747
- <fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
748
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
749
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
750
- </fo:inline>
751
- <xsl:apply-templates/>
752
- </fo:block>
753
- </fo:footnote-body>
754
- </fo:footnote>
755
- </xsl:template>
756
668
 
757
669
 
758
670
  <xsl:template match="jcgm:fn/jcgm:p">
@@ -762,34 +674,6 @@
762
674
  </xsl:template>
763
675
 
764
676
 
765
- <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="ul_ol">
766
- <fo:list-block provisional-distance-between-starts="7mm" margin-top="8pt"> <!-- margin-bottom="8pt" -->
767
- <xsl:apply-templates/>
768
- </fo:list-block>
769
- <xsl:for-each select="./*[local-name()='note']">
770
- <xsl:call-template name="note"/>
771
- </xsl:for-each>
772
- </xsl:template>
773
-
774
- <xsl:template match="*[local-name()='ul']//*[local-name()='note'] | *[local-name()='ol']//*[local-name()='note']" priority="2"/>
775
-
776
-
777
- <xsl:template match="*[local-name()='li']">
778
- <fo:list-item id="{@id}">
779
- <fo:list-item-label end-indent="label-end()">
780
- <fo:block>
781
- <xsl:call-template name="getListItemFormat"/>
782
- </fo:block>
783
- </fo:list-item-label>
784
- <fo:list-item-body start-indent="body-start()">
785
- <fo:block>
786
- <xsl:apply-templates/>
787
- <xsl:apply-templates select=".//*[local-name()='note']" mode="process"/>
788
- </fo:block>
789
- </fo:list-item-body>
790
- </fo:list-item>
791
- </xsl:template>
792
-
793
677
 
794
678
  <!-- for two-columns layout -->
795
679
 
@@ -806,42 +690,24 @@
806
690
  </fo:list-item-label>
807
691
  <fo:list-item-body start-indent="body-start()">
808
692
  <fo:block>
809
- <xsl:apply-templates/>
810
- <xsl:apply-templates select=".//*[local-name()='note']" mode="process"/>
693
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
694
+ <xsl:apply-templates select=".//*[local-name()='note']"/>
811
695
  </fo:block>
812
696
  </fo:list-item-body>
813
697
  </fo:list-item>
814
698
  </fo:list-block>
815
699
  </xsl:template>
816
700
 
817
- <xsl:template match="*[local-name()='note']" mode="process">
818
- <xsl:call-template name="note"/>
819
- </xsl:template>
820
-
821
- <xsl:template match="*[local-name()='preferred']">
822
- <xsl:variable name="level">
823
- <xsl:call-template name="getLevel"/>
824
- </xsl:variable>
825
- <fo:block line-height="1.1" role="H{$level}">
826
- <fo:block font-weight="bold" keep-with-next="always">
827
- <xsl:apply-templates select="ancestor::*[local-name()='term'][1]/*[local-name()='name']" mode="presentation"/>
828
- </fo:block>
829
- <fo:block font-weight="bold" keep-with-next="always">
830
- <xsl:call-template name="setStyle_preferred"/>
831
- <xsl:apply-templates/>
832
- </fo:block>
833
- </fo:block>
834
- </xsl:template>
835
701
 
836
- <xsl:template match="*[local-name()='preferred'][not(parent::*[local-name()='term'])]">
702
+ <xsl:template match="*[local-name()='preferred'][not(parent::*[local-name()='term'])]" priority="2">
837
703
  <xsl:variable name="levelTerm">
838
704
  <xsl:call-template name="getLevelTermName"/>
839
705
  </xsl:variable>
840
- <fo:block line-height="1.1" role="H{$levelTerm}">
841
- <fo:block font-weight="bold" keep-with-next="always">
706
+ <fo:block role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
707
+ <fo:block xsl:use-attribute-sets="term-name-style">
842
708
  <xsl:apply-templates select="preceding-sibling::*[local-name()='term_name'][1]" mode="presentation"/>
843
709
  </fo:block>
844
- <fo:block font-weight="bold" keep-with-next="always">
710
+ <fo:block xsl:use-attribute-sets="preferred-term-style">
845
711
  <xsl:call-template name="setStyle_preferred"/>
846
712
  <xsl:apply-templates/>
847
713
  </fo:block>
@@ -871,51 +737,6 @@
871
737
  <fo:block widows="1" orphans="1"><xsl:apply-templates/></fo:block>
872
738
  </xsl:template>
873
739
 
874
-
875
- <xsl:template match="*[local-name()='references'][@normative='true']">
876
- <fo:block id="{@id}">
877
- <xsl:apply-templates/>
878
- </fo:block>
879
- </xsl:template>
880
-
881
- <xsl:template match="*[local-name()='references'][not(@normative='true')]">
882
- <fo:block break-after="page"/>
883
- <fo:block id="{@id}">
884
- <xsl:apply-templates/>
885
- </fo:block>
886
- </xsl:template>
887
-
888
-
889
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
890
- <xsl:template match="*[local-name()='references'][not(@normative='true')]/*[local-name()='bibitem']">
891
- <fo:list-block margin-bottom="6pt" provisional-distance-between-starts="12mm">
892
- <fo:list-item>
893
- <fo:list-item-label end-indent="label-end()">
894
- <fo:block>
895
- <fo:inline id="{@id}">
896
- <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
897
- <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
898
- <xsl:number format="[1]"/>
899
- </xsl:if>
900
- </fo:inline>
901
- </fo:block>
902
- </fo:list-item-label>
903
- <fo:list-item-body start-indent="body-start()">
904
- <fo:block>
905
- <xsl:call-template name="processBibitem"/>
906
- </fo:block>
907
- </fo:list-item-body>
908
- </fo:list-item>
909
- </fo:list-block>
910
- </xsl:template>
911
-
912
-
913
- <xsl:template match="*[local-name()='references']/*[local-name()='bibitem']/*[local-name()='title']">
914
- <fo:inline font-style="italic">
915
- <xsl:apply-templates/>
916
- </fo:inline>
917
- </xsl:template>
918
-
919
740
 
920
741
  <xsl:template match="mathml:math" priority="2">
921
742
  <fo:inline font-family="Cambria Math">
@@ -1015,20 +836,7 @@
1015
836
  </xsl:if>
1016
837
  </xsl:template>
1017
838
 
1018
- <xsl:template match="*[local-name()='admonition']">
1019
- <fo:block margin-bottom="12pt" font-weight="bold"> <!-- text-align="center" -->
1020
- <xsl:variable name="type">
1021
- <xsl:call-template name="getLocalizedString">
1022
- <xsl:with-param name="key">admonition.<xsl:value-of select="@type"/></xsl:with-param>
1023
- </xsl:call-template>
1024
- </xsl:variable>
1025
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($type))"/>
1026
- <xsl:text> — </xsl:text>
1027
- <xsl:apply-templates/>
1028
- </fo:block>
1029
- </xsl:template>
1030
839
 
1031
-
1032
840
  <xsl:template match="*[local-name()='td' or local-name()='th']/*[local-name()='formula']/*[local-name()='stem']" priority="2">
1033
841
  <fo:block>
1034
842
  <xsl:if test="ancestor::*[local-name()='td' or local-name()='th'][1][@align]">
@@ -1040,29 +848,6 @@
1040
848
  </fo:block>
1041
849
  </xsl:template>
1042
850
 
1043
- <xsl:template match="*[local-name()='formula']/*[local-name()='stem']">
1044
- <fo:block margin-top="6pt" margin-bottom="12pt">
1045
- <fo:table table-layout="fixed" width="100%">
1046
- <fo:table-column column-width="95%"/>
1047
- <fo:table-column column-width="5%"/>
1048
- <fo:table-body>
1049
- <fo:table-row>
1050
- <fo:table-cell display-align="center">
1051
- <fo:block text-align="left" margin-left="25mm">
1052
- <xsl:apply-templates/>
1053
- </fo:block>
1054
- </fo:table-cell>
1055
- <fo:table-cell display-align="center">
1056
- <fo:block text-align="right">
1057
- <xsl:apply-templates select="../*[local-name()='name']" mode="presentation"/>
1058
- </fo:block>
1059
- </fo:table-cell>
1060
- </fo:table-row>
1061
- </fo:table-body>
1062
- </fo:table>
1063
- </fo:block>
1064
- </xsl:template>
1065
-
1066
851
 
1067
852
  <xsl:template name="printEdition">
1068
853
  <xsl:variable name="edition" select="normalize-space(//*[local-name()='bibdata']/*[local-name()='edition'])"/>
@@ -1325,23 +1110,10 @@
1325
1110
  <xsl:attribute name="baseline-shift">0%</xsl:attribute>
1326
1111
  <xsl:attribute name="font-size">100%</xsl:attribute>
1327
1112
  </xsl:if>
1328
- <xsl:choose>
1329
- <xsl:when test="$curr_lang = 'fr'">
1330
- <xsl:choose>
1331
- <xsl:when test=". = '1'">re</xsl:when>
1332
- <xsl:otherwise>e</xsl:otherwise>
1333
- </xsl:choose>
1334
- </xsl:when>
1335
- <xsl:otherwise>
1336
- <xsl:choose>
1337
- <xsl:when test=". = '1'">st</xsl:when>
1338
- <xsl:when test=". = '2'">nd</xsl:when>
1339
- <xsl:when test=". = '3'">rd</xsl:when>
1340
- <xsl:otherwise>th</xsl:otherwise>
1341
- </xsl:choose>
1342
- </xsl:otherwise>
1343
- </xsl:choose>
1344
-
1113
+ <xsl:call-template name="number-to-ordinal">
1114
+ <xsl:with-param name="number" select="."/>
1115
+ <xsl:with-param name="curr_lang" select="$curr_lang"/>
1116
+ </xsl:call-template>
1345
1117
  </fo:inline>
1346
1118
  <xsl:text> </xsl:text>
1347
1119
  <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($title-edition))"/>
@@ -1385,28 +1157,6 @@
1385
1157
  </fo:page-sequence>
1386
1158
  </xsl:template>
1387
1159
 
1388
- <!-- <xsl:template match="jcgm:clause[@type = 'index']/jcgm:title" priority="4"> -->
1389
- <xsl:template match="jcgm:indexsect/jcgm:title" priority="4">
1390
- <fo:block font-weight="bold" span="all" role="H1">
1391
- <!-- Index -->
1392
- <xsl:apply-templates/>
1393
- </fo:block>
1394
- </xsl:template>
1395
-
1396
-
1397
- <!-- <xsl:template match="jcgm:clause[@type = 'index']/jcgm:clause/jcgm:title" priority="4"> -->
1398
- <xsl:template match="jcgm:indexsect/jcgm:clause/jcgm:title" priority="4">
1399
- <!-- Letter A, B, C, ... -->
1400
- <fo:block font-weight="bold" margin-left="25mm" keep-with-next="always">
1401
- <xsl:apply-templates/>
1402
- </fo:block>
1403
- </xsl:template>
1404
-
1405
- <!-- <xsl:template match="jcgm:clause[@type = 'index']//jcgm:ul" priority="4"> -->
1406
- <xsl:template match="jcgm:indexsect//jcgm:ul" priority="4">
1407
- <xsl:apply-templates/>
1408
- </xsl:template>
1409
-
1410
1160
 
1411
1161
  <!-- =================== -->
1412
1162
  <!-- End of Index processing -->
@@ -1757,7 +1507,7 @@
1757
1507
  </term>
1758
1508
  To:
1759
1509
  <term/>
1760
- <name>...</name>
1510
+ <term_name>...</term_name>
1761
1511
  <preferred>...</preferred>
1762
1512
  <definition>...</definition>
1763
1513
  <termsource>...</termsource>
@@ -1960,22 +1710,32 @@
1960
1710
  </fo:block-container>
1961
1711
  </xsl:template>
1962
1712
 
1963
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
1713
+ <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">
1714
+ <xsl:call-template name="getLang"/>
1715
+ </xsl:variable><xsl:variable name="pageWidth_">
1716
+ 210
1717
+ </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
1718
+ 297
1719
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
1720
+ 25
1721
+ </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
1722
+ 15
1723
+ </xsl:variable><xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/><xsl:variable name="marginTop_">
1724
+ 29.5
1725
+ </xsl:variable><xsl:variable name="marginTop" select="normalize-space($marginTop_)"/><xsl:variable name="marginBottom_">
1726
+ 23.5
1727
+ </xsl:variable><xsl:variable name="marginBottom" select="normalize-space($marginBottom_)"/><xsl:variable name="titles_">
1964
1728
 
1965
1729
  <title-edition lang="en">
1966
1730
 
1967
- <xsl:text>Edition </xsl:text>
1968
-
1969
-
1731
+ <xsl:text>Edition </xsl:text>
1732
+
1970
1733
  </title-edition>
1971
1734
 
1972
1735
  <title-edition lang="fr">
1973
-
1974
- <xsl:text>Édition </xsl:text>
1975
-
1736
+ <xsl:text>Édition </xsl:text>
1976
1737
  </title-edition>
1977
1738
 
1978
-
1979
1739
  <!-- These titles of Table of contents renders different than determined in localized-strings -->
1980
1740
  <title-toc lang="en">
1981
1741
 
@@ -1983,10 +1743,13 @@
1983
1743
 
1984
1744
  </title-toc>
1985
1745
  <title-toc lang="fr">
1746
+ <xsl:text>Sommaire</xsl:text>
1747
+ </title-toc>
1748
+ <title-toc lang="zh">
1986
1749
 
1750
+ <xsl:text>Contents</xsl:text>
1751
+
1987
1752
  </title-toc>
1988
-
1989
-
1990
1753
 
1991
1754
  <title-descriptors lang="en">Descriptors</title-descriptors>
1992
1755
 
@@ -2002,12 +1765,8 @@
2002
1765
  </title-part>
2003
1766
  <title-part lang="zh">第 # 部分:</title-part>
2004
1767
 
2005
- <title-subpart lang="en">
2006
-
2007
- </title-subpart>
2008
- <title-subpart lang="fr">
2009
-
2010
- </title-subpart>
1768
+ <title-subpart lang="en">Sub-part #</title-subpart>
1769
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
2011
1770
 
2012
1771
  <title-list-tables lang="en">List of Tables</title-list-tables>
2013
1772
 
@@ -2022,10 +1781,10 @@
2022
1781
  <title-continued lang="en">(continued)</title-continued>
2023
1782
  <title-continued lang="fr">(continué)</title-continued>
2024
1783
 
2025
- </xsl:variable><xsl:variable name="bibdata">
1784
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
2026
1785
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
2027
1786
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
2028
- </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
1787
+ </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">
2029
1788
  <xsl:param name="name"/>
2030
1789
  <xsl:param name="lang"/>
2031
1790
  <xsl:variable name="lang_">
@@ -2048,12 +1807,73 @@
2048
1807
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
2049
1808
  </xsl:otherwise>
2050
1809
  </xsl:choose>
2051
- </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">
1810
+ </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">
2052
1811
 
2053
1812
  <xsl:attribute name="font-family">Times New Roman, STIX Two Math, Source Han Sans</xsl:attribute>
2054
1813
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
2055
1814
 
2056
1815
 
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-style">
1831
+
1832
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
1833
+
1834
+
1835
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-p-style">
1836
+
1837
+
1838
+
1839
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-style">
1840
+
1841
+
1842
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-title-style">
1843
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1844
+
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-p-style">
1851
+
1852
+
1853
+
1854
+
1855
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-style">
1856
+
1857
+
1858
+
1859
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-title-style">
1860
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-p-style">
1867
+
1868
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-style">
1869
+
1870
+
1871
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-title-style">
1872
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1873
+
1874
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-p-style">
1875
+
1876
+
2057
1877
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2058
1878
 
2059
1879
 
@@ -2063,22 +1883,32 @@
2063
1883
 
2064
1884
 
2065
1885
 
1886
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1887
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1888
+
2066
1889
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2067
1890
  <xsl:attribute name="white-space">pre</xsl:attribute>
2068
1891
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2069
1892
  <xsl:attribute name="role">Code</xsl:attribute>
2070
1893
 
2071
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
2072
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2073
1894
 
2074
1895
 
2075
1896
 
2076
1897
 
2077
1898
 
1899
+
1900
+
1901
+
1902
+
1903
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
1904
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1905
+
2078
1906
 
2079
1907
 
2080
1908
 
2081
1909
 
1910
+
1911
+
2082
1912
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
2083
1913
 
2084
1914
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -2143,11 +1973,11 @@
2143
1973
 
2144
1974
 
2145
1975
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2146
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2147
1976
 
2148
1977
 
2149
1978
 
2150
- <xsl:attribute name="padding-right">5mm</xsl:attribute>
1979
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
1980
+
2151
1981
 
2152
1982
 
2153
1983
 
@@ -2193,36 +2023,250 @@
2193
2023
 
2194
2024
  </xsl:attribute-set><xsl:variable name="table-border_">
2195
2025
 
2196
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
2197
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2198
-
2026
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
2027
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2028
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2199
2029
 
2200
2030
 
2201
2031
 
2202
2032
 
2203
2033
 
2204
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2205
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2206
- <xsl:attribute name="text-align">center</xsl:attribute>
2207
- <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2208
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2209
-
2210
2034
 
2211
2035
 
2212
2036
 
2213
-
2214
2037
 
2215
2038
 
2216
2039
 
2040
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2041
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2042
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2217
2043
 
2218
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2219
2044
 
2220
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2221
-
2222
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2223
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2224
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2225
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+
2054
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
2055
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2056
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
2057
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2058
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2059
+
2060
+
2061
+
2062
+
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+ <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
2071
+
2072
+
2073
+
2074
+
2075
+
2076
+
2077
+
2078
+
2079
+
2080
+
2081
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2082
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2090
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2091
+ <xsl:attribute name="text-align">center</xsl:attribute>
2092
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+
2101
+
2102
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
2103
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
2104
+
2105
+
2106
+
2107
+
2108
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
2109
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2110
+
2111
+
2112
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
2113
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
2114
+
2115
+
2116
+
2117
+
2118
+
2119
+
2120
+
2121
+
2122
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2123
+
2124
+
2125
+
2126
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2127
+ <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
2128
+ <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
2129
+
2130
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
2131
+
2132
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
2133
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2134
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2135
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2136
+ <xsl:attribute name="display-align">center</xsl:attribute>
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
2153
+ <xsl:attribute name="display-align">center</xsl:attribute>
2154
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2155
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2172
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2173
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2174
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2175
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+ <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
2186
+
2187
+
2188
+
2189
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
2190
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2191
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2200
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2201
+
2202
+
2203
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2204
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2205
+
2206
+
2207
+
2208
+
2209
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2210
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2211
+
2212
+
2213
+
2214
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2215
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2216
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2217
+
2218
+
2219
+
2220
+
2221
+
2222
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2223
+
2224
+
2225
+
2226
+
2227
+
2228
+
2229
+
2230
+
2231
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
2232
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2233
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2234
+
2235
+
2236
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
2237
+
2238
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
2239
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2240
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2241
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2242
+
2243
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
2244
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2245
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2246
+
2247
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
2248
+
2249
+
2250
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
2251
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2252
+
2253
+
2254
+
2255
+
2256
+
2257
+
2258
+
2259
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
2260
+
2261
+
2262
+
2263
+
2264
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2265
+
2266
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
2267
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2268
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2269
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2226
2270
 
2227
2271
 
2228
2272
 
@@ -2289,6 +2333,7 @@
2289
2333
 
2290
2334
 
2291
2335
  </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2336
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2292
2337
 
2293
2338
 
2294
2339
 
@@ -2329,13 +2374,12 @@
2329
2374
 
2330
2375
 
2331
2376
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
2332
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
2377
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2378
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2333
2379
 
2334
2380
 
2335
2381
 
2336
2382
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2337
- <xsl:attribute name="margin-left">12mm</xsl:attribute>
2338
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
2339
2383
  <xsl:attribute name="font-style">italic</xsl:attribute>
2340
2384
  <xsl:attribute name="text-align">justify</xsl:attribute>
2341
2385
 
@@ -2344,10 +2388,8 @@
2344
2388
 
2345
2389
 
2346
2390
  </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2391
+ <xsl:attribute name="text-align">right</xsl:attribute>
2347
2392
 
2348
-
2349
- <xsl:attribute name="text-align">right</xsl:attribute>
2350
-
2351
2393
 
2352
2394
  </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2353
2395
 
@@ -2359,6 +2401,9 @@
2359
2401
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2360
2402
 
2361
2403
 
2404
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
2405
+
2406
+
2362
2407
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
2363
2408
 
2364
2409
 
@@ -2368,6 +2413,11 @@
2368
2413
 
2369
2414
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2370
2415
 
2416
+ </xsl:attribute-set><xsl:attribute-set name="term-name-style">
2417
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2418
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2419
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
2420
+
2371
2421
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2372
2422
 
2373
2423
 
@@ -2396,6 +2446,37 @@
2396
2446
 
2397
2447
 
2398
2448
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
2449
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2450
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2451
+
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-block-style">
2458
+ <xsl:attribute name="text-align">center</xsl:attribute>
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+
2466
+ <xsl:attribute name="text-align">left</xsl:attribute>
2467
+ <xsl:attribute name="margin-left">25mm</xsl:attribute>
2468
+
2469
+
2470
+
2471
+
2472
+
2473
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
2474
+ <xsl:attribute name="text-align">right</xsl:attribute>
2475
+
2476
+
2477
+
2478
+
2479
+
2399
2480
 
2400
2481
  </xsl:attribute-set><xsl:attribute-set name="image-style">
2401
2482
  <xsl:attribute name="text-align">center</xsl:attribute>
@@ -2431,6 +2512,20 @@
2431
2512
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2432
2513
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2433
2514
 
2515
+ </xsl:attribute-set><xsl:attribute-set name="preferred-block-style">
2516
+
2517
+
2518
+
2519
+
2520
+
2521
+ <xsl:attribute name="line-height">1.1</xsl:attribute>
2522
+
2523
+
2524
+ </xsl:attribute-set><xsl:attribute-set name="preferred-term-style">
2525
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2526
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2527
+
2528
+
2434
2529
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
2435
2530
 
2436
2531
  </xsl:attribute-set><xsl:attribute-set name="admitted-style">
@@ -2468,8 +2563,49 @@
2468
2563
 
2469
2564
  </xsl:attribute-set><xsl:attribute-set name="list-style">
2470
2565
 
2566
+
2567
+
2568
+
2569
+
2570
+
2571
+
2572
+
2573
+ <xsl:attribute name="provisional-distance-between-starts">7mm</xsl:attribute>
2574
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2575
+
2576
+
2577
+
2578
+
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+
2585
+ </xsl:attribute-set><xsl:attribute-set name="list-item-style">
2586
+
2587
+
2588
+ </xsl:attribute-set><xsl:attribute-set name="list-item-label-style">
2589
+
2590
+
2591
+
2592
+ </xsl:attribute-set><xsl:attribute-set name="list-item-body-style">
2593
+
2594
+
2595
+
2471
2596
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
2472
2597
  <xsl:attribute name="line-height">135%</xsl:attribute>
2598
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2599
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2600
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2601
+
2602
+
2603
+
2604
+
2605
+
2606
+
2607
+
2608
+
2473
2609
  </xsl:attribute-set><xsl:attribute-set name="fn-style">
2474
2610
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2475
2611
  </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
@@ -2499,11 +2635,187 @@
2499
2635
  <xsl:attribute name="text-indent">0</xsl:attribute>
2500
2636
  <xsl:attribute name="start-indent">0</xsl:attribute>
2501
2637
 
2638
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2639
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2640
+ <xsl:attribute name="line-height">124%</xsl:attribute>
2641
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2642
+
2643
+
2644
+
2645
+
2646
+
2647
+
2648
+
2649
+
2650
+
2651
+
2652
+
2653
+
2654
+
2655
+
2656
+
2657
+
2658
+
2659
+
2660
+ </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2661
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2662
+
2663
+ <xsl:attribute name="font-size">60%</xsl:attribute>
2664
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2665
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2666
+
2667
+
2668
+
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2680
+
2681
+
2682
+
2683
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2684
+
2685
+
2686
+
2687
+
2688
+
2689
+
2690
+
2691
+
2692
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2693
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2694
+
2695
+
2696
+
2697
+
2698
+
2699
+
2700
+
2701
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2702
+
2703
+
2704
+
2705
+
2706
+
2707
+
2708
+
2709
+
2710
+
2711
+
2712
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
2713
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2714
+
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+
2746
+
2747
+
2748
+
2749
+
2750
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+
2759
+
2760
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
2761
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2762
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2763
+
2764
+
2765
+
2766
+
2767
+
2768
+
2769
+
2770
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
2777
+
2778
+
2779
+
2780
+
2781
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
2782
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2783
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2784
+
2785
+
2786
+
2787
+
2788
+
2789
+
2790
+
2791
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2792
+
2793
+
2794
+
2795
+
2796
+
2797
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2798
+
2799
+
2800
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2801
+
2802
+
2803
+
2804
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2805
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2806
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2807
+
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2502
2816
 
2503
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2504
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2505
- <xsl:attribute name="line-height">124%</xsl:attribute>
2506
- <xsl:attribute name="text-align">justify</xsl:attribute>
2817
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2818
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2507
2819
 
2508
2820
 
2509
2821
 
@@ -2511,6 +2823,8 @@
2511
2823
 
2512
2824
 
2513
2825
 
2826
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
2827
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2514
2828
 
2515
2829
 
2516
2830
 
@@ -2521,53 +2835,152 @@
2521
2835
 
2522
2836
 
2523
2837
 
2524
- </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2525
- <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2838
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2839
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
2526
2840
 
2527
- <xsl:attribute name="font-size">60%</xsl:attribute>
2528
- <xsl:attribute name="vertical-align">super</xsl:attribute>
2529
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
2530
2841
 
2531
2842
 
2532
2843
 
2533
2844
 
2534
2845
 
2535
2846
 
2847
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
2848
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2849
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2850
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
2851
+
2852
+
2853
+
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2860
+
2861
+
2862
+
2863
+
2864
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2865
+
2866
+
2867
+
2868
+ </xsl:attribute-set><xsl:attribute-set name="hljs-doctag">
2869
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2870
+ </xsl:attribute-set><xsl:attribute-set name="hljs-keyword">
2871
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2872
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-keyword">
2873
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2874
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-tag">
2875
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2876
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-variable">
2877
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2878
+ </xsl:attribute-set><xsl:attribute-set name="hljs-type">
2879
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2880
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable_and_language_">
2881
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
2882
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title">
2883
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
2884
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class_">
2885
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
2886
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class__and_inherited__">
2887
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
2888
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_function_">
2889
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
2890
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attr">
2891
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2892
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attribute">
2893
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2894
+ </xsl:attribute-set><xsl:attribute-set name="hljs-literal">
2895
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2896
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta">
2897
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2898
+ </xsl:attribute-set><xsl:attribute-set name="hljs-number">
2899
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2900
+ </xsl:attribute-set><xsl:attribute-set name="hljs-operator">
2901
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2902
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable">
2903
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2904
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-attr">
2905
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2906
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-class">
2907
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2908
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-id">
2909
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2910
+ </xsl:attribute-set><xsl:attribute-set name="hljs-regexp">
2911
+ <xsl:attribute name="color">#032f62</xsl:attribute>
2912
+ </xsl:attribute-set><xsl:attribute-set name="hljs-string">
2913
+ <xsl:attribute name="color">#032f62</xsl:attribute>
2914
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-string">
2915
+ <xsl:attribute name="color">#032f62</xsl:attribute>
2916
+ </xsl:attribute-set><xsl:attribute-set name="hljs-built_in">
2917
+ <xsl:attribute name="color">#e36209</xsl:attribute>
2918
+ </xsl:attribute-set><xsl:attribute-set name="hljs-symbol">
2919
+ <xsl:attribute name="color">#e36209</xsl:attribute>
2920
+ </xsl:attribute-set><xsl:attribute-set name="hljs-comment">
2921
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
2922
+ </xsl:attribute-set><xsl:attribute-set name="hljs-code">
2923
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
2924
+ </xsl:attribute-set><xsl:attribute-set name="hljs-formula">
2925
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
2926
+ </xsl:attribute-set><xsl:attribute-set name="hljs-name">
2927
+ <xsl:attribute name="color">#22863a</xsl:attribute>
2928
+ </xsl:attribute-set><xsl:attribute-set name="hljs-quote">
2929
+ <xsl:attribute name="color">#22863a</xsl:attribute>
2930
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-tag">
2931
+ <xsl:attribute name="color">#22863a</xsl:attribute>
2932
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-pseudo">
2933
+ <xsl:attribute name="color">#22863a</xsl:attribute>
2934
+ </xsl:attribute-set><xsl:attribute-set name="hljs-subst">
2935
+ <xsl:attribute name="color">#24292e</xsl:attribute>
2936
+ </xsl:attribute-set><xsl:attribute-set name="hljs-section">
2937
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
2938
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2939
+ </xsl:attribute-set><xsl:attribute-set name="hljs-bullet">
2940
+ <xsl:attribute name="color">#735c0f</xsl:attribute>
2941
+ </xsl:attribute-set><xsl:attribute-set name="hljs-emphasis">
2942
+ <xsl:attribute name="color">#24292e</xsl:attribute>
2943
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2944
+ </xsl:attribute-set><xsl:attribute-set name="hljs-strong">
2945
+ <xsl:attribute name="color">#24292e</xsl:attribute>
2946
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2947
+ </xsl:attribute-set><xsl:attribute-set name="hljs-addition">
2948
+ <xsl:attribute name="color">#22863a</xsl:attribute>
2949
+ <xsl:attribute name="background-color">#f0fff4</xsl:attribute>
2950
+ </xsl:attribute-set><xsl:attribute-set name="hljs-deletion">
2951
+ <xsl:attribute name="color">#b31d28</xsl:attribute>
2952
+ <xsl:attribute name="background-color">#ffeef0</xsl:attribute>
2953
+ </xsl:attribute-set><xsl:attribute-set name="hljs-char_and_escape_">
2954
+ </xsl:attribute-set><xsl:attribute-set name="hljs-link">
2955
+ </xsl:attribute-set><xsl:attribute-set name="hljs-params">
2956
+ </xsl:attribute-set><xsl:attribute-set name="hljs-property">
2957
+ </xsl:attribute-set><xsl:attribute-set name="hljs-punctuation">
2958
+ </xsl:attribute-set><xsl:attribute-set name="hljs-tag">
2959
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-title-style">
2960
+ <xsl:attribute name="role">H1</xsl:attribute>
2961
+
2536
2962
 
2537
2963
 
2538
2964
 
2539
2965
 
2966
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2967
+ <xsl:attribute name="span">all</xsl:attribute>
2540
2968
 
2969
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-clause-title-style">
2970
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2541
2971
 
2542
2972
 
2543
2973
 
2544
2974
 
2545
2975
 
2976
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2977
+ <xsl:attribute name="margin-left">25mm</xsl:attribute>
2546
2978
 
2547
- </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="OLD_processPrefaceSectionsDefault_Contents">
2548
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2549
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2550
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2551
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2552
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2553
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
2979
+ </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">
2554
2980
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2555
2981
  <xsl:sort select="@displayorder" data-type="number"/>
2556
2982
  <xsl:apply-templates select="." mode="contents"/>
2557
2983
  </xsl:for-each>
2558
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
2559
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2560
-
2561
- <!-- Normative references -->
2562
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
2563
- <!-- Terms and definitions -->
2564
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
2565
- <!-- Another main sections -->
2566
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
2567
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2568
- <!-- Bibliography -->
2569
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
2570
-
2571
2984
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2572
2985
 
2573
2986
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]">
@@ -2584,29 +2997,11 @@
2584
2997
  <xsl:sort select="@displayorder" data-type="number"/>
2585
2998
  <xsl:apply-templates select="." mode="contents"/>
2586
2999
  </xsl:for-each>
2587
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
2588
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2589
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2590
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2591
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2592
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2593
3000
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2594
3001
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2595
3002
  <xsl:sort select="@displayorder" data-type="number"/>
2596
3003
  <xsl:apply-templates select="."/>
2597
3004
  </xsl:for-each>
2598
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
2599
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2600
-
2601
- <!-- Normative references -->
2602
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2603
- <!-- Terms and definitions -->
2604
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
2605
- <!-- Another main sections -->
2606
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
2607
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2608
- <!-- Bibliography -->
2609
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2610
3005
  </xsl:template><xsl:template name="processMainSectionsDefault">
2611
3006
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2612
3007
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -2627,6 +3022,70 @@
2627
3022
  <xsl:value-of select="."/>
2628
3023
  </xsl:template><xsl:template match="*[local-name()='br']">
2629
3024
  <xsl:value-of select="$linebreak"/>
3025
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
3026
+ <fo:block xsl:use-attribute-sets="copyright-statement-style">
3027
+ <xsl:apply-templates/>
3028
+ </fo:block>
3029
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='title']">
3030
+
3031
+ <!-- process in the template 'title' -->
3032
+ <xsl:call-template name="title"/>
3033
+
3034
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='p']">
3035
+
3036
+
3037
+ <!-- process in the template 'paragraph' -->
3038
+ <xsl:call-template name="paragraph"/>
3039
+
3040
+ </xsl:template><xsl:template match="*[local-name()='license-statement']">
3041
+ <fo:block xsl:use-attribute-sets="license-statement-style">
3042
+ <xsl:apply-templates/>
3043
+ </fo:block>
3044
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='title']">
3045
+
3046
+ <!-- process in the template 'title' -->
3047
+ <xsl:call-template name="title"/>
3048
+
3049
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='p']">
3050
+
3051
+ <!-- process in the template 'paragraph' -->
3052
+ <xsl:call-template name="paragraph"/>
3053
+
3054
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']">
3055
+ <fo:block xsl:use-attribute-sets="legal-statement-style">
3056
+ <xsl:apply-templates/>
3057
+ </fo:block>
3058
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='title']">
3059
+
3060
+ <!-- process in the template 'title' -->
3061
+ <xsl:call-template name="title"/>
3062
+
3063
+
3064
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
3065
+ <xsl:param name="margin"/>
3066
+
3067
+ <!-- process in the template 'paragraph' -->
3068
+ <xsl:call-template name="paragraph">
3069
+ <xsl:with-param name="margin" select="$margin"/>
3070
+ </xsl:call-template>
3071
+
3072
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
3073
+ <fo:block xsl:use-attribute-sets="feedback-statement-style">
3074
+ <xsl:apply-templates/>
3075
+ </fo:block>
3076
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='title']">
3077
+
3078
+ <!-- process in the template 'title' -->
3079
+ <xsl:call-template name="title"/>
3080
+
3081
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
3082
+ <xsl:param name="margin"/>
3083
+
3084
+ <!-- process in the template 'paragraph' -->
3085
+ <xsl:call-template name="paragraph">
3086
+ <xsl:with-param name="margin" select="$margin"/>
3087
+ </xsl:call-template>
3088
+
2630
3089
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2631
3090
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
2632
3091
  <xsl:call-template name="add-zero-spaces-java"/>
@@ -2643,10 +3102,6 @@
2643
3102
  <xsl:call-template name="getSimpleTable"/>
2644
3103
  </xsl:variable>
2645
3104
 
2646
- <!-- <xsl:if test="$namespace = 'bipm'">
2647
- <fo:block>&#xA0;</fo:block>
2648
- </xsl:if> -->
2649
-
2650
3105
 
2651
3106
  <!-- Display table's name before table as standalone block -->
2652
3107
  <!-- $namespace = 'iso' or -->
@@ -2654,28 +3109,8 @@
2654
3109
 
2655
3110
 
2656
3111
 
2657
-
2658
-
2659
-
2660
3112
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
2661
3113
 
2662
- <!-- <xsl:variable name="cols-count">
2663
- <xsl:choose>
2664
- <xsl:when test="*[local-name()='thead']">
2665
- <xsl:call-template name="calculate-columns-numbers">
2666
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2667
- </xsl:call-template>
2668
- </xsl:when>
2669
- <xsl:otherwise>
2670
- <xsl:call-template name="calculate-columns-numbers">
2671
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2672
- </xsl:call-template>
2673
- </xsl:otherwise>
2674
- </xsl:choose>
2675
- </xsl:variable> -->
2676
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2677
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2678
-
2679
3114
  <xsl:variable name="colwidths">
2680
3115
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2681
3116
  <xsl:call-template name="calculate-column-widths">
@@ -2686,17 +3121,8 @@
2686
3121
  </xsl:variable>
2687
3122
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2688
3123
 
2689
- <!-- <xsl:variable name="colwidths2">
2690
- <xsl:call-template name="calculate-column-widths">
2691
- <xsl:with-param name="cols-count" select="$cols-count"/>
2692
- </xsl:call-template>
2693
- </xsl:variable> -->
2694
-
2695
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2696
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2697
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2698
3124
 
2699
- <xsl:variable name="margin-left">
3125
+ <xsl:variable name="margin-side">
2700
3126
  <xsl:choose>
2701
3127
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2702
3128
  <xsl:otherwise>0</xsl:otherwise>
@@ -2704,78 +3130,65 @@
2704
3130
  </xsl:variable>
2705
3131
 
2706
3132
 
2707
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2708
-
2709
-
2710
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2711
-
2712
-
2713
-
2714
-
2715
-
2716
-
2717
-
2718
-
3133
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
3134
+
2719
3135
 
3136
+
2720
3137
 
3138
+
2721
3139
 
2722
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2723
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2724
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2725
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3140
+
2726
3141
 
2727
3142
 
2728
3143
 
3144
+
2729
3145
 
2730
3146
 
2731
3147
 
2732
3148
 
2733
3149
 
3150
+ <!-- end table block-container attributes -->
2734
3151
 
2735
3152
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2736
3153
 
2737
3154
 
3155
+ <xsl:variable name="table_width_default">100%</xsl:variable>
2738
3156
  <xsl:variable name="table_width">
2739
3157
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2740
- 100%
2741
-
2742
-
3158
+ <xsl:value-of select="$table_width_default"/>
2743
3159
  </xsl:variable>
2744
3160
 
3161
+
2745
3162
  <xsl:variable name="table_attributes">
2746
- <attribute name="table-layout">fixed</attribute>
2747
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2748
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2749
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2750
-
2751
-
2752
- <attribute name="border">1.5pt solid black</attribute>
2753
- <xsl:if test="*[local-name()='thead']">
2754
- <attribute name="border-top">1pt solid black</attribute>
2755
- </xsl:if>
2756
-
2757
-
2758
-
2759
-
2760
-
2761
-
2762
- <attribute name="margin-left">0mm</attribute>
2763
- <attribute name="margin-right">0mm</attribute>
2764
-
2765
-
2766
-
2767
-
2768
-
2769
-
2770
-
2771
-
3163
+
3164
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
3165
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3166
+
3167
+
3168
+
3169
+
3170
+
3171
+
3172
+
3173
+
3174
+
3175
+
3176
+
3177
+
3178
+ <xsl:if test="*[local-name()='thead']">
3179
+ <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
3180
+ </xsl:if>
3181
+
3182
+
3183
+
3184
+ </xsl:element>
2772
3185
  </xsl:variable>
2773
3186
 
2774
3187
 
2775
- <fo:table id="{@id}" table-omit-footer-at-break="true">
3188
+ <fo:table id="{@id}">
2776
3189
 
2777
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2778
- <xsl:attribute name="{@name}">
3190
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3191
+ <xsl:attribute name="{local-name()}">
2779
3192
  <xsl:value-of select="."/>
2780
3193
  </xsl:attribute>
2781
3194
  </xsl:for-each>
@@ -2786,7 +3199,6 @@
2786
3199
  </xsl:if>
2787
3200
 
2788
3201
 
2789
-
2790
3202
  <xsl:choose>
2791
3203
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2792
3204
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2812,7 +3224,7 @@
2812
3224
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2813
3225
  </xsl:when>
2814
3226
  <xsl:otherwise>
2815
- <xsl:apply-templates/>
3227
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
2816
3228
  </xsl:otherwise>
2817
3229
  </xsl:choose>
2818
3230
 
@@ -2827,25 +3239,6 @@
2827
3239
  </xsl:call-template>
2828
3240
  </xsl:for-each>
2829
3241
 
2830
- <!-- insert footer as table -->
2831
- <!-- <fo:table>
2832
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2833
- <xsl:attribute name="{@name}">
2834
- <xsl:value-of select="."/>
2835
- </xsl:attribute>
2836
- </xsl:for-each>
2837
-
2838
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2839
- <xsl:choose>
2840
- <xsl:when test=". = 1 or . = 0">
2841
- <fo:table-column column-width="proportional-column-width(2)"/>
2842
- </xsl:when>
2843
- <xsl:otherwise>
2844
- <fo:table-column column-width="proportional-column-width({.})"/>
2845
- </xsl:otherwise>
2846
- </xsl:choose>
2847
- </xsl:for-each>
2848
- </fo:table>-->
2849
3242
 
2850
3243
 
2851
3244
 
@@ -2906,20 +3299,17 @@
2906
3299
  </xsl:otherwise>
2907
3300
  </xsl:choose>
2908
3301
 
2909
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
3302
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
2910
3303
  <xsl:param name="continued"/>
2911
3304
  <xsl:if test="normalize-space() != ''">
2912
3305
  <fo:block xsl:use-attribute-sets="table-name-style">
2913
-
2914
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2915
-
3306
+
2916
3307
 
2917
3308
 
2918
3309
 
2919
3310
 
2920
3311
  <xsl:choose>
2921
3312
  <xsl:when test="$continued = 'true'">
2922
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
2923
3313
 
2924
3314
  <xsl:apply-templates/>
2925
3315
 
@@ -2984,13 +3374,6 @@
2984
3374
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
2985
3375
  <xsl:variable name="td_text">
2986
3376
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
2987
-
2988
- <!-- <xsl:if test="$namespace = 'bipm'">
2989
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
2990
- <word><xsl:value-of select="normalize-space(.)"/></word>
2991
- </xsl:for-each>
2992
- </xsl:if> -->
2993
-
2994
3377
  </xsl:variable>
2995
3378
  <xsl:variable name="words">
2996
3379
  <xsl:variable name="string_with_added_zerospaces">
@@ -3027,7 +3410,6 @@
3027
3410
  </xsl:otherwise>
3028
3411
  </xsl:choose>
3029
3412
  </xsl:variable>
3030
-
3031
3413
 
3032
3414
  <column>
3033
3415
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -3044,8 +3426,7 @@
3044
3426
  </xsl:call-template>
3045
3427
  </xsl:if>
3046
3428
  </xsl:template><xsl:template match="text()" mode="td_text">
3047
- <xsl:variable name="zero-space">​</xsl:variable>
3048
- <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
3429
+ <xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
3049
3430
  </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
3050
3431
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
3051
3432
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
@@ -3061,9 +3442,8 @@
3061
3442
 
3062
3443
  <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
3063
3444
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
3064
- </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3445
+ </xsl:template><xsl:template match="*[local-name()='thead']">
3065
3446
  <xsl:param name="cols-count"/>
3066
- <!-- font-weight="bold" -->
3067
3447
  <fo:table-header>
3068
3448
 
3069
3449
  <xsl:call-template name="table-header-title">
@@ -3079,96 +3459,35 @@
3079
3459
  <fo:table-row>
3080
3460
  <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">
3081
3461
 
3082
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3462
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3083
3463
  <xsl:with-param name="continued">true</xsl:with-param>
3084
3464
  </xsl:apply-templates>
3085
3465
 
3086
3466
 
3087
3467
  <xsl:for-each select="ancestor::*[local-name()='table'][1]">
3088
- <xsl:call-template name="fn_name_display"/>
3468
+ <xsl:call-template name="table_name_fn_display"/>
3089
3469
  </xsl:for-each>
3090
-
3091
-
3092
-
3470
+
3093
3471
  <fo:block text-align="right" font-style="italic">
3094
3472
  <xsl:text> </xsl:text>
3095
3473
  <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
3096
3474
  </fo:block>
3097
3475
 
3476
+
3098
3477
  </fo:table-cell>
3099
3478
  </fo:table-row>
3100
3479
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
3101
3480
  <fo:table-body>
3102
3481
  <xsl:apply-templates/>
3103
3482
  </fo:table-body>
3104
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3483
+ </xsl:template><xsl:template match="*[local-name()='tfoot']">
3105
3484
  <xsl:apply-templates/>
3106
3485
  </xsl:template><xsl:template name="insertTableFooter">
3107
3486
  <xsl:param name="cols-count"/>
3108
3487
  <xsl:if test="../*[local-name()='tfoot']">
3109
3488
  <fo:table-footer>
3110
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3111
- </fo:table-footer>
3112
- </xsl:if>
3113
- </xsl:template><xsl:template name="insertTableFooter2">
3114
- <xsl:param name="cols-count"/>
3115
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3116
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3117
-
3118
- <fo:table-footer>
3119
-
3120
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3121
-
3122
- <!-- if there are note(s) or fn(s) then create footer row -->
3123
- <xsl:if test="$isNoteOrFnExist = 'true'">
3124
-
3125
-
3126
-
3127
- <fo:table-row>
3128
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3129
-
3130
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3131
-
3132
-
3133
-
3134
- <!-- fn will be processed inside 'note' processing -->
3135
-
3136
-
3137
-
3138
-
3139
-
3140
-
3141
- <!-- except gb -->
3142
-
3143
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3144
-
3145
-
3146
- <!-- show Note under table in preface (ex. abstract) sections -->
3147
- <!-- empty, because notes show at page side in main sections -->
3148
- <!-- <xsl:if test="$namespace = 'bipm'">
3149
- <xsl:choose>
3150
- <xsl:when test="ancestor::*[local-name()='preface']">
3151
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3152
- </xsl:when>
3153
- <xsl:otherwise>
3154
- <fo:block/>
3155
- </xsl:otherwise>
3156
- </xsl:choose>
3157
- </xsl:if> -->
3158
-
3159
-
3160
- <!-- horizontal row separator -->
3161
-
3162
-
3163
- <!-- fn processing -->
3164
- <xsl:call-template name="fn_display"/>
3165
-
3166
- </fo:table-cell>
3167
- </fo:table-row>
3168
-
3169
- </xsl:if>
3489
+ <xsl:apply-templates select="../*[local-name()='tfoot']"/>
3170
3490
  </fo:table-footer>
3171
-
3172
3491
  </xsl:if>
3173
3492
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
3174
3493
  <xsl:param name="table_attributes"/>
@@ -3195,17 +3514,18 @@
3195
3514
  </xsl:variable>
3196
3515
 
3197
3516
  <fo:table keep-with-previous="always">
3198
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3517
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3518
+ <xsl:variable name="name" select="local-name()"/>
3199
3519
  <xsl:choose>
3200
- <xsl:when test="@name = 'border-top'">
3201
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
3520
+ <xsl:when test="$name = 'border-top'">
3521
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3202
3522
  </xsl:when>
3203
- <xsl:when test="@name = 'border'">
3204
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3523
+ <xsl:when test="$name = 'border'">
3524
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3205
3525
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3206
3526
  </xsl:when>
3207
3527
  <xsl:otherwise>
3208
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3528
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3209
3529
  </xsl:otherwise>
3210
3530
  </xsl:choose>
3211
3531
  </xsl:for-each>
@@ -3234,11 +3554,10 @@
3234
3554
 
3235
3555
  <fo:table-body>
3236
3556
  <fo:table-row>
3237
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3238
-
3557
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3239
3558
 
3240
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3241
3559
 
3560
+
3242
3561
 
3243
3562
 
3244
3563
  <!-- fn will be processed inside 'note' processing -->
@@ -3248,37 +3567,20 @@
3248
3567
 
3249
3568
 
3250
3569
 
3251
-
3252
-
3253
-
3254
3570
  <!-- for BSI (not PAS) display Notes before footnotes -->
3255
3571
 
3256
3572
 
3257
- <!-- except gb -->
3573
+ <!-- except gb and bsi -->
3258
3574
 
3259
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3260
-
3261
-
3262
- <!-- <xsl:if test="$namespace = 'bipm'">
3263
- <xsl:choose>
3264
- <xsl:when test="ancestor::*[local-name()='preface']">
3265
- show Note under table in preface (ex. abstract) sections
3266
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3267
- </xsl:when>
3268
- <xsl:otherwise>
3269
- empty, because notes show at page side in main sections
3270
- <fo:block/>
3271
- </xsl:otherwise>
3272
- </xsl:choose>
3273
- </xsl:if> -->
3575
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3576
+
3274
3577
 
3275
3578
 
3276
3579
  <!-- horizontal row separator -->
3277
3580
 
3278
3581
 
3279
3582
  <!-- fn processing -->
3280
- <xsl:call-template name="fn_display"/>
3281
-
3583
+ <xsl:call-template name="table_fn_display"/>
3282
3584
 
3283
3585
  <!-- for PAS display Notes after footnotes -->
3284
3586
 
@@ -3317,7 +3619,7 @@
3317
3619
  </xsl:if>
3318
3620
 
3319
3621
 
3320
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3622
+ <xsl:apply-templates select="../*[local-name()='thead']">
3321
3623
  <xsl:with-param name="cols-count" select="$cols-count"/>
3322
3624
  </xsl:apply-templates>
3323
3625
 
@@ -3365,99 +3667,68 @@
3365
3667
 
3366
3668
 
3367
3669
  <xsl:apply-templates/>
3368
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3369
-
3670
+
3370
3671
  </fo:table-body>
3371
3672
 
3372
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3373
- <xsl:choose>
3374
- <xsl:when test="substring-after(., '—') != ''">
3375
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3376
- </xsl:when>
3377
- <xsl:otherwise>
3378
- <xsl:value-of select="."/>
3379
- </xsl:otherwise>
3380
- </xsl:choose>
3381
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3382
- <xsl:apply-templates mode="presentation_name"/>
3383
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3384
- <xsl:apply-templates select="."/>
3385
- </xsl:template><xsl:template match="*[local-name()='tr']">
3386
- <xsl:variable name="parent-name" select="local-name(..)"/>
3387
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3388
- <fo:table-row min-height="4mm">
3389
- <xsl:if test="$parent-name = 'thead'">
3390
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3391
-
3392
-
3393
-
3394
- <xsl:choose>
3395
- <xsl:when test="position() = 1">
3396
- <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3397
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3398
- </xsl:when>
3399
- <xsl:when test="position() = last()">
3400
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3401
- <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3402
- </xsl:when>
3403
- <xsl:otherwise>
3404
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3405
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3406
- </xsl:otherwise>
3407
- </xsl:choose>
3408
-
3409
-
3410
-
3411
-
3412
-
3413
-
3414
- </xsl:if>
3415
- <xsl:if test="$parent-name = 'tfoot'">
3416
-
3417
-
3418
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3419
- <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
3420
- <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
3421
-
3422
-
3423
- </xsl:if>
3424
-
3425
-
3426
-
3427
-
3428
-
3429
-
3430
-
3431
-
3432
-
3433
-
3434
- <!-- <xsl:if test="$namespace = 'bipm'">
3435
- <xsl:attribute name="height">8mm</xsl:attribute>
3436
- </xsl:if> -->
3437
-
3438
- <xsl:apply-templates/>
3439
- </fo:table-row>
3440
- </xsl:template><xsl:template match="*[local-name()='th']">
3441
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3442
- <xsl:attribute name="text-align">
3673
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3674
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3675
+
3676
+
3677
+
3678
+
3443
3679
  <xsl:choose>
3444
- <xsl:when test="@align">
3445
- <xsl:call-template name="setAlignment"/>
3446
- <!-- <xsl:value-of select="@align"/> -->
3680
+ <xsl:when test="position() = 1">
3681
+ <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3682
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3683
+ </xsl:when>
3684
+ <xsl:when test="position() = last()">
3685
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3686
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3447
3687
  </xsl:when>
3448
- <xsl:otherwise>center</xsl:otherwise>
3449
3688
  </xsl:choose>
3450
- </xsl:attribute>
3689
+
3690
+
3451
3691
 
3452
3692
 
3453
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
3693
+ <xsl:call-template name="setTableRowAttributes"/>
3454
3694
 
3695
+ <xsl:apply-templates/>
3696
+ </fo:table-row>
3697
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3698
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3699
+
3700
+ <xsl:call-template name="setTableRowAttributes"/>
3701
+ <xsl:apply-templates/>
3702
+ </fo:table-row>
3703
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3704
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3705
+
3455
3706
 
3707
+
3456
3708
 
3709
+
3710
+ <xsl:call-template name="setTableRowAttributes"/>
3711
+ <xsl:apply-templates/>
3712
+ </fo:table-row>
3713
+ </xsl:template><xsl:template name="setTableRowAttributes">
3714
+
3715
+
3716
+
3717
+
3718
+
3719
+
3720
+
3721
+
3722
+ </xsl:template><xsl:template match="*[local-name()='th']">
3723
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
3724
+ <xsl:call-template name="setTextAlignment">
3725
+ <xsl:with-param name="default">center</xsl:with-param>
3726
+ </xsl:call-template>
3457
3727
 
3458
3728
 
3459
3729
 
3460
3730
 
3731
+
3461
3732
 
3462
3733
 
3463
3734
 
@@ -3466,21 +3737,25 @@
3466
3737
  <xsl:if test="$lang = 'ar'">
3467
3738
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3468
3739
  </xsl:if>
3469
- <xsl:if test="@colspan">
3470
- <xsl:attribute name="number-columns-spanned">
3471
- <xsl:value-of select="@colspan"/>
3472
- </xsl:attribute>
3473
- </xsl:if>
3474
- <xsl:if test="@rowspan">
3475
- <xsl:attribute name="number-rows-spanned">
3476
- <xsl:value-of select="@rowspan"/>
3477
- </xsl:attribute>
3478
- </xsl:if>
3479
- <xsl:call-template name="display-align"/>
3740
+
3741
+ <xsl:call-template name="setTableCellAttributes"/>
3742
+
3480
3743
  <fo:block>
3481
3744
  <xsl:apply-templates/>
3482
3745
  </fo:block>
3483
3746
  </fo:table-cell>
3747
+ </xsl:template><xsl:template name="setTableCellAttributes">
3748
+ <xsl:if test="@colspan">
3749
+ <xsl:attribute name="number-columns-spanned">
3750
+ <xsl:value-of select="@colspan"/>
3751
+ </xsl:attribute>
3752
+ </xsl:if>
3753
+ <xsl:if test="@rowspan">
3754
+ <xsl:attribute name="number-rows-spanned">
3755
+ <xsl:value-of select="@rowspan"/>
3756
+ </xsl:attribute>
3757
+ </xsl:if>
3758
+ <xsl:call-template name="display-align"/>
3484
3759
  </xsl:template><xsl:template name="display-align">
3485
3760
  <xsl:if test="@valign">
3486
3761
  <xsl:attribute name="display-align">
@@ -3493,97 +3768,80 @@
3493
3768
  </xsl:attribute>
3494
3769
  </xsl:if>
3495
3770
  </xsl:template><xsl:template match="*[local-name()='td']">
3496
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3497
- <xsl:attribute name="text-align">
3498
- <xsl:choose>
3499
- <xsl:when test="@align">
3500
- <xsl:call-template name="setAlignment"/>
3501
- <!-- <xsl:value-of select="@align"/> -->
3502
- </xsl:when>
3503
- <xsl:otherwise>left</xsl:otherwise>
3504
- </xsl:choose>
3505
- </xsl:attribute>
3771
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
3772
+ <xsl:call-template name="setTextAlignment">
3773
+ <xsl:with-param name="default">left</xsl:with-param>
3774
+ </xsl:call-template>
3775
+
3506
3776
  <xsl:if test="$lang = 'ar'">
3507
3777
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3508
3778
  </xsl:if>
3509
- <!-- and ancestor::*[local-name() = 'thead'] -->
3510
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3511
3779
 
3512
3780
 
3513
3781
 
3514
- <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3515
- <xsl:attribute name="padding-left">0mm</xsl:attribute>
3516
- </xsl:if>
3782
+ <!-- bsi -->
3517
3783
 
3518
3784
 
3519
3785
 
3520
- <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3521
- <xsl:attribute name="border">solid black 0</xsl:attribute>
3522
- </xsl:if>
3523
3786
 
3524
3787
 
3525
3788
 
3526
3789
 
3527
3790
 
3791
+
3528
3792
 
3793
+ <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3794
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3795
+ </xsl:if>
3796
+ <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3797
+ <xsl:attribute name="border">solid black 0</xsl:attribute>
3798
+ </xsl:if>
3529
3799
 
3530
3800
 
3531
3801
 
3532
3802
 
3533
3803
 
3534
3804
 
3535
- <xsl:if test=".//*[local-name() = 'table']">
3805
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3536
3806
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3537
3807
  </xsl:if>
3538
- <xsl:if test="@colspan">
3539
- <xsl:attribute name="number-columns-spanned">
3540
- <xsl:value-of select="@colspan"/>
3541
- </xsl:attribute>
3542
- </xsl:if>
3543
- <xsl:if test="@rowspan">
3544
- <xsl:attribute name="number-rows-spanned">
3545
- <xsl:value-of select="@rowspan"/>
3546
- </xsl:attribute>
3547
- </xsl:if>
3548
- <xsl:call-template name="display-align"/>
3808
+
3809
+ <xsl:call-template name="setTableCellAttributes"/>
3810
+
3549
3811
  <fo:block>
3550
-
3812
+
3813
+
3814
+
3551
3815
  <xsl:apply-templates/>
3552
3816
  </fo:block>
3553
3817
  </fo:table-cell>
3554
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3555
-
3818
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3819
+
3820
+ <fo:block xsl:use-attribute-sets="table-note-style">
3821
+
3822
+
3823
+
3824
+
3556
3825
 
3557
- <fo:block font-size="10pt" margin-bottom="12pt">
3826
+ <!-- Table's note name (NOTE, for example) -->
3827
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3558
3828
 
3559
3829
 
3560
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3561
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3562
3830
 
3563
3831
 
3564
3832
 
3565
3833
 
3566
3834
 
3567
-
3568
-
3569
- <!-- Table's note name (NOTE, for example) -->
3570
-
3571
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3572
-
3835
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3573
3836
 
3574
-
3575
-
3576
-
3577
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3578
-
3579
- </fo:inline>
3580
-
3581
-
3582
-
3583
- <xsl:apply-templates mode="process"/>
3584
- </fo:block>
3837
+ </fo:inline>
3838
+
3839
+
3840
+
3841
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3842
+ </fo:block>
3585
3843
 
3586
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3844
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3587
3845
  <xsl:apply-templates/>
3588
3846
  </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
3589
3847
 
@@ -3661,8 +3919,7 @@
3661
3919
  <xsl:copy-of select="$footnote_inline"/>
3662
3920
  <fo:footnote-body>
3663
3921
 
3664
- <fo:block-container text-indent="0" start-indent="0">
3665
-
3922
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3666
3923
 
3667
3924
  <fo:block xsl:use-attribute-sets="fn-body-style">
3668
3925
 
@@ -3681,7 +3938,7 @@
3681
3938
  <xsl:copy-of select="$footnote_inline"/>
3682
3939
  </xsl:otherwise>
3683
3940
  </xsl:choose>
3684
- </xsl:template><xsl:template name="fn_display">
3941
+ </xsl:template><xsl:template name="table_fn_display">
3685
3942
  <xsl:variable name="references">
3686
3943
 
3687
3944
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3692,36 +3949,26 @@
3692
3949
  <xsl:for-each select="xalan:nodeset($references)//fn">
3693
3950
  <xsl:variable name="reference" select="@reference"/>
3694
3951
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3695
- <fo:block margin-bottom="12pt">
3952
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3696
3953
 
3697
3954
 
3698
3955
 
3699
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3700
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3701
-
3702
-
3703
-
3704
-
3705
-
3706
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3956
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3707
3957
 
3708
3958
 
3709
- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
3710
3959
 
3711
3960
 
3712
3961
 
3962
+ <xsl:value-of select="@reference"/>
3713
3963
 
3714
3964
 
3715
3965
 
3716
3966
 
3717
- <xsl:value-of select="@reference"/>
3718
3967
 
3719
3968
 
3720
3969
 
3721
3970
  </fo:inline>
3722
- <fo:inline>
3723
-
3724
- <!-- <xsl:apply-templates /> -->
3971
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3725
3972
  <xsl:copy-of select="./node()"/>
3726
3973
  </fo:inline>
3727
3974
  </fo:block>
@@ -3733,15 +3980,7 @@
3733
3980
 
3734
3981
  <xsl:apply-templates/>
3735
3982
  </fn>
3736
- </xsl:template><xsl:template name="fn_name_display">
3737
- <!-- <xsl:variable name="references">
3738
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3739
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3740
- <xsl:apply-templates />
3741
- </fn>
3742
- </xsl:for-each>
3743
- </xsl:variable>
3744
- $references=<xsl:copy-of select="$references"/> -->
3983
+ </xsl:template><xsl:template name="table_name_fn_display">
3745
3984
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3746
3985
  <xsl:variable name="reference" select="@reference"/>
3747
3986
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3750,9 +3989,7 @@
3750
3989
  </fo:block>
3751
3990
  </xsl:for-each>
3752
3991
  </xsl:template><xsl:template name="fn_display_figure">
3753
- <xsl:variable name="key_iso">
3754
- true <!-- and (not(@class) or @class !='pseudocode') -->
3755
- </xsl:variable>
3992
+
3756
3993
  <xsl:variable name="references">
3757
3994
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3758
3995
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3760,50 +3997,52 @@
3760
3997
  </fn>
3761
3998
  </xsl:for-each>
3762
3999
  </xsl:variable>
4000
+
4001
+ <xsl:if test="xalan:nodeset($references)//fn">
3763
4002
 
3764
- <!-- current hierarchy is 'figure' element -->
3765
- <xsl:variable name="following_dl_colwidths">
3766
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3767
- <xsl:variable name="html-table">
3768
- <xsl:variable name="doc_ns">
4003
+ <xsl:variable name="key_iso">
4004
+ true
4005
+ </xsl:variable>
4006
+
4007
+ <!-- current hierarchy is 'figure' element -->
4008
+ <xsl:variable name="following_dl_colwidths">
4009
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
4010
+ <xsl:variable name="html-table">
4011
+ <xsl:variable name="doc_ns">
4012
+
4013
+ </xsl:variable>
4014
+ <xsl:variable name="ns">
4015
+ <xsl:choose>
4016
+ <xsl:when test="normalize-space($doc_ns) != ''">
4017
+ <xsl:value-of select="normalize-space($doc_ns)"/>
4018
+ </xsl:when>
4019
+ <xsl:otherwise>
4020
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
4021
+ </xsl:otherwise>
4022
+ </xsl:choose>
4023
+ </xsl:variable>
3769
4024
 
3770
- </xsl:variable>
3771
- <xsl:variable name="ns">
3772
- <xsl:choose>
3773
- <xsl:when test="normalize-space($doc_ns) != ''">
3774
- <xsl:value-of select="normalize-space($doc_ns)"/>
3775
- </xsl:when>
3776
- <xsl:otherwise>
3777
- <xsl:value-of select="substring-before(name(/*), '-')"/>
3778
- </xsl:otherwise>
3779
- </xsl:choose>
3780
- </xsl:variable>
3781
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3782
- <!-- <xsl:element name="{$ns}:table"> -->
3783
4025
  <xsl:for-each select="*[local-name() = 'dl'][1]">
3784
4026
  <tbody>
3785
4027
  <xsl:apply-templates mode="dl"/>
3786
4028
  </tbody>
3787
4029
  </xsl:for-each>
3788
- <!-- </xsl:element> -->
3789
- </xsl:variable>
3790
-
3791
- <xsl:call-template name="calculate-column-widths">
3792
- <xsl:with-param name="cols-count" select="2"/>
3793
- <xsl:with-param name="table" select="$html-table"/>
3794
- </xsl:call-template>
3795
-
3796
- </xsl:if>
3797
- </xsl:variable>
3798
-
3799
-
3800
- <xsl:variable name="maxlength_dt">
3801
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3802
- <xsl:call-template name="getMaxLength_dt"/>
3803
- </xsl:for-each>
3804
- </xsl:variable>
3805
-
3806
- <xsl:if test="xalan:nodeset($references)//fn">
4030
+ </xsl:variable>
4031
+
4032
+ <xsl:call-template name="calculate-column-widths">
4033
+ <xsl:with-param name="cols-count" select="2"/>
4034
+ <xsl:with-param name="table" select="$html-table"/>
4035
+ </xsl:call-template>
4036
+
4037
+ </xsl:if>
4038
+ </xsl:variable>
4039
+
4040
+ <xsl:variable name="maxlength_dt">
4041
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
4042
+ <xsl:call-template name="getMaxLength_dt"/>
4043
+ </xsl:for-each>
4044
+ </xsl:variable>
4045
+
3807
4046
  <fo:block>
3808
4047
  <fo:table width="95%" table-layout="fixed">
3809
4048
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3830,20 +4069,18 @@
3830
4069
  <fo:table-row>
3831
4070
  <fo:table-cell>
3832
4071
  <fo:block>
3833
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3834
-
4072
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
3835
4073
  <xsl:value-of select="@reference"/>
3836
4074
  </fo:inline>
3837
4075
  </fo:block>
3838
4076
  </fo:table-cell>
3839
4077
  <fo:table-cell>
3840
- <fo:block text-align="justify" margin-bottom="12pt">
3841
-
4078
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
3842
4079
  <xsl:if test="normalize-space($key_iso) = 'true'">
3843
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
4080
+
4081
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
4082
+
3844
4083
  </xsl:if>
3845
-
3846
- <!-- <xsl:apply-templates /> -->
3847
4084
  <xsl:copy-of select="./node()"/>
3848
4085
  </fo:block>
3849
4086
  </fo:table-cell>
@@ -3856,24 +4093,17 @@
3856
4093
  </xsl:if>
3857
4094
 
3858
4095
  </xsl:template><xsl:template match="*[local-name()='fn']">
3859
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3860
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
4096
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
4097
+
3861
4098
 
3862
4099
 
3863
4100
 
3864
4101
  <xsl:if test="ancestor::*[local-name()='table']">
3865
4102
  <xsl:attribute name="font-weight">normal</xsl:attribute>
3866
- <!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
3867
4103
  <xsl:attribute name="baseline-shift">15%</xsl:attribute>
3868
4104
  </xsl:if>
3869
4105
 
3870
4106
 
3871
-
3872
-
3873
-
3874
-
3875
-
3876
-
3877
4107
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3878
4108
 
3879
4109
 
@@ -3893,10 +4123,10 @@
3893
4123
  <xsl:variable name="isDeleted" select="@deleted"/>
3894
4124
  <fo:block-container>
3895
4125
 
3896
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3897
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3898
- </xsl:if>
3899
-
4126
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
4127
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
4128
+ </xsl:if>
4129
+
3900
4130
 
3901
4131
  <xsl:if test="parent::*[local-name() = 'note']">
3902
4132
  <xsl:attribute name="margin-left">
@@ -3913,11 +4143,11 @@
3913
4143
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3914
4144
  </xsl:call-template>
3915
4145
 
3916
- <fo:block-container>
3917
-
3918
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3919
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
4146
+ <fo:block-container margin-left="0mm">
4147
+
3920
4148
 
4149
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
4150
+
3921
4151
 
3922
4152
  <xsl:variable name="parent" select="local-name(..)"/>
3923
4153
 
@@ -3930,22 +4160,21 @@
3930
4160
  <xsl:choose>
3931
4161
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
3932
4162
 
3933
-
3934
- <fo:block margin-bottom="12pt" text-align="left">
3935
-
3936
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
3937
-
3938
- <xsl:variable name="title-where">
3939
- <xsl:call-template name="getLocalizedString">
3940
- <xsl:with-param name="key">where</xsl:with-param>
3941
- </xsl:call-template>
3942
- </xsl:variable>
3943
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
3944
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
3945
- <xsl:text/>
3946
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
3947
- </fo:block>
3948
-
4163
+ <fo:block margin-bottom="12pt" text-align="left">
4164
+
4165
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
4166
+
4167
+ <xsl:variable name="title-where">
4168
+ <xsl:call-template name="getLocalizedString">
4169
+ <xsl:with-param name="key">where</xsl:with-param>
4170
+ </xsl:call-template>
4171
+ </xsl:variable>
4172
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4173
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
4174
+ <xsl:text/>
4175
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4176
+ </fo:block>
4177
+
3949
4178
  </xsl:when>
3950
4179
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3951
4180
  <fo:block margin-bottom="12pt" text-align="left">
@@ -4002,9 +4231,7 @@
4002
4231
  <fo:table width="95%" table-layout="fixed">
4003
4232
 
4004
4233
  <xsl:choose>
4005
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
4006
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
4007
- </xsl:when>
4234
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
4008
4235
  <xsl:when test="normalize-space($key_iso) = 'true'">
4009
4236
  <xsl:attribute name="font-size">10pt</xsl:attribute>
4010
4237
 
@@ -4025,12 +4252,9 @@
4025
4252
  </xsl:otherwise>
4026
4253
  </xsl:choose>
4027
4254
  </xsl:variable>
4028
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
4029
- <!-- <xsl:element name="{$ns}:table"> -->
4030
- <tbody>
4031
- <xsl:apply-templates mode="dl"/>
4032
- </tbody>
4033
- <!-- </xsl:element> -->
4255
+ <tbody>
4256
+ <xsl:apply-templates mode="dl"/>
4257
+ </tbody>
4034
4258
  </xsl:variable>
4035
4259
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
4036
4260
  <xsl:variable name="colwidths">
@@ -4110,8 +4334,6 @@
4110
4334
  </xsl:for-each>
4111
4335
  </xsl:otherwise>
4112
4336
  </xsl:choose>
4113
- <!-- <fo:table-column column-width="15%"/>
4114
- <fo:table-column column-width="85%"/> -->
4115
4337
  </xsl:otherwise>
4116
4338
  </xsl:choose>
4117
4339
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -4126,12 +4348,6 @@
4126
4348
  </xsl:for-each>
4127
4349
  </xsl:variable>
4128
4350
  <xsl:variable name="maxLength">
4129
- <!-- <xsl:for-each select="*[local-name()='dt']">
4130
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
4131
- <xsl:if test="position() = 1">
4132
- <xsl:value-of select="string-length(normalize-space(.))"/>
4133
- </xsl:if>
4134
- </xsl:for-each> -->
4135
4351
  <xsl:for-each select="xalan:nodeset($lengths)/length">
4136
4352
  <xsl:sort select="." data-type="number" order="descending"/>
4137
4353
  <xsl:if test="position() = 1">
@@ -4157,12 +4373,12 @@
4157
4373
  <xsl:if test="normalize-space($key_iso) = 'true'">
4158
4374
  <xsl:attribute name="margin-top">0</xsl:attribute>
4159
4375
  </xsl:if>
4160
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4376
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4161
4377
  </fo:block>
4162
4378
  </fo:table-cell>
4163
4379
  <fo:table-cell>
4164
4380
  <fo:block>
4165
- <xsl:apply-templates/>
4381
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4166
4382
  </fo:block>
4167
4383
  </fo:table-cell>
4168
4384
  </fo:table-row>
@@ -4173,83 +4389,49 @@
4173
4389
  </td>
4174
4390
  <td>
4175
4391
 
4176
-
4177
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4178
-
4392
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4393
+ <xsl:with-param name="process">true</xsl:with-param>
4394
+ </xsl:apply-templates>
4395
+
4179
4396
  </td>
4180
4397
  </tr>
4181
4398
 
4182
4399
  </xsl:template><xsl:template match="*[local-name()='dt']">
4183
4400
  <xsl:param name="key_iso"/>
4184
4401
 
4185
- <fo:table-row>
4186
-
4187
-
4402
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
4188
4403
  <fo:table-cell>
4189
4404
 
4190
- <fo:block margin-top="6pt">
4405
+ <fo:block xsl:use-attribute-sets="dt-style">
4191
4406
  <xsl:copy-of select="@id"/>
4192
4407
 
4193
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
4194
-
4195
-
4196
4408
  <xsl:if test="normalize-space($key_iso) = 'true'">
4197
4409
  <xsl:attribute name="margin-top">0</xsl:attribute>
4198
-
4199
4410
  </xsl:if>
4200
4411
 
4201
4412
 
4202
4413
 
4203
-
4204
-
4205
-
4206
-
4207
4414
  <xsl:apply-templates/>
4208
- <!-- <xsl:if test="$namespace = 'gb'">
4209
- <xsl:if test="ancestor::*[local-name()='formula']">
4210
- <xsl:text>—</xsl:text>
4211
- </xsl:if>
4212
- </xsl:if> -->
4213
4415
  </fo:block>
4214
4416
  </fo:table-cell>
4215
4417
  <fo:table-cell>
4216
4418
  <fo:block>
4217
4419
 
4218
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4219
- <xsl:if test="local-name(*[1]) != 'stem'">
4220
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4221
- </xsl:if>
4222
- </xsl:if> -->
4223
-
4224
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4225
-
4420
+
4421
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4422
+ <xsl:with-param name="process">true</xsl:with-param>
4423
+ </xsl:apply-templates>
4226
4424
  </fo:block>
4227
4425
  </fo:table-cell>
4228
4426
  </fo:table-row>
4229
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4230
- <xsl:if test="local-name(*[1]) = 'stem'">
4231
- <fo:table-row>
4232
- <fo:table-cell>
4233
- <fo:block margin-top="6pt">
4234
- <xsl:if test="normalize-space($key_iso) = 'true'">
4235
- <xsl:attribute name="margin-top">0</xsl:attribute>
4236
- </xsl:if>
4237
- <xsl:text>&#xA0;</xsl:text>
4238
- </fo:block>
4239
- </fo:table-cell>
4240
- <fo:table-cell>
4241
- <fo:block>
4242
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4243
- </fo:block>
4244
- </fo:table-cell>
4245
- </fo:table-row>
4246
- </xsl:if>
4247
- </xsl:if> -->
4248
4427
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4249
4428
  <xsl:apply-templates/>
4250
- </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4251
- <xsl:apply-templates select="@language"/>
4252
- <xsl:apply-templates/>
4429
+ </xsl:template><xsl:template match="*[local-name()='dd']">
4430
+ <xsl:param name="process">false</xsl:param>
4431
+ <xsl:if test="$process = 'true'">
4432
+ <xsl:apply-templates select="@language"/>
4433
+ <xsl:apply-templates/>
4434
+ </xsl:if>
4253
4435
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4254
4436
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
4255
4437
  </xsl:template><xsl:template match="*[local-name()='em']">
@@ -4273,6 +4455,7 @@
4273
4455
  </fo:inline>
4274
4456
  </xsl:template><xsl:template match="*[local-name()='tt']">
4275
4457
  <fo:inline xsl:use-attribute-sets="tt-style">
4458
+
4276
4459
  <xsl:variable name="_font-size">
4277
4460
 
4278
4461
 
@@ -4308,16 +4491,46 @@
4308
4491
  <fo:inline text-decoration="underline">
4309
4492
  <xsl:apply-templates/>
4310
4493
  </fo:inline>
4311
- </xsl:template><xsl:template match="*[local-name()='add']">
4494
+ </xsl:template><xsl:template match="*[local-name()='add']" name="tag_add">
4495
+ <xsl:param name="skip">true</xsl:param>
4496
+ <xsl:param name="block">false</xsl:param>
4497
+ <xsl:param name="type"/>
4498
+ <xsl:param name="text-align"/>
4312
4499
  <xsl:choose>
4313
4500
  <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4314
- <fo:inline>
4315
- <xsl:call-template name="insertTag">
4316
- <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4317
- <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4318
- <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4319
- </xsl:call-template>
4320
- </fo:inline>
4501
+ <xsl:choose>
4502
+ <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>
4503
+ <xsl:otherwise>
4504
+ <xsl:variable name="tag">
4505
+ <xsl:call-template name="insertTag">
4506
+ <xsl:with-param name="type">
4507
+ <xsl:choose>
4508
+ <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
4509
+ <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
4510
+ </xsl:choose>
4511
+ </xsl:with-param>
4512
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4513
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4514
+ </xsl:call-template>
4515
+ </xsl:variable>
4516
+ <xsl:choose>
4517
+ <xsl:when test="$block = 'false'">
4518
+ <fo:inline>
4519
+ <xsl:copy-of select="$tag"/>
4520
+ </fo:inline>
4521
+ </xsl:when>
4522
+ <xsl:otherwise>
4523
+ <fo:block> <!-- for around figures -->
4524
+ <xsl:if test="$text-align != ''">
4525
+ <xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
4526
+ </xsl:if>
4527
+ <xsl:copy-of select="$tag"/>
4528
+ </fo:block>
4529
+ </xsl:otherwise>
4530
+ </xsl:choose>
4531
+
4532
+ </xsl:otherwise>
4533
+ </xsl:choose>
4321
4534
  </xsl:when>
4322
4535
  <xsl:when test="@amendment">
4323
4536
  <fo:inline>
@@ -4360,8 +4573,6 @@
4360
4573
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4361
4574
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4362
4575
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4363
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
4364
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
4365
4576
  <xsl:attribute name="height">5mm</xsl:attribute>
4366
4577
  <xsl:attribute name="content-width">100%</xsl:attribute>
4367
4578
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
@@ -4419,7 +4630,11 @@
4419
4630
  <xsl:with-param name="text" select="substring($text,2)"/>
4420
4631
  </xsl:call-template>
4421
4632
  </xsl:if>
4422
- </xsl:template><xsl:template name="tokenize">
4633
+ </xsl:template><xsl:template match="*[local-name() = 'pagebreak']">
4634
+ <fo:block break-after="page"/>
4635
+ <fo:block> </fo:block>
4636
+ <fo:block break-after="page"/>
4637
+ </xsl:template><xsl:template name="tokenize">
4423
4638
  <xsl:param name="text"/>
4424
4639
  <xsl:param name="separator" select="' '"/>
4425
4640
  <xsl:choose>
@@ -4579,14 +4794,6 @@
4579
4794
 
4580
4795
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4581
4796
 
4582
- <!-- <xsl:choose>
4583
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4584
-
4585
- </xsl:when>
4586
- <xsl:otherwise>
4587
- <xsl:copy-of select="current()"/>
4588
- </xsl:otherwise>
4589
- </xsl:choose> -->
4590
4797
  </xsl:variable>
4591
4798
  <xsl:copy-of select="$simple-table"/>
4592
4799
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -4680,17 +4887,21 @@
4680
4887
  </xsl:apply-templates>
4681
4888
  </xsl:template><xsl:template name="getLang">
4682
4889
  <xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
4683
- <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
4684
4890
  <xsl:variable name="language">
4685
4891
  <xsl:choose>
4686
4892
  <xsl:when test="$language_current != ''">
4687
4893
  <xsl:value-of select="$language_current"/>
4688
4894
  </xsl:when>
4689
- <xsl:when test="$language_current_2 != ''">
4690
- <xsl:value-of select="$language_current_2"/>
4691
- </xsl:when>
4692
4895
  <xsl:otherwise>
4693
- <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
4896
+ <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
4897
+ <xsl:choose>
4898
+ <xsl:when test="$language_current_2 != ''">
4899
+ <xsl:value-of select="$language_current_2"/>
4900
+ </xsl:when>
4901
+ <xsl:otherwise>
4902
+ <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
4903
+ </xsl:otherwise>
4904
+ </xsl:choose>
4694
4905
  </xsl:otherwise>
4695
4906
  </xsl:choose>
4696
4907
  </xsl:variable>
@@ -4705,8 +4916,6 @@
4705
4916
  <xsl:choose>
4706
4917
  <xsl:when test="contains($str2, ' ')">
4707
4918
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4708
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4709
- <xsl:value-of select="substring($substr, 2)"/> -->
4710
4919
  <xsl:call-template name="capitalize">
4711
4920
  <xsl:with-param name="str" select="$substr"/>
4712
4921
  </xsl:call-template>
@@ -4716,8 +4925,6 @@
4716
4925
  </xsl:call-template>
4717
4926
  </xsl:when>
4718
4927
  <xsl:otherwise>
4719
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4720
- <xsl:value-of select="substring($str2, 2)"/> -->
4721
4928
  <xsl:call-template name="capitalize">
4722
4929
  <xsl:with-param name="str" select="$str2"/>
4723
4930
  </xsl:call-template>
@@ -4745,6 +4952,7 @@
4745
4952
  <xsl:apply-templates select="." mode="mathml"/>
4746
4953
  </xsl:variable>
4747
4954
  <fo:instream-foreign-object fox:alt-text="Math">
4955
+
4748
4956
 
4749
4957
 
4750
4958
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -4776,7 +4984,7 @@
4776
4984
  </xsl:attribute>
4777
4985
 
4778
4986
 
4779
- <!-- <xsl:copy-of select="."/> -->
4987
+
4780
4988
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4781
4989
  </fo:instream-foreign-object>
4782
4990
  </fo:inline>
@@ -4835,6 +5043,10 @@
4835
5043
 
4836
5044
 
4837
5045
 
5046
+
5047
+
5048
+
5049
+
4838
5050
  <xsl:choose>
4839
5051
  <xsl:when test="$target_text = ''">
4840
5052
  <xsl:apply-templates/>
@@ -4858,10 +5070,10 @@
4858
5070
  </fo:inline>
4859
5071
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4860
5072
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4861
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
5073
+ <xsl:apply-templates select="*[local-name()='title']"/>
4862
5074
  </fo:block>
4863
- <xsl:apply-templates/>
4864
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
5075
+ <xsl:apply-templates select="node()[not(local-name()='title')]"/>
5076
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" priority="2">
4865
5077
  <xsl:variable name="level">
4866
5078
  <xsl:call-template name="getLevel"/>
4867
5079
  </xsl:variable>
@@ -4892,7 +5104,6 @@
4892
5104
  </fo:inline>
4893
5105
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4894
5106
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4895
-
4896
5107
  <xsl:apply-templates/>
4897
5108
  </fo:basic-link>
4898
5109
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -4907,8 +5118,8 @@
4907
5118
 
4908
5119
  </xsl:if>
4909
5120
  <fo:block-container margin-left="0mm">
4910
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
4911
- <xsl:apply-templates/>
5121
+ <fo:block id="{@id}">
5122
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
4912
5123
  </fo:block>
4913
5124
  </fo:block-container>
4914
5125
  </fo:block-container>
@@ -4920,49 +5131,97 @@
4920
5131
  <fo:inline>
4921
5132
  <xsl:apply-templates/>
4922
5133
  </fo:inline>
4923
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
5134
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
4924
5135
  <xsl:if test="normalize-space() != ''">
4925
5136
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
4926
5137
  </xsl:if>
5138
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][*[local-name() = 'name']]/*[local-name() = 'stem']">
5139
+ <fo:block xsl:use-attribute-sets="formula-style">
5140
+
5141
+
5142
+
5143
+ <fo:table table-layout="fixed" width="100%">
5144
+ <fo:table-column column-width="95%"/>
5145
+ <fo:table-column column-width="5%"/>
5146
+ <fo:table-body>
5147
+ <fo:table-row>
5148
+ <fo:table-cell display-align="center">
5149
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5150
+
5151
+
5152
+
5153
+ <xsl:apply-templates/>
5154
+ </fo:block>
5155
+ </fo:table-cell>
5156
+ <fo:table-cell display-align="center">
5157
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style">
5158
+ <xsl:apply-templates select="../*[local-name() = 'name']"/>
5159
+ </fo:block>
5160
+ </fo:table-cell>
5161
+ </fo:table-row>
5162
+ </fo:table-body>
5163
+ </fo:table>
5164
+ </fo:block>
5165
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][not(*[local-name() = 'name'])]/*[local-name() = 'stem']">
5166
+ <fo:block xsl:use-attribute-sets="formula-style">
5167
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5168
+ <xsl:apply-templates/>
5169
+ </fo:block>
5170
+ </fo:block>
4927
5171
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
4928
5172
 
4929
5173
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
5174
+
4930
5175
 
4931
5176
 
4932
5177
 
4933
5178
 
4934
5179
 
5180
+
5181
+
5182
+
5183
+
5184
+
4935
5185
  <fo:block-container margin-left="0mm">
5186
+
4936
5187
 
4937
5188
 
4938
5189
 
5190
+
4939
5191
 
4940
-
4941
-
4942
-
4943
-
4944
- <fo:block>
4945
-
4946
-
4947
-
4948
-
4949
-
5192
+ <fo:block>
5193
+
5194
+
4950
5195
 
4951
- <fo:inline xsl:use-attribute-sets="note-name-style">
4952
5196
 
4953
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4954
- </fo:inline>
4955
- <xsl:apply-templates/>
4956
- </fo:block>
4957
-
4958
-
5197
+
5198
+
5199
+
5200
+ <fo:inline xsl:use-attribute-sets="note-name-style">
5201
+
5202
+
5203
+
5204
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
5205
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5206
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5207
+ <xsl:with-param name="skip">false</xsl:with-param>
5208
+ </xsl:apply-templates>
5209
+ </xsl:if>
5210
+
5211
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5212
+
5213
+ </fo:inline>
5214
+
5215
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5216
+ </fo:block>
5217
+
4959
5218
  </fo:block-container>
4960
5219
  </fo:block-container>
4961
5220
 
4962
5221
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
4963
5222
  <xsl:variable name="num"><xsl:number/></xsl:variable>
4964
5223
  <xsl:choose>
4965
- <xsl:when test="$num = 1">
5224
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
4966
5225
  <fo:inline xsl:use-attribute-sets="note-p-style">
4967
5226
  <xsl:apply-templates/>
4968
5227
  </fo:inline>
@@ -4977,12 +5236,16 @@
4977
5236
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4978
5237
 
4979
5238
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
5239
+
5240
+
5241
+
5242
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4980
5243
 
4981
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4982
5244
  </fo:inline>
4983
- <xsl:apply-templates/>
5245
+
5246
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4984
5247
  </fo:block>
4985
- </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name'] | *[local-name() = 'termnote']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']" mode="presentation">
5248
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
4986
5249
  <xsl:param name="sfx"/>
4987
5250
  <xsl:variable name="suffix">
4988
5251
  <xsl:choose>
@@ -4999,7 +5262,7 @@
4999
5262
  <xsl:apply-templates/>
5000
5263
  <xsl:value-of select="$suffix"/>
5001
5264
  </xsl:if>
5002
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
5265
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
5003
5266
  <xsl:param name="sfx"/>
5004
5267
  <xsl:variable name="suffix">
5005
5268
  <xsl:choose>
@@ -5026,25 +5289,23 @@
5026
5289
  <xsl:apply-templates/>
5027
5290
  </fo:block>
5028
5291
  </xsl:template><xsl:template match="*[local-name() = 'term']">
5029
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
5030
5292
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
5031
5293
 
5032
5294
 
5295
+
5296
+
5033
5297
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
5034
5298
 
5035
5299
  </xsl:if>
5036
- <xsl:apply-templates/>
5300
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5037
5301
  </fo:block>
5038
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
5302
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
5039
5303
  <xsl:if test="normalize-space() != ''">
5040
5304
  <xsl:variable name="level">
5041
5305
  <xsl:call-template name="getLevelTermName"/>
5042
5306
  </xsl:variable>
5043
5307
  <fo:inline role="H{$level}">
5044
5308
  <xsl:apply-templates/>
5045
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
5046
- <xsl:text>.</xsl:text>
5047
- </xsl:if> -->
5048
5309
  </fo:inline>
5049
5310
  </xsl:if>
5050
5311
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -5057,9 +5318,10 @@
5057
5318
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
5058
5319
  </xsl:call-template>
5059
5320
 
5060
- <fo:block>
5061
-
5062
- <xsl:apply-templates/>
5321
+
5322
+
5323
+ <fo:block xsl:use-attribute-sets="figure-style">
5324
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5063
5325
  </fo:block>
5064
5326
  <xsl:call-template name="fn_display_figure"/>
5065
5327
  <xsl:for-each select="*[local-name() = 'note']">
@@ -5067,14 +5329,15 @@
5067
5329
  </xsl:for-each>
5068
5330
 
5069
5331
 
5070
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5332
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
5333
+
5071
5334
 
5072
5335
  </fo:block-container>
5073
5336
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
5074
5337
  <fo:block id="{@id}">
5075
- <xsl:apply-templates/>
5338
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5076
5339
  </fo:block>
5077
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5340
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5078
5341
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
5079
5342
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
5080
5343
  <xsl:apply-templates/>
@@ -5181,9 +5444,7 @@
5181
5444
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
5182
5445
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
5183
5446
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
5184
- <!-- width=<xsl:value-of select="$width"/> -->
5185
5447
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
5186
- <!-- height=<xsl:value-of select="$height"/> -->
5187
5448
  <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
5188
5449
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
5189
5450
  <xsl:call-template name="svg_cross">
@@ -5453,7 +5714,7 @@
5453
5714
  </fo:basic-link>
5454
5715
  </fo:block>
5455
5716
  </fo:block-container>
5456
- </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
5717
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
5457
5718
  <xsl:apply-templates mode="contents"/>
5458
5719
  <xsl:text> </xsl:text>
5459
5720
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name'] | *[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="bookmarks">
@@ -5465,7 +5726,7 @@
5465
5726
  <xsl:value-of select="."/>
5466
5727
  </xsl:template><xsl:template match="node()" mode="contents">
5467
5728
  <xsl:apply-templates mode="contents"/>
5468
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
5729
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5469
5730
  <xsl:variable name="level">
5470
5731
  <xsl:call-template name="getLevel">
5471
5732
  <xsl:with-param name="depth" select="@depth"/>
@@ -5473,10 +5734,15 @@
5473
5734
  </xsl:variable>
5474
5735
 
5475
5736
  <xsl:variable name="section">
5476
- <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5737
+ <xsl:choose>
5738
+ <xsl:when test="@type = 'section-title'"/>
5739
+ <xsl:otherwise>
5740
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5741
+ </xsl:otherwise>
5742
+ </xsl:choose>
5477
5743
  </xsl:variable>
5478
5744
 
5479
- <xsl:variable name="type">floating-title</xsl:variable>
5745
+ <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
5480
5746
 
5481
5747
  <xsl:variable name="display">
5482
5748
  <xsl:choose>
@@ -5493,7 +5759,16 @@
5493
5759
  <xsl:variable name="title">
5494
5760
  <xsl:choose>
5495
5761
  <xsl:when test="*[local-name() = 'tab']">
5496
- <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5762
+ <xsl:choose>
5763
+ <xsl:when test="@type = 'section-title'">
5764
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5765
+ <xsl:text>: </xsl:text>
5766
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5767
+ </xsl:when>
5768
+ <xsl:otherwise>
5769
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5770
+ </xsl:otherwise>
5771
+ </xsl:choose>
5497
5772
  </xsl:when>
5498
5773
  <xsl:otherwise>
5499
5774
  <xsl:copy-of select="node()"/>
@@ -5606,8 +5881,6 @@
5606
5881
 
5607
5882
 
5608
5883
 
5609
-
5610
-
5611
5884
  </fo:bookmark-tree>
5612
5885
  </xsl:if>
5613
5886
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -5678,7 +5951,7 @@
5678
5951
  <xsl:apply-templates mode="bookmark"/>
5679
5952
  </xsl:otherwise>
5680
5953
  </xsl:choose>
5681
- </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
5954
+ </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']">
5682
5955
  <xsl:if test="normalize-space() != ''">
5683
5956
  <fo:block xsl:use-attribute-sets="figure-name-style">
5684
5957
 
@@ -5694,12 +5967,6 @@
5694
5967
  <!-- <xsl:text> </xsl:text> -->
5695
5968
  </xsl:template><xsl:template name="getSection">
5696
5969
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5697
- <!--
5698
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
5699
- <xsl:value-of select="."/>
5700
- </xsl:for-each>
5701
- -->
5702
-
5703
5970
  </xsl:template><xsl:template name="getName">
5704
5971
  <xsl:choose>
5705
5972
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -5768,16 +6035,21 @@
5768
6035
  <xsl:apply-templates mode="contents_item">
5769
6036
  <xsl:with-param name="mode" select="$mode"/>
5770
6037
  </xsl:apply-templates>
5771
- </xsl:template><xsl:template match="*[local-name() = 'add'][starts-with(text(), $ace_tag)]" mode="contents_item">
6038
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
5772
6039
  <xsl:param name="mode">bookmarks</xsl:param>
5773
- <xsl:if test="$mode = 'contents'">
5774
- <xsl:copy>
5775
- <xsl:apply-templates mode="contents_item"/>
5776
- </xsl:copy>
5777
- </xsl:if>
6040
+ <xsl:choose>
6041
+ <xsl:when test="starts-with(text(), $ace_tag)">
6042
+ <xsl:if test="$mode = 'contents'">
6043
+ <xsl:copy>
6044
+ <xsl:apply-templates mode="contents_item"/>
6045
+ </xsl:copy>
6046
+ </xsl:if>
6047
+ </xsl:when>
6048
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
6049
+ </xsl:choose>
5778
6050
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5779
6051
 
5780
- <fo:block-container margin-left="0mm">
6052
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5781
6053
  <xsl:copy-of select="@id"/>
5782
6054
 
5783
6055
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -5814,6 +6086,7 @@
5814
6086
 
5815
6087
 
5816
6088
  </xsl:variable>
6089
+
5817
6090
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
5818
6091
  <xsl:if test="$font-size != ''">
5819
6092
  <xsl:attribute name="font-size">
@@ -5830,11 +6103,11 @@
5830
6103
 
5831
6104
 
5832
6105
 
5833
- <xsl:apply-templates/>
6106
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5834
6107
  </fo:block>
5835
6108
 
5836
6109
 
5837
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6110
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
5838
6111
 
5839
6112
 
5840
6113
 
@@ -5842,13 +6115,141 @@
5842
6115
  </fo:block-container>
5843
6116
  </fo:block-container>
5844
6117
  </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
5845
- <xsl:variable name="text">
6118
+ <xsl:choose>
6119
+ <xsl:when test="normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
6120
+ <xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
6121
+ <xsl:choose>
6122
+ <xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
6123
+ <xsl:apply-templates select="xalan:nodeset($syntax)" mode="syntax_highlight"/> <!-- process span tags -->
6124
+ </xsl:when>
6125
+ <xsl:otherwise> <!-- if case of non-succesfull syntax highlight (for instance, unknown lang), process without highlighting -->
6126
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
6127
+ </xsl:otherwise>
6128
+ </xsl:choose>
6129
+ </xsl:when>
6130
+ <xsl:otherwise>
6131
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
6132
+ </xsl:otherwise>
6133
+ </xsl:choose>
6134
+
6135
+ </xsl:template><xsl:template name="add_spaces_to_sourcecode">
6136
+ <xsl:variable name="text_step1">
5846
6137
  <xsl:call-template name="add-zero-spaces-equal"/>
5847
6138
  </xsl:variable>
5848
- <xsl:call-template name="add-zero-spaces-java">
5849
- <xsl:with-param name="text" select="$text"/>
5850
- </xsl:call-template>
5851
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
6139
+ <xsl:variable name="text_step2">
6140
+ <xsl:call-template name="add-zero-spaces-java">
6141
+ <xsl:with-param name="text" select="$text_step1"/>
6142
+ </xsl:call-template>
6143
+ </xsl:variable>
6144
+ <xsl:value-of select="$text_step2"/>
6145
+ </xsl:template><xsl:template match="*" mode="syntax_highlight">
6146
+ <xsl:apply-templates mode="syntax_highlight"/>
6147
+ </xsl:template><xsl:variable name="syntax_highlight_styles_">
6148
+ <style class="hljs-addition" xsl:use-attribute-sets="hljs-addition"/>
6149
+ <style class="hljs-attr" xsl:use-attribute-sets="hljs-attr"/>
6150
+ <style class="hljs-attribute" xsl:use-attribute-sets="hljs-attribute"/>
6151
+ <style class="hljs-built_in" xsl:use-attribute-sets="hljs-built_in"/>
6152
+ <style class="hljs-bullet" xsl:use-attribute-sets="hljs-bullet"/>
6153
+ <style class="hljs-char_and_escape_" xsl:use-attribute-sets="hljs-char_and_escape_"/>
6154
+ <style class="hljs-code" xsl:use-attribute-sets="hljs-code"/>
6155
+ <style class="hljs-comment" xsl:use-attribute-sets="hljs-comment"/>
6156
+ <style class="hljs-deletion" xsl:use-attribute-sets="hljs-deletion"/>
6157
+ <style class="hljs-doctag" xsl:use-attribute-sets="hljs-doctag"/>
6158
+ <style class="hljs-emphasis" xsl:use-attribute-sets="hljs-emphasis"/>
6159
+ <style class="hljs-formula" xsl:use-attribute-sets="hljs-formula"/>
6160
+ <style class="hljs-keyword" xsl:use-attribute-sets="hljs-keyword"/>
6161
+ <style class="hljs-link" xsl:use-attribute-sets="hljs-link"/>
6162
+ <style class="hljs-literal" xsl:use-attribute-sets="hljs-literal"/>
6163
+ <style class="hljs-meta" xsl:use-attribute-sets="hljs-meta"/>
6164
+ <style class="hljs-meta_hljs-string" xsl:use-attribute-sets="hljs-meta_hljs-string"/>
6165
+ <style class="hljs-meta_hljs-keyword" xsl:use-attribute-sets="hljs-meta_hljs-keyword"/>
6166
+ <style class="hljs-name" xsl:use-attribute-sets="hljs-name"/>
6167
+ <style class="hljs-number" xsl:use-attribute-sets="hljs-number"/>
6168
+ <style class="hljs-operator" xsl:use-attribute-sets="hljs-operator"/>
6169
+ <style class="hljs-params" xsl:use-attribute-sets="hljs-params"/>
6170
+ <style class="hljs-property" xsl:use-attribute-sets="hljs-property"/>
6171
+ <style class="hljs-punctuation" xsl:use-attribute-sets="hljs-punctuation"/>
6172
+ <style class="hljs-quote" xsl:use-attribute-sets="hljs-quote"/>
6173
+ <style class="hljs-regexp" xsl:use-attribute-sets="hljs-regexp"/>
6174
+ <style class="hljs-section" xsl:use-attribute-sets="hljs-section"/>
6175
+ <style class="hljs-selector-attr" xsl:use-attribute-sets="hljs-selector-attr"/>
6176
+ <style class="hljs-selector-class" xsl:use-attribute-sets="hljs-selector-class"/>
6177
+ <style class="hljs-selector-id" xsl:use-attribute-sets="hljs-selector-id"/>
6178
+ <style class="hljs-selector-pseudo" xsl:use-attribute-sets="hljs-selector-pseudo"/>
6179
+ <style class="hljs-selector-tag" xsl:use-attribute-sets="hljs-selector-tag"/>
6180
+ <style class="hljs-string" xsl:use-attribute-sets="hljs-string"/>
6181
+ <style class="hljs-strong" xsl:use-attribute-sets="hljs-strong"/>
6182
+ <style class="hljs-subst" xsl:use-attribute-sets="hljs-subst"/>
6183
+ <style class="hljs-symbol" xsl:use-attribute-sets="hljs-symbol"/>
6184
+ <style class="hljs-tag" xsl:use-attribute-sets="hljs-tag"/>
6185
+ <!-- <style class="hljs-tag_hljs-attr" xsl:use-attribute-sets="hljs-tag_hljs-attr"></style> -->
6186
+ <!-- <style class="hljs-tag_hljs-name" xsl:use-attribute-sets="hljs-tag_hljs-name"></style> -->
6187
+ <style class="hljs-template-tag" xsl:use-attribute-sets="hljs-template-tag"/>
6188
+ <style class="hljs-template-variable" xsl:use-attribute-sets="hljs-template-variable"/>
6189
+ <style class="hljs-title" xsl:use-attribute-sets="hljs-title"/>
6190
+ <style class="hljs-title_and_class_" xsl:use-attribute-sets="hljs-title_and_class_"/>
6191
+ <style class="hljs-title_and_class__and_inherited__" xsl:use-attribute-sets="hljs-title_and_class__and_inherited__"/>
6192
+ <style class="hljs-title_and_function_" xsl:use-attribute-sets="hljs-title_and_function_"/>
6193
+ <style class="hljs-type" xsl:use-attribute-sets="hljs-type"/>
6194
+ <style class="hljs-variable" xsl:use-attribute-sets="hljs-variable"/>
6195
+ <style class="hljs-variable_and_language_" xsl:use-attribute-sets="hljs-variable_and_language_"/>
6196
+ </xsl:variable><xsl:variable name="syntax_highlight_styles" select="xalan:nodeset($syntax_highlight_styles_)"/><xsl:template match="span" mode="syntax_highlight" priority="2">
6197
+ <!-- <fo:inline color="green" font-style="italic"><xsl:apply-templates mode="syntax_highlight"/></fo:inline> -->
6198
+ <fo:inline>
6199
+ <xsl:variable name="classes_">
6200
+ <xsl:call-template name="split">
6201
+ <xsl:with-param name="pText" select="@class"/>
6202
+ <xsl:with-param name="sep" select="' '"/>
6203
+ </xsl:call-template>
6204
+ <!-- a few classes together (_and_ suffix) -->
6205
+ <xsl:if test="contains(@class, 'hljs-char') and contains(@class, 'escape_')">
6206
+ <item>hljs-char_and_escape_</item>
6207
+ </xsl:if>
6208
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_')">
6209
+ <item>hljs-title_and_class_</item>
6210
+ </xsl:if>
6211
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_') and contains(@class, 'inherited__')">
6212
+ <item>hljs-title_and_class__and_inherited__</item>
6213
+ </xsl:if>
6214
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'function_')">
6215
+ <item>hljs-title_and_function_</item>
6216
+ </xsl:if>
6217
+ <xsl:if test="contains(@class, 'hljs-variable') and contains(@class, 'language_')">
6218
+ <item>hljs-variable_and_language_</item>
6219
+ </xsl:if>
6220
+ <!-- with parent classes (_ suffix) -->
6221
+ <xsl:if test="contains(@class, 'hljs-keyword') and contains(ancestor::*/@class, 'hljs-meta')">
6222
+ <item>hljs-meta_hljs-keyword</item>
6223
+ </xsl:if>
6224
+ <xsl:if test="contains(@class, 'hljs-string') and contains(ancestor::*/@class, 'hljs-meta')">
6225
+ <item>hljs-meta_hljs-string</item>
6226
+ </xsl:if>
6227
+ </xsl:variable>
6228
+ <xsl:variable name="classes" select="xalan:nodeset($classes_)"/>
6229
+
6230
+ <xsl:for-each select="$classes/item">
6231
+ <xsl:variable name="class_name" select="."/>
6232
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
6233
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
6234
+ </xsl:for-each>
6235
+ </xsl:for-each>
6236
+
6237
+ <!-- <xsl:variable name="class_name">
6238
+ <xsl:choose>
6239
+ <xsl:when test="@class = 'hljs-attr' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-attr</xsl:when>
6240
+ <xsl:when test="@class = 'hljs-name' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-name</xsl:when>
6241
+ <xsl:when test="@class = 'hljs-string' and ancestor::*/@class = 'hljs-meta'">hljs-meta_hljs-string</xsl:when>
6242
+ <xsl:otherwise><xsl:value-of select="@class"/></xsl:otherwise>
6243
+ </xsl:choose>
6244
+ </xsl:variable>
6245
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
6246
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
6247
+ </xsl:for-each> -->
6248
+
6249
+ <xsl:apply-templates mode="syntax_highlight"/></fo:inline>
6250
+ </xsl:template><xsl:template match="text()" mode="syntax_highlight" priority="2">
6251
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
6252
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
5852
6253
  <xsl:if test="normalize-space() != ''">
5853
6254
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
5854
6255
  <xsl:apply-templates/>
@@ -5856,10 +6257,10 @@
5856
6257
  </xsl:if>
5857
6258
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
5858
6259
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
5859
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5860
- <xsl:apply-templates/>
6260
+ <xsl:apply-templates select="*[local-name()='name']"/>
6261
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5861
6262
  </fo:block>
5862
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
6263
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
5863
6264
  <xsl:if test="normalize-space() != ''">
5864
6265
  <fo:block xsl:use-attribute-sets="permission-name-style">
5865
6266
  <xsl:apply-templates/>
@@ -5872,13 +6273,13 @@
5872
6273
  </fo:block>
5873
6274
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
5874
6275
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
5875
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5876
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
5877
- <xsl:apply-templates select="@obligation" mode="presentation"/>
5878
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
5879
- <xsl:apply-templates/>
6276
+ <xsl:apply-templates select="*[local-name()='name']"/>
6277
+ <xsl:apply-templates select="*[local-name()='label']"/>
6278
+ <xsl:apply-templates select="@obligation"/>
6279
+ <xsl:apply-templates select="*[local-name()='subject']"/>
6280
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
5880
6281
  </fo:block>
5881
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
6282
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
5882
6283
  <xsl:if test="normalize-space() != ''">
5883
6284
  <fo:block xsl:use-attribute-sets="requirement-name-style">
5884
6285
 
@@ -5886,20 +6287,24 @@
5886
6287
 
5887
6288
  </fo:block>
5888
6289
  </xsl:if>
5889
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
6290
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
5890
6291
  <fo:block xsl:use-attribute-sets="requirement-label-style">
5891
6292
  <xsl:apply-templates/>
5892
6293
  </fo:block>
5893
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
6294
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
5894
6295
  <fo:block>
5895
6296
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5896
6297
  </fo:block>
6298
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
6299
+ <fo:block xsl:use-attribute-sets="subject-style">
6300
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
6301
+ </fo:block>
5897
6302
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5898
6303
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5899
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5900
- <xsl:apply-templates/>
6304
+ <xsl:apply-templates select="*[local-name()='name']"/>
6305
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5901
6306
  </fo:block>
5902
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
6307
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
5903
6308
  <xsl:if test="normalize-space() != ''">
5904
6309
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
5905
6310
  <xsl:apply-templates/>
@@ -5910,10 +6315,6 @@
5910
6315
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5911
6316
  <xsl:apply-templates/>
5912
6317
  </fo:block>
5913
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5914
- <fo:block xsl:use-attribute-sets="subject-style">
5915
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5916
- </fo:block>
5917
6318
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
5918
6319
  <fo:block xsl:use-attribute-sets="subject-style">
5919
6320
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -5957,8 +6358,6 @@
5957
6358
  </xsl:variable>
5958
6359
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
5959
6360
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
5960
- <!-- <fo:table-column column-width="35mm"/>
5961
- <fo:table-column column-width="115mm"/> -->
5962
6361
  <fo:table-column column-width="30%"/>
5963
6362
  <fo:table-column column-width="70%"/>
5964
6363
  </xsl:if>
@@ -5968,7 +6367,7 @@
5968
6367
  <xsl:if test=".//*[local-name() = 'fn']">
5969
6368
  <xsl:for-each select="*[local-name() = 'tbody']">
5970
6369
  <fo:block font-size="90%" border-bottom="1pt solid black">
5971
- <xsl:call-template name="fn_display"/>
6370
+ <xsl:call-template name="table_fn_display"/>
5972
6371
  </fo:block>
5973
6372
  </xsl:for-each>
5974
6373
  </xsl:if>
@@ -5985,7 +6384,6 @@
5985
6384
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
5986
6385
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
5987
6386
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
5988
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
5989
6387
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
5990
6388
  </xsl:if>
5991
6389
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -5998,34 +6396,11 @@
5998
6396
  </fo:table-row>
5999
6397
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
6000
6398
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
6001
- <xsl:attribute name="text-align">
6002
- <xsl:choose>
6003
- <xsl:when test="@align">
6004
- <xsl:value-of select="@align"/>
6005
- </xsl:when>
6006
- <xsl:otherwise>left</xsl:otherwise>
6007
- </xsl:choose>
6008
- </xsl:attribute>
6009
- <xsl:if test="@colspan">
6010
- <xsl:attribute name="number-columns-spanned">
6011
- <xsl:value-of select="@colspan"/>
6012
- </xsl:attribute>
6013
- </xsl:if>
6014
- <xsl:if test="@rowspan">
6015
- <xsl:attribute name="number-rows-spanned">
6016
- <xsl:value-of select="@rowspan"/>
6017
- </xsl:attribute>
6018
- </xsl:if>
6019
- <xsl:call-template name="display-align"/>
6399
+ <xsl:call-template name="setTextAlignment">
6400
+ <xsl:with-param name="default">left</xsl:with-param>
6401
+ </xsl:call-template>
6020
6402
 
6021
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6022
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6023
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
6024
- </xsl:if>
6025
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
6026
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6027
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6028
- </xsl:if> -->
6403
+ <xsl:call-template name="setTableCellAttributes"/>
6029
6404
 
6030
6405
  <fo:block>
6031
6406
  <xsl:apply-templates/>
@@ -6037,37 +6412,15 @@
6037
6412
  <xsl:attribute name="padding">0mm</xsl:attribute>
6038
6413
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
6039
6414
  </xsl:if>
6040
- <xsl:attribute name="text-align">
6041
- <xsl:choose>
6042
- <xsl:when test="@align">
6043
- <xsl:value-of select="@align"/>
6044
- </xsl:when>
6045
- <xsl:otherwise>left</xsl:otherwise>
6046
- </xsl:choose>
6047
- </xsl:attribute>
6415
+ <xsl:call-template name="setTextAlignment">
6416
+ <xsl:with-param name="default">left</xsl:with-param>
6417
+ </xsl:call-template>
6418
+
6048
6419
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
6049
6420
  <xsl:attribute name="font-weight">bold</xsl:attribute>
6050
6421
  </xsl:if>
6051
- <xsl:if test="@colspan">
6052
- <xsl:attribute name="number-columns-spanned">
6053
- <xsl:value-of select="@colspan"/>
6054
- </xsl:attribute>
6055
- </xsl:if>
6056
- <xsl:if test="@rowspan">
6057
- <xsl:attribute name="number-rows-spanned">
6058
- <xsl:value-of select="@rowspan"/>
6059
- </xsl:attribute>
6060
- </xsl:if>
6061
- <xsl:call-template name="display-align"/>
6062
6422
 
6063
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6064
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
6065
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6066
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
6067
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6068
- </xsl:if>
6069
- </xsl:if> -->
6070
- <!-- 2nd line and below -->
6423
+ <xsl:call-template name="setTableCellAttributes"/>
6071
6424
 
6072
6425
  <fo:block>
6073
6426
  <xsl:apply-templates/>
@@ -6079,15 +6432,15 @@
6079
6432
  <xsl:apply-templates/>
6080
6433
  </fo:block>
6081
6434
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
6082
- <fo:block> <!-- margin-bottom="10pt" -->
6435
+ <fo:block>
6083
6436
  <xsl:apply-templates/>
6084
6437
  </fo:block>
6085
6438
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
6086
6439
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
6087
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6088
- <xsl:apply-templates/>
6440
+ <xsl:apply-templates select="*[local-name()='name']"/>
6441
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6089
6442
  </fo:block>
6090
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
6443
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
6091
6444
  <xsl:if test="normalize-space() != ''">
6092
6445
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
6093
6446
  <xsl:apply-templates/>
@@ -6113,9 +6466,7 @@
6113
6466
 
6114
6467
  <xsl:variable name="fo_element">
6115
6468
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
6116
-
6117
6469
  inline
6118
-
6119
6470
  </xsl:variable>
6120
6471
 
6121
6472
  <!-- display 'EXAMPLE' -->
@@ -6193,6 +6544,8 @@
6193
6544
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
6194
6545
  <fo:block xsl:use-attribute-sets="termsource-style">
6195
6546
 
6547
+
6548
+
6196
6549
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
6197
6550
  <xsl:variable name="termsource_text">
6198
6551
  <xsl:apply-templates/>
@@ -6230,9 +6583,7 @@
6230
6583
  <xsl:value-of select="."/>
6231
6584
  </xsl:if>
6232
6585
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
6233
- <fo:inline>
6234
-
6235
-
6586
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
6236
6587
  <xsl:value-of select="."/>
6237
6588
  </fo:inline>
6238
6589
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -6277,9 +6628,7 @@
6277
6628
  </xsl:if>
6278
6629
 
6279
6630
  <fo:block-container margin-left="0mm">
6280
-
6281
- <fo:block xsl:use-attribute-sets="quote-style">
6282
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
6631
+ <fo:block-container xsl:use-attribute-sets="quote-style">
6283
6632
 
6284
6633
  <xsl:if test="ancestor::*[local-name() = 'boilerplate']">
6285
6634
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
@@ -6287,8 +6636,12 @@
6287
6636
  <xsl:attribute name="font-style">normal</xsl:attribute>
6288
6637
  </xsl:if>
6289
6638
 
6290
- <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6291
- </fo:block>
6639
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6640
+ <fo:block role="BlockQuote">
6641
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
6642
+ </fo:block>
6643
+ </fo:block-container>
6644
+ </fo:block-container>
6292
6645
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
6293
6646
  <fo:block xsl:use-attribute-sets="quote-source-style">
6294
6647
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
@@ -6328,15 +6681,13 @@
6328
6681
  </xsl:variable>
6329
6682
 
6330
6683
  <xsl:choose>
6331
- <xsl:when test="normalize-space($bibitemid) != ''">
6684
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
6332
6685
  <fo:inline xsl:use-attribute-sets="eref-style">
6333
6686
  <xsl:if test="@type = 'footnote'">
6334
-
6335
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6336
- <xsl:attribute name="font-size">80%</xsl:attribute>
6337
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6338
- <xsl:attribute name="vertical-align">super</xsl:attribute>
6339
-
6687
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6688
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6689
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
6690
+ <xsl:attribute name="font-size">80%</xsl:attribute>
6340
6691
 
6341
6692
  </xsl:if>
6342
6693
 
@@ -6353,7 +6704,6 @@
6353
6704
 
6354
6705
 
6355
6706
 
6356
-
6357
6707
  </xsl:if>
6358
6708
 
6359
6709
 
@@ -6411,8 +6761,6 @@
6411
6761
  </xsl:choose>
6412
6762
  </xsl:variable>
6413
6763
 
6414
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
6415
-
6416
6764
  <xsl:choose>
6417
6765
  <xsl:when test="$lang = 'zh'">
6418
6766
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -6438,6 +6786,31 @@
6438
6786
  <xsl:with-param name="count" select="$count - 1"/>
6439
6787
  </xsl:call-template>
6440
6788
  </xsl:if>
6789
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']">
6790
+ <xsl:variable name="level">
6791
+ <xsl:call-template name="getLevel"/>
6792
+ </xsl:variable>
6793
+ <xsl:variable name="font-size">
6794
+ inherit
6795
+ </xsl:variable>
6796
+ <xsl:variable name="levelTerm">
6797
+ <xsl:call-template name="getLevelTermName"/>
6798
+ </xsl:variable>
6799
+ <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
6800
+
6801
+
6802
+
6803
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
6804
+ <fo:block xsl:use-attribute-sets="term-name-style">
6805
+ <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
6806
+ </fo:block>
6807
+ </xsl:if>
6808
+
6809
+ <fo:block xsl:use-attribute-sets="preferred-term-style">
6810
+ <xsl:call-template name="setStyle_preferred"/>
6811
+ <xsl:apply-templates/>
6812
+ </fo:block>
6813
+ </fo:block>
6441
6814
  </xsl:template><xsl:template match="*[local-name() = 'domain']">
6442
6815
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
6443
6816
  <xsl:text> </xsl:text>
@@ -6468,7 +6841,6 @@
6468
6841
  <xsl:apply-templates/>
6469
6842
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
6470
6843
  <fo:inline> <xsl:apply-templates/></fo:inline>
6471
- <!-- <fo:block>&#xA0;</fo:block> -->
6472
6844
  <fo:block/>
6473
6845
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
6474
6846
 
@@ -6513,11 +6885,6 @@
6513
6885
  <xsl:apply-templates/>
6514
6886
  </fo:block>
6515
6887
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
6516
- <fo:block id="{@id}">
6517
- <xsl:apply-templates/>
6518
- </fo:block>
6519
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
6520
-
6521
6888
  <fo:block id="{@id}">
6522
6889
  <xsl:apply-templates/>
6523
6890
  </fo:block>
@@ -6536,26 +6903,10 @@
6536
6903
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6537
6904
  </xsl:template><xsl:variable name="ul_labels_">
6538
6905
 
6539
-
6540
-
6541
-
6542
-
6543
-
6544
-
6545
-
6546
- <label level="1">—</label> <!-- em dash -->
6547
- <label level="2">−</label><!-- minus sign -->
6548
- <label level="3" font-size="75%">o</label> <!-- white circle -->
6549
-
6550
-
6551
-
6552
-
6553
-
6554
-
6555
-
6556
-
6557
-
6558
-
6906
+ <label level="1">—</label> <!-- em dash -->
6907
+ <label level="2">−</label><!-- minus sign -->
6908
+ <label level="3" font-size="75%">o</label> <!-- white circle -->
6909
+
6559
6910
  </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6560
6911
  <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6561
6912
  <xsl:variable name="list_level">
@@ -6578,9 +6929,94 @@
6578
6929
  <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6579
6930
  </xsl:otherwise>
6580
6931
  </xsl:choose>
6581
- </xsl:template><xsl:template match="label" mode="ul_labels">
6582
- <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6583
- <xsl:value-of select="."/>
6932
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6933
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6934
+ <xsl:value-of select="."/>
6935
+ </xsl:template><xsl:template name="getListItemFormat">
6936
+ <!-- Example: for BSI <?list-type loweralpha?> -->
6937
+ <xsl:variable name="processing_instruction_type" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-type'))"/>
6938
+ <xsl:choose>
6939
+ <xsl:when test="local-name(..) = 'ul'">
6940
+ <xsl:choose>
6941
+ <xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
6942
+ <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
6943
+ </xsl:choose>
6944
+ </xsl:when>
6945
+ <xsl:otherwise> <!-- for ordered lists 'ol' -->
6946
+
6947
+ <!-- Example: for BSI <?list-start 2?> -->
6948
+ <xsl:variable name="processing_instruction_start" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-start'))"/>
6949
+
6950
+ <xsl:variable name="start_value">
6951
+ <xsl:choose>
6952
+ <xsl:when test="normalize-space($processing_instruction_start) != ''">
6953
+ <xsl:value-of select="number($processing_instruction_start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
6954
+ </xsl:when>
6955
+ <xsl:when test="normalize-space(../@start) != ''">
6956
+ <xsl:value-of select="number(../@start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
6957
+ </xsl:when>
6958
+ <xsl:otherwise>0</xsl:otherwise>
6959
+ </xsl:choose>
6960
+ </xsl:variable>
6961
+
6962
+ <xsl:variable name="curr_value"><xsl:number/></xsl:variable>
6963
+
6964
+ <xsl:variable name="type">
6965
+ <xsl:choose>
6966
+ <xsl:when test="normalize-space($processing_instruction_type) != ''"><xsl:value-of select="$processing_instruction_type"/></xsl:when>
6967
+ <xsl:when test="normalize-space(../@type) != ''"><xsl:value-of select="../@type"/></xsl:when>
6968
+
6969
+ <xsl:otherwise> <!-- if no @type or @class = 'steps' -->
6970
+
6971
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6972
+ <xsl:variable name="list_level">
6973
+ <xsl:choose>
6974
+ <xsl:when test="$list_level_ &lt;= 5"><xsl:value-of select="$list_level_"/></xsl:when>
6975
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 5"/></xsl:otherwise>
6976
+ </xsl:choose>
6977
+ </xsl:variable>
6978
+
6979
+ <xsl:choose>
6980
+ <xsl:when test="$list_level mod 5 = 0">roman_upper</xsl:when> <!-- level 5 -->
6981
+ <xsl:when test="$list_level mod 4 = 0">alphabet_upper</xsl:when> <!-- level 4 -->
6982
+ <xsl:when test="$list_level mod 3 = 0">roman</xsl:when> <!-- level 3 -->
6983
+ <xsl:when test="$list_level mod 2 = 0 and ancestor::*/@class = 'steps'">alphabet</xsl:when> <!-- level 2 and @class = 'steps'-->
6984
+ <xsl:when test="$list_level mod 2 = 0">arabic</xsl:when> <!-- level 2 -->
6985
+ <xsl:otherwise> <!-- level 1 -->
6986
+ <xsl:choose>
6987
+ <xsl:when test="ancestor::*/@class = 'steps'">arabic</xsl:when>
6988
+ <xsl:otherwise>alphabet</xsl:otherwise>
6989
+ </xsl:choose>
6990
+ </xsl:otherwise>
6991
+ </xsl:choose>
6992
+
6993
+ </xsl:otherwise>
6994
+ </xsl:choose>
6995
+ </xsl:variable>
6996
+
6997
+ <xsl:variable name="format">
6998
+ <xsl:choose>
6999
+ <xsl:when test="$type = 'arabic'">
7000
+ 1.
7001
+ </xsl:when>
7002
+ <xsl:when test="$type = 'alphabet'">
7003
+ a)
7004
+ </xsl:when>
7005
+ <xsl:when test="$type = 'alphabet_upper'">
7006
+ A.
7007
+ </xsl:when>
7008
+ <xsl:when test="$type = 'roman'">
7009
+ i)
7010
+ </xsl:when>
7011
+ <xsl:when test="$type = 'roman_upper'">I.</xsl:when>
7012
+ <xsl:otherwise>1.</xsl:otherwise> <!-- for any case, if $type has non-determined value, not using -->
7013
+ </xsl:choose>
7014
+ </xsl:variable>
7015
+
7016
+ <xsl:number value="$start_value + $curr_value" format="{normalize-space($format)}" lang="en"/>
7017
+
7018
+ </xsl:otherwise>
7019
+ </xsl:choose>
6584
7020
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6585
7021
  <xsl:choose>
6586
7022
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6596,18 +7032,66 @@
6596
7032
 
6597
7033
  <fo:block-container margin-left="0mm">
6598
7034
  <fo:block>
6599
- <xsl:apply-templates select="." mode="ul_ol"/>
7035
+ <xsl:apply-templates select="." mode="list"/>
6600
7036
  </fo:block>
6601
7037
  </fo:block-container>
6602
7038
  </fo:block-container>
6603
7039
  </xsl:when>
6604
7040
  <xsl:otherwise>
6605
7041
  <fo:block>
6606
- <xsl:apply-templates select="." mode="ul_ol"/>
7042
+ <xsl:apply-templates select="." mode="list"/>
6607
7043
  </fo:block>
6608
7044
  </xsl:otherwise>
6609
7045
  </xsl:choose>
6610
- </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
7046
+ </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
7047
+ <fo:list-block xsl:use-attribute-sets="list-style">
7048
+
7049
+
7050
+
7051
+
7052
+
7053
+
7054
+
7055
+
7056
+
7057
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
7058
+ </fo:list-block>
7059
+ <!-- <xsl:for-each select="./iho:note">
7060
+ <xsl:call-template name="note"/>
7061
+ </xsl:for-each> -->
7062
+ <xsl:apply-templates select="./*[local-name() = 'note']"/>
7063
+ </xsl:template><xsl:template match="*[local-name()='li']">
7064
+ <fo:list-item xsl:use-attribute-sets="list-item-style">
7065
+ <xsl:copy-of select="@id"/>
7066
+
7067
+
7068
+
7069
+ <fo:list-item-label end-indent="label-end()">
7070
+ <fo:block xsl:use-attribute-sets="list-item-label-style">
7071
+
7072
+
7073
+
7074
+ <xsl:call-template name="getListItemFormat"/>
7075
+ </fo:block>
7076
+ </fo:list-item-label>
7077
+ <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
7078
+ <fo:block>
7079
+
7080
+
7081
+
7082
+
7083
+
7084
+ <xsl:apply-templates/>
7085
+
7086
+ <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
7087
+
7088
+ <xsl:for-each select="./bsi:note">
7089
+ <xsl:call-template name="note"/>
7090
+ </xsl:for-each> -->
7091
+ </fo:block>
7092
+ </fo:list-item-body>
7093
+ </fo:list-item>
7094
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="bookmark_in_fn">
6611
7095
  <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
6612
7096
  <bookmark><xsl:value-of select="@id"/></bookmark>
6613
7097
  </xsl:for-each>
@@ -6629,7 +7113,7 @@
6629
7113
  <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
6630
7114
  <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
6631
7115
  <xsl:if test="@to">
6632
- <xsl:value-of select="$dash"/>
7116
+ <xsl:value-of select="$en_dash"/>
6633
7117
  <xsl:copy>
6634
7118
  <xsl:copy-of select="@*"/>
6635
7119
  <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
@@ -6654,7 +7138,7 @@
6654
7138
  <xsl:param name="target"/>
6655
7139
  <!-- <node></node> -->
6656
7140
  <xsl:choose>
6657
- <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
7141
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $en_dash) and $remove = 'true'">
6658
7142
  <!-- skip text (i.e. remove it) and process next element -->
6659
7143
  <!-- [removed_<xsl:value-of select="."/>] -->
6660
7144
  <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
@@ -6738,12 +7222,22 @@
6738
7222
  </xsl:variable>
6739
7223
  <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
6740
7224
  <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
7225
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'title']" priority="4">
7226
+ <fo:block xsl:use-attribute-sets="indexsect-title-style">
7227
+ <!-- Index -->
7228
+ <xsl:apply-templates/>
7229
+ </fo:block>
7230
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']/*[local-name() = 'title']" priority="4">
7231
+ <!-- Letter A, B, C, ... -->
7232
+ <fo:block xsl:use-attribute-sets="indexsect-clause-title-style">
7233
+ <xsl:apply-templates/>
7234
+ </fo:block>
6741
7235
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
6742
7236
  <xsl:apply-templates/>
6743
7237
  <fo:block>
6744
- <xsl:if test="following-sibling::*[local-name() = 'clause']">
6745
- <fo:block> </fo:block>
6746
- </xsl:if>
7238
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
7239
+ <fo:block> </fo:block>
7240
+ </xsl:if>
6747
7241
  </fo:block>
6748
7242
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
6749
7243
  <xsl:apply-templates/>
@@ -6753,6 +7247,9 @@
6753
7247
 
6754
7248
  <xsl:apply-templates/>
6755
7249
  </fo:block>
7250
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
7251
+ <!-- to split by '_' and other chars -->
7252
+ <xsl:call-template name="add-zero-spaces-java"/>
6756
7253
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
6757
7254
  <fo:inline id="{@id}" font-size="1pt"/>
6758
7255
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
@@ -6787,66 +7284,105 @@
6787
7284
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6788
7285
  <fo:block><xsl:apply-templates/></fo:block>
6789
7286
  </fo:table-cell>
6790
- </xsl:template><xsl:template name="processBibitem">
6791
-
7287
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/><xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/><xsl:template match="*[local-name() = 'references'][@normative='true']" priority="2">
6792
7288
 
6793
7289
 
6794
7290
 
7291
+ <fo:block id="{@id}">
7292
+ <xsl:apply-templates/>
7293
+ </fo:block>
7294
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
7295
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
7296
+
7297
+ <fo:block break-after="page"/>
7298
+
7299
+ </xsl:if>
6795
7300
 
7301
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
7302
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
7303
+ <fo:block break-after="page"/>
7304
+ </xsl:if>
7305
+ </xsl:if> -->
6796
7306
 
7307
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
7308
+ <xsl:apply-templates/>
7309
+ </fo:block>
6797
7310
 
6798
7311
 
6799
7312
 
6800
7313
 
7314
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
7315
+ <xsl:call-template name="bibitem"/>
7316
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
6801
7317
 
6802
-
7318
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
7319
+ <xsl:call-template name="processBibitem"/>
7320
+ </fo:block>
7321
+
7322
+
7323
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
7324
+
7325
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
7326
+ $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
7327
+ <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
7328
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
7329
+ <fo:list-item>
7330
+ <fo:list-item-label end-indent="label-end()">
7331
+ <fo:block>
7332
+ <fo:inline>
7333
+
7334
+ <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
7335
+ <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
7336
+ <xsl:number format="[1]"/>
7337
+ </xsl:if>
7338
+
7339
+ </fo:inline>
7340
+ </fo:block>
7341
+ </fo:list-item-label>
7342
+ <fo:list-item-body start-indent="body-start()">
7343
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
7344
+ <xsl:call-template name="processBibitem"/>
7345
+ </fo:block>
7346
+ </fo:list-item-body>
7347
+ </fo:list-item>
7348
+ </fo:list-block>
7349
+
6803
7350
 
7351
+ </xsl:template><xsl:template name="processBibitem">
6804
7352
 
6805
-
6806
7353
 
6807
- <!-- start JCGM bibitem processing -->
6808
- <xsl:variable name="docidentifier">
6809
- <xsl:if test="*[local-name()='docidentifier']">
7354
+ <!-- start JCGM bibitem processing -->
7355
+ <xsl:variable name="docidentifier">
6810
7356
  <xsl:choose>
6811
7357
  <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
6812
7358
  <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
6813
7359
  </xsl:choose>
6814
- </xsl:if>
6815
- </xsl:variable>
6816
- <xsl:value-of select="$docidentifier"/>
7360
+ </xsl:variable>
7361
+ <xsl:value-of select="$docidentifier"/>
7362
+
7363
+ <xsl:choose>
7364
+ <xsl:when test="*[local-name()='formattedref']">
7365
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
7366
+ <xsl:apply-templates select="*[local-name()='formattedref']"/>
7367
+ </xsl:when>
7368
+ <xsl:otherwise>
7369
+ <xsl:apply-templates select="*[local-name()='note']"/>
7370
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
7371
+ <xsl:choose>
7372
+ <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
7373
+ <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
7374
+ </xsl:when>
7375
+ <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
7376
+ <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
7377
+ </xsl:when>
7378
+ <xsl:otherwise>
7379
+ <xsl:apply-templates select="*[local-name()='title']"/>
7380
+ </xsl:otherwise>
7381
+ </xsl:choose>
7382
+ </xsl:otherwise>
7383
+ </xsl:choose>
7384
+ <!-- end JCGM bibitem processing -->
6817
7385
 
6818
- <xsl:choose>
6819
- <xsl:when test="*[local-name()='formattedref']">
6820
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6821
- <xsl:apply-templates select="*[local-name()='formattedref']"/>
6822
- </xsl:when>
6823
- <xsl:otherwise>
6824
- <xsl:apply-templates select="*[local-name()='note']"/>
6825
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6826
- <xsl:choose>
6827
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
6828
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
6829
- </xsl:when>
6830
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
6831
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
6832
- </xsl:when>
6833
- <xsl:otherwise>
6834
- <xsl:apply-templates select="*[local-name()='title']"/>
6835
- </xsl:otherwise>
6836
- </xsl:choose>
6837
- </xsl:otherwise>
6838
- </xsl:choose>
6839
- <!-- end JCGM bibitem processing -->
6840
-
6841
-
6842
-
6843
- <!-- end MPFD bibitem processing -->
6844
-
6845
- <!-- start M3D bibitem processing -->
6846
-
6847
-
6848
-
6849
-
6850
7386
  </xsl:template><xsl:template name="processBibitemDocId">
6851
7387
  <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'metanorma-ordinal' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
6852
7388
  <xsl:choose>
@@ -6903,6 +7439,52 @@
6903
7439
  <xsl:value-of select="substring(.,1,1)"/>
6904
7440
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6905
7441
  <fo:inline><xsl:apply-templates/></fo:inline>
7442
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
7443
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
7444
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
7445
+ <xsl:apply-templates/>
7446
+ </fo:inline>
7447
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
7448
+ <fo:footnote>
7449
+ <xsl:variable name="number">
7450
+
7451
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
7452
+
7453
+ </xsl:variable>
7454
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
7455
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
7456
+ <xsl:value-of select="$number"/>
7457
+
7458
+ <xsl:text>)</xsl:text>
7459
+
7460
+ </fo:basic-link>
7461
+ </fo:inline>
7462
+ <fo:footnote-body>
7463
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
7464
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
7465
+ <xsl:value-of select="$number"/>
7466
+
7467
+ <xsl:text>)</xsl:text>
7468
+
7469
+ </fo:inline>
7470
+ <xsl:apply-templates/>
7471
+ </fo:block>
7472
+ </fo:footnote-body>
7473
+ </fo:footnote>
7474
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
7475
+ <xsl:text> edition </xsl:text>
7476
+ <xsl:value-of select="."/>
7477
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
7478
+ <xsl:text> (</xsl:text>
7479
+ <fo:inline xsl:use-attribute-sets="link-style">
7480
+ <fo:basic-link external-destination="." fox:alt-text=".">
7481
+ <xsl:value-of select="."/>
7482
+ </fo:basic-link>
7483
+ </fo:inline>
7484
+ <xsl:text>)</xsl:text>
7485
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
7486
+
7487
+ <xsl:apply-templates/>
6906
7488
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6907
7489
  <fo:block>
6908
7490
  <xsl:apply-templates/>
@@ -6975,24 +7557,7 @@
6975
7557
  <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
6976
7558
  <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
6977
7559
  <xsl:otherwise><!-- default value -->
6978
-
6979
-
6980
-
6981
-
6982
-
6983
-
6984
-
6985
-
6986
7560
  3
6987
-
6988
-
6989
-
6990
-
6991
-
6992
-
6993
-
6994
-
6995
-
6996
7561
  </xsl:otherwise>
6997
7562
  </xsl:choose>
6998
7563
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -7026,7 +7591,7 @@
7026
7591
  </fo:table-body>
7027
7592
  </fo:table>
7028
7593
  </fo:block>
7029
- </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']">
7594
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']" priority="2">
7030
7595
  <fo:table-row min-height="5mm">
7031
7596
  <xsl:apply-templates/>
7032
7597
  </fo:table-row>
@@ -7088,8 +7653,58 @@
7088
7653
  </fo:inline>
7089
7654
  </xsl:template><xsl:template match="@language">
7090
7655
  <xsl:copy-of select="."/>
7091
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7656
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="4">
7092
7657
  <xsl:call-template name="title"/>
7658
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7659
+
7660
+
7661
+
7662
+
7663
+
7664
+
7665
+ <fo:block xsl:use-attribute-sets="admonition-style">
7666
+
7667
+
7668
+
7669
+
7670
+
7671
+
7672
+ <xsl:call-template name="displayAdmonitionName"/>
7673
+ <xsl:text> — </xsl:text>
7674
+
7675
+
7676
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7677
+ </fo:block>
7678
+
7679
+ </xsl:template><xsl:template name="displayAdmonitionName">
7680
+
7681
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7682
+ <xsl:if test="not(*[local-name() = 'name'])">
7683
+ <xsl:apply-templates select="@type"/>
7684
+ </xsl:if>
7685
+
7686
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7687
+ <xsl:apply-templates/>
7688
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7689
+ <xsl:variable name="admonition_type_">
7690
+ <xsl:call-template name="getLocalizedString">
7691
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7692
+ </xsl:call-template>
7693
+ </xsl:variable>
7694
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7695
+ <xsl:value-of select="$admonition_type"/>
7696
+ <xsl:if test="$admonition_type = ''">
7697
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
7698
+ </xsl:if>
7699
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7700
+
7701
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7702
+
7703
+
7704
+
7705
+ <xsl:apply-templates/>
7706
+ </fo:block>
7707
+
7093
7708
  </xsl:template><xsl:template name="convertDate">
7094
7709
  <xsl:param name="date"/>
7095
7710
  <xsl:param name="format" select="'short'"/>
@@ -7097,83 +7712,80 @@
7097
7712
  <xsl:variable name="month" select="substring($date, 6, 2)"/>
7098
7713
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
7099
7714
  <xsl:variable name="monthStr">
7100
- <xsl:choose>
7101
- <xsl:when test="$month = '01'">January</xsl:when>
7102
- <xsl:when test="$month = '02'">February</xsl:when>
7103
- <xsl:when test="$month = '03'">March</xsl:when>
7104
- <xsl:when test="$month = '04'">April</xsl:when>
7105
- <xsl:when test="$month = '05'">May</xsl:when>
7106
- <xsl:when test="$month = '06'">June</xsl:when>
7107
- <xsl:when test="$month = '07'">July</xsl:when>
7108
- <xsl:when test="$month = '08'">August</xsl:when>
7109
- <xsl:when test="$month = '09'">September</xsl:when>
7110
- <xsl:when test="$month = '10'">October</xsl:when>
7111
- <xsl:when test="$month = '11'">November</xsl:when>
7112
- <xsl:when test="$month = '12'">December</xsl:when>
7113
- </xsl:choose>
7715
+ <xsl:call-template name="getMonthByNum">
7716
+ <xsl:with-param name="num" select="$month"/>
7717
+ <xsl:with-param name="lowercase" select="'true'"/>
7718
+ </xsl:call-template>
7719
+ </xsl:variable>
7720
+ <xsl:variable name="monthStr_localized">
7721
+ <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
7114
7722
  </xsl:variable>
7115
7723
  <xsl:variable name="result">
7116
7724
  <xsl:choose>
7117
- <xsl:when test="$format = 'ddMMyyyy'">
7725
+ <xsl:when test="$format = 'ddMMyyyy'"> <!-- convert date from format 2007-04-01 to 1 April 2007 -->
7118
7726
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7119
7727
  <xsl:text> </xsl:text>
7120
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7728
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
7121
7729
  </xsl:when>
7122
7730
  <xsl:when test="$format = 'ddMM'">
7123
7731
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7124
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7732
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
7125
7733
  </xsl:when>
7126
7734
  <xsl:when test="$format = 'short' or $day = ''">
7127
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7735
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
7128
7736
  </xsl:when>
7129
7737
  <xsl:otherwise>
7130
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7738
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/> <!-- January 01, 2022 -->
7131
7739
  </xsl:otherwise>
7132
7740
  </xsl:choose>
7133
7741
  </xsl:variable>
7134
7742
  <xsl:value-of select="$result"/>
7135
- </xsl:template><xsl:template name="convertDateLocalized">
7136
- <xsl:param name="date"/>
7137
- <xsl:param name="format" select="'short'"/>
7138
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
7139
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
7140
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
7141
- <xsl:variable name="monthStr">
7142
- <xsl:choose>
7143
- <xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
7144
- <xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
7145
- <xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
7146
- <xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
7147
- <xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
7148
- <xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
7149
- <xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
7150
- <xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
7151
- <xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
7152
- <xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
7153
- <xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
7154
- <xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
7155
- </xsl:choose>
7156
- </xsl:variable>
7157
- <xsl:variable name="result">
7743
+ </xsl:template><xsl:template name="getMonthByNum">
7744
+ <xsl:param name="num"/>
7745
+ <xsl:param name="lang">en</xsl:param>
7746
+ <xsl:param name="lowercase">false</xsl:param> <!-- return 'january' instead of 'January' -->
7747
+ <xsl:variable name="monthStr_">
7158
7748
  <xsl:choose>
7159
- <xsl:when test="$format = 'ddMMyyyy'">
7160
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7161
- <xsl:text> </xsl:text>
7162
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7163
- </xsl:when>
7164
- <xsl:when test="$format = 'ddMM'">
7165
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7166
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7167
- </xsl:when>
7168
- <xsl:when test="$format = 'short' or $day = ''">
7169
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7749
+ <xsl:when test="$lang = 'fr'">
7750
+ <xsl:choose>
7751
+ <xsl:when test="$num = '01'">Janvier</xsl:when>
7752
+ <xsl:when test="$num = '02'">Février</xsl:when>
7753
+ <xsl:when test="$num = '03'">Mars</xsl:when>
7754
+ <xsl:when test="$num = '04'">Avril</xsl:when>
7755
+ <xsl:when test="$num = '05'">Mai</xsl:when>
7756
+ <xsl:when test="$num = '06'">Juin</xsl:when>
7757
+ <xsl:when test="$num = '07'">Juillet</xsl:when>
7758
+ <xsl:when test="$num = '08'">Août</xsl:when>
7759
+ <xsl:when test="$num = '09'">Septembre</xsl:when>
7760
+ <xsl:when test="$num = '10'">Octobre</xsl:when>
7761
+ <xsl:when test="$num = '11'">Novembre</xsl:when>
7762
+ <xsl:when test="$num = '12'">Décembre</xsl:when>
7763
+ </xsl:choose>
7170
7764
  </xsl:when>
7171
7765
  <xsl:otherwise>
7172
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7766
+ <xsl:choose>
7767
+ <xsl:when test="$num = '01'">January</xsl:when>
7768
+ <xsl:when test="$num = '02'">February</xsl:when>
7769
+ <xsl:when test="$num = '03'">March</xsl:when>
7770
+ <xsl:when test="$num = '04'">April</xsl:when>
7771
+ <xsl:when test="$num = '05'">May</xsl:when>
7772
+ <xsl:when test="$num = '06'">June</xsl:when>
7773
+ <xsl:when test="$num = '07'">July</xsl:when>
7774
+ <xsl:when test="$num = '08'">August</xsl:when>
7775
+ <xsl:when test="$num = '09'">September</xsl:when>
7776
+ <xsl:when test="$num = '10'">October</xsl:when>
7777
+ <xsl:when test="$num = '11'">November</xsl:when>
7778
+ <xsl:when test="$num = '12'">December</xsl:when>
7779
+ </xsl:choose>
7173
7780
  </xsl:otherwise>
7174
7781
  </xsl:choose>
7175
7782
  </xsl:variable>
7176
- <xsl:value-of select="$result"/>
7783
+ <xsl:choose>
7784
+ <xsl:when test="normalize-space($lowercase) = 'true'">
7785
+ <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($monthStr_))"/>
7786
+ </xsl:when>
7787
+ <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
7788
+ </xsl:choose>
7177
7789
  </xsl:template><xsl:template name="insertKeywords">
7178
7790
  <xsl:param name="sorting" select="'true'"/>
7179
7791
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -7206,9 +7818,6 @@
7206
7818
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
7207
7819
  </xsl:choose>
7208
7820
  </xsl:template><xsl:template name="addPDFUAmeta">
7209
- <xsl:variable name="lang">
7210
- <xsl:call-template name="getLang"/>
7211
- </xsl:variable>
7212
7821
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
7213
7822
  <pdf:dictionary type="normal" key="ViewerPreferences">
7214
7823
  <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
@@ -7222,13 +7831,8 @@
7222
7831
  <xsl:variable name="title">
7223
7832
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7224
7833
 
7225
-
7226
-
7227
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
7228
-
7229
-
7230
-
7231
-
7834
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
7835
+
7232
7836
  </xsl:for-each>
7233
7837
  </xsl:variable>
7234
7838
  <xsl:choose>
@@ -7243,18 +7847,15 @@
7243
7847
  <dc:creator>
7244
7848
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7245
7849
 
7246
-
7247
- <xsl:value-of select="normalize-space(*[local-name() = 'ext']/*[local-name() = 'editorialgroup']/*[local-name() = 'committee'])"/>
7248
-
7249
-
7850
+ <xsl:value-of select="normalize-space(*[local-name() = 'ext']/*[local-name() = 'editorialgroup']/*[local-name() = 'committee'])"/>
7851
+
7250
7852
  </xsl:for-each>
7251
7853
  </dc:creator>
7252
7854
  <dc:description>
7253
7855
  <xsl:variable name="abstract">
7254
7856
 
7255
-
7256
- <xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7257
-
7857
+ <xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7858
+
7258
7859
  </xsl:variable>
7259
7860
  <xsl:value-of select="normalize-space($abstract)"/>
7260
7861
  </dc:description>
@@ -7274,7 +7875,6 @@
7274
7875
  <xsl:value-of select="../@id"/>
7275
7876
  </xsl:when>
7276
7877
  <xsl:otherwise>
7277
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
7278
7878
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
7279
7879
  </xsl:otherwise>
7280
7880
  </xsl:choose>
@@ -7300,9 +7900,6 @@
7300
7900
  <xsl:when test="ancestor::*[local-name() = 'preface']">
7301
7901
  <xsl:value-of select="$level_total - 2"/>
7302
7902
  </xsl:when>
7303
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
7304
- <xsl:value-of select="$level_total - 1"/>
7305
- </xsl:when> -->
7306
7903
  <xsl:when test="ancestor::*[local-name() = 'sections']">
7307
7904
  <xsl:value-of select="$level_total - 1"/>
7308
7905
  </xsl:when>
@@ -7445,10 +8042,12 @@
7445
8042
  <xsl:param name="key"/>
7446
8043
  <xsl:param name="formatted">false</xsl:param>
7447
8044
  <xsl:param name="lang"/>
8045
+ <xsl:param name="returnEmptyIfNotFound">false</xsl:param>
7448
8046
 
7449
8047
  <xsl:variable name="curr_lang">
7450
8048
  <xsl:choose>
7451
8049
  <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
8050
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
7452
8051
  <xsl:otherwise>
7453
8052
  <xsl:call-template name="getLang"/>
7454
8053
  </xsl:otherwise>
@@ -7483,6 +8082,7 @@
7483
8082
  </xsl:otherwise>
7484
8083
  </xsl:choose>
7485
8084
  </xsl:when>
8085
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
7486
8086
  <xsl:otherwise>
7487
8087
  <xsl:variable name="key_">
7488
8088
  <xsl:call-template name="capitalize">
@@ -7492,7 +8092,6 @@
7492
8092
  <xsl:value-of select="$key_"/>
7493
8093
  </xsl:otherwise>
7494
8094
  </xsl:choose>
7495
-
7496
8095
  </xsl:template><xsl:template name="setTrackChangesStyles">
7497
8096
  <xsl:param name="isAdded"/>
7498
8097
  <xsl:param name="isDeleted"/>
@@ -7515,7 +8114,6 @@
7515
8114
  <xsl:if test="local-name() = 'table'">
7516
8115
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
7517
8116
  </xsl:if>
7518
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
7519
8117
  <xsl:attribute name="padding">2mm</xsl:attribute>
7520
8118
  </xsl:if>
7521
8119
  </xsl:otherwise>
@@ -7535,15 +8133,18 @@
7535
8133
  </xsl:choose>
7536
8134
  </xsl:template><xsl:template name="setTextAlignment">
7537
8135
  <xsl:param name="default">left</xsl:param>
8136
+ <xsl:variable name="align" select="normalize-space(@align)"/>
7538
8137
  <xsl:attribute name="text-align">
7539
8138
  <xsl:choose>
7540
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
8139
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
8140
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
8141
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
7541
8142
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7542
8143
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7543
8144
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7544
8145
  </xsl:choose>
7545
8146
  </xsl:attribute>
7546
- <xsl:if test="@align = 'indent'">
8147
+ <xsl:if test="$align = 'indent'">
7547
8148
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
7548
8149
  </xsl:if>
7549
8150
  </xsl:template><xsl:template name="number-to-words">
@@ -7642,6 +8243,25 @@
7642
8243
  </xsl:otherwise>
7643
8244
  </xsl:choose>
7644
8245
  </xsl:if>
8246
+ </xsl:template><xsl:template name="number-to-ordinal">
8247
+ <xsl:param name="number"/>
8248
+ <xsl:param name="curr_lang"/>
8249
+ <xsl:choose>
8250
+ <xsl:when test="$curr_lang = 'fr'">
8251
+ <xsl:choose>
8252
+ <xsl:when test="$number = '1'">re</xsl:when>
8253
+ <xsl:otherwise>e</xsl:otherwise>
8254
+ </xsl:choose>
8255
+ </xsl:when>
8256
+ <xsl:otherwise>
8257
+ <xsl:choose>
8258
+ <xsl:when test="$number = 1">st</xsl:when>
8259
+ <xsl:when test="$number = 2">nd</xsl:when>
8260
+ <xsl:when test="$number = 3">rd</xsl:when>
8261
+ <xsl:otherwise>th</xsl:otherwise>
8262
+ </xsl:choose>
8263
+ </xsl:otherwise>
8264
+ </xsl:choose>
7645
8265
  </xsl:template><xsl:template name="setAltText">
7646
8266
  <xsl:param name="value"/>
7647
8267
  <xsl:attribute name="fox:alt-text">