metanorma-bipm 1.2.5 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,8 +85,7 @@
85
85
  <xsl:variable name="column_width" select="($page_width - $column_gap) div $docs_count"/>
86
86
 
87
87
  <xsl:variable name="debug">false</xsl:variable>
88
- <xsl:variable name="pageWidth" select="210"/>
89
- <xsl:variable name="pageHeight" select="297"/>
88
+
90
89
  <xsl:variable name="marginLeftRight1" select="25"/>
91
90
  <xsl:variable name="marginLeftRight2" select="15"/>
92
91
  <xsl:variable name="marginTop" select="29.5"/>
@@ -558,9 +557,6 @@
558
557
  <!-- ============================= -->
559
558
  <!-- CONTENTS -->
560
559
  <!-- ============================= -->
561
- <xsl:template match="node()" mode="contents">
562
- <xsl:apply-templates mode="contents"/>
563
- </xsl:template>
564
560
 
565
561
  <!-- element with title -->
566
562
  <xsl:template match="*[*[local-name()='title']]" mode="contents">
@@ -678,7 +674,7 @@
678
674
 
679
675
 
680
676
 
681
- <xsl:template match="*[local-name()='p']">
677
+ <xsl:template match="*[local-name()='p']" name="paragraph">
682
678
  <xsl:param name="inline" select="'false'"/>
683
679
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
684
680
  <xsl:variable name="element-name">
@@ -725,66 +721,6 @@
725
721
  <xsl:apply-templates/>
726
722
  </xsl:template>
727
723
 
728
-
729
- <xsl:template match="*[local-name()='bibitem']">
730
- <fo:block id="{@id}" margin-bottom="6pt"> <!-- 12 pt -->
731
- <xsl:variable name="docidentifier">
732
- <xsl:if test="*[local-name()='docidentifier']">
733
- <xsl:choose>
734
- <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
735
- <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier']"/></xsl:otherwise>
736
- </xsl:choose>
737
- </xsl:if>
738
- </xsl:variable>
739
- <xsl:value-of select="$docidentifier"/>
740
-
741
- <xsl:choose>
742
- <xsl:when test="*[local-name()='formattedref']">
743
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
744
- <xsl:apply-templates select="*[local-name()='formattedref']"/>
745
- </xsl:when>
746
- <xsl:otherwise>
747
- <xsl:apply-templates select="*[local-name()='note']"/>
748
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
749
- <fo:inline font-style="italic">
750
- <xsl:choose>
751
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
752
- <xsl:value-of select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
753
- </xsl:when>
754
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
755
- <xsl:value-of select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
756
- </xsl:when>
757
- <xsl:otherwise>
758
- <xsl:value-of select="*[local-name()='title']"/>
759
- </xsl:otherwise>
760
- </xsl:choose>
761
- </fo:inline>
762
- </xsl:otherwise>
763
- </xsl:choose>
764
- </fo:block>
765
- </xsl:template>
766
-
767
-
768
- <xsl:template match="*[local-name()='bibitem']/*[local-name()='note']" priority="2">
769
- <fo:footnote>
770
- <xsl:variable name="number">
771
- <xsl:number level="any" count="*[local-name()='bibitem']/*[local-name()='note']"/>
772
- </xsl:variable>
773
- <fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
774
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
775
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
776
- </fo:basic-link>
777
- </fo:inline>
778
- <fo:footnote-body>
779
- <fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
780
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
781
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
782
- </fo:inline>
783
- <xsl:apply-templates/>
784
- </fo:block>
785
- </fo:footnote-body>
786
- </fo:footnote>
787
- </xsl:template>
788
724
 
789
725
 
790
726
  <xsl:template match="jcgm:fn/jcgm:p">
@@ -796,15 +732,13 @@
796
732
 
797
733
  <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="ul_ol">
798
734
  <fo:list-block provisional-distance-between-starts="7mm" margin-top="8pt"> <!-- margin-bottom="8pt" -->
799
- <xsl:apply-templates/>
735
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
800
736
  </fo:list-block>
801
737
  <xsl:for-each select="./*[local-name()='note']">
802
738
  <xsl:call-template name="note"/>
803
739
  </xsl:for-each>
804
740
  </xsl:template>
805
741
 
806
- <xsl:template match="*[local-name()='ul']//*[local-name()='note'] | *[local-name()='ol']//*[local-name()='note']" priority="2"/>
807
-
808
742
 
809
743
  <xsl:template match="*[local-name()='li']">
810
744
  <fo:list-item id="{@id}">
@@ -815,8 +749,8 @@
815
749
  </fo:list-item-label>
816
750
  <fo:list-item-body start-indent="body-start()">
817
751
  <fo:block>
818
- <xsl:apply-templates/>
819
- <xsl:apply-templates select=".//*[local-name()='note']" mode="process"/>
752
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
753
+ <xsl:apply-templates select=".//*[local-name()='note']"/>
820
754
  </fo:block>
821
755
  </fo:list-item-body>
822
756
  </fo:list-item>
@@ -838,17 +772,14 @@
838
772
  </fo:list-item-label>
839
773
  <fo:list-item-body start-indent="body-start()">
840
774
  <fo:block>
841
- <xsl:apply-templates/>
842
- <xsl:apply-templates select=".//*[local-name()='note']" mode="process"/>
775
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
776
+ <xsl:apply-templates select=".//*[local-name()='note']"/>
843
777
  </fo:block>
844
778
  </fo:list-item-body>
845
779
  </fo:list-item>
846
780
  </fo:list-block>
847
781
  </xsl:template>
848
782
 
849
- <xsl:template match="*[local-name()='note']" mode="process">
850
- <xsl:call-template name="note"/>
851
- </xsl:template>
852
783
 
853
784
  <xsl:template match="*[local-name()='preferred']">
854
785
  <xsl:variable name="level">
@@ -856,7 +787,7 @@
856
787
  </xsl:variable>
857
788
  <fo:block line-height="1.1" role="H{$level}">
858
789
  <fo:block font-weight="bold" keep-with-next="always">
859
- <xsl:apply-templates select="ancestor::*[local-name()='term'][1]/*[local-name()='name']" mode="presentation"/>
790
+ <xsl:apply-templates select="ancestor::*[local-name()='term'][1]/*[local-name()='name']"/>
860
791
  </fo:block>
861
792
  <fo:block font-weight="bold" keep-with-next="always">
862
793
  <xsl:call-template name="setStyle_preferred"/>
@@ -903,71 +834,6 @@
903
834
  <fo:block widows="1" orphans="1"><xsl:apply-templates/></fo:block>
904
835
  </xsl:template>
905
836
 
906
-
907
- <xsl:template match="*[local-name()='references'][@normative='true']">
908
- <fo:block id="{@id}">
909
- <xsl:apply-templates/>
910
- </fo:block>
911
- </xsl:template>
912
-
913
- <xsl:template match="*[local-name()='references'][not(@normative='true')]">
914
- <fo:block break-after="page"/>
915
- <fo:block id="{@id}">
916
- <xsl:apply-templates/>
917
- </fo:block>
918
- </xsl:template>
919
-
920
-
921
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
922
- <xsl:template match="*[local-name()='references'][not(@normative='true')]/*[local-name()='bibitem']">
923
- <fo:list-block margin-bottom="6pt" provisional-distance-between-starts="12mm">
924
- <fo:list-item>
925
- <fo:list-item-label end-indent="label-end()">
926
- <fo:block>
927
- <fo:inline id="{@id}">
928
- <xsl:number format="[1]"/>
929
- </fo:inline>
930
- </fo:block>
931
- </fo:list-item-label>
932
- <fo:list-item-body start-indent="body-start()">
933
- <fo:block>
934
- <xsl:variable name="docidentifier">
935
- <xsl:if test="*[local-name()='docidentifier']">
936
- <xsl:choose>
937
- <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
938
- <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier']"/></xsl:otherwise>
939
- </xsl:choose>
940
- </xsl:if>
941
- </xsl:variable>
942
- <xsl:value-of select="$docidentifier"/>
943
- <xsl:apply-templates select="*[local-name()='note']"/>
944
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
945
- <xsl:choose>
946
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
947
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
948
- </xsl:when>
949
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
950
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
951
- </xsl:when>
952
- <xsl:otherwise>
953
- <xsl:apply-templates select="*[local-name()='title']"/>
954
- </xsl:otherwise>
955
- </xsl:choose>
956
- <xsl:apply-templates select="*[local-name()='formattedref']"/>
957
- </fo:block>
958
- </fo:list-item-body>
959
- </fo:list-item>
960
- </fo:list-block>
961
- </xsl:template>
962
-
963
- <xsl:template match="*[local-name()='references']/*[local-name()='bibitem']" mode="contents"/>
964
-
965
- <xsl:template match="*[local-name()='references'][not(@normative='true')]/*[local-name()='bibitem']/*[local-name()='title']">
966
- <fo:inline font-style="italic">
967
- <xsl:apply-templates/>
968
- </fo:inline>
969
- </xsl:template>
970
-
971
837
 
972
838
  <xsl:template match="mathml:math" priority="2">
973
839
  <fo:inline font-family="Cambria Math">
@@ -1067,20 +933,7 @@
1067
933
  </xsl:if>
1068
934
  </xsl:template>
1069
935
 
1070
- <xsl:template match="*[local-name()='admonition']">
1071
- <fo:block margin-bottom="12pt" font-weight="bold"> <!-- text-align="center" -->
1072
- <xsl:variable name="type">
1073
- <xsl:call-template name="getLocalizedString">
1074
- <xsl:with-param name="key">admonition.<xsl:value-of select="@type"/></xsl:with-param>
1075
- </xsl:call-template>
1076
- </xsl:variable>
1077
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($type))"/>
1078
- <xsl:text> — </xsl:text>
1079
- <xsl:apply-templates/>
1080
- </fo:block>
1081
- </xsl:template>
1082
936
 
1083
-
1084
937
  <xsl:template match="*[local-name()='td' or local-name()='th']/*[local-name()='formula']/*[local-name()='stem']" priority="2">
1085
938
  <fo:block>
1086
939
  <xsl:if test="ancestor::*[local-name()='td' or local-name()='th'][1][@align]">
@@ -1106,7 +959,7 @@
1106
959
  </fo:table-cell>
1107
960
  <fo:table-cell display-align="center">
1108
961
  <fo:block text-align="right">
1109
- <xsl:apply-templates select="../*[local-name()='name']" mode="presentation"/>
962
+ <xsl:apply-templates select="../*[local-name()='name']" mode="formula_number"/>
1110
963
  </fo:block>
1111
964
  </fo:table-cell>
1112
965
  </fo:table-row>
@@ -1377,23 +1230,10 @@
1377
1230
  <xsl:attribute name="baseline-shift">0%</xsl:attribute>
1378
1231
  <xsl:attribute name="font-size">100%</xsl:attribute>
1379
1232
  </xsl:if>
1380
- <xsl:choose>
1381
- <xsl:when test="$curr_lang = 'fr'">
1382
- <xsl:choose>
1383
- <xsl:when test=". = '1'">re</xsl:when>
1384
- <xsl:otherwise>e</xsl:otherwise>
1385
- </xsl:choose>
1386
- </xsl:when>
1387
- <xsl:otherwise>
1388
- <xsl:choose>
1389
- <xsl:when test=". = '1'">st</xsl:when>
1390
- <xsl:when test=". = '2'">nd</xsl:when>
1391
- <xsl:when test=". = '3'">rd</xsl:when>
1392
- <xsl:otherwise>th</xsl:otherwise>
1393
- </xsl:choose>
1394
- </xsl:otherwise>
1395
- </xsl:choose>
1396
-
1233
+ <xsl:call-template name="number-to-ordinal">
1234
+ <xsl:with-param name="number" select="."/>
1235
+ <xsl:with-param name="curr_lang" select="$curr_lang"/>
1236
+ </xsl:call-template>
1397
1237
  </fo:inline>
1398
1238
  <xsl:text> </xsl:text>
1399
1239
  <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($title-edition))"/>
@@ -2012,47 +1852,36 @@
2012
1852
  </fo:block-container>
2013
1853
  </xsl:template>
2014
1854
 
2015
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2016
-
2017
- <title-annex lang="en">Annex </title-annex>
2018
- <title-annex lang="fr">Annexe </title-annex>
2019
-
2020
-
1855
+ <xsl:variable name="pageWidth_">
1856
+ 210
1857
+ </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
1858
+ 297
1859
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
2021
1860
 
2022
1861
  <title-edition lang="en">
2023
1862
 
2024
- <xsl:text>Edition </xsl:text>
2025
-
2026
-
1863
+ <xsl:text>Edition </xsl:text>
1864
+
2027
1865
  </title-edition>
2028
1866
 
2029
1867
  <title-edition lang="fr">
2030
-
2031
- <xsl:text>Édition </xsl:text>
2032
-
1868
+ <xsl:text>Édition </xsl:text>
2033
1869
  </title-edition>
2034
1870
 
2035
-
1871
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
2036
1872
  <title-toc lang="en">
2037
1873
 
2038
1874
 
2039
1875
 
2040
1876
  </title-toc>
2041
1877
  <title-toc lang="fr">
1878
+ <xsl:text>Sommaire</xsl:text>
1879
+ </title-toc>
1880
+ <title-toc lang="zh">
2042
1881
 
2043
-
2044
- </title-toc>
2045
-
2046
-
2047
-
2048
- <title-page lang="en">Page</title-page>
2049
- <title-page lang="fr">Page</title-page>
2050
-
2051
- <title-key lang="en">Key</title-key>
2052
- <title-key lang="fr">Légende</title-key>
2053
-
2054
- <title-where lang="en">where</title-where>
2055
- <title-where lang="fr">où</title-where>
1882
+ <xsl:text>Contents</xsl:text>
1883
+
1884
+ </title-toc>
2056
1885
 
2057
1886
  <title-descriptors lang="en">Descriptors</title-descriptors>
2058
1887
 
@@ -2068,28 +1897,9 @@
2068
1897
  </title-part>
2069
1898
  <title-part lang="zh">第 # 部分:</title-part>
2070
1899
 
2071
- <title-subpart lang="en">
2072
-
2073
- </title-subpart>
2074
- <title-subpart lang="fr">
2075
-
2076
- </title-subpart>
2077
-
2078
- <title-modified lang="en">modified</title-modified>
2079
- <title-modified lang="fr">modifiée</title-modified>
2080
-
2081
-
2082
-
2083
- <title-source lang="en">
2084
-
2085
-
2086
- </title-source>
2087
-
2088
- <title-keywords lang="en">Keywords</title-keywords>
1900
+ <title-subpart lang="en">Sub-part #</title-subpart>
1901
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
2089
1902
 
2090
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
2091
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2092
-
2093
1903
  <title-list-tables lang="en">List of Tables</title-list-tables>
2094
1904
 
2095
1905
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -2098,41 +1908,12 @@
2098
1908
 
2099
1909
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2100
1910
 
2101
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
2102
-
2103
- <title-abstract lang="en">Abstract</title-abstract>
2104
-
2105
1911
  <title-summary lang="en">Summary</title-summary>
2106
1912
 
2107
- <title-in lang="en">in </title-in>
2108
-
2109
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
2110
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2111
-
2112
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
2113
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
2114
-
2115
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
2116
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
2117
-
2118
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
2119
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
2120
-
2121
- <title-obligation-normative lang="en">normative</title-obligation-normative>
2122
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
2123
-
2124
- <title-caution lang="en">CAUTION</title-caution>
2125
- <title-caution lang="zh">注意</title-caution>
2126
-
2127
- <title-warning lang="en">WARNING</title-warning>
2128
- <title-warning lang="zh">警告</title-warning>
2129
-
2130
- <title-amendment lang="en">AMENDMENT</title-amendment>
2131
-
2132
1913
  <title-continued lang="en">(continued)</title-continued>
