metanorma-bipm 1.2.5 → 2.0.2

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