metanorma-bipm 2.0.0 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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">