2133
1914
  <title-continued lang="fr">(continué)</title-continued>
2134
1915
 
2135
- </xsl:variable><xsl:variable name="bibdata">
1916
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
2136
1917
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
2137
1918
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
2138
1919
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -2164,6 +1945,67 @@
2164
1945
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
2165
1946
 
2166
1947
 
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-style">
1963
+
1964
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
1965
+
1966
+
1967
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-p-style">
1968
+
1969
+
1970
+
1971
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-style">
1972
+
1973
+
1974
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-title-style">
1975
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-p-style">
1983
+
1984
+
1985
+
1986
+
1987
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-style">
1988
+
1989
+
1990
+
1991
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-title-style">
1992
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-p-style">
1999
+
2000
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-style">
2001
+
2002
+
2003
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-title-style">
2004
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2005
+
2006
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-p-style">
2007
+
2008
+
2167
2009
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2168
2010
 
2169
2011
 
@@ -2173,22 +2015,32 @@
2173
2015
 
2174
2016
 
2175
2017
 
2018
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
2019
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2020
+
2176
2021
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2177
2022
  <xsl:attribute name="white-space">pre</xsl:attribute>
2178
2023
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2179
2024
  <xsl:attribute name="role">Code</xsl:attribute>
2180
2025
 
2181
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
2182
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2183
2026
 
2184
2027
 
2185
2028
 
2186
2029
 
2187
2030
 
2031
+
2032
+
2033
+
2034
+
2035
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
2036
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2037
+
2188
2038
 
2189
2039
 
2190
2040
 
2191
2041
 
2042
+
2043
+
2192
2044
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
2193
2045
 
2194
2046
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -2246,16 +2098,18 @@
2246
2098
 
2247
2099
 
2248
2100
 
2101
+
2249
2102
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
2250
2103
 
2251
2104
 
2252
2105
 
2106
+
2253
2107
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2108
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2254
2109
 
2255
2110
 
2256
2111
 
2257
2112
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
2258
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2259
2113
 
2260
2114
 
2261
2115
 
@@ -2290,6 +2144,7 @@
2290
2144
 
2291
2145
 
2292
2146
 
2147
+
2293
2148
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
2294
2149
 
2295
2150
 
@@ -2300,102 +2155,317 @@
2300
2155
 
2301
2156
  </xsl:attribute-set><xsl:variable name="table-border_">
2302
2157
 
2303
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
2304
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2305
-
2158
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
2159
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2160
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2306
2161
 
2307
2162
 
2308
2163
 
2309
2164
 
2310
2165
 
2311
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2312
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2313
- <xsl:attribute name="text-align">center</xsl:attribute>
2314
- <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2315
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2316
-
2317
2166
 
2318
2167
 
2319
2168
 
2320
-
2321
2169
 
2322
2170
 
2323
2171
 
2172
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2173
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2174
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2324
2175
 
2325
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2326
2176
 
2327
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2328
-
2329
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2330
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2331
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2332
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2333
2177
 
2334
2178
 
2335
2179
 
2336
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2337
2180
 
2338
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2339
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2340
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2341
2181
 
2342
2182
 
2183
+
2343
2184
 
2344
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
2345
2185
 
2186
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
2187
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2188
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
2189
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2190
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2346
2191
 
2347
2192
 
2348
- <xsl:attribute name="color">blue</xsl:attribute>
2349
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2350
2193
 
2351
2194
 
2352
2195
 
2353
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
2354
2196
 
2355
2197
 
2356
2198
 
2357
2199
 
2358
2200
 
2359
2201
 
2360
- </xsl:attribute-set><xsl:attribute-set name="note-style">
2202
+ <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
2361
2203
 
2362
2204
 
2363
2205
 
2364
2206
 
2365
-
2366
2207
 
2367
2208
 
2368
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2369
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2370
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2371
- <xsl:attribute name="text-align">justify</xsl:attribute>
2372
2209
 
2373
2210
 
2374
2211
 
2375
2212
 
2213
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2214
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2215
+
2376
2216
 
2377
2217
 
2378
2218
 
2379
2219
 
2380
2220
 
2221
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2222
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2223
+ <xsl:attribute name="text-align">center</xsl:attribute>
2224
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2225
+
2381
2226
 
2382
- </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
2383
2227
 
2384
2228
 
2229
+
2385
2230
 
2386
2231
 
2387
2232
 
2388
2233
 
2234
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
2235
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
2389
2236
 
2390
- <xsl:attribute name="padding-right">6mm</xsl:attribute>
2391
2237
 
2392
2238
 
2393
2239
 
2240
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
2241
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2394
2242
 
2395
2243
 
2244
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
2245
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
2396
2246
 
2397
2247
 
2398
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+
2254
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2255
+
2256
+
2257
+
2258
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2259
+ <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
2260
+ <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
2261
+
2262
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
2263
+
2264
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
2265
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2266
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2267
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2268
+ <xsl:attribute name="display-align">center</xsl:attribute>
2269
+
2270
+
2271
+
2272
+
2273
+
2274
+
2275
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2276
+
2277
+
2278
+
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
2285
+ <xsl:attribute name="display-align">center</xsl:attribute>
2286
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2287
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2288
+
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2297
+
2298
+
2299
+
2300
+
2301
+
2302
+
2303
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2304
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2305
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2306
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2307
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2308
+
2309
+
2310
+
2311
+
2312
+
2313
+
2314
+
2315
+
2316
+
2317
+ <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
2318
+
2319
+
2320
+
2321
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
2322
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2323
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2324
+
2325
+
2326
+
2327
+
2328
+
2329
+
2330
+
2331
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2332
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2333
+
2334
+
2335
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2336
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2337
+
2338
+
2339
+
2340
+
2341
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2342
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2343
+
2344
+
2345
+
2346
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2347
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2348
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+
2361
+
2362
+
2363
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
2364
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2365
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2366
+
2367
+
2368
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
2369
+
2370
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
2371
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2372
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2373
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2374
+
2375
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
2376
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2377
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2378
+
2379
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
2380
+
2381
+
2382
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
2383
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2384
+
2385
+
2386
+
2387
+
2388
+
2389
+
2390
+
2391
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
2392
+
2393
+
2394
+
2395
+
2396
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2397
+
2398
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
2399
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2400
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2401
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2402
+
2403
+
2404
+
2405
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2406
+
2407
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2408
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2409
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2410
+
2411
+
2412
+
2413
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2414
+
2415
+
2416
+
2417
+ <xsl:attribute name="color">blue</xsl:attribute>
2418
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2419
+
2420
+
2421
+
2422
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2438
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2439
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2440
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2441
+
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+ </xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+
2458
+
2459
+ <xsl:attribute name="padding-right">6mm</xsl:attribute>
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+
2466
+
2467
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2468
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2399
2469
 
2400
2470
 
2401
2471
 
@@ -2466,6 +2536,9 @@
2466
2536
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2467
2537
 
2468
2538
 
2539
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
2540
+
2541
+
2469
2542
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
2470
2543
 
2471
2544
 
@@ -2475,6 +2548,8 @@
2475
2548
 
2476
2549
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2477
2550
 
2551
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
2552
+
2478
2553
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2479
2554
 
2480
2555
 
@@ -2577,6 +2652,17 @@
2577
2652
 
2578
2653
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
2579
2654
  <xsl:attribute name="line-height">135%</xsl:attribute>
2655
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2656
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2657
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2658
+
2659
+
2660
+
2661
+
2662
+
2663
+
2664
+
2665
+
2580
2666
  </xsl:attribute-set><xsl:attribute-set name="fn-style">
2581
2667
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2582
2668
  </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
@@ -2606,7 +2692,6 @@
2606
2692
  <xsl:attribute name="text-indent">0</xsl:attribute>
2607
2693
  <xsl:attribute name="start-indent">0</xsl:attribute>
2608
2694
 
2609
-
2610
2695
  <xsl:attribute name="font-size">9pt</xsl:attribute>
2611
2696
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2612
2697
  <xsl:attribute name="line-height">124%</xsl:attribute>
@@ -2628,6 +2713,7 @@
2628
2713
 
2629
2714
 
2630
2715
 
2716
+
2631
2717
  </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2632
2718
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2633
2719
 
@@ -2651,30 +2737,196 @@
2651
2737
 
2652
2738
 
2653
2739
 
2654
- </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:template name="OLD_processPrefaceSectionsDefault_Contents">
2655
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2656
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2657
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2658
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2659
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2660
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
2740
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2741
+
2742
+
2743
+
2744
+
2745
+
2746
+
2747
+
2748
+
2749
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2750
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2751
+
2752
+
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2759
+
2760
+
2761
+
2762
+
2763
+
2764
+
2765
+
2766
+
2767
+
2768
+
2769
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
2770
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+
2777
+
2778
+
2779
+
2780
+
2781
+
2782
+
2783
+
2784
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
2785
+
2786
+
2787
+
2788
+
2789
+
2790
+
2791
+
2792
+
2793
+
2794
+
2795
+
2796
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
2797
+
2798
+
2799
+
2800
+
2801
+
2802
+
2803
+
2804
+
2805
+
2806
+
2807
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2808
+
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+
2817
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
2818
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2819
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2820
+
2821
+
2822
+
2823
+
2824
+
2825
+
2826
+
2827
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2828
+
2829
+
2830
+
2831
+
2832
+
2833
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
2834
+
2835
+
2836
+
2837
+
2838
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
2839
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2840
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2841
+
2842
+
2843
+
2844
+
2845
+
2846
+
2847
+
2848
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2849
+
2850
+
2851
+
2852
+
2853
+
2854
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2855
+
2856
+
2857
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2858
+
2859
+
2860
+
2861
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2862
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2863
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+
2872
+
2873
+
2874
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2875
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2876
+
2877
+
2878
+
2879
+
2880
+
2881
+
2882
+
2883
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
2884
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2885
+
2886
+
2887
+
2888
+
2889
+
2890
+
2891
+
2892
+
2893
+
2894
+
2895
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2896
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
2897
+
2898
+
2899
+
2900
+
2901
+
2902
+
2903
+
2904
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
2905
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2906
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2907
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
2908
+
2909
+
2910
+
2911
+
2912
+
2913
+
2914
+
2915
+
2916
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2917
+
2918
+
2919
+
2920
+
2921
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2922
+
2923
+
2924
+
2925
+ </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">
2661
2926
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2662
2927
  <xsl:sort select="@displayorder" data-type="number"/>
2663
2928
  <xsl:apply-templates select="." mode="contents"/>
2664
2929
  </xsl:for-each>
2665
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
2666
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2667
-
2668
- <!-- Normative references -->
2669
- <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"/>
2670
- <!-- Terms and definitions -->
2671
- <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"/>
2672
- <!-- Another main sections -->
2673
- <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"/>
2674
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2675
- <!-- Bibliography -->
2676
- <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"/>
2677
-
2678
2930
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2679
2931
 
2680
2932
  <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']]">
@@ -2691,29 +2943,11 @@
2691
2943
  <xsl:sort select="@displayorder" data-type="number"/>
2692
2944
  <xsl:apply-templates select="." mode="contents"/>
2693
2945
  </xsl:for-each>
2694
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
2695
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2696
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2697
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2698
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2699
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2700
2946
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2701
2947
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2702
2948
  <xsl:sort select="@displayorder" data-type="number"/>
2703
2949
  <xsl:apply-templates select="."/>
2704
2950
  </xsl:for-each>
2705
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
2706
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2707
-
2708
- <!-- Normative references -->
2709
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2710
- <!-- Terms and definitions -->
2711
- <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']]"/>
2712
- <!-- Another main sections -->
2713
- <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'])]"/>
2714
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2715
- <!-- Bibliography -->
2716
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2717
2951
  </xsl:template><xsl:template name="processMainSectionsDefault">
2718
2952
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2719
2953
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -2734,6 +2968,64 @@
2734
2968
  <xsl:value-of select="."/>
2735
2969
  </xsl:template><xsl:template match="*[local-name()='br']">
2736
2970
  <xsl:value-of select="$linebreak"/>
2971
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
2972
+ <fo:block xsl:use-attribute-sets="copyright-statement-style">
2973
+ <xsl:apply-templates/>
2974
+ </fo:block>
2975
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='title']">
2976
+
2977
+ <!-- process in the template 'title' -->
2978
+ <xsl:call-template name="title"/>
2979
+
2980
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='p']">
2981
+
2982
+
2983
+ <!-- process in the template 'paragraph' -->
2984
+ <xsl:call-template name="paragraph"/>
2985
+
2986
+ </xsl:template><xsl:template match="*[local-name()='license-statement']">
2987
+ <fo:block xsl:use-attribute-sets="license-statement-style">
2988
+ <xsl:apply-templates/>
2989
+ </fo:block>
2990
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='title']">
2991
+
2992
+ <!-- process in the template 'title' -->
2993
+ <xsl:call-template name="title"/>
2994
+
2995
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='p']">
2996
+
2997
+ <!-- process in the template 'paragraph' -->
2998
+ <xsl:call-template name="paragraph"/>
2999
+
3000
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']">
3001
+ <fo:block xsl:use-attribute-sets="legal-statement-style">
3002
+ <xsl:apply-templates/>
3003
+ </fo:block>
3004
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='title']">
3005
+
3006
+ <!-- process in the template 'title' -->
3007
+ <xsl:call-template name="title"/>
3008
+
3009
+
3010
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
3011
+
3012
+ <!-- process in the template 'paragraph' -->
3013
+ <xsl:call-template name="paragraph"/>
3014
+
3015
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
3016
+ <fo:block xsl:use-attribute-sets="feedback-statement-style">
3017
+ <xsl:apply-templates/>
3018
+ </fo:block>
3019
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='title']">
3020
+
3021
+ <!-- process in the template 'title' -->
3022
+ <xsl:call-template name="title"/>
3023
+
3024
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
3025
+
3026
+ <!-- process in the template 'paragraph' -->
3027
+ <xsl:call-template name="paragraph"/>
3028
+
2737
3029
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2738
3030
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
2739
3031
  <xsl:call-template name="add-zero-spaces-java"/>
@@ -2750,10 +3042,6 @@
2750
3042
  <xsl:call-template name="getSimpleTable"/>
2751
3043
  </xsl:variable>
2752
3044
 
2753
- <!-- <xsl:if test="$namespace = 'bipm'">
2754
- <fo:block>&#xA0;</fo:block>
2755
- </xsl:if> -->
2756
-
2757
3045
 
2758
3046
  <!-- Display table's name before table as standalone block -->
2759
3047
  <!-- $namespace = 'iso' or -->
@@ -2761,28 +3049,8 @@
2761
3049
 
2762
3050
 
2763
3051
 
2764
-
2765
-
2766
-
2767
3052
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
2768
3053
 
2769
- <!-- <xsl:variable name="cols-count">
2770
- <xsl:choose>
2771
- <xsl:when test="*[local-name()='thead']">
2772
- <xsl:call-template name="calculate-columns-numbers">
2773
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2774
- </xsl:call-template>
2775
- </xsl:when>
2776
- <xsl:otherwise>
2777
- <xsl:call-template name="calculate-columns-numbers">
2778
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2779
- </xsl:call-template>
2780
- </xsl:otherwise>
2781
- </xsl:choose>
2782
- </xsl:variable> -->
2783
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2784
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2785
-
2786
3054
  <xsl:variable name="colwidths">
2787
3055
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2788
3056
  <xsl:call-template name="calculate-column-widths">
@@ -2793,17 +3061,8 @@
2793
3061
  </xsl:variable>
2794
3062
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2795
3063
 
2796
- <!-- <xsl:variable name="colwidths2">
2797
- <xsl:call-template name="calculate-column-widths">
2798
- <xsl:with-param name="cols-count" select="$cols-count"/>
2799
- </xsl:call-template>
2800
- </xsl:variable> -->
2801
-
2802
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2803
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2804
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2805
3064
 
2806
- <xsl:variable name="margin-left">
3065
+ <xsl:variable name="margin-side">
2807
3066
  <xsl:choose>
2808
3067
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2809
3068
  <xsl:otherwise>0</xsl:otherwise>
@@ -2811,78 +3070,65 @@
2811
3070
  </xsl:variable>
2812
3071
 
2813
3072
 
2814
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2815
-
2816
-
2817
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2818
-
2819
-
2820
-
2821
-
2822
-
2823
-
2824
-
2825
-
3073
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
3074
+
2826
3075
 
3076
+
2827
3077
 
3078
+
2828
3079
 
2829
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2830
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2831
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2832
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
3080
+
2833
3081
 
2834
3082
 
2835
3083
 
3084
+
2836
3085
 
2837
3086
 
2838
3087
 
2839
3088
 
2840
3089
 
3090
+ <!-- end table block-container attributes -->
2841
3091
 
2842
3092
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2843
3093
 
2844
3094
 
3095
+ <xsl:variable name="table_width_default">100%</xsl:variable>
2845
3096
  <xsl:variable name="table_width">
2846
3097
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2847
- 100%
2848
-
2849
-
3098
+ <xsl:value-of select="$table_width_default"/>
2850
3099
  </xsl:variable>
2851
3100
 
3101
+
2852
3102
  <xsl:variable name="table_attributes">
2853
- <attribute name="table-layout">fixed</attribute>
2854
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2855
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2856
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2857
-
2858
-
2859
- <attribute name="border">1.5pt solid black</attribute>
2860
- <xsl:if test="*[local-name()='thead']">
2861
- <attribute name="border-top">1pt solid black</attribute>
2862
- </xsl:if>
2863
-
2864
-
2865
-
2866
-
2867
-
2868
-
2869
- <attribute name="margin-left">0mm</attribute>
2870
- <attribute name="margin-right">0mm</attribute>
2871
-
2872
-
2873
-
2874
-
2875
-
2876
-
2877
-
2878
-
3103
+
3104
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
3105
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3106
+
3107
+
3108
+
3109
+
3110
+
3111
+
3112
+
3113
+
3114
+
3115
+
3116
+
3117
+
3118
+ <xsl:if test="*[local-name()='thead']">
3119
+ <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
3120
+ </xsl:if>
3121
+
3122
+
3123
+
3124
+ </xsl:element>
2879
3125
  </xsl:variable>
2880
3126
 
2881
3127
 
2882
- <fo:table id="{@id}" table-omit-footer-at-break="true">
3128
+ <fo:table id="{@id}">
2883
3129
 
2884
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2885
- <xsl:attribute name="{@name}">
3130
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3131
+ <xsl:attribute name="{local-name()}">
2886
3132
  <xsl:value-of select="."/>
2887
3133
  </xsl:attribute>
2888
3134
  </xsl:for-each>
@@ -2893,7 +3139,6 @@
2893
3139
  </xsl:if>
2894
3140
 
2895
3141
 
2896
-
2897
3142
  <xsl:choose>
2898
3143
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2899
3144
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2919,7 +3164,7 @@
2919
3164
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2920
3165
  </xsl:when>
2921
3166
  <xsl:otherwise>
2922
- <xsl:apply-templates/>
3167
+ <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 -->
2923
3168
  </xsl:otherwise>
2924
3169
  </xsl:choose>
2925
3170
 
@@ -2934,25 +3179,6 @@
2934
3179
  </xsl:call-template>
2935
3180
  </xsl:for-each>
2936
3181
 
2937
- <!-- insert footer as table -->
2938
- <!-- <fo:table>
2939
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2940
- <xsl:attribute name="{@name}">
2941
- <xsl:value-of select="."/>
2942
- </xsl:attribute>
2943
- </xsl:for-each>
2944
-
2945
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2946
- <xsl:choose>
2947
- <xsl:when test=". = 1 or . = 0">
2948
- <fo:table-column column-width="proportional-column-width(2)"/>
2949
- </xsl:when>
2950
- <xsl:otherwise>
2951
- <fo:table-column column-width="proportional-column-width({.})"/>
2952
- </xsl:otherwise>
2953
- </xsl:choose>
2954
- </xsl:for-each>
2955
- </fo:table>-->
2956
3182
 
2957
3183
 
2958
3184
 
@@ -3013,20 +3239,17 @@
3013
3239
  </xsl:otherwise>
3014
3240
  </xsl:choose>
3015
3241
 
3016
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
3242
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3017
3243
  <xsl:param name="continued"/>
3018
3244
  <xsl:if test="normalize-space() != ''">
3019
3245
  <fo:block xsl:use-attribute-sets="table-name-style">
3020
-
3021
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3022
-
3246
+
3023
3247
 
3024
3248
 
3025
3249
 
3026
3250
 
3027
3251
  <xsl:choose>
3028
3252
  <xsl:when test="$continued = 'true'">
3029
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
3030
3253
 
3031
3254
  <xsl:apply-templates/>
3032
3255
 
@@ -3091,13 +3314,6 @@
3091
3314
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
3092
3315
  <xsl:variable name="td_text">
3093
3316
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
3094
-
3095
- <!-- <xsl:if test="$namespace = 'bipm'">
3096
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
3097
- <word><xsl:value-of select="normalize-space(.)"/></word>
3098
- </xsl:for-each>
3099
- </xsl:if> -->
3100
-
3101
3317
  </xsl:variable>
3102
3318
  <xsl:variable name="words">
3103
3319
  <xsl:variable name="string_with_added_zerospaces">
@@ -3134,7 +3350,6 @@
3134
3350
  </xsl:otherwise>
3135
3351
  </xsl:choose>
3136
3352
  </xsl:variable>
3137
-
3138
3353
 
3139
3354
  <column>
3140
3355
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -3168,9 +3383,8 @@
3168
3383
 
3169
3384
  <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
3170
3385
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
3171
- </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3386
+ </xsl:template><xsl:template match="*[local-name()='thead']">
3172
3387
  <xsl:param name="cols-count"/>
3173
- <!-- font-weight="bold" -->
3174
3388
  <fo:table-header>
3175
3389
 
3176
3390
  <xsl:call-template name="table-header-title">
@@ -3186,96 +3400,35 @@
3186
3400
  <fo:table-row>
3187
3401
  <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">
3188
3402
 
3189
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3403
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3190
3404
  <xsl:with-param name="continued">true</xsl:with-param>
3191
3405
  </xsl:apply-templates>
3192
3406
 
3193
3407
 
3194
3408
  <xsl:for-each select="ancestor::*[local-name()='table'][1]">
3195
- <xsl:call-template name="fn_name_display"/>
3409
+ <xsl:call-template name="table_name_fn_display"/>
3196
3410
  </xsl:for-each>
3197
-
3198
-
3199
-
3411
+
3200
3412
  <fo:block text-align="right" font-style="italic">
3201
3413
  <xsl:text> </xsl:text>
3202
3414
  <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
3203
3415
  </fo:block>
3204
3416
 
3417
+
3205
3418
  </fo:table-cell>
3206
3419
  </fo:table-row>
3207
3420
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
3208
3421
  <fo:table-body>
3209
3422
  <xsl:apply-templates/>
3210
3423
  </fo:table-body>
3211
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3424
+ </xsl:template><xsl:template match="*[local-name()='tfoot']">
3212
3425
  <xsl:apply-templates/>
3213
3426
  </xsl:template><xsl:template name="insertTableFooter">
3214
3427
  <xsl:param name="cols-count"/>
3215
3428
  <xsl:if test="../*[local-name()='tfoot']">
3216
3429
  <fo:table-footer>
3217
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3218
- </fo:table-footer>
3219
- </xsl:if>
3220
- </xsl:template><xsl:template name="insertTableFooter2">
3221
- <xsl:param name="cols-count"/>
3222
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3223
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3224
-
3225
- <fo:table-footer>
3226
-
3227
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3228
-
3229
- <!-- if there are note(s) or fn(s) then create footer row -->
3230
- <xsl:if test="$isNoteOrFnExist = 'true'">
3231
-
3232
-
3233
-
3234
- <fo:table-row>
3235
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3236
-
3237
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3238
-
3239
-
3240
-
3241
- <!-- fn will be processed inside 'note' processing -->
3242
-
3243
-
3244
-
3245
-
3246
-
3247
-
3248
- <!-- except gb -->
3249
-
3250
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3251
-
3252
-
3253
- <!-- show Note under table in preface (ex. abstract) sections -->
3254
- <!-- empty, because notes show at page side in main sections -->
3255
- <!-- <xsl:if test="$namespace = 'bipm'">
3256
- <xsl:choose>
3257
- <xsl:when test="ancestor::*[local-name()='preface']">
3258
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3259
- </xsl:when>
3260
- <xsl:otherwise>
3261
- <fo:block/>
3262
- </xsl:otherwise>
3263
- </xsl:choose>
3264
- </xsl:if> -->
3265
-
3266
-
3267
- <!-- horizontal row separator -->
3268
-
3269
-
3270
- <!-- fn processing -->
3271
- <xsl:call-template name="fn_display"/>
3272
-
3273
- </fo:table-cell>
3274
- </fo:table-row>
3275
-
3276
- </xsl:if>
3430
+ <xsl:apply-templates select="../*[local-name()='tfoot']"/>
3277
3431
  </fo:table-footer>
3278
-
3279
3432
  </xsl:if>
3280
3433
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
3281
3434
  <xsl:param name="table_attributes"/>
@@ -3302,17 +3455,18 @@
3302
3455
  </xsl:variable>
3303
3456
 
3304
3457
  <fo:table keep-with-previous="always">
3305
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3458
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3459
+ <xsl:variable name="name" select="local-name()"/>
3306
3460
  <xsl:choose>
3307
- <xsl:when test="@name = 'border-top'">
3308
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
3461
+ <xsl:when test="$name = 'border-top'">
3462
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3309
3463
  </xsl:when>
3310
- <xsl:when test="@name = 'border'">
3311
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3464
+ <xsl:when test="$name = 'border'">
3465
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3312
3466
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3313
3467
  </xsl:when>
3314
3468
  <xsl:otherwise>
3315
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3469
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3316
3470
  </xsl:otherwise>
3317
3471
  </xsl:choose>
3318
3472
  </xsl:for-each>
@@ -3341,11 +3495,10 @@
3341
3495
 
3342
3496
  <fo:table-body>
3343
3497
  <fo:table-row>
3344
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3345
-
3498
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3346
3499
 
3347
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3348
3500
 
3501
+
3349
3502
 
3350
3503
 
3351
3504
  <!-- fn will be processed inside 'note' processing -->
@@ -3355,37 +3508,20 @@
3355
3508
 
3356
3509
 
3357
3510
 
3358
-
3359
-
3360
-
3361
3511
  <!-- for BSI (not PAS) display Notes before footnotes -->
3362
3512
 
3363
3513
 
3364
- <!-- except gb -->
3365
-
3366
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3367
-
3514
+ <!-- except gb and bsi -->
3368
3515
 
3369
- <!-- <xsl:if test="$namespace = 'bipm'">
3370
- <xsl:choose>
3371
- <xsl:when test="ancestor::*[local-name()='preface']">
3372
- show Note under table in preface (ex. abstract) sections
3373
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3374
- </xsl:when>
3375
- <xsl:otherwise>
3376
- empty, because notes show at page side in main sections
3377
- <fo:block/>
3378
- </xsl:otherwise>
3379
- </xsl:choose>
3380
- </xsl:if> -->
3516
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3517
+
3381
3518
 
3382
3519
 
3383
3520
  <!-- horizontal row separator -->
3384
3521
 
3385
3522
 
3386
3523
  <!-- fn processing -->
3387
- <xsl:call-template name="fn_display"/>
3388
-
3524
+ <xsl:call-template name="table_fn_display"/>
3389
3525
 
3390
3526
  <!-- for PAS display Notes after footnotes -->
3391
3527
 
@@ -3424,7 +3560,7 @@
3424
3560
  </xsl:if>
3425
3561
 
3426
3562
 
3427
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3563
+ <xsl:apply-templates select="../*[local-name()='thead']">
3428
3564
  <xsl:with-param name="cols-count" select="$cols-count"/>
3429
3565
  </xsl:apply-templates>
3430
3566
 
@@ -3472,99 +3608,68 @@
3472
3608
 
3473
3609
 
3474
3610
  <xsl:apply-templates/>
3475
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3476
-
3611
+
3477
3612
  </fo:table-body>
3478
3613
 
3479
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3480
- <xsl:choose>
3481
- <xsl:when test="substring-after(., '—') != ''">
3482
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3483
- </xsl:when>
3484
- <xsl:otherwise>
3485
- <xsl:value-of select="."/>
3486
- </xsl:otherwise>
3487
- </xsl:choose>
3488
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3489
- <xsl:apply-templates mode="presentation_name"/>
3490
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3491
- <xsl:apply-templates select="."/>
3492
- </xsl:template><xsl:template match="*[local-name()='tr']">
3493
- <xsl:variable name="parent-name" select="local-name(..)"/>
3494
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3495
- <fo:table-row min-height="4mm">
3496
- <xsl:if test="$parent-name = 'thead'">
3497
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3498
-
3499
-
3500
-
3501
- <xsl:choose>
3502
- <xsl:when test="position() = 1">
3503
- <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3504
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3505
- </xsl:when>
3506
- <xsl:when test="position() = last()">
3507
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3508
- <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3509
- </xsl:when>
3510
- <xsl:otherwise>
3511
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3512
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3513
- </xsl:otherwise>
3514
- </xsl:choose>
3515
-
3516
-
3517
-
3518
-
3519
-
3520
-
3521
- </xsl:if>
3522
- <xsl:if test="$parent-name = 'tfoot'">
3523
-
3524
-
3525
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3526
- <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
3527
- <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
3528
-
3529
-
3530
- </xsl:if>
3531
-
3532
-
3533
-
3534
-
3535
-
3536
-
3537
-
3538
-
3539
-
3540
-
3541
- <!-- <xsl:if test="$namespace = 'bipm'">
3542
- <xsl:attribute name="height">8mm</xsl:attribute>
3543
- </xsl:if> -->
3544
-
3545
- <xsl:apply-templates/>
3546
- </fo:table-row>
3547
- </xsl:template><xsl:template match="*[local-name()='th']">
3548
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3549
- <xsl:attribute name="text-align">
3614
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3615
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3616
+
3617
+
3618
+
3619
+
3550
3620
  <xsl:choose>
3551
- <xsl:when test="@align">
3552
- <xsl:call-template name="setAlignment"/>
3553
- <!-- <xsl:value-of select="@align"/> -->
3621
+ <xsl:when test="position() = 1">
3622
+ <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3623
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3624
+ </xsl:when>
3625
+ <xsl:when test="position() = last()">
3626
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3627
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3554
3628
  </xsl:when>
3555
- <xsl:otherwise>center</xsl:otherwise>
3556
3629
  </xsl:choose>
3557
- </xsl:attribute>
3630
+
3631
+
3558
3632
 
3559
3633
 
3560
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
3634
+ <xsl:call-template name="setTableRowAttributes"/>
3635
+
3636
+ <xsl:apply-templates/>
3637
+ </fo:table-row>
3638
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3639
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3561
3640
 
3641
+ <xsl:call-template name="setTableRowAttributes"/>
3642
+ <xsl:apply-templates/>
3643
+ </fo:table-row>
3644
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3645
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3646
+
3562
3647
 
3648
+
3563
3649
 
3650
+
3651
+ <xsl:call-template name="setTableRowAttributes"/>
3652
+ <xsl:apply-templates/>
3653
+ </fo:table-row>
3654
+ </xsl:template><xsl:template name="setTableRowAttributes">
3655
+
3656
+
3657
+
3658
+
3659
+
3660
+
3661
+
3662
+
3663
+ </xsl:template><xsl:template match="*[local-name()='th']">
3664
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
3665
+ <xsl:call-template name="setTextAlignment">
3666
+ <xsl:with-param name="default">center</xsl:with-param>
3667
+ </xsl:call-template>
3564
3668
 
3565
3669
 
3566
3670
 
3567
3671
 
3672
+
3568
3673
 
3569
3674
 
3570
3675
 
@@ -3573,21 +3678,25 @@
3573
3678
  <xsl:if test="$lang = 'ar'">
3574
3679
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3575
3680
  </xsl:if>
3576
- <xsl:if test="@colspan">
3577
- <xsl:attribute name="number-columns-spanned">
3578
- <xsl:value-of select="@colspan"/>
3579
- </xsl:attribute>
3580
- </xsl:if>
3581
- <xsl:if test="@rowspan">
3582
- <xsl:attribute name="number-rows-spanned">
3583
- <xsl:value-of select="@rowspan"/>
3584
- </xsl:attribute>
3585
- </xsl:if>
3586
- <xsl:call-template name="display-align"/>
3681
+
3682
+ <xsl:call-template name="setTableCellAttributes"/>
3683
+
3587
3684
  <fo:block>
3588
3685
  <xsl:apply-templates/>
3589
3686
  </fo:block>
3590
3687
  </fo:table-cell>
3688
+ </xsl:template><xsl:template name="setTableCellAttributes">
3689
+ <xsl:if test="@colspan">
3690
+ <xsl:attribute name="number-columns-spanned">
3691
+ <xsl:value-of select="@colspan"/>
3692
+ </xsl:attribute>
3693
+ </xsl:if>
3694
+ <xsl:if test="@rowspan">
3695
+ <xsl:attribute name="number-rows-spanned">
3696
+ <xsl:value-of select="@rowspan"/>
3697
+ </xsl:attribute>
3698
+ </xsl:if>
3699
+ <xsl:call-template name="display-align"/>
3591
3700
  </xsl:template><xsl:template name="display-align">
3592
3701
  <xsl:if test="@valign">
3593
3702
  <xsl:attribute name="display-align">
@@ -3600,72 +3709,63 @@
3600
3709
  </xsl:attribute>
3601
3710
  </xsl:if>
3602
3711
  </xsl:template><xsl:template match="*[local-name()='td']">
3603
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3604
- <xsl:attribute name="text-align">
3605
- <xsl:choose>
3606
- <xsl:when test="@align">
3607
- <xsl:call-template name="setAlignment"/>
3608
- <!-- <xsl:value-of select="@align"/> -->
3609
- </xsl:when>
3610
- <xsl:otherwise>left</xsl:otherwise>
3611
- </xsl:choose>
3612
- </xsl:attribute>
3712
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
3713
+ <xsl:call-template name="setTextAlignment">
3714
+ <xsl:with-param name="default">left</xsl:with-param>
3715
+ </xsl:call-template>
3716
+
3613
3717
  <xsl:if test="$lang = 'ar'">
3614
3718
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3615
3719
  </xsl:if>
3616
- <!-- and ancestor::*[local-name() = 'thead'] -->
3617
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3618
3720
 
3619
3721
 
3620
3722
 
3621
- <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3622
- <xsl:attribute name="padding-left">0mm</xsl:attribute>
3623
- </xsl:if>
3723
+ <!-- bsi -->
3624
3724
 
3625
3725
 
3626
3726
 
3627
- <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3628
- <xsl:attribute name="border">solid black 0</xsl:attribute>
3629
- </xsl:if>
3630
3727
 
3631
3728
 
3632
3729
 
3633
3730
 
3634
3731
 
3732
+
3635
3733
 
3734
+ <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3735
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3736
+ </xsl:if>
3737
+ <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3738
+ <xsl:attribute name="border">solid black 0</xsl:attribute>
3739
+ </xsl:if>
3636
3740
 
3637
3741
 
3638
3742
 
3639
3743
 
3640
3744
 
3641
3745
 
3642
- <xsl:if test=".//*[local-name() = 'table']">
3746
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3643
3747
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3644
3748
  </xsl:if>
3645
- <xsl:if test="@colspan">
3646
- <xsl:attribute name="number-columns-spanned">
3647
- <xsl:value-of select="@colspan"/>
3648
- </xsl:attribute>
3649
- </xsl:if>
3650
- <xsl:if test="@rowspan">
3651
- <xsl:attribute name="number-rows-spanned">
3652
- <xsl:value-of select="@rowspan"/>
3653
- </xsl:attribute>
3654
- </xsl:if>
3655
- <xsl:call-template name="display-align"/>
3749
+
3750
+ <xsl:call-template name="setTableCellAttributes"/>
3751
+
3656
3752
  <fo:block>
3657
-
3753
+
3754
+
3755
+
3658
3756
  <xsl:apply-templates/>
3659
3757
  </fo:block>
3660
3758
  </fo:table-cell>
3661
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3662
-
3759
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3760
+
3761
+ <fo:block xsl:use-attribute-sets="table-note-style">
3762
+
3763
+
3764
+
3765
+
3663
3766
 
3664
- <fo:block font-size="10pt" margin-bottom="12pt">
3665
-
3666
-
3667
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3668
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3767
+ <!-- Table's note name (NOTE, for example) -->
3768
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3669
3769
 
3670
3770
 
3671
3771
 
@@ -3673,24 +3773,16 @@
3673
3773
 
3674
3774
 
3675
3775
 
3676
- <!-- Table's note name (NOTE, for example) -->
3677
-
3678
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3679
-
3680
-
3681
-
3776
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3682
3777
 
3683
-
3684
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3685
-
3686
- </fo:inline>
3687
-
3688
-
3689
-
3690
- <xsl:apply-templates mode="process"/>
3691
- </fo:block>
3778
+ </fo:inline>
3779
+
3780
+
3781
+
3782
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3783
+ </fo:block>
3692
3784
 
3693
- </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">
3785
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3694
3786
  <xsl:apply-templates/>
3695
3787
  </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">
3696
3788
 
@@ -3768,8 +3860,7 @@
3768
3860
  <xsl:copy-of select="$footnote_inline"/>
3769
3861
  <fo:footnote-body>
3770
3862
 
3771
- <fo:block-container text-indent="0" start-indent="0">
3772
-
3863
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3773
3864
 
3774
3865
  <fo:block xsl:use-attribute-sets="fn-body-style">
3775
3866
 
@@ -3788,7 +3879,7 @@
3788
3879
  <xsl:copy-of select="$footnote_inline"/>
3789
3880
  </xsl:otherwise>
3790
3881
  </xsl:choose>
3791
- </xsl:template><xsl:template name="fn_display">
3882
+ </xsl:template><xsl:template name="table_fn_display">
3792
3883
  <xsl:variable name="references">
3793
3884
 
3794
3885
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3799,36 +3890,26 @@
3799
3890
  <xsl:for-each select="xalan:nodeset($references)//fn">
3800
3891
  <xsl:variable name="reference" select="@reference"/>
3801
3892
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3802
- <fo:block margin-bottom="12pt">
3893
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3803
3894
 
3804
3895
 
3805
3896
 
3806
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3807
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3808
-
3809
-
3810
-
3811
-
3812
-
3813
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3897
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3814
3898
 
3815
3899
 
3816
- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
3817
3900
 
3818
3901
 
3819
3902
 
3903
+ <xsl:value-of select="@reference"/>
3820
3904
 
3821
3905
 
3822
3906
 
3823
3907
 
3824
- <xsl:value-of select="@reference"/>
3825
3908
 
3826
3909
 
3827
3910
 
3828
3911
  </fo:inline>
3829
- <fo:inline>
3830
-
3831
- <!-- <xsl:apply-templates /> -->
3912
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3832
3913
  <xsl:copy-of select="./node()"/>
3833
3914
  </fo:inline>
3834
3915
  </fo:block>
@@ -3840,15 +3921,7 @@
3840
3921
 
3841
3922
  <xsl:apply-templates/>
3842
3923
  </fn>
3843
- </xsl:template><xsl:template name="fn_name_display">
3844
- <!-- <xsl:variable name="references">
3845
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3846
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3847
- <xsl:apply-templates />
3848
- </fn>
3849
- </xsl:for-each>
3850
- </xsl:variable>
3851
- $references=<xsl:copy-of select="$references"/> -->
3924
+ </xsl:template><xsl:template name="table_name_fn_display">
3852
3925
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3853
3926
  <xsl:variable name="reference" select="@reference"/>
3854
3927
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3857,9 +3930,7 @@
3857
3930
  </fo:block>
3858
3931
  </xsl:for-each>
3859
3932
  </xsl:template><xsl:template name="fn_display_figure">
3860
- <xsl:variable name="key_iso">
3861
- true <!-- and (not(@class) or @class !='pseudocode') -->
3862
- </xsl:variable>
3933
+
3863
3934
  <xsl:variable name="references">
3864
3935
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3865
3936
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3867,50 +3938,52 @@
3867
3938
  </fn>
3868
3939
  </xsl:for-each>
3869
3940
  </xsl:variable>
3941
+
3942
+ <xsl:if test="xalan:nodeset($references)//fn">
3870
3943
 
3871
- <!-- current hierarchy is 'figure' element -->
3872
- <xsl:variable name="following_dl_colwidths">
3873
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3874
- <xsl:variable name="html-table">
3875
- <xsl:variable name="doc_ns">
3876
-
3877
- </xsl:variable>
3878
- <xsl:variable name="ns">
3879
- <xsl:choose>
3880
- <xsl:when test="normalize-space($doc_ns) != ''">
3881
- <xsl:value-of select="normalize-space($doc_ns)"/>
3882
- </xsl:when>
3883
- <xsl:otherwise>
3884
- <xsl:value-of select="substring-before(name(/*), '-')"/>
3885
- </xsl:otherwise>
3886
- </xsl:choose>
3887
- </xsl:variable>
3888
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3889
- <!-- <xsl:element name="{$ns}:table"> -->
3944
+ <xsl:variable name="key_iso">
3945
+ true
3946
+ </xsl:variable>
3947
+
3948
+ <!-- current hierarchy is 'figure' element -->
3949
+ <xsl:variable name="following_dl_colwidths">
3950
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3951
+ <xsl:variable name="html-table">
3952
+ <xsl:variable name="doc_ns">
3953
+
3954
+ </xsl:variable>
3955
+ <xsl:variable name="ns">
3956
+ <xsl:choose>
3957
+ <xsl:when test="normalize-space($doc_ns) != ''">
3958
+ <xsl:value-of select="normalize-space($doc_ns)"/>
3959
+ </xsl:when>
3960
+ <xsl:otherwise>
3961
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
3962
+ </xsl:otherwise>
3963
+ </xsl:choose>
3964
+ </xsl:variable>
3965
+
3890
3966
  <xsl:for-each select="*[local-name() = 'dl'][1]">
3891
3967
  <tbody>
3892
3968
  <xsl:apply-templates mode="dl"/>
3893
3969
  </tbody>
3894
3970
  </xsl:for-each>
3895
- <!-- </xsl:element> -->
3896
- </xsl:variable>
3897
-
3898
- <xsl:call-template name="calculate-column-widths">
3899
- <xsl:with-param name="cols-count" select="2"/>
3900
- <xsl:with-param name="table" select="$html-table"/>
3901
- </xsl:call-template>
3902
-
3903
- </xsl:if>
3904
- </xsl:variable>
3905
-
3906
-
3907
- <xsl:variable name="maxlength_dt">
3908
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3909
- <xsl:call-template name="getMaxLength_dt"/>
3910
- </xsl:for-each>
3911
- </xsl:variable>
3912
-
3913
- <xsl:if test="xalan:nodeset($references)//fn">
3971
+ </xsl:variable>
3972
+
3973
+ <xsl:call-template name="calculate-column-widths">
3974
+ <xsl:with-param name="cols-count" select="2"/>
3975
+ <xsl:with-param name="table" select="$html-table"/>
3976
+ </xsl:call-template>
3977
+
3978
+ </xsl:if>
3979
+ </xsl:variable>
3980
+
3981
+ <xsl:variable name="maxlength_dt">
3982
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3983
+ <xsl:call-template name="getMaxLength_dt"/>
3984
+ </xsl:for-each>
3985
+ </xsl:variable>
3986
+
3914
3987
  <fo:block>
3915
3988
  <fo:table width="95%" table-layout="fixed">
3916
3989
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3937,20 +4010,18 @@
3937
4010
  <fo:table-row>
3938
4011
  <fo:table-cell>
3939
4012
  <fo:block>
3940
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3941
-
4013
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
3942
4014
  <xsl:value-of select="@reference"/>
3943
4015
  </fo:inline>
3944
4016
  </fo:block>
3945
4017
  </fo:table-cell>
3946
4018
  <fo:table-cell>
3947
- <fo:block text-align="justify" margin-bottom="12pt">
3948
-
4019
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
3949
4020
  <xsl:if test="normalize-space($key_iso) = 'true'">
3950
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
4021
+
4022
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
4023
+
3951
4024
  </xsl:if>
3952
-
3953
- <!-- <xsl:apply-templates /> -->
3954
4025
  <xsl:copy-of select="./node()"/>
3955
4026
  </fo:block>
3956
4027
  </fo:table-cell>
@@ -3963,24 +4034,17 @@
3963
4034
  </xsl:if>
3964
4035
 
3965
4036
  </xsl:template><xsl:template match="*[local-name()='fn']">
3966
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3967
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
4037
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
4038
+
3968
4039
 
3969
4040
 
3970
4041
 
3971
4042
  <xsl:if test="ancestor::*[local-name()='table']">
3972
4043
  <xsl:attribute name="font-weight">normal</xsl:attribute>
3973
- <!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
3974
4044
  <xsl:attribute name="baseline-shift">15%</xsl:attribute>
3975
4045
  </xsl:if>
3976
4046
 
3977
4047
 
3978
-
3979
-
3980
-
3981
-
3982
-
3983
-
3984
4048
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3985
4049
 
3986
4050
 
@@ -4000,10 +4064,10 @@
4000
4064
  <xsl:variable name="isDeleted" select="@deleted"/>
4001
4065
  <fo:block-container>
4002
4066
 
4003
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
4004
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4005
- </xsl:if>
4006
-
4067
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
4068
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
4069
+ </xsl:if>
4070
+
4007
4071
 
4008
4072
  <xsl:if test="parent::*[local-name() = 'note']">
4009
4073
  <xsl:attribute name="margin-left">
@@ -4020,11 +4084,11 @@
4020
4084
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4021
4085
  </xsl:call-template>
4022
4086
 
4023
- <fo:block-container>
4024
-
4025
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4026
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
4087
+ <fo:block-container margin-left="0mm">
4088
+
4027
4089
 
4090
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
4091
+
4028
4092
 
4029
4093
  <xsl:variable name="parent" select="local-name(..)"/>
4030
4094
 
@@ -4037,25 +4101,21 @@
4037
4101
  <xsl:choose>
4038
4102
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
4039
4103
 
4040
-
4041
- <fo:block margin-bottom="12pt" text-align="left">
4042
-
4043
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
4044
-
4045
- <xsl:variable name="title-where">
4104
+ <fo:block margin-bottom="12pt" text-align="left">
4046
4105
 
4106
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
4107
+
4108
+ <xsl:variable name="title-where">
4047
4109
  <xsl:call-template name="getLocalizedString">
4048
4110
  <xsl:with-param name="key">where</xsl:with-param>
4049
4111
  </xsl:call-template>
4050
-
4051
-
4052
- </xsl:variable>
4053
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4054
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
4055
- <xsl:text/>
4056
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4057
- </fo:block>
4058
-
4112
+ </xsl:variable>
4113
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4114
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
4115
+ <xsl:text/>
4116
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4117
+ </fo:block>
4118
+
4059
4119
  </xsl:when>
4060
4120
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
4061
4121
  <fo:block margin-bottom="12pt" text-align="left">
@@ -4066,12 +4126,9 @@
4066
4126
 
4067
4127
 
4068
4128
  <xsl:variable name="title-where">
4069
-
4070
- <xsl:call-template name="getLocalizedString">
4071
- <xsl:with-param name="key">where</xsl:with-param>
4072
- </xsl:call-template>
4073
-
4074
-
4129
+ <xsl:call-template name="getLocalizedString">
4130
+ <xsl:with-param name="key">where</xsl:with-param>
4131
+ </xsl:call-template>
4075
4132
  </xsl:variable>
4076
4133
  <xsl:value-of select="$title-where"/>
4077
4134
  </fo:block>
@@ -4086,12 +4143,9 @@
4086
4143
 
4087
4144
 
4088
4145
  <xsl:variable name="title-key">
4089
-
4090
- <xsl:call-template name="getLocalizedString">
4091
- <xsl:with-param name="key">key</xsl:with-param>
4092
- </xsl:call-template>
4093
-
4094
-
4146
+ <xsl:call-template name="getLocalizedString">
4147
+ <xsl:with-param name="key">key</xsl:with-param>
4148
+ </xsl:call-template>
4095
4149
  </xsl:variable>
4096
4150
  <xsl:value-of select="$title-key"/>
4097
4151
  </fo:block>
@@ -4118,9 +4172,7 @@
4118
4172
  <fo:table width="95%" table-layout="fixed">
4119
4173
 
4120
4174
  <xsl:choose>
4121
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
4122
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
4123
- </xsl:when>
4175
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
4124
4176
  <xsl:when test="normalize-space($key_iso) = 'true'">
4125
4177
  <xsl:attribute name="font-size">10pt</xsl:attribute>
4126
4178
 
@@ -4141,12 +4193,9 @@
4141
4193
  </xsl:otherwise>
4142
4194
  </xsl:choose>
4143
4195
  </xsl:variable>
4144
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
4145
- <!-- <xsl:element name="{$ns}:table"> -->
4146
- <tbody>
4147
- <xsl:apply-templates mode="dl"/>
4148
- </tbody>
4149
- <!-- </xsl:element> -->
4196
+ <tbody>
4197
+ <xsl:apply-templates mode="dl"/>
4198
+ </tbody>
4150
4199
  </xsl:variable>
4151
4200
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
4152
4201
  <xsl:variable name="colwidths">
@@ -4226,8 +4275,6 @@
4226
4275
  </xsl:for-each>
4227
4276
  </xsl:otherwise>
4228
4277
  </xsl:choose>
4229
- <!-- <fo:table-column column-width="15%"/>
4230
- <fo:table-column column-width="85%"/> -->
4231
4278
  </xsl:otherwise>
4232
4279
  </xsl:choose>
4233
4280
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -4242,12 +4289,6 @@
4242
4289
  </xsl:for-each>
4243
4290
  </xsl:variable>
4244
4291
  <xsl:variable name="maxLength">
4245
- <!-- <xsl:for-each select="*[local-name()='dt']">
4246
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
4247
- <xsl:if test="position() = 1">
4248
- <xsl:value-of select="string-length(normalize-space(.))"/>
4249
- </xsl:if>
4250
- </xsl:for-each> -->
4251
4292
  <xsl:for-each select="xalan:nodeset($lengths)/length">
4252
4293
  <xsl:sort select="." data-type="number" order="descending"/>
4253
4294
  <xsl:if test="position() = 1">
@@ -4273,12 +4314,12 @@
4273
4314
  <xsl:if test="normalize-space($key_iso) = 'true'">
4274
4315
  <xsl:attribute name="margin-top">0</xsl:attribute>
4275
4316
  </xsl:if>
4276
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4317
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4277
4318
  </fo:block>
4278
4319
  </fo:table-cell>
4279
4320
  <fo:table-cell>
4280
4321
  <fo:block>
4281
- <xsl:apply-templates/>
4322
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4282
4323
  </fo:block>
4283
4324
  </fo:table-cell>
4284
4325
  </fo:table-row>
@@ -4289,83 +4330,49 @@
4289
4330
  </td>
4290
4331
  <td>
4291
4332
 
4292
-
4293
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4294
-
4333
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4334
+ <xsl:with-param name="process">true</xsl:with-param>
4335
+ </xsl:apply-templates>
4336
+
4295
4337
  </td>
4296
4338
  </tr>
4297
4339
 
4298
4340
  </xsl:template><xsl:template match="*[local-name()='dt']">
4299
4341
  <xsl:param name="key_iso"/>
4300
4342
 
4301
- <fo:table-row>
4302
-
4303
-
4343
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
4304
4344
  <fo:table-cell>
4305
4345
 
4306
- <fo:block margin-top="6pt">
4346
+ <fo:block xsl:use-attribute-sets="dt-style">
4307
4347
  <xsl:copy-of select="@id"/>
4308
4348
 
4309
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
4310
-
4311
-
4312
4349
  <xsl:if test="normalize-space($key_iso) = 'true'">
4313
4350
  <xsl:attribute name="margin-top">0</xsl:attribute>
4314
-
4315
4351
  </xsl:if>
4316
4352
 
4317
4353
 
4318
4354
 
4319
-
4320
-
4321
-
4322
-
4323
4355
  <xsl:apply-templates/>
4324
- <!-- <xsl:if test="$namespace = 'gb'">
4325
- <xsl:if test="ancestor::*[local-name()='formula']">
4326
- <xsl:text>—</xsl:text>
4327
- </xsl:if>
4328
- </xsl:if> -->
4329
4356
  </fo:block>
4330
4357
  </fo:table-cell>
4331
4358
  <fo:table-cell>
4332
4359
  <fo:block>
4333
4360
 
4334
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4335
- <xsl:if test="local-name(*[1]) != 'stem'">
4336
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4337
- </xsl:if>
4338
- </xsl:if> -->
4339
-
4340
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4341
-
4361
+
4362
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4363
+ <xsl:with-param name="process">true</xsl:with-param>
4364
+ </xsl:apply-templates>
4342
4365
  </fo:block>
4343
4366
  </fo:table-cell>
4344
4367
  </fo:table-row>
4345
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4346
- <xsl:if test="local-name(*[1]) = 'stem'">
4347
- <fo:table-row>
4348
- <fo:table-cell>
4349
- <fo:block margin-top="6pt">
4350
- <xsl:if test="normalize-space($key_iso) = 'true'">
4351
- <xsl:attribute name="margin-top">0</xsl:attribute>
4352
- </xsl:if>
4353
- <xsl:text>&#xA0;</xsl:text>
4354
- </fo:block>
4355
- </fo:table-cell>
4356
- <fo:table-cell>
4357
- <fo:block>
4358
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4359
- </fo:block>
4360
- </fo:table-cell>
4361
- </fo:table-row>
4362
- </xsl:if>
4363
- </xsl:if> -->
4364
4368
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4365
4369
  <xsl:apply-templates/>
4366
- </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4367
- <xsl:apply-templates select="@language"/>
4368
- <xsl:apply-templates/>
4370
+ </xsl:template><xsl:template match="*[local-name()='dd']">
4371
+ <xsl:param name="process">false</xsl:param>
4372
+ <xsl:if test="$process = 'true'">
4373
+ <xsl:apply-templates select="@language"/>
4374
+ <xsl:apply-templates/>
4375
+ </xsl:if>
4369
4376
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4370
4377
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
4371
4378
  </xsl:template><xsl:template match="*[local-name()='em']">
@@ -4389,6 +4396,7 @@
4389
4396
  </fo:inline>
4390
4397
  </xsl:template><xsl:template match="*[local-name()='tt']">
4391
4398
  <fo:inline xsl:use-attribute-sets="tt-style">
4399
+
4392
4400
  <xsl:variable name="_font-size">
4393
4401
 
4394
4402
 
@@ -4425,7 +4433,22 @@
4425
4433
  <xsl:apply-templates/>
4426
4434
  </fo:inline>
4427
4435
  </xsl:template><xsl:template match="*[local-name()='add']">
4436
+ <xsl:param name="skip">true</xsl:param>
4428
4437
  <xsl:choose>
4438
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4439
+ <xsl:choose>
4440
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
4441
+ <xsl:otherwise>
4442
+ <fo:inline>
4443
+ <xsl:call-template name="insertTag">
4444
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4445
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4446
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4447
+ </xsl:call-template>
4448
+ </fo:inline>
4449
+ </xsl:otherwise>
4450
+ </xsl:choose>
4451
+ </xsl:when>
4429
4452
  <xsl:when test="@amendment">
4430
4453
  <fo:inline>
4431
4454
  <xsl:call-template name="insertTag">
@@ -4460,7 +4483,6 @@
4460
4483
  </fo:inline>
4461
4484
  </xsl:otherwise>
4462
4485
  </xsl:choose>
4463
-
4464
4486
  </xsl:template><xsl:template name="insertTag">
4465
4487
  <xsl:param name="type"/>
4466
4488
  <xsl:param name="kind"/>
@@ -4468,22 +4490,20 @@
4468
4490
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4469
4491
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4470
4492
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4471
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
4472
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
4473
4493
  <xsl:attribute name="height">5mm</xsl:attribute>
4474
4494
  <xsl:attribute name="content-width">100%</xsl:attribute>
4475
4495
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4476
4496
  <xsl:attribute name="scaling">uniform</xsl:attribute>
4477
4497
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4478
4498
  <g>
4479
- <xsl:if test="$type = 'closing'">
4499
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4480
4500
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
4481
4501
  </xsl:if>
4482
4502
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
4483
4503
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
4484
4504
  </g>
4485
4505
  <text font-family="Arial" x="15" y="57" font-size="40pt">
4486
- <xsl:if test="$type = 'closing'">
4506
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4487
4507
  <xsl:attribute name="x">25</xsl:attribute>
4488
4508
  </xsl:if>
4489
4509
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -4527,7 +4547,11 @@
4527
4547
  <xsl:with-param name="text" select="substring($text,2)"/>
4528
4548
  </xsl:call-template>
4529
4549
  </xsl:if>
4530
- </xsl:template><xsl:template name="tokenize">
4550
+ </xsl:template><xsl:template match="*[local-name() = 'pagebreak']">
4551
+ <fo:block break-after="page"/>
4552
+ <fo:block> </fo:block>
4553
+ <fo:block break-after="page"/>
4554
+ </xsl:template><xsl:template name="tokenize">
4531
4555
  <xsl:param name="text"/>
4532
4556
  <xsl:param name="separator" select="' '"/>
4533
4557
  <xsl:choose>
@@ -4687,14 +4711,6 @@
4687
4711
 
4688
4712
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4689
4713
 
4690
- <!-- <xsl:choose>
4691
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4692
-
4693
- </xsl:when>
4694
- <xsl:otherwise>
4695
- <xsl:copy-of select="current()"/>
4696
- </xsl:otherwise>
4697
- </xsl:choose> -->
4698
4714
  </xsl:variable>
4699
4715
  <xsl:copy-of select="$simple-table"/>
4700
4716
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -4813,8 +4829,6 @@
4813
4829
  <xsl:choose>
4814
4830
  <xsl:when test="contains($str2, ' ')">
4815
4831
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4816
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4817
- <xsl:value-of select="substring($substr, 2)"/> -->
4818
4832
  <xsl:call-template name="capitalize">
4819
4833
  <xsl:with-param name="str" select="$substr"/>
4820
4834
  </xsl:call-template>
@@ -4824,8 +4838,6 @@
4824
4838
  </xsl:call-template>
4825
4839
  </xsl:when>
4826
4840
  <xsl:otherwise>
4827
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4828
- <xsl:value-of select="substring($str2, 2)"/> -->
4829
4841
  <xsl:call-template name="capitalize">
4830
4842
  <xsl:with-param name="str" select="$str2"/>
4831
4843
  </xsl:call-template>
@@ -4853,6 +4865,7 @@
4853
4865
  <xsl:apply-templates select="." mode="mathml"/>
4854
4866
  </xsl:variable>
4855
4867
  <fo:instream-foreign-object fox:alt-text="Math">
4868
+
4856
4869
 
4857
4870
 
4858
4871
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -4884,7 +4897,7 @@
4884
4897
  </xsl:attribute>
4885
4898
 
4886
4899
 
4887
- <!-- <xsl:copy-of select="."/> -->
4900
+
4888
4901
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4889
4902
  </fo:instream-foreign-object>
4890
4903
  </fo:inline>
@@ -4943,6 +4956,10 @@
4943
4956
 
4944
4957
 
4945
4958
 
4959
+
4960
+
4961
+
4962
+
4946
4963
  <xsl:choose>
4947
4964
  <xsl:when test="$target_text = ''">
4948
4965
  <xsl:apply-templates/>
@@ -4966,19 +4983,19 @@
4966
4983
  </fo:inline>
4967
4984
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4968
4985
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4969
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4986
+ <xsl:apply-templates select="*[local-name()='title']"/>
4970
4987
  </fo:block>
4971
- <xsl:apply-templates/>
4972
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4988
+ <xsl:apply-templates select="node()[not(local-name()='title')]"/>
4989
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" priority="2">
4973
4990
  <xsl:variable name="level">
4974
4991
  <xsl:call-template name="getLevel"/>
4975
4992
  </xsl:variable>
4976
4993
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
4977
4994
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4978
4995
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4979
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4996
+ <xsl:apply-templates select="*[local-name()='name']"/>
4980
4997
  </fo:block>
4981
- <xsl:apply-templates/>
4998
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
4982
4999
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
4983
5000
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4984
5001
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -5000,7 +5017,6 @@
5000
5017
  </fo:inline>
5001
5018
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
5002
5019
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
5003
-
5004
5020
  <xsl:apply-templates/>
5005
5021
  </fo:basic-link>
5006
5022
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -5028,49 +5044,64 @@
5028
5044
  <fo:inline>
5029
5045
  <xsl:apply-templates/>
5030
5046
  </fo:inline>
5031
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
5047
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
5032
5048
  <xsl:if test="normalize-space() != ''">
5033
5049
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
5034
5050
  </xsl:if>
5035
5051
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
5036
5052
 
5037
5053
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
5054
+
5055
+
5056
+
5057
+
5058
+
5038
5059
 
5039
5060
 
5040
5061
 
5062
+
5041
5063
 
5042
5064
 
5043
5065
  <fo:block-container margin-left="0mm">
5066
+
5044
5067
 
5045
5068
 
5046
5069
 
5070
+
5047
5071
 
5048
-
5049
-
5050
-
5051
-
5052
- <fo:block>
5053
-
5054
-
5055
-
5056
-
5057
-
5072
+ <fo:block>
5073
+
5074
+
5058
5075
 
5059
- <fo:inline xsl:use-attribute-sets="note-name-style">
5060
5076
 
5061
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5062
- </fo:inline>
5063
- <xsl:apply-templates/>
5064
- </fo:block>
5065
-
5066
-
5077
+
5078
+
5079
+
5080
+ <fo:inline xsl:use-attribute-sets="note-name-style">
5081
+
5082
+
5083
+
5084
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
5085
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5086
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
5087
+ <xsl:with-param name="skip">false</xsl:with-param>
5088
+ </xsl:apply-templates>
5089
+ </xsl:if>
5090
+
5091
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5092
+
5093
+ </fo:inline>
5094
+
5095
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5096
+ </fo:block>
5097
+
5067
5098
  </fo:block-container>
5068
5099
  </fo:block-container>
5069
5100
 
5070
5101
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
5071
5102
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5072
5103
  <xsl:choose>
5073
- <xsl:when test="$num = 1">
5104
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
5074
5105
  <fo:inline xsl:use-attribute-sets="note-p-style">
5075
5106
  <xsl:apply-templates/>
5076
5107
  </fo:inline>
@@ -5085,12 +5116,16 @@
5085
5116
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
5086
5117
 
5087
5118
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
5119
+
5120
+
5121
+
5122
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5088
5123
 
5089
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5090
5124
  </fo:inline>
5091
- <xsl:apply-templates/>
5125
+
5126
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5092
5127
  </fo:block>
5093
- </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">
5128
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
5094
5129
  <xsl:param name="sfx"/>
5095
5130
  <xsl:variable name="suffix">
5096
5131
  <xsl:choose>
@@ -5107,7 +5142,7 @@
5107
5142
  <xsl:apply-templates/>
5108
5143
  <xsl:value-of select="$suffix"/>
5109
5144
  </xsl:if>
5110
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
5145
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
5111
5146
  <xsl:param name="sfx"/>
5112
5147
  <xsl:variable name="suffix">
5113
5148
  <xsl:choose>
@@ -5134,25 +5169,23 @@
5134
5169
  <xsl:apply-templates/>
5135
5170
  </fo:block>
5136
5171
  </xsl:template><xsl:template match="*[local-name() = 'term']">
5137
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
5138
5172
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
5139
5173
 
5140
5174
 
5175
+
5176
+
5141
5177
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
5142
5178
 
5143
5179
  </xsl:if>
5144
- <xsl:apply-templates/>
5180
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5145
5181
  </fo:block>
5146
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
5182
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
5147
5183
  <xsl:if test="normalize-space() != ''">
5148
5184
  <xsl:variable name="level">
5149
5185
  <xsl:call-template name="getLevelTermName"/>
5150
5186
  </xsl:variable>
5151
5187
  <fo:inline role="H{$level}">
5152
5188
  <xsl:apply-templates/>
5153
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
5154
- <xsl:text>.</xsl:text>
5155
- </xsl:if> -->
5156
5189
  </fo:inline>
5157
5190
  </xsl:if>
5158
5191
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -5165,9 +5198,10 @@
5165
5198
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
5166
5199
  </xsl:call-template>
5167
5200
 
5168
- <fo:block>
5169
-
5170
- <xsl:apply-templates/>
5201
+
5202
+
5203
+ <fo:block xsl:use-attribute-sets="figure-style">
5204
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5171
5205
  </fo:block>
5172
5206
  <xsl:call-template name="fn_display_figure"/>
5173
5207
  <xsl:for-each select="*[local-name() = 'note']">
@@ -5175,14 +5209,15 @@
5175
5209
  </xsl:for-each>
5176
5210
 
5177
5211
 
5178
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5212
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
5213
+
5179
5214
 
5180
5215
  </fo:block-container>
5181
5216
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
5182
5217
  <fo:block id="{@id}">
5183
- <xsl:apply-templates/>
5218
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5184
5219
  </fo:block>
5185
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5220
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5186
5221
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
5187
5222
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
5188
5223
  <xsl:apply-templates/>
@@ -5289,9 +5324,7 @@
5289
5324
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
5290
5325
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
5291
5326
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
5292
- <!-- width=<xsl:value-of select="$width"/> -->
5293
5327
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
5294
- <!-- height=<xsl:value-of select="$height"/> -->
5295
5328
  <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">
5296
5329
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
5297
5330
  <xsl:call-template name="svg_cross">
@@ -5561,7 +5594,7 @@
5561
5594
  </fo:basic-link>
5562
5595
  </fo:block>
5563
5596
  </fo:block-container>
5564
- </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">
5597
+ </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">
5565
5598
  <xsl:apply-templates mode="contents"/>
5566
5599
  <xsl:text> </xsl:text>
5567
5600
  </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">
@@ -5573,11 +5606,72 @@
5573
5606
  <xsl:value-of select="."/>
5574
5607
  </xsl:template><xsl:template match="node()" mode="contents">
5575
5608
  <xsl:apply-templates mode="contents"/>
5609
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5610
+ <xsl:variable name="level">
5611
+ <xsl:call-template name="getLevel">
5612
+ <xsl:with-param name="depth" select="@depth"/>
5613
+ </xsl:call-template>
5614
+ </xsl:variable>
5615
+
5616
+ <xsl:variable name="section">
5617
+ <xsl:choose>
5618
+ <xsl:when test="@type = 'section-title'"/>
5619
+ <xsl:otherwise>
5620
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5621
+ </xsl:otherwise>
5622
+ </xsl:choose>
5623
+ </xsl:variable>
5624
+
5625
+ <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
5626
+
5627
+ <xsl:variable name="display">
5628
+ <xsl:choose>
5629
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
5630
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
5631
+ <xsl:otherwise>false</xsl:otherwise>
5632
+ </xsl:choose>
5633
+ </xsl:variable>
5634
+
5635
+ <xsl:variable name="skip">false</xsl:variable>
5636
+
5637
+ <xsl:if test="$skip = 'false'">
5638
+
5639
+ <xsl:variable name="title">
5640
+ <xsl:choose>
5641
+ <xsl:when test="*[local-name() = 'tab']">
5642
+ <xsl:choose>
5643
+ <xsl:when test="@type = 'section-title'">
5644
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5645
+ <xsl:text>: </xsl:text>
5646
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5647
+ </xsl:when>
5648
+ <xsl:otherwise>
5649
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5650
+ </xsl:otherwise>
5651
+ </xsl:choose>
5652
+ </xsl:when>
5653
+ <xsl:otherwise>
5654
+ <xsl:copy-of select="node()"/>
5655
+ </xsl:otherwise>
5656
+ </xsl:choose>
5657
+ </xsl:variable>
5658
+
5659
+ <xsl:variable name="root">
5660
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
5661
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
5662
+ </xsl:variable>
5663
+
5664
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
5665
+ <title>
5666
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
5667
+ </title>
5668
+ </item>
5669
+ </xsl:if>
5576
5670
  </xsl:template><xsl:template match="node()" mode="bookmarks">
5577
5671
  <xsl:apply-templates mode="bookmarks"/>
5578
5672
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
5579
5673
  <xsl:apply-templates select="."/>
5580
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5674
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5581
5675
  <xsl:apply-templates mode="bookmarks"/>
5582
5676
  </xsl:template><xsl:template name="addBookmarks">
5583
5677
  <xsl:param name="contents"/>
@@ -5667,8 +5761,6 @@
5667
5761
 
5668
5762
 
5669
5763
 
5670
-
5671
-
5672
5764
  </fo:bookmark-tree>
5673
5765
  </xsl:if>
5674
5766
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -5739,7 +5831,7 @@
5739
5831
  <xsl:apply-templates mode="bookmark"/>
5740
5832
  </xsl:otherwise>
5741
5833
  </xsl:choose>
5742
- </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">
5834
+ </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']">
5743
5835
  <xsl:if test="normalize-space() != ''">
5744
5836
  <fo:block xsl:use-attribute-sets="figure-name-style">
5745
5837
 
@@ -5748,16 +5840,13 @@
5748
5840
  </fo:block>
5749
5841
  </xsl:if>
5750
5842
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'note']"/><xsl:template match="*[local-name() = 'title']" mode="contents_item">
5751
- <xsl:apply-templates mode="contents_item"/>
5843
+ <xsl:param name="mode">bookmarks</xsl:param>
5844
+ <xsl:apply-templates mode="contents_item">
5845
+ <xsl:with-param name="mode" select="$mode"/>
5846
+ </xsl:apply-templates>
5752
5847
  <!-- <xsl:text> </xsl:text> -->
5753
5848
  </xsl:template><xsl:template name="getSection">
5754
5849
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5755
- <!--
5756
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
5757
- <xsl:value-of select="."/>
5758
- </xsl:for-each>
5759
- -->
5760
-
5761
5850
  </xsl:template><xsl:template name="getName">
5762
5851
  <xsl:choose>
5763
5852
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -5821,9 +5910,26 @@
5821
5910
  <xsl:copy-of select="."/>
5822
5911
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
5823
5912
  <xsl:text> </xsl:text>
5913
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
5914
+ <xsl:param name="mode">bookmarks</xsl:param>
5915
+ <xsl:apply-templates mode="contents_item">
5916
+ <xsl:with-param name="mode" select="$mode"/>
5917
+ </xsl:apply-templates>
5918
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
5919
+ <xsl:param name="mode">bookmarks</xsl:param>
5920
+ <xsl:choose>
5921
+ <xsl:when test="starts-with(text(), $ace_tag)">
5922
+ <xsl:if test="$mode = 'contents'">
5923
+ <xsl:copy>
5924
+ <xsl:apply-templates mode="contents_item"/>
5925
+ </xsl:copy>
5926
+ </xsl:if>
5927
+ </xsl:when>
5928
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
5929
+ </xsl:choose>
5824
5930
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5825
5931
 
5826
- <fo:block-container margin-left="0mm">
5932
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5827
5933
  <xsl:copy-of select="@id"/>
5828
5934
 
5829
5935
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -5860,6 +5966,7 @@
5860
5966
 
5861
5967
 
5862
5968
  </xsl:variable>
5969
+
5863
5970
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
5864
5971
  <xsl:if test="$font-size != ''">
5865
5972
  <xsl:attribute name="font-size">
@@ -5876,11 +5983,11 @@
5876
5983
 
5877
5984
 
5878
5985
 
5879
- <xsl:apply-templates/>
5986
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5880
5987
  </fo:block>
5881
5988
 
5882
5989
 
5883
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5990
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
5884
5991
 
5885
5992
 
5886
5993
 
@@ -5894,7 +6001,7 @@
5894
6001
  <xsl:call-template name="add-zero-spaces-java">
5895
6002
  <xsl:with-param name="text" select="$text"/>
5896
6003
  </xsl:call-template>
5897
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
6004
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
5898
6005
  <xsl:if test="normalize-space() != ''">
5899
6006
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
5900
6007
  <xsl:apply-templates/>
@@ -5902,10 +6009,10 @@
5902
6009
  </xsl:if>
5903
6010
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
5904
6011
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
5905
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5906
- <xsl:apply-templates/>
6012
+ <xsl:apply-templates select="*[local-name()='name']"/>
6013
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5907
6014
  </fo:block>
5908
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
6015
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
5909
6016
  <xsl:if test="normalize-space() != ''">
5910
6017
  <fo:block xsl:use-attribute-sets="permission-name-style">
5911
6018
  <xsl:apply-templates/>
@@ -5918,13 +6025,13 @@
5918
6025
  </fo:block>
5919
6026
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
5920
6027
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
5921
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5922
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
5923
- <xsl:apply-templates select="@obligation" mode="presentation"/>
5924
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
5925
- <xsl:apply-templates/>
6028
+ <xsl:apply-templates select="*[local-name()='name']"/>
6029
+ <xsl:apply-templates select="*[local-name()='label']"/>
6030
+ <xsl:apply-templates select="@obligation"/>
6031
+ <xsl:apply-templates select="*[local-name()='subject']"/>
6032
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
5926
6033
  </fo:block>
5927
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
6034
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
5928
6035
  <xsl:if test="normalize-space() != ''">
5929
6036
  <fo:block xsl:use-attribute-sets="requirement-name-style">
5930
6037
 
@@ -5932,20 +6039,24 @@
5932
6039
 
5933
6040
  </fo:block>
5934
6041
  </xsl:if>
5935
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
6042
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
5936
6043
  <fo:block xsl:use-attribute-sets="requirement-label-style">
5937
6044
  <xsl:apply-templates/>
5938
6045
  </fo:block>
5939
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
6046
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
5940
6047
  <fo:block>
5941
6048
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5942
6049
  </fo:block>
6050
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
6051
+ <fo:block xsl:use-attribute-sets="subject-style">
6052
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
6053
+ </fo:block>
5943
6054
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5944
6055
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5945
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5946
- <xsl:apply-templates/>
6056
+ <xsl:apply-templates select="*[local-name()='name']"/>
6057
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5947
6058
  </fo:block>
5948
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
6059
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
5949
6060
  <xsl:if test="normalize-space() != ''">
5950
6061
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
5951
6062
  <xsl:apply-templates/>
@@ -5953,12 +6064,8 @@
5953
6064
  </fo:block>
5954
6065
  </xsl:if>
5955
6066
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'label']">
5956
- <fo:block xsl:use-attribute-sets="recommendation-label-style">
5957
- <xsl:apply-templates/>
5958
- </fo:block>
5959
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5960
- <fo:block xsl:use-attribute-sets="subject-style">
5961
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
6067
+ <fo:block xsl:use-attribute-sets="recommendation-label-style">
6068
+ <xsl:apply-templates/>
5962
6069
  </fo:block>
5963
6070
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
5964
6071
  <fo:block xsl:use-attribute-sets="subject-style">
@@ -6003,8 +6110,6 @@
6003
6110
  </xsl:variable>
6004
6111
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
6005
6112
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
6006
- <!-- <fo:table-column column-width="35mm"/>
6007
- <fo:table-column column-width="115mm"/> -->
6008
6113
  <fo:table-column column-width="30%"/>
6009
6114
  <fo:table-column column-width="70%"/>
6010
6115
  </xsl:if>
@@ -6014,7 +6119,7 @@
6014
6119
  <xsl:if test=".//*[local-name() = 'fn']">
6015
6120
  <xsl:for-each select="*[local-name() = 'tbody']">
6016
6121
  <fo:block font-size="90%" border-bottom="1pt solid black">
6017
- <xsl:call-template name="fn_display"/>
6122
+ <xsl:call-template name="table_fn_display"/>
6018
6123
  </fo:block>
6019
6124
  </xsl:for-each>
6020
6125
  </xsl:if>
@@ -6031,7 +6136,6 @@
6031
6136
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
6032
6137
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
6033
6138
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
6034
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
6035
6139
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
6036
6140
  </xsl:if>
6037
6141
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -6044,34 +6148,11 @@
6044
6148
  </fo:table-row>
6045
6149
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
6046
6150
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
6047
- <xsl:attribute name="text-align">
6048
- <xsl:choose>
6049
- <xsl:when test="@align">
6050
- <xsl:value-of select="@align"/>
6051
- </xsl:when>
6052
- <xsl:otherwise>left</xsl:otherwise>
6053
- </xsl:choose>
6054
- </xsl:attribute>
6055
- <xsl:if test="@colspan">
6056
- <xsl:attribute name="number-columns-spanned">
6057
- <xsl:value-of select="@colspan"/>
6058
- </xsl:attribute>
6059
- </xsl:if>
6060
- <xsl:if test="@rowspan">
6061
- <xsl:attribute name="number-rows-spanned">
6062
- <xsl:value-of select="@rowspan"/>
6063
- </xsl:attribute>
6064
- </xsl:if>
6065
- <xsl:call-template name="display-align"/>
6151
+ <xsl:call-template name="setTextAlignment">
6152
+ <xsl:with-param name="default">left</xsl:with-param>
6153
+ </xsl:call-template>
6066
6154
 
6067
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6068
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6069
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
6070
- </xsl:if>
6071
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
6072
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6073
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6074
- </xsl:if> -->
6155
+ <xsl:call-template name="setTableCellAttributes"/>
6075
6156
 
6076
6157
  <fo:block>
6077
6158
  <xsl:apply-templates/>
@@ -6083,37 +6164,15 @@
6083
6164
  <xsl:attribute name="padding">0mm</xsl:attribute>
6084
6165
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
6085
6166
  </xsl:if>
6086
- <xsl:attribute name="text-align">
6087
- <xsl:choose>
6088
- <xsl:when test="@align">
6089
- <xsl:value-of select="@align"/>
6090
- </xsl:when>
6091
- <xsl:otherwise>left</xsl:otherwise>
6092
- </xsl:choose>
6093
- </xsl:attribute>
6167
+ <xsl:call-template name="setTextAlignment">
6168
+ <xsl:with-param name="default">left</xsl:with-param>
6169
+ </xsl:call-template>
6170
+
6094
6171
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
6095
6172
  <xsl:attribute name="font-weight">bold</xsl:attribute>
6096
6173
  </xsl:if>
6097
- <xsl:if test="@colspan">
6098
- <xsl:attribute name="number-columns-spanned">
6099
- <xsl:value-of select="@colspan"/>
6100
- </xsl:attribute>
6101
- </xsl:if>
6102
- <xsl:if test="@rowspan">
6103
- <xsl:attribute name="number-rows-spanned">
6104
- <xsl:value-of select="@rowspan"/>
6105
- </xsl:attribute>
6106
- </xsl:if>
6107
- <xsl:call-template name="display-align"/>
6108
6174
 
6109
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6110
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
6111
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6112
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
6113
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6114
- </xsl:if>
6115
- </xsl:if> -->
6116
- <!-- 2nd line and below -->
6175
+ <xsl:call-template name="setTableCellAttributes"/>
6117
6176
 
6118
6177
  <fo:block>
6119
6178
  <xsl:apply-templates/>
@@ -6125,15 +6184,15 @@
6125
6184
  <xsl:apply-templates/>
6126
6185
  </fo:block>
6127
6186
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
6128
- <fo:block> <!-- margin-bottom="10pt" -->
6187
+ <fo:block>
6129
6188
  <xsl:apply-templates/>
6130
6189
  </fo:block>
6131
6190
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
6132
6191
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
6133
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6134
- <xsl:apply-templates/>
6192
+ <xsl:apply-templates select="*[local-name()='name']"/>
6193
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6135
6194
  </fo:block>
6136
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
6195
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
6137
6196
  <xsl:if test="normalize-space() != ''">
6138
6197
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
6139
6198
  <xsl:apply-templates/>
@@ -6157,42 +6216,46 @@
6157
6216
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
6158
6217
 
6159
6218
 
6160
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6161
-
6162
- <xsl:variable name="element">
6163
-
6219
+ <xsl:variable name="fo_element">
6220
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
6164
6221
  inline
6165
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
6166
6222
  </xsl:variable>
6167
6223
 
6224
+ <!-- display 'EXAMPLE' -->
6225
+ <xsl:apply-templates select="*[local-name()='name']">
6226
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6227
+ </xsl:apply-templates>
6228
+
6168
6229
  <xsl:choose>
6169
- <xsl:when test="contains(normalize-space($element), 'block')">
6170
- <fo:block xsl:use-attribute-sets="example-body-style">
6171
- <xsl:apply-templates/>
6172
- </fo:block>
6230
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
6231
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
6232
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6233
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
6234
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6235
+ </xsl:apply-templates>
6236
+ </fo:block-container>
6237
+ </fo:block-container>
6173
6238
  </xsl:when>
6174
6239
  <xsl:otherwise>
6175
6240
  <fo:inline>
6176
- <xsl:apply-templates/>
6241
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
6242
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6243
+ </xsl:apply-templates>
6177
6244
  </fo:inline>
6178
6245
  </xsl:otherwise>
6179
6246
  </xsl:choose>
6180
6247
 
6181
6248
  </fo:block>
6182
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
6183
-
6184
- <xsl:variable name="element">
6185
-
6186
- inline
6187
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
6188
- </xsl:variable>
6249
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
6250
+ <xsl:param name="fo_element">block</xsl:param>
6251
+
6189
6252
  <xsl:choose>
6190
6253
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
6191
6254
  <fo:inline>
6192
6255
  <xsl:apply-templates/>
6193
6256
  </fo:inline>
6194
6257
  </xsl:when>
6195
- <xsl:when test="contains(normalize-space($element), 'block')">
6258
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
6196
6259
  <fo:block xsl:use-attribute-sets="example-name-style">
6197
6260
  <xsl:apply-templates/>
6198
6261
  </fo:block>
@@ -6205,19 +6268,20 @@
6205
6268
  </xsl:choose>
6206
6269
 
6207
6270
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
6271
+ <xsl:param name="fo_element">block</xsl:param>
6272
+
6208
6273
  <xsl:variable name="num"><xsl:number/></xsl:variable>
6209
6274
  <xsl:variable name="element">
6210
6275
 
6211
-
6212
6276
  <xsl:choose>
6213
6277
  <xsl:when test="$num = 1">inline</xsl:when>
6214
6278
  <xsl:otherwise>block</xsl:otherwise>
6215
6279
  </xsl:choose>
6216
6280
 
6217
-
6281
+ <xsl:value-of select="$fo_element"/>
6218
6282
  </xsl:variable>
6219
6283
  <xsl:choose>
6220
- <xsl:when test="normalize-space($element) = 'block'">
6284
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
6221
6285
  <fo:block xsl:use-attribute-sets="example-p-style">
6222
6286
 
6223
6287
  <xsl:apply-templates/>
@@ -6232,6 +6296,8 @@
6232
6296
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
6233
6297
  <fo:block xsl:use-attribute-sets="termsource-style">
6234
6298
 
6299
+
6300
+
6235
6301
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
6236
6302
  <xsl:variable name="termsource_text">
6237
6303
  <xsl:apply-templates/>
@@ -6269,9 +6335,7 @@
6269
6335
  <xsl:value-of select="."/>
6270
6336
  </xsl:if>
6271
6337
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
6272
- <fo:inline>
6273
-
6274
-
6338
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
6275
6339
  <xsl:value-of select="."/>
6276
6340
  </fo:inline>
6277
6341
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -6285,12 +6349,9 @@
6285
6349
  </fo:basic-link>
6286
6350
  </xsl:template><xsl:template match="*[local-name() = 'modification']">
6287
6351
  <xsl:variable name="title-modified">
6288
-
6289
- <xsl:call-template name="getLocalizedString">
6290
- <xsl:with-param name="key">modified</xsl:with-param>
6291
- </xsl:call-template>
6292
-
6293
-
6352
+ <xsl:call-template name="getLocalizedString">
6353
+ <xsl:with-param name="key">modified</xsl:with-param>
6354
+ </xsl:call-template>
6294
6355
  </xsl:variable>
6295
6356
 
6296
6357
  <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
@@ -6321,7 +6382,6 @@
6321
6382
  <fo:block-container margin-left="0mm">
6322
6383
 
6323
6384
  <fo:block xsl:use-attribute-sets="quote-style">
6324
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
6325
6385
 
6326
6386
  <xsl:if test="ancestor::*[local-name() = 'boilerplate']">
6327
6387
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
@@ -6370,15 +6430,13 @@
6370
6430
  </xsl:variable>
6371
6431
 
6372
6432
  <xsl:choose>
6373
- <xsl:when test="normalize-space($bibitemid) != ''">
6433
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
6374
6434
  <fo:inline xsl:use-attribute-sets="eref-style">
6375
6435
  <xsl:if test="@type = 'footnote'">
6376
-
6377
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6378
- <xsl:attribute name="font-size">80%</xsl:attribute>
6379
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6380
- <xsl:attribute name="vertical-align">super</xsl:attribute>
6381
-
6436
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6437
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6438
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
6439
+ <xsl:attribute name="font-size">80%</xsl:attribute>
6382
6440
 
6383
6441
  </xsl:if>
6384
6442
 
@@ -6395,7 +6453,6 @@
6395
6453
 
6396
6454
 
6397
6455
 
6398
-
6399
6456
  </xsl:if>
6400
6457
 
6401
6458
 
@@ -6453,8 +6510,6 @@
6453
6510
  </xsl:choose>
6454
6511
  </xsl:variable>
6455
6512
 
6456
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
6457
-
6458
6513
  <xsl:choose>
6459
6514
  <xsl:when test="$lang = 'zh'">
6460
6515
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -6489,12 +6544,9 @@
6489
6544
  </fo:block>
6490
6545
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
6491
6546
  <xsl:variable name="title-deprecated">
6492
-
6493
- <xsl:call-template name="getLocalizedString">
6494
- <xsl:with-param name="key">deprecated</xsl:with-param>
6495
- </xsl:call-template>
6496
-
6497
-
6547
+ <xsl:call-template name="getLocalizedString">
6548
+ <xsl:with-param name="key">deprecated</xsl:with-param>
6549
+ </xsl:call-template>
6498
6550
  </xsl:variable>
6499
6551
  <fo:block xsl:use-attribute-sets="deprecates-style">
6500
6552
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -6503,6 +6555,8 @@
6503
6555
  <xsl:if test="*[local-name() = 'strong']">
6504
6556
  <xsl:attribute name="font-weight">normal</xsl:attribute>
6505
6557
  </xsl:if>
6558
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
6559
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
6506
6560
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
6507
6561
  <fo:block xsl:use-attribute-sets="definition-style">
6508
6562
  <xsl:apply-templates/>
@@ -6511,7 +6565,6 @@
6511
6565
  <xsl:apply-templates/>
6512
6566
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
6513
6567
  <fo:inline> <xsl:apply-templates/></fo:inline>
6514
- <!-- <fo:block>&#xA0;</fo:block> -->
6515
6568
  <fo:block/>
6516
6569
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
6517
6570
 
@@ -6556,11 +6609,6 @@
6556
6609
  <xsl:apply-templates/>
6557
6610
  </fo:block>
6558
6611
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
6559
- <fo:block id="{@id}">
6560
- <xsl:apply-templates/>
6561
- </fo:block>
6562
- </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']">
6563
-
6564
6612
  <fo:block id="{@id}">
6565
6613
  <xsl:apply-templates/>
6566
6614
  </fo:block>
@@ -6830,20 +6878,107 @@
6830
6878
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6831
6879
  <fo:block><xsl:apply-templates/></fo:block>
6832
6880
  </fo:table-cell>
6833
- </xsl:template><xsl:template name="processBibitem">
6881
+ </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">
6882
+
6883
+
6884
+
6885
+ <fo:block id="{@id}">
6886
+ <xsl:apply-templates/>
6887
+ </fo:block>
6888
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
6889
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
6890
+
6891
+ <fo:block break-after="page"/>
6892
+
6893
+ </xsl:if>
6894
+
6895
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
6896
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
6897
+ <fo:block break-after="page"/>
6898
+ </xsl:if>
6899
+ </xsl:if> -->
6834
6900
 
6901
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
6902
+ <xsl:apply-templates/>
6903
+ </fo:block>
6835
6904
 
6836
6905
 
6837
-
6838
6906
 
6839
6907
 
6840
-
6908
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
6909
+ <xsl:call-template name="bibitem"/>
6910
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
6841
6911
 
6912
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
6913
+ <xsl:call-template name="processBibitem"/>
6914
+ </fo:block>
6915
+
6916
+
6917
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
6918
+
6919
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
6920
+ $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
6921
+ <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
6922
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
6923
+ <fo:list-item>
6924
+ <fo:list-item-label end-indent="label-end()">
6925
+ <fo:block>
6926
+ <fo:inline>
6927
+
6928
+ <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
6929
+ <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
6930
+ <xsl:number format="[1]"/>
6931
+ </xsl:if>
6932
+
6933
+ </fo:inline>
6934
+ </fo:block>
6935
+ </fo:list-item-label>
6936
+ <fo:list-item-body start-indent="body-start()">
6937
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
6938
+ <xsl:call-template name="processBibitem"/>
6939
+ </fo:block>
6940
+ </fo:list-item-body>
6941
+ </fo:list-item>
6942
+ </fo:list-block>
6943
+
6842
6944
 
6945
+ </xsl:template><xsl:template name="processBibitem">
6843
6946
 
6844
6947
 
6948
+ <!-- start JCGM bibitem processing -->
6949
+ <xsl:variable name="docidentifier">
6950
+ <xsl:choose>
6951
+ <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
6952
+ <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
6953
+ </xsl:choose>
6954
+ </xsl:variable>
6955
+ <xsl:value-of select="$docidentifier"/>
6956
+
6957
+ <xsl:choose>
6958
+ <xsl:when test="*[local-name()='formattedref']">
6959
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6960
+ <xsl:apply-templates select="*[local-name()='formattedref']"/>
6961
+ </xsl:when>
6962
+ <xsl:otherwise>
6963
+ <xsl:apply-templates select="*[local-name()='note']"/>
6964
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6965
+ <xsl:choose>
6966
+ <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
6967
+ <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
6968
+ </xsl:when>
6969
+ <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
6970
+ <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
6971
+ </xsl:when>
6972
+ <xsl:otherwise>
6973
+ <xsl:apply-templates select="*[local-name()='title']"/>
6974
+ </xsl:otherwise>
6975
+ </xsl:choose>
6976
+ </xsl:otherwise>
6977
+ </xsl:choose>
6978
+ <!-- end JCGM bibitem processing -->
6979
+
6845
6980
  </xsl:template><xsl:template name="processBibitemDocId">
6846
- <xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
6981
+ <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')]"/>
6847
6982
  <xsl:choose>
6848
6983
  <xsl:when test="normalize-space($_doc_ident) != ''">
6849
6984
  <!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
@@ -6857,7 +6992,7 @@
6857
6992
  <xsl:if test="$type != ''">
6858
6993
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
6859
6994
  </xsl:if> -->
6860
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
6995
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
6861
6996
  </xsl:otherwise>
6862
6997
  </xsl:choose>
6863
6998
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -6898,6 +7033,52 @@
6898
7033
  <xsl:value-of select="substring(.,1,1)"/>
6899
7034
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6900
7035
  <fo:inline><xsl:apply-templates/></fo:inline>
7036
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
7037
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
7038
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
7039
+ <xsl:apply-templates/>
7040
+ </fo:inline>
7041
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
7042
+ <fo:footnote>
7043
+ <xsl:variable name="number">
7044
+
7045
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
7046
+
7047
+ </xsl:variable>
7048
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
7049
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
7050
+ <xsl:value-of select="$number"/>
7051
+
7052
+ <xsl:text>)</xsl:text>
7053
+
7054
+ </fo:basic-link>
7055
+ </fo:inline>
7056
+ <fo:footnote-body>
7057
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
7058
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
7059
+ <xsl:value-of select="$number"/>
7060
+
7061
+ <xsl:text>)</xsl:text>
7062
+
7063
+ </fo:inline>
7064
+ <xsl:apply-templates/>
7065
+ </fo:block>
7066
+ </fo:footnote-body>
7067
+ </fo:footnote>
7068
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
7069
+ <xsl:text> edition </xsl:text>
7070
+ <xsl:value-of select="."/>
7071
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
7072
+ <xsl:text> (</xsl:text>
7073
+ <fo:inline xsl:use-attribute-sets="link-style">
7074
+ <fo:basic-link external-destination="." fox:alt-text=".">
7075
+ <xsl:value-of select="."/>
7076
+ </fo:basic-link>
7077
+ </fo:inline>
7078
+ <xsl:text>)</xsl:text>
7079
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
7080
+
7081
+ <xsl:apply-templates/>
6901
7082
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6902
7083
  <fo:block>
6903
7084
  <xsl:apply-templates/>
@@ -6963,27 +7144,14 @@
6963
7144
  <fo:block> </fo:block>
6964
7145
  </fo:block-container>
6965
7146
  </xsl:template><xsl:variable name="toc_level">
7147
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
7148
+ <xsl:variable name="htmltoclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'HTML TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- :htmltoclevels Number of table of contents levels to render in HTML/PDF output; used to override :toclevels:-->
7149
+ <xsl:variable name="toclevels" select="normalize-space(//*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata'][*[local-name() = 'name']/text() = 'TOC Heading Levels']/*[local-name() = 'value'])"/> <!-- Number of table of contents levels to render -->
6966
7150
  <xsl:choose>
6967
- <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
7151
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
7152
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
6968
7153
  <xsl:otherwise><!-- default value -->
6969
-
6970
-
6971
-
6972
-
6973
-
6974
-
6975
-
6976
-
6977
7154
  3
6978
-
6979
-
6980
-
6981
-
6982
-
6983
-
6984
-
6985
-
6986
-
6987
7155
  </xsl:otherwise>
6988
7156
  </xsl:choose>
6989
7157
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -7066,7 +7234,7 @@
7066
7234
  </td>
7067
7235
  </xsl:for-each>
7068
7236
  <td>333</td> <!-- page number, just for fill -->
7069
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7237
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7070
7238
  <fo:inline padding-right="5mm"> </fo:inline>
7071
7239
  <fo:inline><xsl:apply-templates/></fo:inline>
7072
7240
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -7079,8 +7247,58 @@
7079
7247
  </fo:inline>
7080
7248
  </xsl:template><xsl:template match="@language">
7081
7249
  <xsl:copy-of select="."/>
7082
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7250
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="4">
7083
7251
  <xsl:call-template name="title"/>
7252
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7253
+
7254
+
7255
+
7256
+
7257
+
7258
+
7259
+ <fo:block xsl:use-attribute-sets="admonition-style">
7260
+
7261
+
7262
+
7263
+
7264
+
7265
+
7266
+ <xsl:call-template name="displayAdmonitionName"/>
7267
+ <xsl:text> — </xsl:text>
7268
+
7269
+
7270
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7271
+ </fo:block>
7272
+
7273
+ </xsl:template><xsl:template name="displayAdmonitionName">
7274
+
7275
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7276
+ <xsl:if test="not(*[local-name() = 'name'])">
7277
+ <xsl:apply-templates select="@type"/>
7278
+ </xsl:if>
7279
+
7280
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7281
+ <xsl:apply-templates/>
7282
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7283
+ <xsl:variable name="admonition_type_">
7284
+ <xsl:call-template name="getLocalizedString">
7285
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7286
+ </xsl:call-template>
7287
+ </xsl:variable>
7288
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7289
+ <xsl:value-of select="$admonition_type"/>
7290
+ <xsl:if test="$admonition_type = ''">
7291
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
7292
+ </xsl:if>
7293
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7294
+
7295
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7296
+
7297
+
7298
+
7299
+ <xsl:apply-templates/>
7300
+ </fo:block>
7301
+
7084
7302
  </xsl:template><xsl:template name="convertDate">
7085
7303
  <xsl:param name="date"/>
7086
7304
  <xsl:param name="format" select="'short'"/>
@@ -7088,83 +7306,80 @@
7088
7306
  <xsl:variable name="month" select="substring($date, 6, 2)"/>
7089
7307
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
7090
7308
  <xsl:variable name="monthStr">
7091
- <xsl:choose>
7092
- <xsl:when test="$month = '01'">January</xsl:when>
7093
- <xsl:when test="$month = '02'">February</xsl:when>
7094
- <xsl:when test="$month = '03'">March</xsl:when>
7095
- <xsl:when test="$month = '04'">April</xsl:when>
7096
- <xsl:when test="$month = '05'">May</xsl:when>
7097
- <xsl:when test="$month = '06'">June</xsl:when>
7098
- <xsl:when test="$month = '07'">July</xsl:when>
7099
- <xsl:when test="$month = '08'">August</xsl:when>
7100
- <xsl:when test="$month = '09'">September</xsl:when>
7101
- <xsl:when test="$month = '10'">October</xsl:when>
7102
- <xsl:when test="$month = '11'">November</xsl:when>
7103
- <xsl:when test="$month = '12'">December</xsl:when>
7104
- </xsl:choose>
7309
+ <xsl:call-template name="getMonthByNum">
7310
+ <xsl:with-param name="num" select="$month"/>
7311
+ <xsl:with-param name="lowercase" select="'true'"/>
7312
+ </xsl:call-template>
7313
+ </xsl:variable>
7314
+ <xsl:variable name="monthStr_localized">
7315
+ <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>
7105
7316
  </xsl:variable>
7106
7317
  <xsl:variable name="result">
7107
7318
  <xsl:choose>
7108
- <xsl:when test="$format = 'ddMMyyyy'">
7319
+ <xsl:when test="$format = 'ddMMyyyy'"> <!-- convert date from format 2007-04-01 to 1 April 2007 -->
7109
7320
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7110
7321
  <xsl:text> </xsl:text>
7111
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7322
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
7112
7323
  </xsl:when>
7113
7324
  <xsl:when test="$format = 'ddMM'">
7114
7325
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7115
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7326
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
7116
7327
  </xsl:when>
7117
7328
  <xsl:when test="$format = 'short' or $day = ''">
7118
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7329
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
7119
7330
  </xsl:when>
7120
7331
  <xsl:otherwise>
7121
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7332
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/> <!-- January 01, 2022 -->
7122
7333
  </xsl:otherwise>
7123
7334
  </xsl:choose>
7124
7335
  </xsl:variable>
7125
7336
  <xsl:value-of select="$result"/>
7126
- </xsl:template><xsl:template name="convertDateLocalized">
7127
- <xsl:param name="date"/>
7128
- <xsl:param name="format" select="'short'"/>
7129
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
7130
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
7131
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
7132
- <xsl:variable name="monthStr">
7133
- <xsl:choose>
7134
- <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>
7135
- <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>
7136
- <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>
7137
- <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>
7138
- <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>
7139
- <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>
7140
- <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>
7141
- <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>
7142
- <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>
7143
- <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>
7144
- <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>
7145
- <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>
7146
- </xsl:choose>
7147
- </xsl:variable>
7148
- <xsl:variable name="result">
7337
+ </xsl:template><xsl:template name="getMonthByNum">
7338
+ <xsl:param name="num"/>
7339
+ <xsl:param name="lang">en</xsl:param>
7340
+ <xsl:param name="lowercase">false</xsl:param> <!-- return 'january' instead of 'January' -->
7341
+ <xsl:variable name="monthStr_">
7149
7342
  <xsl:choose>
7150
- <xsl:when test="$format = 'ddMMyyyy'">
7151
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7152
- <xsl:text> </xsl:text>
7153
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7154
- </xsl:when>
7155
- <xsl:when test="$format = 'ddMM'">
7156
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7157
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7158
- </xsl:when>
7159
- <xsl:when test="$format = 'short' or $day = ''">
7160
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7343
+ <xsl:when test="$lang = 'fr'">
7344
+ <xsl:choose>
7345
+ <xsl:when test="$num = '01'">Janvier</xsl:when>
7346
+ <xsl:when test="$num = '02'">Février</xsl:when>
7347
+ <xsl:when test="$num = '03'">Mars</xsl:when>
7348
+ <xsl:when test="$num = '04'">Avril</xsl:when>
7349
+ <xsl:when test="$num = '05'">Mai</xsl:when>
7350
+ <xsl:when test="$num = '06'">Juin</xsl:when>
7351
+ <xsl:when test="$num = '07'">Juillet</xsl:when>
7352
+ <xsl:when test="$num = '08'">Août</xsl:when>
7353
+ <xsl:when test="$num = '09'">Septembre</xsl:when>
7354
+ <xsl:when test="$num = '10'">Octobre</xsl:when>
7355
+ <xsl:when test="$num = '11'">Novembre</xsl:when>
7356
+ <xsl:when test="$num = '12'">Décembre</xsl:when>
7357
+ </xsl:choose>
7161
7358
  </xsl:when>
7162
7359
  <xsl:otherwise>
7163
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7360
+ <xsl:choose>
7361
+ <xsl:when test="$num = '01'">January</xsl:when>
7362
+ <xsl:when test="$num = '02'">February</xsl:when>
7363
+ <xsl:when test="$num = '03'">March</xsl:when>
7364
+ <xsl:when test="$num = '04'">April</xsl:when>
7365
+ <xsl:when test="$num = '05'">May</xsl:when>
7366
+ <xsl:when test="$num = '06'">June</xsl:when>
7367
+ <xsl:when test="$num = '07'">July</xsl:when>
7368
+ <xsl:when test="$num = '08'">August</xsl:when>
7369
+ <xsl:when test="$num = '09'">September</xsl:when>
7370
+ <xsl:when test="$num = '10'">October</xsl:when>
7371
+ <xsl:when test="$num = '11'">November</xsl:when>
7372
+ <xsl:when test="$num = '12'">December</xsl:when>
7373
+ </xsl:choose>
7164
7374
  </xsl:otherwise>
7165
7375
  </xsl:choose>
7166
7376
  </xsl:variable>
7167
- <xsl:value-of select="$result"/>
7377
+ <xsl:choose>
7378
+ <xsl:when test="normalize-space($lowercase) = 'true'">
7379
+ <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($monthStr_))"/>
7380
+ </xsl:when>
7381
+ <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
7382
+ </xsl:choose>
7168
7383
  </xsl:template><xsl:template name="insertKeywords">
7169
7384
  <xsl:param name="sorting" select="'true'"/>
7170
7385
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -7213,13 +7428,8 @@
7213
7428
  <xsl:variable name="title">
7214
7429
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7215
7430
 
7216
-
7217
-
7218
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
7219
-
7220
-
7221
-
7222
-
7431
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
7432
+
7223
7433
  </xsl:for-each>
7224
7434
  </xsl:variable>
7225
7435
  <xsl:choose>
@@ -7234,18 +7444,15 @@
7234
7444
  <dc:creator>
7235
7445
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7236
7446
 
7237
-
7238
- <xsl:value-of select="normalize-space(*[local-name() = 'ext']/*[local-name() = 'editorialgroup']/*[local-name() = 'committee'])"/>
7239
-
7240
-
7447
+ <xsl:value-of select="normalize-space(*[local-name() = 'ext']/*[local-name() = 'editorialgroup']/*[local-name() = 'committee'])"/>
7448
+
7241
7449
  </xsl:for-each>
7242
7450
  </dc:creator>
7243
7451
  <dc:description>
7244
7452
  <xsl:variable name="abstract">
7245
7453
 
7246
-
7247
- <xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7248
-
7454
+ <xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7455
+
7249
7456
  </xsl:variable>
7250
7457
  <xsl:value-of select="normalize-space($abstract)"/>
7251
7458
  </dc:description>
@@ -7265,7 +7472,6 @@
7265
7472
  <xsl:value-of select="../@id"/>
7266
7473
  </xsl:when>
7267
7474
  <xsl:otherwise>
7268
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
7269
7475
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
7270
7476
  </xsl:otherwise>
7271
7477
  </xsl:choose>
@@ -7291,9 +7497,6 @@
7291
7497
  <xsl:when test="ancestor::*[local-name() = 'preface']">
7292
7498
  <xsl:value-of select="$level_total - 2"/>
7293
7499
  </xsl:when>
7294
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
7295
- <xsl:value-of select="$level_total - 1"/>
7296
- </xsl:when> -->
7297
7500
  <xsl:when test="ancestor::*[local-name() = 'sections']">
7298
7501
  <xsl:value-of select="$level_total - 1"/>
7299
7502
  </xsl:when>
@@ -7435,9 +7638,15 @@
7435
7638
  </xsl:template><xsl:template name="getLocalizedString">
7436
7639
  <xsl:param name="key"/>
7437
7640
  <xsl:param name="formatted">false</xsl:param>
7641
+ <xsl:param name="lang"/>
7438
7642
 
7439
7643
  <xsl:variable name="curr_lang">
7440
- <xsl:call-template name="getLang"/>
7644
+ <xsl:choose>
7645
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
7646
+ <xsl:otherwise>
7647
+ <xsl:call-template name="getLang"/>
7648
+ </xsl:otherwise>
7649
+ </xsl:choose>
7441
7650
  </xsl:variable>
7442
7651
 
7443
7652
  <xsl:variable name="data_value">
@@ -7477,7 +7686,6 @@
7477
7686
  <xsl:value-of select="$key_"/>
7478
7687
  </xsl:otherwise>
7479
7688
  </xsl:choose>
7480
-
7481
7689
  </xsl:template><xsl:template name="setTrackChangesStyles">
7482
7690
  <xsl:param name="isAdded"/>
7483
7691
  <xsl:param name="isDeleted"/>
@@ -7500,7 +7708,6 @@
7500
7708
  <xsl:if test="local-name() = 'table'">
7501
7709
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
7502
7710
  </xsl:if>
7503
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
7504
7711
  <xsl:attribute name="padding">2mm</xsl:attribute>
7505
7712
  </xsl:if>
7506
7713
  </xsl:otherwise>
@@ -7520,15 +7727,18 @@
7520
7727
  </xsl:choose>
7521
7728
  </xsl:template><xsl:template name="setTextAlignment">
7522
7729
  <xsl:param name="default">left</xsl:param>
7730
+ <xsl:variable name="align" select="normalize-space(@align)"/>
7523
7731
  <xsl:attribute name="text-align">
7524
7732
  <xsl:choose>
7525
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
7733
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
7734
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
7735
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
7526
7736
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7527
7737
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7528
7738
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7529
7739
  </xsl:choose>
7530
7740
  </xsl:attribute>
7531
- <xsl:if test="@align = 'indent'">
7741
+ <xsl:if test="$align = 'indent'">
7532
7742
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
7533
7743
  </xsl:if>
7534
7744
  </xsl:template><xsl:template name="number-to-words">
@@ -7627,6 +7837,25 @@
7627
7837
  </xsl:otherwise>
7628
7838
  </xsl:choose>
7629
7839
  </xsl:if>
7840
+ </xsl:template><xsl:template name="number-to-ordinal">
7841
+ <xsl:param name="number"/>
7842
+ <xsl:param name="curr_lang"/>
7843
+ <xsl:choose>
7844
+ <xsl:when test="$curr_lang = 'fr'">
7845
+ <xsl:choose>
7846
+ <xsl:when test="$number = '1'">re</xsl:when>
7847
+ <xsl:otherwise>e</xsl:otherwise>
7848
+ </xsl:choose>
7849
+ </xsl:when>
7850
+ <xsl:otherwise>
7851
+ <xsl:choose>
7852
+ <xsl:when test="$number = 1">st</xsl:when>
7853
+ <xsl:when test="$number = 2">nd</xsl:when>
7854
+ <xsl:when test="$number = 3">rd</xsl:when>
7855
+ <xsl:otherwise>th</xsl:otherwise>
7856
+ </xsl:choose>
7857
+ </xsl:otherwise>
7858
+ </xsl:choose>
7630
7859
  </xsl:template><xsl:template name="setAltText">
7631
7860
  <xsl:param name="value"/>
7632
7861
  <xsl:attribute name="fox:alt-text">