metanorma-bipm 1.2.4 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -558,9 +558,6 @@
558
558
  <!-- ============================= -->
559
559
  <!-- CONTENTS -->
560
560
  <!-- ============================= -->
561
- <xsl:template match="node()" mode="contents">
562
- <xsl:apply-templates mode="contents"/>
563
- </xsl:template>
564
561
 
565
562
  <!-- element with title -->
566
563
  <xsl:template match="*[*[local-name()='title']]" mode="contents">
@@ -629,8 +626,9 @@
629
626
 
630
627
  <xsl:template name="getListItemFormat">
631
628
  <xsl:choose>
632
- <xsl:when test="local-name(..) = 'ul' and ../ancestor::jcgm:ul">−</xsl:when> <!-- &#x2212; - minus sign. &#x2014; - dash -->
633
- <xsl:when test="local-name(..) = 'ul'">—</xsl:when> <!-- &#x2014; dash -->
629
+ <xsl:when test="local-name(..) = 'ul'">
630
+ <xsl:call-template name="setULLabel"/>
631
+ </xsl:when>
634
632
  <xsl:otherwise> <!-- for ordered lists -->
635
633
  <xsl:variable name="start_value">
636
634
  <xsl:choose>
@@ -724,66 +722,6 @@
724
722
  <xsl:apply-templates/>
725
723
  </xsl:template>
726
724
 
727
-
728
- <xsl:template match="*[local-name()='bibitem']">
729
- <fo:block id="{@id}" margin-bottom="6pt"> <!-- 12 pt -->
730
- <xsl:variable name="docidentifier">
731
- <xsl:if test="*[local-name()='docidentifier']">
732
- <xsl:choose>
733
- <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
734
- <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier']"/></xsl:otherwise>
735
- </xsl:choose>
736
- </xsl:if>
737
- </xsl:variable>
738
- <xsl:value-of select="$docidentifier"/>
739
-
740
- <xsl:choose>
741
- <xsl:when test="*[local-name()='formattedref']">
742
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
743
- <xsl:apply-templates select="*[local-name()='formattedref']"/>
744
- </xsl:when>
745
- <xsl:otherwise>
746
- <xsl:apply-templates select="*[local-name()='note']"/>
747
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
748
- <fo:inline font-style="italic">
749
- <xsl:choose>
750
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
751
- <xsl:value-of select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
752
- </xsl:when>
753
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
754
- <xsl:value-of select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
755
- </xsl:when>
756
- <xsl:otherwise>
757
- <xsl:value-of select="*[local-name()='title']"/>
758
- </xsl:otherwise>
759
- </xsl:choose>
760
- </fo:inline>
761
- </xsl:otherwise>
762
- </xsl:choose>
763
- </fo:block>
764
- </xsl:template>
765
-
766
-
767
- <xsl:template match="*[local-name()='bibitem']/*[local-name()='note']" priority="2">
768
- <fo:footnote>
769
- <xsl:variable name="number">
770
- <xsl:number level="any" count="*[local-name()='bibitem']/*[local-name()='note']"/>
771
- </xsl:variable>
772
- <fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
773
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
774
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
775
- </fo:basic-link>
776
- </fo:inline>
777
- <fo:footnote-body>
778
- <fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
779
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
780
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
781
- </fo:inline>
782
- <xsl:apply-templates/>
783
- </fo:block>
784
- </fo:footnote-body>
785
- </fo:footnote>
786
- </xsl:template>
787
725
 
788
726
 
789
727
  <xsl:template match="jcgm:fn/jcgm:p">
@@ -855,7 +793,7 @@
855
793
  </xsl:variable>
856
794
  <fo:block line-height="1.1" role="H{$level}">
857
795
  <fo:block font-weight="bold" keep-with-next="always">
858
- <xsl:apply-templates select="ancestor::*[local-name()='term'][1]/*[local-name()='name']" mode="presentation"/>
796
+ <xsl:apply-templates select="ancestor::*[local-name()='term'][1]/*[local-name()='name']"/>
859
797
  </fo:block>
860
798
  <fo:block font-weight="bold" keep-with-next="always">
861
799
  <xsl:call-template name="setStyle_preferred"/>
@@ -902,71 +840,6 @@
902
840
  <fo:block widows="1" orphans="1"><xsl:apply-templates/></fo:block>
903
841
  </xsl:template>
904
842
 
905
-
906
- <xsl:template match="*[local-name()='references'][@normative='true']">
907
- <fo:block id="{@id}">
908
- <xsl:apply-templates/>
909
- </fo:block>
910
- </xsl:template>
911
-
912
- <xsl:template match="*[local-name()='references'][not(@normative='true')]">
913
- <fo:block break-after="page"/>
914
- <fo:block id="{@id}">
915
- <xsl:apply-templates/>
916
- </fo:block>
917
- </xsl:template>
918
-
919
-
920
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
921
- <xsl:template match="*[local-name()='references'][not(@normative='true')]/*[local-name()='bibitem']">
922
- <fo:list-block margin-bottom="6pt" provisional-distance-between-starts="12mm">
923
- <fo:list-item>
924
- <fo:list-item-label end-indent="label-end()">
925
- <fo:block>
926
- <fo:inline id="{@id}">
927
- <xsl:number format="[1]"/>
928
- </fo:inline>
929
- </fo:block>
930
- </fo:list-item-label>
931
- <fo:list-item-body start-indent="body-start()">
932
- <fo:block>
933
- <xsl:variable name="docidentifier">
934
- <xsl:if test="*[local-name()='docidentifier']">
935
- <xsl:choose>
936
- <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
937
- <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier']"/></xsl:otherwise>
938
- </xsl:choose>
939
- </xsl:if>
940
- </xsl:variable>
941
- <xsl:value-of select="$docidentifier"/>
942
- <xsl:apply-templates select="*[local-name()='note']"/>
943
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
944
- <xsl:choose>
945
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
946
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
947
- </xsl:when>
948
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
949
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
950
- </xsl:when>
951
- <xsl:otherwise>
952
- <xsl:apply-templates select="*[local-name()='title']"/>
953
- </xsl:otherwise>
954
- </xsl:choose>
955
- <xsl:apply-templates select="*[local-name()='formattedref']"/>
956
- </fo:block>
957
- </fo:list-item-body>
958
- </fo:list-item>
959
- </fo:list-block>
960
- </xsl:template>
961
-
962
- <xsl:template match="*[local-name()='references']/*[local-name()='bibitem']" mode="contents"/>
963
-
964
- <xsl:template match="*[local-name()='references'][not(@normative='true')]/*[local-name()='bibitem']/*[local-name()='title']">
965
- <fo:inline font-style="italic">
966
- <xsl:apply-templates/>
967
- </fo:inline>
968
- </xsl:template>
969
-
970
843
 
971
844
  <xsl:template match="mathml:math" priority="2">
972
845
  <fo:inline font-family="Cambria Math">
@@ -1066,20 +939,7 @@
1066
939
  </xsl:if>
1067
940
  </xsl:template>
1068
941
 
1069
- <xsl:template match="*[local-name()='admonition']">
1070
- <fo:block margin-bottom="12pt" font-weight="bold"> <!-- text-align="center" -->
1071
- <xsl:variable name="type">
1072
- <xsl:call-template name="getLocalizedString">
1073
- <xsl:with-param name="key">admonition.<xsl:value-of select="@type"/></xsl:with-param>
1074
- </xsl:call-template>
1075
- </xsl:variable>
1076
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($type))"/>
1077
- <xsl:text> — </xsl:text>
1078
- <xsl:apply-templates/>
1079
- </fo:block>
1080
- </xsl:template>
1081
942
 
1082
-
1083
943
  <xsl:template match="*[local-name()='td' or local-name()='th']/*[local-name()='formula']/*[local-name()='stem']" priority="2">
1084
944
  <fo:block>
1085
945
  <xsl:if test="ancestor::*[local-name()='td' or local-name()='th'][1][@align]">
@@ -1105,7 +965,7 @@
1105
965
  </fo:table-cell>
1106
966
  <fo:table-cell display-align="center">
1107
967
  <fo:block text-align="right">
1108
- <xsl:apply-templates select="../*[local-name()='name']" mode="presentation"/>
968
+ <xsl:apply-templates select="../*[local-name()='name']" mode="formula_number"/>
1109
969
  </fo:block>
1110
970
  </fo:table-cell>
1111
971
  </fo:table-row>
@@ -1284,7 +1144,7 @@
1284
1144
  </xsl:if>
1285
1145
  </xsl:template>
1286
1146
 
1287
- <xsl:template match="jcgm:title">
1147
+ <xsl:template match="jcgm:title" name="title">
1288
1148
 
1289
1149
  <xsl:variable name="level">
1290
1150
  <xsl:call-template name="getLevel"/>
@@ -2011,47 +1871,32 @@
2011
1871
  </fo:block-container>
2012
1872
  </xsl:template>
2013
1873
 
2014
- <xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="titles_">
2015
-
2016
- <title-annex lang="en">Annex </title-annex>
2017
- <title-annex lang="fr">Annexe </title-annex>
2018
-
2019
-
1874
+ <xsl:variable name="titles_">
2020
1875
 
2021
1876
  <title-edition lang="en">
2022
1877
 
2023
- <xsl:text>Edition </xsl:text>
2024
-
2025
-
1878
+ <xsl:text>Edition </xsl:text>
1879
+
2026
1880
  </title-edition>
2027
1881
 
2028
1882
  <title-edition lang="fr">
2029
-
2030
- <xsl:text>Édition </xsl:text>
2031
-
1883
+ <xsl:text>Édition </xsl:text>
2032
1884
  </title-edition>
2033
1885
 
2034
-
1886
+ <!-- These titles of Table of contents renders different than determined in localized-strings -->
2035
1887
  <title-toc lang="en">
2036
1888
 
2037
1889
 
2038
1890
 
2039
1891
  </title-toc>
2040
1892
  <title-toc lang="fr">
1893
+ <xsl:text>Sommaire</xsl:text>
1894
+ </title-toc>
1895
+ <title-toc lang="zh">
2041
1896
 
2042
-
2043
- </title-toc>
2044
-
2045
-
2046
-
2047
- <title-page lang="en">Page</title-page>
2048
- <title-page lang="fr">Page</title-page>
2049
-
2050
- <title-key lang="en">Key</title-key>
2051
- <title-key lang="fr">Légende</title-key>
2052
-
2053
- <title-where lang="en">where</title-where>
2054
- <title-where lang="fr">où</title-where>
1897
+ <xsl:text>Contents</xsl:text>
1898
+
1899
+ </title-toc>
2055
1900
 
2056
1901
  <title-descriptors lang="en">Descriptors</title-descriptors>
2057
1902
 
@@ -2067,28 +1912,9 @@
2067
1912
  </title-part>
2068
1913
  <title-part lang="zh">第 # 部分:</title-part>
2069
1914
 
2070
- <title-subpart lang="en">
2071
-
2072
- </title-subpart>
2073
- <title-subpart lang="fr">
2074
-
2075
- </title-subpart>
2076
-
2077
- <title-modified lang="en">modified</title-modified>
2078
- <title-modified lang="fr">modifiée</title-modified>
2079
-
2080
-
2081
-
2082
- <title-source lang="en">
2083
-
2084
-
2085
- </title-source>
2086
-
2087
- <title-keywords lang="en">Keywords</title-keywords>
1915
+ <title-subpart lang="en">Sub-part #</title-subpart>
1916
+ <title-subpart lang="fr">Partie de sub #</title-subpart>
2088
1917
 
2089
- <title-deprecated lang="en">DEPRECATED</title-deprecated>
2090
- <title-deprecated lang="fr">DEPRECATED</title-deprecated>
2091
-
2092
1918
  <title-list-tables lang="en">List of Tables</title-list-tables>
2093
1919
 
2094
1920
  <title-list-figures lang="en">List of Figures</title-list-figures>
@@ -2097,41 +1923,12 @@
2097
1923
 
2098
1924
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
2099
1925
 
2100
- <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
2101
-
2102
- <title-abstract lang="en">Abstract</title-abstract>
2103
-
2104
1926
  <title-summary lang="en">Summary</title-summary>
2105
1927
 
2106
- <title-in lang="en">in </title-in>
2107
-
2108
- <title-partly-supercedes lang="en">Partly Supercedes </title-partly-supercedes>
2109
- <title-partly-supercedes lang="zh">部分代替 </title-partly-supercedes>
2110
-
2111
- <title-completion-date lang="en">Completion date for this manuscript</title-completion-date>
2112
- <title-completion-date lang="zh">本稿完成日期</title-completion-date>
2113
-
2114
- <title-issuance-date lang="en">Issuance Date: #</title-issuance-date>
2115
- <title-issuance-date lang="zh"># 发布</title-issuance-date>
2116
-
2117
- <title-implementation-date lang="en">Implementation Date: #</title-implementation-date>
2118
- <title-implementation-date lang="zh"># 实施</title-implementation-date>
2119
-
2120
- <title-obligation-normative lang="en">normative</title-obligation-normative>
2121
- <title-obligation-normative lang="zh">规范性附录</title-obligation-normative>
2122
-
2123
- <title-caution lang="en">CAUTION</title-caution>
2124
- <title-caution lang="zh">注意</title-caution>
2125
-
2126
- <title-warning lang="en">WARNING</title-warning>
2127
- <title-warning lang="zh">警告</title-warning>
2128
-
2129
- <title-amendment lang="en">AMENDMENT</title-amendment>
2130
-
2131
1928
  <title-continued lang="en">(continued)</title-continued>
2132
1929
  <title-continued lang="fr">(continué)</title-continued>
2133
1930
 
2134
- </xsl:variable><xsl:variable name="bibdata">
1931
+ </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
2135
1932
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
2136
1933
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
2137
1934
  </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
@@ -2163,6 +1960,20 @@
2163
1960
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
2164
1961
 
2165
1962
 
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
2166
1977
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2167
1978
 
2168
1979
 
@@ -2172,22 +1983,32 @@
2172
1983
 
2173
1984
 
2174
1985
 
1986
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1987
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1988
+
2175
1989
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2176
1990
  <xsl:attribute name="white-space">pre</xsl:attribute>
2177
1991
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2178
1992
  <xsl:attribute name="role">Code</xsl:attribute>
2179
1993
 
2180
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
2181
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2182
1994
 
2183
1995
 
2184
1996
 
2185
1997
 
2186
1998
 
1999
+
2000
+
2001
+
2002
+
2003
+ <xsl:attribute name="font-family">Courier New</xsl:attribute>
2004
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2005
+
2187
2006
 
2188
2007
 
2189
2008
 
2190
2009
 
2010
+
2011
+
2191
2012
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
2192
2013
 
2193
2014
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -2245,16 +2066,18 @@
2245
2066
 
2246
2067
 
2247
2068
 
2069
+
2248
2070
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
2249
2071
 
2250
2072
 
2251
2073
 
2074
+
2252
2075
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
2076
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2253
2077
 
2254
2078
 
2255
2079
 
2256
2080
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
2257
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2258
2081
 
2259
2082
 
2260
2083
 
@@ -2289,6 +2112,7 @@
2289
2112
 
2290
2113
 
2291
2114
 
2115
+
2292
2116
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
2293
2117
 
2294
2118
 
@@ -2299,75 +2123,54 @@
2299
2123
 
2300
2124
  </xsl:attribute-set><xsl:variable name="table-border_">
2301
2125
 
2302
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
2303
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
2304
-
2305
-
2306
-
2126
+ </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
2127
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2128
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2307
2129
 
2308
2130
 
2309
2131
 
2310
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2311
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2312
- <xsl:attribute name="text-align">center</xsl:attribute>
2313
- <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2314
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2315
-
2316
2132
 
2317
2133
 
2318
2134
 
2319
-
2320
2135
 
2321
2136
 
2322
2137
 
2323
2138
 
2324
- </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2325
2139
 
2326
- </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2327
-
2328
- <xsl:attribute name="font-size">12pt</xsl:attribute>
2329
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2140
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2330
2141
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2331
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2332
-
2142
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2333
2143
 
2334
2144
 
2335
- </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2336
2145
 
2337
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2338
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2339
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2340
2146
 
2341
2147
 
2342
2148
 
2343
- </xsl:attribute-set><xsl:attribute-set name="xref-style">
2344
2149
 
2345
2150
 
2151
+
2346
2152
 
2347
- <xsl:attribute name="color">blue</xsl:attribute>
2348
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
2349
2153
 
2154
+ </xsl:attribute-set><xsl:attribute-set name="table-style">
2155
+ <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
2156
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
2157
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2158
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2350
2159
 
2351
2160
 
2352
- </xsl:attribute-set><xsl:attribute-set name="eref-style">
2353
2161
 
2354
2162
 
2355
2163
 
2356
2164
 
2357
2165
 
2358
2166
 
2359
- </xsl:attribute-set><xsl:attribute-set name="note-style">
2360
2167
 
2361
2168
 
2362
2169
 
2170
+ <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
2363
2171
 
2364
-
2365
2172
 
2366
2173
 
2367
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2368
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2369
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2370
- <xsl:attribute name="text-align">justify</xsl:attribute>
2371
2174
 
2372
2175
 
2373
2176
 
@@ -2375,128 +2178,369 @@
2375
2178
 
2376
2179
 
2377
2180
 
2181
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2182
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2183
+
2378
2184
 
2379
2185
 
2380
2186
 
2381
- </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">
2382
2187
 
2383
2188
 
2189
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
2190
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2191
+ <xsl:attribute name="text-align">center</xsl:attribute>
2192
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2193
+
2384
2194
 
2385
2195
 
2386
2196
 
2197
+
2387
2198
 
2388
2199
 
2389
- <xsl:attribute name="padding-right">6mm</xsl:attribute>
2390
2200
 
2391
2201
 
2202
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
2203
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
2392
2204
 
2393
2205
 
2394
2206
 
2395
2207
 
2208
+ </xsl:attribute-set><xsl:attribute-set name="table-header-row-style" use-attribute-sets="table-row-style">
2209
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2396
2210
 
2397
- </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2398
2211
 
2212
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
2213
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
2399
2214
 
2400
2215
 
2401
2216
 
2402
- </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2403
2217
 
2404
2218
 
2405
2219
 
2406
2220
 
2407
2221
 
2408
-
2409
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2410
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2222
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2411
2223
 
2412
2224
 
2413
2225
 
2226
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2227
+ <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
2228
+ <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
2414
2229
 
2230
+ </xsl:attribute-set><xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
2231
+
2232
+ </xsl:attribute-set><xsl:attribute-set name="table-header-cell-style">
2233
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2234
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2235
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2236
+ <xsl:attribute name="display-align">center</xsl:attribute>
2415
2237
 
2416
2238
 
2417
2239
 
2418
2240
 
2419
- </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2420
2241
 
2421
2242
 
2243
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2422
2244
 
2423
2245
 
2424
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2425
- <xsl:attribute name="margin-top">8pt</xsl:attribute>
2426
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2427
- <xsl:attribute name="text-align">justify</xsl:attribute>
2428
2246
 
2429
2247
 
2430
2248
 
2431
2249
 
2432
- </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2433
2250
 
2434
-
2435
2251
 
2252
+ </xsl:attribute-set><xsl:attribute-set name="table-cell-style">
2253
+ <xsl:attribute name="display-align">center</xsl:attribute>
2254
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2255
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2436
2256
 
2437
- </xsl:attribute-set><xsl:attribute-set name="quote-style">
2438
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
2439
2257
 
2440
2258
 
2441
2259
 
2442
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2443
- <xsl:attribute name="margin-left">12mm</xsl:attribute>
2444
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
2445
- <xsl:attribute name="font-style">italic</xsl:attribute>
2446
- <xsl:attribute name="text-align">justify</xsl:attribute>
2447
2260
 
2448
2261
 
2449
2262
 
2450
2263
 
2264
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2451
2265
 
2452
- </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2453
2266
 
2454
2267
 
2455
- <xsl:attribute name="text-align">right</xsl:attribute>
2456
-
2457
-
2458
- </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2459
2268
 
2460
2269
 
2461
2270
 
2271
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
2272
+ <xsl:attribute name="border">solid black 1pt</xsl:attribute>
2273
+ <xsl:attribute name="padding-left">1mm</xsl:attribute>
2274
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
2275
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2462
2276
 
2463
2277
 
2464
2278
 
2465
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2466
2279
 
2467
2280
 
2468
- </xsl:attribute-set><xsl:attribute-set name="origin-style">
2469
2281
 
2470
2282
 
2283
+
2471
2284
 
2285
+ <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
2472
2286
 
2473
- </xsl:attribute-set><xsl:attribute-set name="term-style">
2474
2287
 
2475
- <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2476
2288
 
2477
- </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2289
+ </xsl:attribute-set><xsl:attribute-set name="table-note-style">
2290
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2291
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2478
2292
 
2479
2293
 
2480
-
2481
2294
 
2482
2295
 
2483
2296
 
2484
-
2485
- <xsl:attribute name="font-weight">bold</xsl:attribute>
2486
- <xsl:attribute name="text-align">center</xsl:attribute>
2487
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2488
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2489
- <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2490
2297
 
2491
2298
 
2299
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2300
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2492
2301
 
2493
2302
 
2303
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2304
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2494
2305
 
2495
2306
 
2496
2307
 
2497
2308
 
2309
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2310
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2498
2311
 
2499
-
2312
+
2313
+
2314
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2315
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2316
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2317
+
2318
+
2319
+
2320
+
2321
+
2322
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2323
+
2324
+
2325
+
2326
+
2327
+
2328
+
2329
+
2330
+
2331
+ </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
2332
+ <xsl:attribute name="text-indent">0</xsl:attribute>
2333
+ <xsl:attribute name="start-indent">0</xsl:attribute>
2334
+
2335
+
2336
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-body-style">
2337
+
2338
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-number-style">
2339
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2340
+ <xsl:attribute name="padding-right">5mm</xsl:attribute>
2341
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
2342
+
2343
+ </xsl:attribute-set><xsl:attribute-set name="figure-fn-body-style">
2344
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2345
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2346
+
2347
+ </xsl:attribute-set><xsl:attribute-set name="dt-row-style">
2348
+
2349
+
2350
+ </xsl:attribute-set><xsl:attribute-set name="dt-style">
2351
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
2360
+
2361
+
2362
+
2363
+
2364
+ </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2365
+
2366
+ <xsl:attribute name="font-size">12pt</xsl:attribute>
2367
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2368
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2369
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2370
+
2371
+
2372
+
2373
+ </xsl:attribute-set><xsl:attribute-set name="appendix-example-style">
2374
+
2375
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2376
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2377
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2378
+
2379
+
2380
+
2381
+ </xsl:attribute-set><xsl:attribute-set name="xref-style">
2382
+
2383
+
2384
+
2385
+ <xsl:attribute name="color">blue</xsl:attribute>
2386
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
2387
+
2388
+
2389
+
2390
+ </xsl:attribute-set><xsl:attribute-set name="eref-style">
2391
+
2392
+
2393
+
2394
+
2395
+
2396
+
2397
+ </xsl:attribute-set><xsl:attribute-set name="note-style">
2398
+
2399
+
2400
+
2401
+
2402
+
2403
+
2404
+
2405
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2406
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2407
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2408
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2409
+
2410
+
2411
+
2412
+
2413
+
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+ </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">
2420
+
2421
+
2422
+
2423
+
2424
+
2425
+
2426
+
2427
+ <xsl:attribute name="padding-right">6mm</xsl:attribute>
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+
2435
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2436
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2437
+
2438
+
2439
+
2440
+
2441
+ </xsl:attribute-set><xsl:attribute-set name="note-p-style">
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2449
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2450
+
2451
+
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+
2458
+ </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2459
+
2460
+
2461
+
2462
+
2463
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2464
+ <xsl:attribute name="margin-top">8pt</xsl:attribute>
2465
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2466
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2467
+
2468
+
2469
+
2470
+
2471
+ </xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
2472
+
2473
+
2474
+
2475
+
2476
+ </xsl:attribute-set><xsl:attribute-set name="quote-style">
2477
+ <xsl:attribute name="role">BlockQuote</xsl:attribute>
2478
+
2479
+
2480
+
2481
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2482
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
2483
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
2484
+ <xsl:attribute name="font-style">italic</xsl:attribute>
2485
+ <xsl:attribute name="text-align">justify</xsl:attribute>
2486
+
2487
+
2488
+
2489
+
2490
+
2491
+ </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
2492
+
2493
+
2494
+ <xsl:attribute name="text-align">right</xsl:attribute>
2495
+
2496
+
2497
+ </xsl:attribute-set><xsl:attribute-set name="termsource-style">
2498
+
2499
+
2500
+
2501
+
2502
+
2503
+
2504
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2505
+
2506
+
2507
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
2508
+
2509
+
2510
+ </xsl:attribute-set><xsl:attribute-set name="origin-style">
2511
+
2512
+
2513
+
2514
+
2515
+ </xsl:attribute-set><xsl:attribute-set name="term-style">
2516
+
2517
+ <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2518
+
2519
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
2520
+
2521
+ </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2522
+
2523
+
2524
+
2525
+
2526
+
2527
+
2528
+
2529
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2530
+ <xsl:attribute name="text-align">center</xsl:attribute>
2531
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2532
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2533
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
2534
+
2535
+
2536
+
2537
+
2538
+
2539
+
2540
+
2541
+
2542
+
2543
+
2500
2544
 
2501
2545
 
2502
2546
 
@@ -2576,6 +2620,17 @@
2576
2620
 
2577
2621
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
2578
2622
  <xsl:attribute name="line-height">135%</xsl:attribute>
2623
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2624
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2625
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2626
+
2627
+
2628
+
2629
+
2630
+
2631
+
2632
+
2633
+
2579
2634
  </xsl:attribute-set><xsl:attribute-set name="fn-style">
2580
2635
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2581
2636
  </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
@@ -2605,7 +2660,6 @@
2605
2660
  <xsl:attribute name="text-indent">0</xsl:attribute>
2606
2661
  <xsl:attribute name="start-indent">0</xsl:attribute>
2607
2662
 
2608
-
2609
2663
  <xsl:attribute name="font-size">9pt</xsl:attribute>
2610
2664
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2611
2665
  <xsl:attribute name="line-height">124%</xsl:attribute>
@@ -2627,6 +2681,7 @@
2627
2681
 
2628
2682
 
2629
2683
 
2684
+
2630
2685
  </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2631
2686
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2632
2687
 
@@ -2650,30 +2705,195 @@
2650
2705
 
2651
2706
 
2652
2707
 
2653
- </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">
2654
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
2655
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
2656
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
2657
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
2658
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
2659
- </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
2708
+ </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2709
+
2710
+
2711
+
2712
+
2713
+
2714
+
2715
+
2716
+
2717
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2718
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
2719
+
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+ </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+ </xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
2738
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+
2746
+
2747
+
2748
+
2749
+
2750
+
2751
+
2752
+ </xsl:attribute-set><xsl:attribute-set name="admonition-p-style">
2753
+
2754
+
2755
+
2756
+
2757
+
2758
+
2759
+
2760
+
2761
+
2762
+
2763
+
2764
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
2765
+
2766
+
2767
+
2768
+
2769
+
2770
+
2771
+
2772
+
2773
+
2774
+
2775
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2776
+
2777
+
2778
+
2779
+
2780
+
2781
+
2782
+
2783
+
2784
+
2785
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-style">
2786
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2787
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2788
+
2789
+
2790
+
2791
+
2792
+
2793
+
2794
+
2795
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2796
+
2797
+
2798
+
2799
+
2800
+
2801
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
2802
+
2803
+
2804
+
2805
+
2806
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-style">
2807
+ <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2808
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2809
+
2810
+
2811
+
2812
+
2813
+
2814
+
2815
+
2816
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2817
+
2818
+
2819
+
2820
+
2821
+
2822
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2823
+
2824
+
2825
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2826
+
2827
+
2828
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2829
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2830
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2831
+
2832
+
2833
+
2834
+
2835
+
2836
+
2837
+
2838
+
2839
+
2840
+
2841
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
2842
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2843
+
2844
+
2845
+
2846
+
2847
+
2848
+
2849
+
2850
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
2851
+ <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2852
+
2853
+
2854
+
2855
+
2856
+
2857
+
2858
+
2859
+
2860
+
2861
+
2862
+ <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2863
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
2864
+
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+
2871
+ </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
2872
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2873
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2874
+ <xsl:attribute name="start-indent">0pt</xsl:attribute>
2875
+
2876
+
2877
+
2878
+
2879
+
2880
+
2881
+
2882
+
2883
+ <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2884
+
2885
+
2886
+
2887
+
2888
+ </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2889
+
2890
+
2891
+
2892
+ </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">
2660
2893
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2661
2894
  <xsl:sort select="@displayorder" data-type="number"/>
2662
2895
  <xsl:apply-templates select="." mode="contents"/>
2663
2896
  </xsl:for-each>
2664
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
2665
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
2666
-
2667
- <!-- Normative references -->
2668
- <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"/>
2669
- <!-- Terms and definitions -->
2670
- <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"/>
2671
- <!-- Another main sections -->
2672
- <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"/>
2673
- <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
2674
- <!-- Bibliography -->
2675
- <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"/>
2676
-
2677
2897
  </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
2678
2898
 
2679
2899
  <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']]">
@@ -2690,29 +2910,11 @@
2690
2910
  <xsl:sort select="@displayorder" data-type="number"/>
2691
2911
  <xsl:apply-templates select="." mode="contents"/>
2692
2912
  </xsl:for-each>
2693
- </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
2694
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
2695
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
2696
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
2697
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
2698
- <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
2699
2913
  </xsl:template><xsl:template name="processPrefaceSectionsDefault">
2700
2914
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2701
2915
  <xsl:sort select="@displayorder" data-type="number"/>
2702
2916
  <xsl:apply-templates select="."/>
2703
2917
  </xsl:for-each>
2704
- </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
2705
- <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
2706
-
2707
- <!-- Normative references -->
2708
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
2709
- <!-- Terms and definitions -->
2710
- <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']]"/>
2711
- <!-- Another main sections -->
2712
- <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'])]"/>
2713
- <xsl:apply-templates select="/*/*[local-name()='annex']"/>
2714
- <!-- Bibliography -->
2715
- <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
2716
2918
  </xsl:template><xsl:template name="processMainSectionsDefault">
2717
2919
  <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
2718
2920
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -2749,10 +2951,6 @@
2749
2951
  <xsl:call-template name="getSimpleTable"/>
2750
2952
  </xsl:variable>
2751
2953
 
2752
- <!-- <xsl:if test="$namespace = 'bipm'">
2753
- <fo:block>&#xA0;</fo:block>
2754
- </xsl:if> -->
2755
-
2756
2954
 
2757
2955
  <!-- Display table's name before table as standalone block -->
2758
2956
  <!-- $namespace = 'iso' or -->
@@ -2760,28 +2958,8 @@
2760
2958
 
2761
2959
 
2762
2960
 
2763
-
2764
-
2765
-
2766
2961
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
2767
2962
 
2768
- <!-- <xsl:variable name="cols-count">
2769
- <xsl:choose>
2770
- <xsl:when test="*[local-name()='thead']">
2771
- <xsl:call-template name="calculate-columns-numbers">
2772
- <xsl:with-param name="table-row" select="*[local-name()='thead']/*[local-name()='tr'][1]"/>
2773
- </xsl:call-template>
2774
- </xsl:when>
2775
- <xsl:otherwise>
2776
- <xsl:call-template name="calculate-columns-numbers">
2777
- <xsl:with-param name="table-row" select="*[local-name()='tbody']/*[local-name()='tr'][1]"/>
2778
- </xsl:call-template>
2779
- </xsl:otherwise>
2780
- </xsl:choose>
2781
- </xsl:variable> -->
2782
- <!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
2783
- <!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
2784
-
2785
2963
  <xsl:variable name="colwidths">
2786
2964
  <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2787
2965
  <xsl:call-template name="calculate-column-widths">
@@ -2792,17 +2970,8 @@
2792
2970
  </xsl:variable>
2793
2971
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2794
2972
 
2795
- <!-- <xsl:variable name="colwidths2">
2796
- <xsl:call-template name="calculate-column-widths">
2797
- <xsl:with-param name="cols-count" select="$cols-count"/>
2798
- </xsl:call-template>
2799
- </xsl:variable> -->
2800
-
2801
- <!-- cols-count=<xsl:copy-of select="$cols-count"/>
2802
- colwidthsNew=<xsl:copy-of select="$colwidths"/>
2803
- colwidthsOld=<xsl:copy-of select="$colwidths2"/>z -->
2804
2973
 
2805
- <xsl:variable name="margin-left">
2974
+ <xsl:variable name="margin-side">
2806
2975
  <xsl:choose>
2807
2976
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2808
2977
  <xsl:otherwise>0</xsl:otherwise>
@@ -2810,78 +2979,65 @@
2810
2979
  </xsl:variable>
2811
2980
 
2812
2981
 
2813
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2814
-
2815
-
2816
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2817
-
2818
-
2819
-
2820
-
2821
-
2822
-
2823
-
2824
-
2982
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2983
+
2825
2984
 
2985
+
2826
2986
 
2987
+
2827
2988
 
2828
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2829
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2830
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2831
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2989
+
2832
2990
 
2833
2991
 
2834
2992
 
2993
+
2835
2994
 
2836
2995
 
2837
2996
 
2838
2997
 
2839
2998
 
2999
+ <!-- end table block-container attributes -->
2840
3000
 
2841
3001
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2842
3002
 
2843
3003
 
3004
+ <xsl:variable name="table_width_default">100%</xsl:variable>
2844
3005
  <xsl:variable name="table_width">
2845
3006
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2846
- 100%
2847
-
2848
-
3007
+ <xsl:value-of select="$table_width_default"/>
2849
3008
  </xsl:variable>
2850
3009
 
3010
+
2851
3011
  <xsl:variable name="table_attributes">
2852
- <attribute name="table-layout">fixed</attribute>
2853
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2854
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2855
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2856
-
2857
-
2858
- <attribute name="border">1.5pt solid black</attribute>
2859
- <xsl:if test="*[local-name()='thead']">
2860
- <attribute name="border-top">1pt solid black</attribute>
2861
- </xsl:if>
2862
-
2863
-
2864
-
2865
-
2866
-
2867
-
2868
- <attribute name="margin-left">0mm</attribute>
2869
- <attribute name="margin-right">0mm</attribute>
2870
-
2871
-
2872
-
2873
-
2874
-
2875
-
2876
-
2877
-
3012
+
3013
+ <xsl:element name="table_attributes" use-attribute-sets="table-style">
3014
+ <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
3015
+
3016
+
3017
+
3018
+
3019
+
3020
+
3021
+
3022
+
3023
+
3024
+
3025
+
3026
+
3027
+ <xsl:if test="*[local-name()='thead']">
3028
+ <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
3029
+ </xsl:if>
3030
+
3031
+
3032
+
3033
+ </xsl:element>
2878
3034
  </xsl:variable>
2879
3035
 
2880
3036
 
2881
- <fo:table id="{@id}" table-omit-footer-at-break="true">
3037
+ <fo:table id="{@id}">
2882
3038
 
2883
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2884
- <xsl:attribute name="{@name}">
3039
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3040
+ <xsl:attribute name="{local-name()}">
2885
3041
  <xsl:value-of select="."/>
2886
3042
  </xsl:attribute>
2887
3043
  </xsl:for-each>
@@ -2892,7 +3048,6 @@
2892
3048
  </xsl:if>
2893
3049
 
2894
3050
 
2895
-
2896
3051
  <xsl:choose>
2897
3052
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2898
3053
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2918,7 +3073,7 @@
2918
3073
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2919
3074
  </xsl:when>
2920
3075
  <xsl:otherwise>
2921
- <xsl:apply-templates/>
3076
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
2922
3077
  </xsl:otherwise>
2923
3078
  </xsl:choose>
2924
3079
 
@@ -2933,25 +3088,6 @@
2933
3088
  </xsl:call-template>
2934
3089
  </xsl:for-each>
2935
3090
 
2936
- <!-- insert footer as table -->
2937
- <!-- <fo:table>
2938
- <xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
2939
- <xsl:attribute name="{@name}">
2940
- <xsl:value-of select="."/>
2941
- </xsl:attribute>
2942
- </xsl:for-each>
2943
-
2944
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2945
- <xsl:choose>
2946
- <xsl:when test=". = 1 or . = 0">
2947
- <fo:table-column column-width="proportional-column-width(2)"/>
2948
- </xsl:when>
2949
- <xsl:otherwise>
2950
- <fo:table-column column-width="proportional-column-width({.})"/>
2951
- </xsl:otherwise>
2952
- </xsl:choose>
2953
- </xsl:for-each>
2954
- </fo:table>-->
2955
3091
 
2956
3092
 
2957
3093
 
@@ -3012,20 +3148,17 @@
3012
3148
  </xsl:otherwise>
3013
3149
  </xsl:choose>
3014
3150
 
3015
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
3151
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3016
3152
  <xsl:param name="continued"/>
3017
3153
  <xsl:if test="normalize-space() != ''">
3018
3154
  <fo:block xsl:use-attribute-sets="table-name-style">
3019
-
3020
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3021
-
3155
+
3022
3156
 
3023
3157
 
3024
3158
 
3025
3159
 
3026
3160
  <xsl:choose>
3027
3161
  <xsl:when test="$continued = 'true'">
3028
- <!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
3029
3162
 
3030
3163
  <xsl:apply-templates/>
3031
3164
 
@@ -3090,13 +3223,6 @@
3090
3223
  <xsl:for-each select="xalan:nodeset($table)/*/tr">
3091
3224
  <xsl:variable name="td_text">
3092
3225
  <xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
3093
-
3094
- <!-- <xsl:if test="$namespace = 'bipm'">
3095
- <xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
3096
- <word><xsl:value-of select="normalize-space(.)"/></word>
3097
- </xsl:for-each>
3098
- </xsl:if> -->
3099
-
3100
3226
  </xsl:variable>
3101
3227
  <xsl:variable name="words">
3102
3228
  <xsl:variable name="string_with_added_zerospaces">
@@ -3133,7 +3259,6 @@
3133
3259
  </xsl:otherwise>
3134
3260
  </xsl:choose>
3135
3261
  </xsl:variable>
3136
-
3137
3262
 
3138
3263
  <column>
3139
3264
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -3169,7 +3294,6 @@
3169
3294
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
3170
3295
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3171
3296
  <xsl:param name="cols-count"/>
3172
- <!-- font-weight="bold" -->
3173
3297
  <fo:table-header>
3174
3298
 
3175
3299
  <xsl:call-template name="table-header-title">
@@ -3185,22 +3309,21 @@
3185
3309
  <fo:table-row>
3186
3310
  <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">
3187
3311
 
3188
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
3312
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3189
3313
  <xsl:with-param name="continued">true</xsl:with-param>
3190
3314
  </xsl:apply-templates>
3191
3315
 
3192
3316
 
3193
3317
  <xsl:for-each select="ancestor::*[local-name()='table'][1]">
3194
- <xsl:call-template name="fn_name_display"/>
3318
+ <xsl:call-template name="table_name_fn_display"/>
3195
3319
  </xsl:for-each>
3196
-
3197
-
3198
-
3320
+
3199
3321
  <fo:block text-align="right" font-style="italic">
3200
3322
  <xsl:text> </xsl:text>
3201
3323
  <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
3202
3324
  </fo:block>
3203
3325
 
3326
+
3204
3327
  </fo:table-cell>
3205
3328
  </fo:table-row>
3206
3329
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3216,66 +3339,6 @@
3216
3339
  <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3217
3340
  </fo:table-footer>
3218
3341
  </xsl:if>
3219
- </xsl:template><xsl:template name="insertTableFooter2">
3220
- <xsl:param name="cols-count"/>
3221
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
3222
- <xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
3223
-
3224
- <fo:table-footer>
3225
-
3226
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3227
-
3228
- <!-- if there are note(s) or fn(s) then create footer row -->
3229
- <xsl:if test="$isNoteOrFnExist = 'true'">
3230
-
3231
-
3232
-
3233
- <fo:table-row>
3234
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3235
-
3236
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3237
-
3238
-
3239
-
3240
- <!-- fn will be processed inside 'note' processing -->
3241
-
3242
-
3243
-
3244
-
3245
-
3246
-
3247
- <!-- except gb -->
3248
-
3249
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3250
-
3251
-
3252
- <!-- show Note under table in preface (ex. abstract) sections -->
3253
- <!-- empty, because notes show at page side in main sections -->
3254
- <!-- <xsl:if test="$namespace = 'bipm'">
3255
- <xsl:choose>
3256
- <xsl:when test="ancestor::*[local-name()='preface']">
3257
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3258
- </xsl:when>
3259
- <xsl:otherwise>
3260
- <fo:block/>
3261
- </xsl:otherwise>
3262
- </xsl:choose>
3263
- </xsl:if> -->
3264
-
3265
-
3266
- <!-- horizontal row separator -->
3267
-
3268
-
3269
- <!-- fn processing -->
3270
- <xsl:call-template name="fn_display"/>
3271
-
3272
- </fo:table-cell>
3273
- </fo:table-row>
3274
-
3275
- </xsl:if>
3276
- </fo:table-footer>
3277
-
3278
- </xsl:if>
3279
3342
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
3280
3343
  <xsl:param name="table_attributes"/>
3281
3344
  <xsl:param name="colwidths"/>
@@ -3301,17 +3364,18 @@
3301
3364
  </xsl:variable>
3302
3365
 
3303
3366
  <fo:table keep-with-previous="always">
3304
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
3367
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3368
+ <xsl:variable name="name" select="local-name()"/>
3305
3369
  <xsl:choose>
3306
- <xsl:when test="@name = 'border-top'">
3307
- <xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
3370
+ <xsl:when test="$name = 'border-top'">
3371
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3308
3372
  </xsl:when>
3309
- <xsl:when test="@name = 'border'">
3310
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3373
+ <xsl:when test="$name = 'border'">
3374
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3311
3375
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3312
3376
  </xsl:when>
3313
3377
  <xsl:otherwise>
3314
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3378
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3315
3379
  </xsl:otherwise>
3316
3380
  </xsl:choose>
3317
3381
  </xsl:for-each>
@@ -3340,11 +3404,10 @@
3340
3404
 
3341
3405
  <fo:table-body>
3342
3406
  <fo:table-row>
3343
- <fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
3407
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3344
3408
 
3345
3409
 
3346
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3347
-
3410
+
3348
3411
 
3349
3412
 
3350
3413
  <!-- fn will be processed inside 'note' processing -->
@@ -3354,37 +3417,20 @@
3354
3417
 
3355
3418
 
3356
3419
 
3357
-
3358
-
3359
-
3360
3420
  <!-- for BSI (not PAS) display Notes before footnotes -->
3361
3421
 
3362
3422
 
3363
- <!-- except gb -->
3364
-
3365
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3423
+ <!-- except gb and bsi -->
3366
3424
 
3367
-
3368
- <!-- <xsl:if test="$namespace = 'bipm'">
3369
- <xsl:choose>
3370
- <xsl:when test="ancestor::*[local-name()='preface']">
3371
- show Note under table in preface (ex. abstract) sections
3372
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3373
- </xsl:when>
3374
- <xsl:otherwise>
3375
- empty, because notes show at page side in main sections
3376
- <fo:block/>
3377
- </xsl:otherwise>
3378
- </xsl:choose>
3379
- </xsl:if> -->
3425
+ <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3426
+
3380
3427
 
3381
3428
 
3382
3429
  <!-- horizontal row separator -->
3383
3430
 
3384
3431
 
3385
3432
  <!-- fn processing -->
3386
- <xsl:call-template name="fn_display"/>
3387
-
3433
+ <xsl:call-template name="table_fn_display"/>
3388
3434
 
3389
3435
  <!-- for PAS display Notes after footnotes -->
3390
3436
 
@@ -3471,99 +3517,68 @@
3471
3517
 
3472
3518
 
3473
3519
  <xsl:apply-templates/>
3474
- <!-- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/> -->
3475
-
3520
+
3476
3521
  </fo:table-body>
3477
3522
 
3478
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3479
- <xsl:choose>
3480
- <xsl:when test="substring-after(., '—') != ''">
3481
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3482
- </xsl:when>
3483
- <xsl:otherwise>
3484
- <xsl:value-of select="."/>
3485
- </xsl:otherwise>
3486
- </xsl:choose>
3487
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3488
- <xsl:apply-templates mode="presentation_name"/>
3489
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3490
- <xsl:apply-templates select="."/>
3491
- </xsl:template><xsl:template match="*[local-name()='tr']">
3492
- <xsl:variable name="parent-name" select="local-name(..)"/>
3493
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3494
- <fo:table-row min-height="4mm">
3495
- <xsl:if test="$parent-name = 'thead'">
3496
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3497
-
3498
-
3499
-
3500
- <xsl:choose>
3501
- <xsl:when test="position() = 1">
3502
- <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3503
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3504
- </xsl:when>
3505
- <xsl:when test="position() = last()">
3506
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3507
- <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3508
- </xsl:when>
3509
- <xsl:otherwise>
3510
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3511
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3512
- </xsl:otherwise>
3513
- </xsl:choose>
3514
-
3515
-
3516
-
3517
-
3518
-
3519
-
3520
- </xsl:if>
3521
- <xsl:if test="$parent-name = 'tfoot'">
3522
-
3523
-
3524
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3525
- <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
3526
- <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
3527
-
3528
-
3529
- </xsl:if>
3530
-
3531
-
3532
-
3533
-
3534
-
3535
-
3536
-
3537
-
3538
-
3539
-
3540
- <!-- <xsl:if test="$namespace = 'bipm'">
3541
- <xsl:attribute name="height">8mm</xsl:attribute>
3542
- </xsl:if> -->
3543
-
3544
- <xsl:apply-templates/>
3545
- </fo:table-row>
3546
- </xsl:template><xsl:template match="*[local-name()='th']">
3547
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3548
- <xsl:attribute name="text-align">
3523
+ </xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3524
+ <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3525
+
3526
+
3527
+
3528
+
3549
3529
  <xsl:choose>
3550
- <xsl:when test="@align">
3551
- <xsl:call-template name="setAlignment"/>
3552
- <!-- <xsl:value-of select="@align"/> -->
3530
+ <xsl:when test="position() = 1">
3531
+ <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3532
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3533
+ </xsl:when>
3534
+ <xsl:when test="position() = last()">
3535
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3536
+ <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3553
3537
  </xsl:when>
3554
- <xsl:otherwise>center</xsl:otherwise>
3555
3538
  </xsl:choose>
3556
- </xsl:attribute>
3557
3539
 
3540
+
3541
+
3542
+
3543
+ <xsl:call-template name="setTableRowAttributes"/>
3558
3544
 
3559
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
3545
+ <xsl:apply-templates/>
3546
+ </fo:table-row>
3547
+ </xsl:template><xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3548
+ <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3560
3549
 
3550
+ <xsl:call-template name="setTableRowAttributes"/>
3551
+ <xsl:apply-templates/>
3552
+ </fo:table-row>
3553
+ </xsl:template><xsl:template match="*[local-name()='tr']">
3554
+ <fo:table-row xsl:use-attribute-sets="table-body-row-style">
3555
+
3561
3556
 
3557
+
3562
3558
 
3559
+
3560
+ <xsl:call-template name="setTableRowAttributes"/>
3561
+ <xsl:apply-templates/>
3562
+ </fo:table-row>
3563
+ </xsl:template><xsl:template name="setTableRowAttributes">
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+
3571
+
3572
+ </xsl:template><xsl:template match="*[local-name()='th']">
3573
+ <fo:table-cell xsl:use-attribute-sets="table-header-cell-style"> <!-- text-align="{@align}" -->
3574
+ <xsl:call-template name="setTextAlignment">
3575
+ <xsl:with-param name="default">center</xsl:with-param>
3576
+ </xsl:call-template>
3563
3577
 
3564
3578
 
3565
3579
 
3566
3580
 
3581
+
3567
3582
 
3568
3583
 
3569
3584
 
@@ -3572,21 +3587,25 @@
3572
3587
  <xsl:if test="$lang = 'ar'">
3573
3588
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3574
3589
  </xsl:if>
3575
- <xsl:if test="@colspan">
3576
- <xsl:attribute name="number-columns-spanned">
3577
- <xsl:value-of select="@colspan"/>
3578
- </xsl:attribute>
3579
- </xsl:if>
3580
- <xsl:if test="@rowspan">
3581
- <xsl:attribute name="number-rows-spanned">
3582
- <xsl:value-of select="@rowspan"/>
3583
- </xsl:attribute>
3584
- </xsl:if>
3585
- <xsl:call-template name="display-align"/>
3590
+
3591
+ <xsl:call-template name="setTableCellAttributes"/>
3592
+
3586
3593
  <fo:block>
3587
3594
  <xsl:apply-templates/>
3588
3595
  </fo:block>
3589
3596
  </fo:table-cell>
3597
+ </xsl:template><xsl:template name="setTableCellAttributes">
3598
+ <xsl:if test="@colspan">
3599
+ <xsl:attribute name="number-columns-spanned">
3600
+ <xsl:value-of select="@colspan"/>
3601
+ </xsl:attribute>
3602
+ </xsl:if>
3603
+ <xsl:if test="@rowspan">
3604
+ <xsl:attribute name="number-rows-spanned">
3605
+ <xsl:value-of select="@rowspan"/>
3606
+ </xsl:attribute>
3607
+ </xsl:if>
3608
+ <xsl:call-template name="display-align"/>
3590
3609
  </xsl:template><xsl:template name="display-align">
3591
3610
  <xsl:if test="@valign">
3592
3611
  <xsl:attribute name="display-align">
@@ -3599,95 +3618,78 @@
3599
3618
  </xsl:attribute>
3600
3619
  </xsl:if>
3601
3620
  </xsl:template><xsl:template match="*[local-name()='td']">
3602
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3603
- <xsl:attribute name="text-align">
3604
- <xsl:choose>
3605
- <xsl:when test="@align">
3606
- <xsl:call-template name="setAlignment"/>
3607
- <!-- <xsl:value-of select="@align"/> -->
3608
- </xsl:when>
3609
- <xsl:otherwise>left</xsl:otherwise>
3610
- </xsl:choose>
3611
- </xsl:attribute>
3621
+ <fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
3622
+ <xsl:call-template name="setTextAlignment">
3623
+ <xsl:with-param name="default">left</xsl:with-param>
3624
+ </xsl:call-template>
3625
+
3612
3626
  <xsl:if test="$lang = 'ar'">
3613
3627
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3614
3628
  </xsl:if>
3615
- <!-- and ancestor::*[local-name() = 'thead'] -->
3616
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3617
3629
 
3618
3630
 
3619
3631
 
3620
- <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3621
- <xsl:attribute name="padding-left">0mm</xsl:attribute>
3622
- </xsl:if>
3632
+ <!-- bsi -->
3623
3633
 
3624
3634
 
3625
3635
 
3626
- <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3627
- <xsl:attribute name="border">solid black 0</xsl:attribute>
3628
- </xsl:if>
3629
3636
 
3630
3637
 
3631
3638
 
3632
3639
 
3633
3640
 
3641
+
3634
3642
 
3643
+ <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3644
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3645
+ </xsl:if>
3646
+ <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3647
+ <xsl:attribute name="border">solid black 0</xsl:attribute>
3648
+ </xsl:if>
3635
3649
 
3636
3650
 
3637
3651
 
3638
3652
 
3639
3653
 
3640
3654
 
3641
- <xsl:if test=".//*[local-name() = 'table']">
3655
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3642
3656
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3643
3657
  </xsl:if>
3644
- <xsl:if test="@colspan">
3645
- <xsl:attribute name="number-columns-spanned">
3646
- <xsl:value-of select="@colspan"/>
3647
- </xsl:attribute>
3648
- </xsl:if>
3649
- <xsl:if test="@rowspan">
3650
- <xsl:attribute name="number-rows-spanned">
3651
- <xsl:value-of select="@rowspan"/>
3652
- </xsl:attribute>
3653
- </xsl:if>
3654
- <xsl:call-template name="display-align"/>
3658
+
3659
+ <xsl:call-template name="setTableCellAttributes"/>
3660
+
3655
3661
  <fo:block>
3656
-
3662
+
3663
+
3664
+
3657
3665
  <xsl:apply-templates/>
3658
3666
  </fo:block>
3659
3667
  </fo:table-cell>
3660
3668
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3669
+
3670
+ <fo:block xsl:use-attribute-sets="table-note-style">
3671
+
3672
+
3673
+
3674
+
3661
3675
 
3662
-
3663
- <fo:block font-size="10pt" margin-bottom="12pt">
3664
-
3676
+ <!-- Table's note name (NOTE, for example) -->
3677
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3665
3678
 
3666
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3667
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3668
3679
 
3669
3680
 
3670
3681
 
3671
3682
 
3672
3683
 
3673
3684
 
3674
-
3675
- <!-- Table's note name (NOTE, for example) -->
3676
-
3677
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3678
-
3679
-
3685
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3680
3686
 
3681
-
3682
-
3683
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3684
-
3685
- </fo:inline>
3686
-
3687
-
3688
-
3689
- <xsl:apply-templates mode="process"/>
3690
- </fo:block>
3687
+ </fo:inline>
3688
+
3689
+
3690
+
3691
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
3692
+ </fo:block>
3691
3693
 
3692
3694
  </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">
3693
3695
  <xsl:apply-templates/>
@@ -3767,8 +3769,7 @@
3767
3769
  <xsl:copy-of select="$footnote_inline"/>
3768
3770
  <fo:footnote-body>
3769
3771
 
3770
- <fo:block-container text-indent="0" start-indent="0">
3771
-
3772
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3772
3773
 
3773
3774
  <fo:block xsl:use-attribute-sets="fn-body-style">
3774
3775
 
@@ -3787,7 +3788,7 @@
3787
3788
  <xsl:copy-of select="$footnote_inline"/>
3788
3789
  </xsl:otherwise>
3789
3790
  </xsl:choose>
3790
- </xsl:template><xsl:template name="fn_display">
3791
+ </xsl:template><xsl:template name="table_fn_display">
3791
3792
  <xsl:variable name="references">
3792
3793
 
3793
3794
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3798,36 +3799,26 @@
3798
3799
  <xsl:for-each select="xalan:nodeset($references)//fn">
3799
3800
  <xsl:variable name="reference" select="@reference"/>
3800
3801
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3801
- <fo:block margin-bottom="12pt">
3802
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3802
3803
 
3803
3804
 
3804
3805
 
3805
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3806
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3807
-
3808
-
3809
-
3810
-
3811
-
3812
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3806
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3813
3807
 
3814
3808
 
3815
- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
3816
3809
 
3817
3810
 
3818
3811
 
3812
+ <xsl:value-of select="@reference"/>
3819
3813
 
3820
3814
 
3821
3815
 
3822
3816
 
3823
- <xsl:value-of select="@reference"/>
3824
3817
 
3825
3818
 
3826
3819
 
3827
3820
  </fo:inline>
3828
- <fo:inline>
3829
-
3830
- <!-- <xsl:apply-templates /> -->
3821
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3831
3822
  <xsl:copy-of select="./node()"/>
3832
3823
  </fo:inline>
3833
3824
  </fo:block>
@@ -3839,15 +3830,7 @@
3839
3830
 
3840
3831
  <xsl:apply-templates/>
3841
3832
  </fn>
3842
- </xsl:template><xsl:template name="fn_name_display">
3843
- <!-- <xsl:variable name="references">
3844
- <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3845
- <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
3846
- <xsl:apply-templates />
3847
- </fn>
3848
- </xsl:for-each>
3849
- </xsl:variable>
3850
- $references=<xsl:copy-of select="$references"/> -->
3833
+ </xsl:template><xsl:template name="table_name_fn_display">
3851
3834
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3852
3835
  <xsl:variable name="reference" select="@reference"/>
3853
3836
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3856,9 +3839,7 @@
3856
3839
  </fo:block>
3857
3840
  </xsl:for-each>
3858
3841
  </xsl:template><xsl:template name="fn_display_figure">
3859
- <xsl:variable name="key_iso">
3860
- true <!-- and (not(@class) or @class !='pseudocode') -->
3861
- </xsl:variable>
3842
+
3862
3843
  <xsl:variable name="references">
3863
3844
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3864
3845
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3866,50 +3847,52 @@
3866
3847
  </fn>
3867
3848
  </xsl:for-each>
3868
3849
  </xsl:variable>
3850
+
3851
+ <xsl:if test="xalan:nodeset($references)//fn">
3869
3852
 
3870
- <!-- current hierarchy is 'figure' element -->
3871
- <xsl:variable name="following_dl_colwidths">
3872
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3873
- <xsl:variable name="html-table">
3874
- <xsl:variable name="doc_ns">
3853
+ <xsl:variable name="key_iso">
3854
+ true
3855
+ </xsl:variable>
3856
+
3857
+ <!-- current hierarchy is 'figure' element -->
3858
+ <xsl:variable name="following_dl_colwidths">
3859
+ <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3860
+ <xsl:variable name="html-table">
3861
+ <xsl:variable name="doc_ns">
3862
+
3863
+ </xsl:variable>
3864
+ <xsl:variable name="ns">
3865
+ <xsl:choose>
3866
+ <xsl:when test="normalize-space($doc_ns) != ''">
3867
+ <xsl:value-of select="normalize-space($doc_ns)"/>
3868
+ </xsl:when>
3869
+ <xsl:otherwise>
3870
+ <xsl:value-of select="substring-before(name(/*), '-')"/>
3871
+ </xsl:otherwise>
3872
+ </xsl:choose>
3873
+ </xsl:variable>
3875
3874
 
3876
- </xsl:variable>
3877
- <xsl:variable name="ns">
3878
- <xsl:choose>
3879
- <xsl:when test="normalize-space($doc_ns) != ''">
3880
- <xsl:value-of select="normalize-space($doc_ns)"/>
3881
- </xsl:when>
3882
- <xsl:otherwise>
3883
- <xsl:value-of select="substring-before(name(/*), '-')"/>
3884
- </xsl:otherwise>
3885
- </xsl:choose>
3886
- </xsl:variable>
3887
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
3888
- <!-- <xsl:element name="{$ns}:table"> -->
3889
3875
  <xsl:for-each select="*[local-name() = 'dl'][1]">
3890
3876
  <tbody>
3891
3877
  <xsl:apply-templates mode="dl"/>
3892
3878
  </tbody>
3893
3879
  </xsl:for-each>
3894
- <!-- </xsl:element> -->
3895
- </xsl:variable>
3896
-
3897
- <xsl:call-template name="calculate-column-widths">
3898
- <xsl:with-param name="cols-count" select="2"/>
3899
- <xsl:with-param name="table" select="$html-table"/>
3900
- </xsl:call-template>
3901
-
3902
- </xsl:if>
3903
- </xsl:variable>
3904
-
3905
-
3906
- <xsl:variable name="maxlength_dt">
3907
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3908
- <xsl:call-template name="getMaxLength_dt"/>
3909
- </xsl:for-each>
3910
- </xsl:variable>
3911
-
3912
- <xsl:if test="xalan:nodeset($references)//fn">
3880
+ </xsl:variable>
3881
+
3882
+ <xsl:call-template name="calculate-column-widths">
3883
+ <xsl:with-param name="cols-count" select="2"/>
3884
+ <xsl:with-param name="table" select="$html-table"/>
3885
+ </xsl:call-template>
3886
+
3887
+ </xsl:if>
3888
+ </xsl:variable>
3889
+
3890
+ <xsl:variable name="maxlength_dt">
3891
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3892
+ <xsl:call-template name="getMaxLength_dt"/>
3893
+ </xsl:for-each>
3894
+ </xsl:variable>
3895
+
3913
3896
  <fo:block>
3914
3897
  <fo:table width="95%" table-layout="fixed">
3915
3898
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3936,20 +3919,18 @@
3936
3919
  <fo:table-row>
3937
3920
  <fo:table-cell>
3938
3921
  <fo:block>
3939
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3940
-
3922
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
3941
3923
  <xsl:value-of select="@reference"/>
3942
3924
  </fo:inline>
3943
3925
  </fo:block>
3944
3926
  </fo:table-cell>
3945
3927
  <fo:table-cell>
3946
- <fo:block text-align="justify" margin-bottom="12pt">
3947
-
3928
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
3948
3929
  <xsl:if test="normalize-space($key_iso) = 'true'">
3949
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
3930
+
3931
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3932
+
3950
3933
  </xsl:if>
3951
-
3952
- <!-- <xsl:apply-templates /> -->
3953
3934
  <xsl:copy-of select="./node()"/>
3954
3935
  </fo:block>
3955
3936
  </fo:table-cell>
@@ -3962,24 +3943,17 @@
3962
3943
  </xsl:if>
3963
3944
 
3964
3945
  </xsl:template><xsl:template match="*[local-name()='fn']">
3965
- <!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
3966
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
3946
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
3947
+
3967
3948
 
3968
3949
 
3969
3950
 
3970
3951
  <xsl:if test="ancestor::*[local-name()='table']">
3971
3952
  <xsl:attribute name="font-weight">normal</xsl:attribute>
3972
- <!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
3973
3953
  <xsl:attribute name="baseline-shift">15%</xsl:attribute>
3974
3954
  </xsl:if>
3975
3955
 
3976
3956
 
3977
-
3978
-
3979
-
3980
-
3981
-
3982
-
3983
3957
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3984
3958
 
3985
3959
 
@@ -3999,10 +3973,10 @@
3999
3973
  <xsl:variable name="isDeleted" select="@deleted"/>
4000
3974
  <fo:block-container>
4001
3975
 
4002
- <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
4003
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4004
- </xsl:if>
4005
-
3976
+ <xsl:if test="not(ancestor::*[local-name() = 'quote'])">
3977
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
3978
+ </xsl:if>
3979
+
4006
3980
 
4007
3981
  <xsl:if test="parent::*[local-name() = 'note']">
4008
3982
  <xsl:attribute name="margin-left">
@@ -4019,11 +3993,11 @@
4019
3993
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4020
3994
  </xsl:call-template>
4021
3995
 
4022
- <fo:block-container>
4023
-
4024
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
4025
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
3996
+ <fo:block-container margin-left="0mm">
3997
+
4026
3998
 
3999
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
4000
+
4027
4001
 
4028
4002
  <xsl:variable name="parent" select="local-name(..)"/>
4029
4003
 
@@ -4036,25 +4010,21 @@
4036
4010
  <xsl:choose>
4037
4011
  <xsl:when test="$parent = 'formula' and count(*[local-name()='dt']) = 1"> <!-- only one component -->
4038
4012
 
4039
-
4040
- <fo:block margin-bottom="12pt" text-align="left">
4041
-
4042
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
4043
-
4044
- <xsl:variable name="title-where">
4013
+ <fo:block margin-bottom="12pt" text-align="left">
4014
+
4015
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
4045
4016
 
4017
+ <xsl:variable name="title-where">
4046
4018
  <xsl:call-template name="getLocalizedString">
4047
4019
  <xsl:with-param name="key">where</xsl:with-param>
4048
4020
  </xsl:call-template>
4049
-
4050
-
4051
- </xsl:variable>
4052
- <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4053
- <xsl:apply-templates select="*[local-name()='dt']/*"/>
4054
- <xsl:text/>
4055
- <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4056
- </fo:block>
4057
-
4021
+ </xsl:variable>
4022
+ <xsl:value-of select="$title-where"/><xsl:text> </xsl:text>
4023
+ <xsl:apply-templates select="*[local-name()='dt']/*"/>
4024
+ <xsl:text/>
4025
+ <xsl:apply-templates select="*[local-name()='dd']/*" mode="inline"/>
4026
+ </fo:block>
4027
+
4058
4028
  </xsl:when>
4059
4029
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
4060
4030
  <fo:block margin-bottom="12pt" text-align="left">
@@ -4065,12 +4035,9 @@
4065
4035
 
4066
4036
 
4067
4037
  <xsl:variable name="title-where">
4068
-
4069
- <xsl:call-template name="getLocalizedString">
4070
- <xsl:with-param name="key">where</xsl:with-param>
4071
- </xsl:call-template>
4072
-
4073
-
4038
+ <xsl:call-template name="getLocalizedString">
4039
+ <xsl:with-param name="key">where</xsl:with-param>
4040
+ </xsl:call-template>
4074
4041
  </xsl:variable>
4075
4042
  <xsl:value-of select="$title-where"/>
4076
4043
  </fo:block>
@@ -4085,12 +4052,9 @@
4085
4052
 
4086
4053
 
4087
4054
  <xsl:variable name="title-key">
4088
-
4089
- <xsl:call-template name="getLocalizedString">
4090
- <xsl:with-param name="key">key</xsl:with-param>
4091
- </xsl:call-template>
4092
-
4093
-
4055
+ <xsl:call-template name="getLocalizedString">
4056
+ <xsl:with-param name="key">key</xsl:with-param>
4057
+ </xsl:call-template>
4094
4058
  </xsl:variable>
4095
4059
  <xsl:value-of select="$title-key"/>
4096
4060
  </fo:block>
@@ -4117,9 +4081,7 @@
4117
4081
  <fo:table width="95%" table-layout="fixed">
4118
4082
 
4119
4083
  <xsl:choose>
4120
- <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'">
4121
- <!-- <xsl:attribute name="font-size">11pt</xsl:attribute> -->
4122
- </xsl:when>
4084
+ <xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
4123
4085
  <xsl:when test="normalize-space($key_iso) = 'true'">
4124
4086
  <xsl:attribute name="font-size">10pt</xsl:attribute>
4125
4087
 
@@ -4140,12 +4102,9 @@
4140
4102
  </xsl:otherwise>
4141
4103
  </xsl:choose>
4142
4104
  </xsl:variable>
4143
- <!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
4144
- <!-- <xsl:element name="{$ns}:table"> -->
4145
- <tbody>
4146
- <xsl:apply-templates mode="dl"/>
4147
- </tbody>
4148
- <!-- </xsl:element> -->
4105
+ <tbody>
4106
+ <xsl:apply-templates mode="dl"/>
4107
+ </tbody>
4149
4108
  </xsl:variable>
4150
4109
  <!-- html-table<xsl:copy-of select="$html-table"/> -->
4151
4110
  <xsl:variable name="colwidths">
@@ -4225,8 +4184,6 @@
4225
4184
  </xsl:for-each>
4226
4185
  </xsl:otherwise>
4227
4186
  </xsl:choose>
4228
- <!-- <fo:table-column column-width="15%"/>
4229
- <fo:table-column column-width="85%"/> -->
4230
4187
  </xsl:otherwise>
4231
4188
  </xsl:choose>
4232
4189
  </xsl:template><xsl:template name="getMaxLength_dt">
@@ -4241,12 +4198,6 @@
4241
4198
  </xsl:for-each>
4242
4199
  </xsl:variable>
4243
4200
  <xsl:variable name="maxLength">
4244
- <!-- <xsl:for-each select="*[local-name()='dt']">
4245
- <xsl:sort select="string-length(normalize-space(.))" data-type="number" order="descending"/>
4246
- <xsl:if test="position() = 1">
4247
- <xsl:value-of select="string-length(normalize-space(.))"/>
4248
- </xsl:if>
4249
- </xsl:for-each> -->
4250
4201
  <xsl:for-each select="xalan:nodeset($lengths)/length">
4251
4202
  <xsl:sort select="." data-type="number" order="descending"/>
4252
4203
  <xsl:if test="position() = 1">
@@ -4272,12 +4223,12 @@
4272
4223
  <xsl:if test="normalize-space($key_iso) = 'true'">
4273
4224
  <xsl:attribute name="margin-top">0</xsl:attribute>
4274
4225
  </xsl:if>
4275
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4226
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4276
4227
  </fo:block>
4277
4228
  </fo:table-cell>
4278
4229
  <fo:table-cell>
4279
4230
  <fo:block>
4280
- <xsl:apply-templates/>
4231
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4281
4232
  </fo:block>
4282
4233
  </fo:table-cell>
4283
4234
  </fo:table-row>
@@ -4288,81 +4239,41 @@
4288
4239
  </td>
4289
4240
  <td>
4290
4241
 
4291
-
4292
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4293
-
4242
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4243
+
4294
4244
  </td>
4295
4245
  </tr>
4296
4246
 
4297
4247
  </xsl:template><xsl:template match="*[local-name()='dt']">
4298
4248
  <xsl:param name="key_iso"/>
4299
4249
 
4300
- <fo:table-row>
4301
-
4302
-
4250
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
4303
4251
  <fo:table-cell>
4304
4252
 
4305
- <fo:block margin-top="6pt">
4253
+ <fo:block xsl:use-attribute-sets="dt-style">
4306
4254
  <xsl:copy-of select="@id"/>
4307
4255
 
4308
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
4309
-
4310
-
4311
4256
  <xsl:if test="normalize-space($key_iso) = 'true'">
4312
4257
  <xsl:attribute name="margin-top">0</xsl:attribute>
4313
-
4314
4258
  </xsl:if>
4315
4259
 
4316
4260
 
4317
4261
 
4318
-
4319
-
4320
-
4321
-
4322
4262
  <xsl:apply-templates/>
4323
- <!-- <xsl:if test="$namespace = 'gb'">
4324
- <xsl:if test="ancestor::*[local-name()='formula']">
4325
- <xsl:text>—</xsl:text>
4326
- </xsl:if>
4327
- </xsl:if> -->
4328
4263
  </fo:block>
4329
4264
  </fo:table-cell>
4330
4265
  <fo:table-cell>
4331
4266
  <fo:block>
4332
4267
 
4333
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4334
- <xsl:if test="local-name(*[1]) != 'stem'">
4335
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4336
- </xsl:if>
4337
- </xsl:if> -->
4338
-
4339
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4340
-
4268
+
4269
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4341
4270
  </fo:block>
4342
4271
  </fo:table-cell>
4343
4272
  </fo:table-row>
4344
- <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
4345
- <xsl:if test="local-name(*[1]) = 'stem'">
4346
- <fo:table-row>
4347
- <fo:table-cell>
4348
- <fo:block margin-top="6pt">
4349
- <xsl:if test="normalize-space($key_iso) = 'true'">
4350
- <xsl:attribute name="margin-top">0</xsl:attribute>
4351
- </xsl:if>
4352
- <xsl:text>&#xA0;</xsl:text>
4353
- </fo:block>
4354
- </fo:table-cell>
4355
- <fo:table-cell>
4356
- <fo:block>
4357
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4358
- </fo:block>
4359
- </fo:table-cell>
4360
- </fo:table-row>
4361
- </xsl:if>
4362
- </xsl:if> -->
4363
4273
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4364
4274
  <xsl:apply-templates/>
4365
4275
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4276
+ <xsl:apply-templates select="@language"/>
4366
4277
  <xsl:apply-templates/>
4367
4278
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4368
4279
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
@@ -4387,6 +4298,7 @@
4387
4298
  </fo:inline>
4388
4299
  </xsl:template><xsl:template match="*[local-name()='tt']">
4389
4300
  <fo:inline xsl:use-attribute-sets="tt-style">
4301
+
4390
4302
  <xsl:variable name="_font-size">
4391
4303
 
4392
4304
 
@@ -4423,7 +4335,22 @@
4423
4335
  <xsl:apply-templates/>
4424
4336
  </fo:inline>
4425
4337
  </xsl:template><xsl:template match="*[local-name()='add']">
4338
+ <xsl:param name="skip">true</xsl:param>
4426
4339
  <xsl:choose>
4340
+ <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4341
+ <xsl:choose>
4342
+ <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>
4343
+ <xsl:otherwise>
4344
+ <fo:inline>
4345
+ <xsl:call-template name="insertTag">
4346
+ <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4347
+ <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4348
+ <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4349
+ </xsl:call-template>
4350
+ </fo:inline>
4351
+ </xsl:otherwise>
4352
+ </xsl:choose>
4353
+ </xsl:when>
4427
4354
  <xsl:when test="@amendment">
4428
4355
  <fo:inline>
4429
4356
  <xsl:call-template name="insertTag">
@@ -4458,7 +4385,6 @@
4458
4385
  </fo:inline>
4459
4386
  </xsl:otherwise>
4460
4387
  </xsl:choose>
4461
-
4462
4388
  </xsl:template><xsl:template name="insertTag">
4463
4389
  <xsl:param name="type"/>
4464
4390
  <xsl:param name="kind"/>
@@ -4466,22 +4392,20 @@
4466
4392
  <xsl:variable name="add_width" select="string-length($value) * 20"/>
4467
4393
  <xsl:variable name="maxwidth" select="60 + $add_width"/>
4468
4394
  <fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
4469
- <!-- <xsl:attribute name="width">7mm</xsl:attribute>
4470
- <xsl:attribute name="content-height">100%</xsl:attribute> -->
4471
4395
  <xsl:attribute name="height">5mm</xsl:attribute>
4472
4396
  <xsl:attribute name="content-width">100%</xsl:attribute>
4473
4397
  <xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
4474
4398
  <xsl:attribute name="scaling">uniform</xsl:attribute>
4475
4399
  <svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
4476
4400
  <g>
4477
- <xsl:if test="$type = 'closing'">
4401
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4478
4402
  <xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
4479
4403
  </xsl:if>
4480
4404
  <polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
4481
4405
  <line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
4482
4406
  </g>
4483
4407
  <text font-family="Arial" x="15" y="57" font-size="40pt">
4484
- <xsl:if test="$type = 'closing'">
4408
+ <xsl:if test="$type = 'closing' or $type = 'end'">
4485
4409
  <xsl:attribute name="x">25</xsl:attribute>
4486
4410
  </xsl:if>
4487
4411
  <xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
@@ -4685,14 +4609,6 @@
4685
4609
 
4686
4610
  <xsl:copy-of select="xalan:nodeset($simple-table-rowspan)"/>
4687
4611
 
4688
- <!-- <xsl:choose>
4689
- <xsl:when test="current()//*[local-name()='th'][@colspan] or current()//*[local-name()='td'][@colspan] ">
4690
-
4691
- </xsl:when>
4692
- <xsl:otherwise>
4693
- <xsl:copy-of select="current()"/>
4694
- </xsl:otherwise>
4695
- </xsl:choose> -->
4696
4612
  </xsl:variable>
4697
4613
  <xsl:copy-of select="$simple-table"/>
4698
4614
  </xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
@@ -4811,8 +4727,6 @@
4811
4727
  <xsl:choose>
4812
4728
  <xsl:when test="contains($str2, ' ')">
4813
4729
  <xsl:variable name="substr" select="substring-before($str2, ' ')"/>
4814
- <!-- <xsl:value-of select="translate(substring($substr, 1, 1), $lower, $upper)"/>
4815
- <xsl:value-of select="substring($substr, 2)"/> -->
4816
4730
  <xsl:call-template name="capitalize">
4817
4731
  <xsl:with-param name="str" select="$substr"/>
4818
4732
  </xsl:call-template>
@@ -4822,8 +4736,6 @@
4822
4736
  </xsl:call-template>
4823
4737
  </xsl:when>
4824
4738
  <xsl:otherwise>
4825
- <!-- <xsl:value-of select="translate(substring($str2, 1, 1), $lower, $upper)"/>
4826
- <xsl:value-of select="substring($str2, 2)"/> -->
4827
4739
  <xsl:call-template name="capitalize">
4828
4740
  <xsl:with-param name="str" select="$str2"/>
4829
4741
  </xsl:call-template>
@@ -4851,6 +4763,7 @@
4851
4763
  <xsl:apply-templates select="." mode="mathml"/>
4852
4764
  </xsl:variable>
4853
4765
  <fo:instream-foreign-object fox:alt-text="Math">
4766
+
4854
4767
 
4855
4768
 
4856
4769
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -4882,7 +4795,7 @@
4882
4795
  </xsl:attribute>
4883
4796
 
4884
4797
 
4885
- <!-- <xsl:copy-of select="."/> -->
4798
+
4886
4799
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4887
4800
  </fo:instream-foreign-object>
4888
4801
  </fo:inline>
@@ -4941,6 +4854,10 @@
4941
4854
 
4942
4855
 
4943
4856
 
4857
+
4858
+
4859
+
4860
+
4944
4861
  <xsl:choose>
4945
4862
  <xsl:when test="$target_text = ''">
4946
4863
  <xsl:apply-templates/>
@@ -4974,9 +4891,9 @@
4974
4891
  <fo:inline role="H{$level}"><xsl:apply-templates/></fo:inline>
4975
4892
  </xsl:template><xsl:template match="*[local-name()='appendix']//*[local-name()='example']" priority="2">
4976
4893
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-example-style">
4977
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
4894
+ <xsl:apply-templates select="*[local-name()='name']"/>
4978
4895
  </fo:block>
4979
- <xsl:apply-templates/>
4896
+ <xsl:apply-templates select="node()[not(local-name()='name')]"/>
4980
4897
  </xsl:template><xsl:template match="*[local-name() = 'callout']">
4981
4898
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}">&lt;<xsl:apply-templates/>&gt;</fo:basic-link>
4982
4899
  </xsl:template><xsl:template match="*[local-name() = 'annotation']">
@@ -4998,7 +4915,6 @@
4998
4915
  </fo:inline>
4999
4916
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
5000
4917
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
5001
-
5002
4918
  <xsl:apply-templates/>
5003
4919
  </fo:basic-link>
5004
4920
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -5026,49 +4942,64 @@
5026
4942
  <fo:inline>
5027
4943
  <xsl:apply-templates/>
5028
4944
  </fo:inline>
5029
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="presentation">
4945
+ </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 -->
5030
4946
  <xsl:if test="normalize-space() != ''">
5031
4947
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
5032
4948
  </xsl:if>
5033
4949
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
5034
4950
 
5035
4951
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
4952
+
4953
+
4954
+
4955
+
4956
+
5036
4957
 
5037
4958
 
5038
4959
 
4960
+
5039
4961
 
5040
4962
 
5041
4963
  <fo:block-container margin-left="0mm">
4964
+
5042
4965
 
5043
4966
 
5044
4967
 
4968
+
5045
4969
 
5046
-
5047
-
5048
-
5049
-
5050
- <fo:block>
5051
-
5052
-
5053
-
5054
-
5055
-
4970
+ <fo:block>
4971
+
4972
+
5056
4973
 
5057
- <fo:inline xsl:use-attribute-sets="note-name-style">
5058
4974
 
5059
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5060
- </fo:inline>
5061
- <xsl:apply-templates/>
5062
- </fo:block>
5063
-
5064
-
4975
+
4976
+
4977
+
4978
+ <fo:inline xsl:use-attribute-sets="note-name-style">
4979
+
4980
+
4981
+
4982
+ <!-- if note contains only one element and first and last childs are `add` ace-tag, then move start ace-tag before NOTE's name-->
4983
+ <xsl:if test="count(*[not(local-name() = 'name')]) = 1 and *[not(local-name() = 'name')]/node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4984
+ <xsl:apply-templates select="*[not(local-name() = 'name')]/node()[1][local-name() = 'add'][starts-with(text(), $ace_tag)]">
4985
+ <xsl:with-param name="skip">false</xsl:with-param>
4986
+ </xsl:apply-templates>
4987
+ </xsl:if>
4988
+
4989
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4990
+
4991
+ </fo:inline>
4992
+
4993
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4994
+ </fo:block>
4995
+
5065
4996
  </fo:block-container>
5066
4997
  </fo:block-container>
5067
4998
 
5068
4999
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
5069
5000
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5070
5001
  <xsl:choose>
5071
- <xsl:when test="$num = 1">
5002
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
5072
5003
  <fo:inline xsl:use-attribute-sets="note-p-style">
5073
5004
  <xsl:apply-templates/>
5074
5005
  </fo:inline>
@@ -5083,12 +5014,16 @@
5083
5014
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
5084
5015
 
5085
5016
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
5017
+
5018
+
5019
+
5020
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5086
5021
 
5087
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5088
5022
  </fo:inline>
5089
- <xsl:apply-templates/>
5023
+
5024
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5090
5025
  </fo:block>
5091
- </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">
5026
+ </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'name']">
5092
5027
  <xsl:param name="sfx"/>
5093
5028
  <xsl:variable name="suffix">
5094
5029
  <xsl:choose>
@@ -5105,7 +5040,7 @@
5105
5040
  <xsl:apply-templates/>
5106
5041
  <xsl:value-of select="$suffix"/>
5107
5042
  </xsl:if>
5108
- </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']" mode="presentation">
5043
+ </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'name']">
5109
5044
  <xsl:param name="sfx"/>
5110
5045
  <xsl:variable name="suffix">
5111
5046
  <xsl:choose>
@@ -5132,25 +5067,23 @@
5132
5067
  <xsl:apply-templates/>
5133
5068
  </fo:block>
5134
5069
  </xsl:template><xsl:template match="*[local-name() = 'term']">
5135
- <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
5136
5070
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
5137
5071
 
5138
5072
 
5073
+
5074
+
5139
5075
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
5140
5076
 
5141
5077
  </xsl:if>
5142
- <xsl:apply-templates/>
5078
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5143
5079
  </fo:block>
5144
- </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
5080
+ </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
5145
5081
  <xsl:if test="normalize-space() != ''">
5146
5082
  <xsl:variable name="level">
5147
5083
  <xsl:call-template name="getLevelTermName"/>
5148
5084
  </xsl:variable>
5149
5085
  <fo:inline role="H{$level}">
5150
5086
  <xsl:apply-templates/>
5151
- <!-- <xsl:if test="$namespace = 'gb' or $namespace = 'ogc'">
5152
- <xsl:text>.</xsl:text>
5153
- </xsl:if> -->
5154
5087
  </fo:inline>
5155
5088
  </xsl:if>
5156
5089
  </xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
@@ -5163,9 +5096,10 @@
5163
5096
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
5164
5097
  </xsl:call-template>
5165
5098
 
5166
- <fo:block>
5167
-
5168
- <xsl:apply-templates/>
5099
+
5100
+
5101
+ <fo:block xsl:use-attribute-sets="figure-style">
5102
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5169
5103
  </fo:block>
5170
5104
  <xsl:call-template name="fn_display_figure"/>
5171
5105
  <xsl:for-each select="*[local-name() = 'note']">
@@ -5173,14 +5107,15 @@
5173
5107
  </xsl:for-each>
5174
5108
 
5175
5109
 
5176
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5110
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
5111
+
5177
5112
 
5178
5113
  </fo:block-container>
5179
5114
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
5180
5115
  <fo:block id="{@id}">
5181
- <xsl:apply-templates/>
5116
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5182
5117
  </fo:block>
5183
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5118
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
5184
5119
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
5185
5120
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
5186
5121
  <xsl:apply-templates/>
@@ -5287,9 +5222,7 @@
5287
5222
  <xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
5288
5223
  <xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
5289
5224
  <xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
5290
- <!-- width=<xsl:value-of select="$width"/> -->
5291
5225
  <xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
5292
- <!-- height=<xsl:value-of select="$height"/> -->
5293
5226
  <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">
5294
5227
  <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
5295
5228
  <xsl:call-template name="svg_cross">
@@ -5559,7 +5492,7 @@
5559
5492
  </fo:basic-link>
5560
5493
  </fo:block>
5561
5494
  </fo:block-container>
5562
- </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">
5495
+ </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">
5563
5496
  <xsl:apply-templates mode="contents"/>
5564
5497
  <xsl:text> </xsl:text>
5565
5498
  </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">
@@ -5571,11 +5504,58 @@
5571
5504
  <xsl:value-of select="."/>
5572
5505
  </xsl:template><xsl:template match="node()" mode="contents">
5573
5506
  <xsl:apply-templates mode="contents"/>
5507
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
5508
+ <xsl:variable name="level">
5509
+ <xsl:call-template name="getLevel">
5510
+ <xsl:with-param name="depth" select="@depth"/>
5511
+ </xsl:call-template>
5512
+ </xsl:variable>
5513
+
5514
+ <xsl:variable name="section">
5515
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5516
+ </xsl:variable>
5517
+
5518
+ <xsl:variable name="type">floating-title</xsl:variable>
5519
+
5520
+ <xsl:variable name="display">
5521
+ <xsl:choose>
5522
+ <xsl:when test="normalize-space(@id) = ''">false</xsl:when>
5523
+ <xsl:when test="$level &lt;= $toc_level">true</xsl:when>
5524
+ <xsl:otherwise>false</xsl:otherwise>
5525
+ </xsl:choose>
5526
+ </xsl:variable>
5527
+
5528
+ <xsl:variable name="skip">false</xsl:variable>
5529
+
5530
+ <xsl:if test="$skip = 'false'">
5531
+
5532
+ <xsl:variable name="title">
5533
+ <xsl:choose>
5534
+ <xsl:when test="*[local-name() = 'tab']">
5535
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5536
+ </xsl:when>
5537
+ <xsl:otherwise>
5538
+ <xsl:copy-of select="node()"/>
5539
+ </xsl:otherwise>
5540
+ </xsl:choose>
5541
+ </xsl:variable>
5542
+
5543
+ <xsl:variable name="root">
5544
+ <xsl:if test="ancestor-or-self::*[local-name() = 'preface']">preface</xsl:if>
5545
+ <xsl:if test="ancestor-or-self::*[local-name() = 'annex']">annex</xsl:if>
5546
+ </xsl:variable>
5547
+
5548
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
5549
+ <title>
5550
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
5551
+ </title>
5552
+ </item>
5553
+ </xsl:if>
5574
5554
  </xsl:template><xsl:template match="node()" mode="bookmarks">
5575
5555
  <xsl:apply-templates mode="bookmarks"/>
5576
5556
  </xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
5577
5557
  <xsl:apply-templates select="."/>
5578
- </xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
5558
+ </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">
5579
5559
  <xsl:apply-templates mode="bookmarks"/>
5580
5560
  </xsl:template><xsl:template name="addBookmarks">
5581
5561
  <xsl:param name="contents"/>
@@ -5665,8 +5645,6 @@
5665
5645
 
5666
5646
 
5667
5647
 
5668
-
5669
-
5670
5648
  </fo:bookmark-tree>
5671
5649
  </xsl:if>
5672
5650
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -5737,7 +5715,7 @@
5737
5715
  <xsl:apply-templates mode="bookmark"/>
5738
5716
  </xsl:otherwise>
5739
5717
  </xsl:choose>
5740
- </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">
5718
+ </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']">
5741
5719
  <xsl:if test="normalize-space() != ''">
5742
5720
  <fo:block xsl:use-attribute-sets="figure-name-style">
5743
5721
 
@@ -5746,16 +5724,13 @@
5746
5724
  </fo:block>
5747
5725
  </xsl:if>
5748
5726
  </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">
5749
- <xsl:apply-templates mode="contents_item"/>
5727
+ <xsl:param name="mode">bookmarks</xsl:param>
5728
+ <xsl:apply-templates mode="contents_item">
5729
+ <xsl:with-param name="mode" select="$mode"/>
5730
+ </xsl:apply-templates>
5750
5731
  <!-- <xsl:text> </xsl:text> -->
5751
5732
  </xsl:template><xsl:template name="getSection">
5752
5733
  <xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5753
- <!--
5754
- <xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
5755
- <xsl:value-of select="."/>
5756
- </xsl:for-each>
5757
- -->
5758
-
5759
5734
  </xsl:template><xsl:template name="getName">
5760
5735
  <xsl:choose>
5761
5736
  <xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
@@ -5819,9 +5794,26 @@
5819
5794
  <xsl:copy-of select="."/>
5820
5795
  </xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
5821
5796
  <xsl:text> </xsl:text>
5797
+ </xsl:template><xsl:template match="*[local-name() = 'name']" mode="contents_item">
5798
+ <xsl:param name="mode">bookmarks</xsl:param>
5799
+ <xsl:apply-templates mode="contents_item">
5800
+ <xsl:with-param name="mode" select="$mode"/>
5801
+ </xsl:apply-templates>
5802
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
5803
+ <xsl:param name="mode">bookmarks</xsl:param>
5804
+ <xsl:choose>
5805
+ <xsl:when test="starts-with(text(), $ace_tag)">
5806
+ <xsl:if test="$mode = 'contents'">
5807
+ <xsl:copy>
5808
+ <xsl:apply-templates mode="contents_item"/>
5809
+ </xsl:copy>
5810
+ </xsl:if>
5811
+ </xsl:when>
5812
+ <xsl:otherwise><xsl:apply-templates mode="contents_item"/></xsl:otherwise>
5813
+ </xsl:choose>
5822
5814
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5823
5815
 
5824
- <fo:block-container margin-left="0mm">
5816
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5825
5817
  <xsl:copy-of select="@id"/>
5826
5818
 
5827
5819
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -5858,6 +5850,7 @@
5858
5850
 
5859
5851
 
5860
5852
  </xsl:variable>
5853
+
5861
5854
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
5862
5855
  <xsl:if test="$font-size != ''">
5863
5856
  <xsl:attribute name="font-size">
@@ -5874,11 +5867,11 @@
5874
5867
 
5875
5868
 
5876
5869
 
5877
- <xsl:apply-templates/>
5870
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5878
5871
  </fo:block>
5879
5872
 
5880
5873
 
5881
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5874
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
5882
5875
 
5883
5876
 
5884
5877
 
@@ -5892,7 +5885,7 @@
5892
5885
  <xsl:call-template name="add-zero-spaces-java">
5893
5886
  <xsl:with-param name="text" select="$text"/>
5894
5887
  </xsl:call-template>
5895
- </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']" mode="presentation">
5888
+ </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
5896
5889
  <xsl:if test="normalize-space() != ''">
5897
5890
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
5898
5891
  <xsl:apply-templates/>
@@ -5900,10 +5893,10 @@
5900
5893
  </xsl:if>
5901
5894
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
5902
5895
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
5903
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5904
- <xsl:apply-templates/>
5896
+ <xsl:apply-templates select="*[local-name()='name']"/>
5897
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5905
5898
  </fo:block>
5906
- </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']" mode="presentation">
5899
+ </xsl:template><xsl:template match="*[local-name() = 'permission']/*[local-name() = 'name']">
5907
5900
  <xsl:if test="normalize-space() != ''">
5908
5901
  <fo:block xsl:use-attribute-sets="permission-name-style">
5909
5902
  <xsl:apply-templates/>
@@ -5916,13 +5909,13 @@
5916
5909
  </fo:block>
5917
5910
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
5918
5911
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
5919
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5920
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
5921
- <xsl:apply-templates select="@obligation" mode="presentation"/>
5922
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
5923
- <xsl:apply-templates/>
5912
+ <xsl:apply-templates select="*[local-name()='name']"/>
5913
+ <xsl:apply-templates select="*[local-name()='label']"/>
5914
+ <xsl:apply-templates select="@obligation"/>
5915
+ <xsl:apply-templates select="*[local-name()='subject']"/>
5916
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'label') and not(local-name() = 'subject')]"/>
5924
5917
  </fo:block>
5925
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']" mode="presentation">
5918
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'name']">
5926
5919
  <xsl:if test="normalize-space() != ''">
5927
5920
  <fo:block xsl:use-attribute-sets="requirement-name-style">
5928
5921
 
@@ -5930,20 +5923,24 @@
5930
5923
 
5931
5924
  </fo:block>
5932
5925
  </xsl:if>
5933
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']" mode="presentation">
5926
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'label']">
5934
5927
  <fo:block xsl:use-attribute-sets="requirement-label-style">
5935
5928
  <xsl:apply-templates/>
5936
5929
  </fo:block>
5937
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
5930
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
5938
5931
  <fo:block>
5939
5932
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5940
5933
  </fo:block>
5934
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2">
5935
+ <fo:block xsl:use-attribute-sets="subject-style">
5936
+ <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5937
+ </fo:block>
5941
5938
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5942
5939
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5943
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5944
- <xsl:apply-templates/>
5940
+ <xsl:apply-templates select="*[local-name()='name']"/>
5941
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5945
5942
  </fo:block>
5946
- </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']" mode="presentation">
5943
+ </xsl:template><xsl:template match="*[local-name() = 'recommendation']/*[local-name() = 'name']">
5947
5944
  <xsl:if test="normalize-space() != ''">
5948
5945
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
5949
5946
  <xsl:apply-templates/>
@@ -5954,10 +5951,6 @@
5954
5951
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5955
5952
  <xsl:apply-templates/>
5956
5953
  </fo:block>
5957
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5958
- <fo:block xsl:use-attribute-sets="subject-style">
5959
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5960
- </fo:block>
5961
5954
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
5962
5955
  <fo:block xsl:use-attribute-sets="subject-style">
5963
5956
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -6001,8 +5994,6 @@
6001
5994
  </xsl:variable>
6002
5995
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
6003
5996
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
6004
- <!-- <fo:table-column column-width="35mm"/>
6005
- <fo:table-column column-width="115mm"/> -->
6006
5997
  <fo:table-column column-width="30%"/>
6007
5998
  <fo:table-column column-width="70%"/>
6008
5999
  </xsl:if>
@@ -6012,7 +6003,7 @@
6012
6003
  <xsl:if test=".//*[local-name() = 'fn']">
6013
6004
  <xsl:for-each select="*[local-name() = 'tbody']">
6014
6005
  <fo:block font-size="90%" border-bottom="1pt solid black">
6015
- <xsl:call-template name="fn_display"/>
6006
+ <xsl:call-template name="table_fn_display"/>
6016
6007
  </fo:block>
6017
6008
  </xsl:for-each>
6018
6009
  </xsl:if>
@@ -6029,7 +6020,6 @@
6029
6020
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
6030
6021
  <fo:table-row height="7mm" border-bottom="0.5pt solid grey">
6031
6022
  <xsl:if test="parent::*[local-name()='thead']"> <!-- and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']) -->
6032
- <!-- <xsl:attribute name="border">1pt solid black</xsl:attribute> -->
6033
6023
  <xsl:attribute name="background-color">rgb(33, 55, 92)</xsl:attribute>
6034
6024
  </xsl:if>
6035
6025
  <xsl:if test="starts-with(*[local-name()='td'][1], 'Requirement ')">
@@ -6042,34 +6032,11 @@
6042
6032
  </fo:table-row>
6043
6033
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
6044
6034
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
6045
- <xsl:attribute name="text-align">
6046
- <xsl:choose>
6047
- <xsl:when test="@align">
6048
- <xsl:value-of select="@align"/>
6049
- </xsl:when>
6050
- <xsl:otherwise>left</xsl:otherwise>
6051
- </xsl:choose>
6052
- </xsl:attribute>
6053
- <xsl:if test="@colspan">
6054
- <xsl:attribute name="number-columns-spanned">
6055
- <xsl:value-of select="@colspan"/>
6056
- </xsl:attribute>
6057
- </xsl:if>
6058
- <xsl:if test="@rowspan">
6059
- <xsl:attribute name="number-rows-spanned">
6060
- <xsl:value-of select="@rowspan"/>
6061
- </xsl:attribute>
6062
- </xsl:if>
6063
- <xsl:call-template name="display-align"/>
6035
+ <xsl:call-template name="setTextAlignment">
6036
+ <xsl:with-param name="default">left</xsl:with-param>
6037
+ </xsl:call-template>
6064
6038
 
6065
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6066
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6067
- <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
6068
- </xsl:if>
6069
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
6070
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6071
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6072
- </xsl:if> -->
6039
+ <xsl:call-template name="setTableCellAttributes"/>
6073
6040
 
6074
6041
  <fo:block>
6075
6042
  <xsl:apply-templates/>
@@ -6078,40 +6045,18 @@
6078
6045
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
6079
6046
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
6080
6047
  <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
6081
- <xsl:attribute name="padding">0mm</xsl:attribute>
6082
- <xsl:attribute name="padding-left">0mm</xsl:attribute>
6083
- </xsl:if>
6084
- <xsl:attribute name="text-align">
6085
- <xsl:choose>
6086
- <xsl:when test="@align">
6087
- <xsl:value-of select="@align"/>
6088
- </xsl:when>
6089
- <xsl:otherwise>left</xsl:otherwise>
6090
- </xsl:choose>
6091
- </xsl:attribute>
6048
+ <xsl:attribute name="padding">0mm</xsl:attribute>
6049
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
6050
+ </xsl:if>
6051
+ <xsl:call-template name="setTextAlignment">
6052
+ <xsl:with-param name="default">left</xsl:with-param>
6053
+ </xsl:call-template>
6054
+
6092
6055
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
6093
6056
  <xsl:attribute name="font-weight">bold</xsl:attribute>
6094
6057
  </xsl:if>
6095
- <xsl:if test="@colspan">
6096
- <xsl:attribute name="number-columns-spanned">
6097
- <xsl:value-of select="@colspan"/>
6098
- </xsl:attribute>
6099
- </xsl:if>
6100
- <xsl:if test="@rowspan">
6101
- <xsl:attribute name="number-rows-spanned">
6102
- <xsl:value-of select="@rowspan"/>
6103
- </xsl:attribute>
6104
- </xsl:if>
6105
- <xsl:call-template name="display-align"/>
6106
6058
 
6107
- <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
6108
- <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
6109
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
6110
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
6111
- <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
6112
- </xsl:if>
6113
- </xsl:if> -->
6114
- <!-- 2nd line and below -->
6059
+ <xsl:call-template name="setTableCellAttributes"/>
6115
6060
 
6116
6061
  <fo:block>
6117
6062
  <xsl:apply-templates/>
@@ -6123,15 +6068,15 @@
6123
6068
  <xsl:apply-templates/>
6124
6069
  </fo:block>
6125
6070
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
6126
- <fo:block> <!-- margin-bottom="10pt" -->
6071
+ <fo:block>
6127
6072
  <xsl:apply-templates/>
6128
6073
  </fo:block>
6129
6074
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
6130
6075
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
6131
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6132
- <xsl:apply-templates/>
6076
+ <xsl:apply-templates select="*[local-name()='name']"/>
6077
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
6133
6078
  </fo:block>
6134
- </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']" mode="presentation">
6079
+ </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
6135
6080
  <xsl:if test="normalize-space() != ''">
6136
6081
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
6137
6082
  <xsl:apply-templates/>
@@ -6155,42 +6100,46 @@
6155
6100
  <fo:block id="{@id}" xsl:use-attribute-sets="example-style">
6156
6101
 
6157
6102
 
6158
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
6159
-
6160
- <xsl:variable name="element">
6161
-
6103
+ <xsl:variable name="fo_element">
6104
+ <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
6162
6105
  inline
6163
- <xsl:if test=".//*[local-name() = 'table']">block</xsl:if>
6164
6106
  </xsl:variable>
6165
6107
 
6108
+ <!-- display 'EXAMPLE' -->
6109
+ <xsl:apply-templates select="*[local-name()='name']">
6110
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6111
+ </xsl:apply-templates>
6112
+
6166
6113
  <xsl:choose>
6167
- <xsl:when test="contains(normalize-space($element), 'block')">
6168
- <fo:block xsl:use-attribute-sets="example-body-style">
6169
- <xsl:apply-templates/>
6170
- </fo:block>
6114
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
6115
+ <fo:block-container xsl:use-attribute-sets="example-body-style">
6116
+ <fo:block-container margin-left="0mm" margin-right="0mm">
6117
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
6118
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6119
+ </xsl:apply-templates>
6120
+ </fo:block-container>
6121
+ </fo:block-container>
6171
6122
  </xsl:when>
6172
6123
  <xsl:otherwise>
6173
6124
  <fo:inline>
6174
- <xsl:apply-templates/>
6125
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]">
6126
+ <xsl:with-param name="fo_element" select="$fo_element"/>
6127
+ </xsl:apply-templates>
6175
6128
  </fo:inline>
6176
6129
  </xsl:otherwise>
6177
6130
  </xsl:choose>
6178
6131
 
6179
6132
  </fo:block>
6180
- </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']" mode="presentation">
6181
-
6182
- <xsl:variable name="element">
6183
-
6184
- inline
6185
- <xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
6186
- </xsl:variable>
6133
+ </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'name']">
6134
+ <xsl:param name="fo_element">block</xsl:param>
6135
+
6187
6136
  <xsl:choose>
6188
6137
  <xsl:when test="ancestor::*[local-name() = 'appendix']">
6189
6138
  <fo:inline>
6190
6139
  <xsl:apply-templates/>
6191
6140
  </fo:inline>
6192
6141
  </xsl:when>
6193
- <xsl:when test="contains(normalize-space($element), 'block')">
6142
+ <xsl:when test="contains(normalize-space($fo_element), 'block')">
6194
6143
  <fo:block xsl:use-attribute-sets="example-name-style">
6195
6144
  <xsl:apply-templates/>
6196
6145
  </fo:block>
@@ -6203,19 +6152,20 @@
6203
6152
  </xsl:choose>
6204
6153
 
6205
6154
  </xsl:template><xsl:template match="*[local-name() = 'example']/*[local-name() = 'p']">
6155
+ <xsl:param name="fo_element">block</xsl:param>
6156
+
6206
6157
  <xsl:variable name="num"><xsl:number/></xsl:variable>
6207
6158
  <xsl:variable name="element">
6208
6159
 
6209
-
6210
6160
  <xsl:choose>
6211
6161
  <xsl:when test="$num = 1">inline</xsl:when>
6212
6162
  <xsl:otherwise>block</xsl:otherwise>
6213
6163
  </xsl:choose>
6214
6164
 
6215
-
6165
+ <xsl:value-of select="$fo_element"/>
6216
6166
  </xsl:variable>
6217
6167
  <xsl:choose>
6218
- <xsl:when test="normalize-space($element) = 'block'">
6168
+ <xsl:when test="starts-with(normalize-space($element), 'block')">
6219
6169
  <fo:block xsl:use-attribute-sets="example-p-style">
6220
6170
 
6221
6171
  <xsl:apply-templates/>
@@ -6230,6 +6180,8 @@
6230
6180
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
6231
6181
  <fo:block xsl:use-attribute-sets="termsource-style">
6232
6182
 
6183
+
6184
+
6233
6185
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
6234
6186
  <xsl:variable name="termsource_text">
6235
6187
  <xsl:apply-templates/>
@@ -6267,9 +6219,7 @@
6267
6219
  <xsl:value-of select="."/>
6268
6220
  </xsl:if>
6269
6221
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
6270
- <fo:inline>
6271
-
6272
-
6222
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
6273
6223
  <xsl:value-of select="."/>
6274
6224
  </fo:inline>
6275
6225
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -6283,12 +6233,9 @@
6283
6233
  </fo:basic-link>
6284
6234
  </xsl:template><xsl:template match="*[local-name() = 'modification']">
6285
6235
  <xsl:variable name="title-modified">
6286
-
6287
- <xsl:call-template name="getLocalizedString">
6288
- <xsl:with-param name="key">modified</xsl:with-param>
6289
- </xsl:call-template>
6290
-
6291
-
6236
+ <xsl:call-template name="getLocalizedString">
6237
+ <xsl:with-param name="key">modified</xsl:with-param>
6238
+ </xsl:call-template>
6292
6239
  </xsl:variable>
6293
6240
 
6294
6241
  <xsl:variable name="text"><xsl:apply-templates/></xsl:variable>
@@ -6319,7 +6266,6 @@
6319
6266
  <fo:block-container margin-left="0mm">
6320
6267
 
6321
6268
  <fo:block xsl:use-attribute-sets="quote-style">
6322
- <!-- <xsl:apply-templates select=".//*[local-name() = 'p']"/> -->
6323
6269
 
6324
6270
  <xsl:if test="ancestor::*[local-name() = 'boilerplate']">
6325
6271
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
@@ -6368,15 +6314,13 @@
6368
6314
  </xsl:variable>
6369
6315
 
6370
6316
  <xsl:choose>
6371
- <xsl:when test="normalize-space($bibitemid) != ''">
6317
+ <xsl:when test="normalize-space($bibitemid) != ''"> <!-- if in the bibliography there is the item with @bibitemid (and not hidden), then create link -->
6372
6318
  <fo:inline xsl:use-attribute-sets="eref-style">
6373
6319
  <xsl:if test="@type = 'footnote'">
6374
-
6375
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6376
- <xsl:attribute name="font-size">80%</xsl:attribute>
6377
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6378
- <xsl:attribute name="vertical-align">super</xsl:attribute>
6379
-
6320
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6321
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
6322
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
6323
+ <xsl:attribute name="font-size">80%</xsl:attribute>
6380
6324
 
6381
6325
  </xsl:if>
6382
6326
 
@@ -6393,7 +6337,6 @@
6393
6337
 
6394
6338
 
6395
6339
 
6396
-
6397
6340
  </xsl:if>
6398
6341
 
6399
6342
 
@@ -6451,8 +6394,6 @@
6451
6394
  </xsl:choose>
6452
6395
  </xsl:variable>
6453
6396
 
6454
- <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
6455
-
6456
6397
  <xsl:choose>
6457
6398
  <xsl:when test="$lang = 'zh'">
6458
6399
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -6487,12 +6428,9 @@
6487
6428
  </fo:block>
6488
6429
  </xsl:template><xsl:template match="*[local-name() = 'deprecates']">
6489
6430
  <xsl:variable name="title-deprecated">
6490
-
6491
- <xsl:call-template name="getLocalizedString">
6492
- <xsl:with-param name="key">deprecated</xsl:with-param>
6493
- </xsl:call-template>
6494
-
6495
-
6431
+ <xsl:call-template name="getLocalizedString">
6432
+ <xsl:with-param name="key">deprecated</xsl:with-param>
6433
+ </xsl:call-template>
6496
6434
  </xsl:variable>
6497
6435
  <fo:block xsl:use-attribute-sets="deprecates-style">
6498
6436
  <xsl:value-of select="$title-deprecated"/>: <xsl:apply-templates/>
@@ -6501,6 +6439,8 @@
6501
6439
  <xsl:if test="*[local-name() = 'strong']">
6502
6440
  <xsl:attribute name="font-weight">normal</xsl:attribute>
6503
6441
  </xsl:if>
6442
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']/text()[contains(., ';')] | *[local-name() = 'preferred']/*[local-name() = 'strong']/text()[contains(., ';')]">
6443
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.), ';', $linebreak)"/>
6504
6444
  </xsl:template><xsl:template match="*[local-name() = 'definition']">
6505
6445
  <fo:block xsl:use-attribute-sets="definition-style">
6506
6446
  <xsl:apply-templates/>
@@ -6509,7 +6449,6 @@
6509
6449
  <xsl:apply-templates/>
6510
6450
  </xsl:template><xsl:template match="*[local-name() = 'definition'][preceding-sibling::*[local-name() = 'domain']]/*[local-name() = 'p'][1]">
6511
6451
  <fo:inline> <xsl:apply-templates/></fo:inline>
6512
- <!-- <fo:block>&#xA0;</fo:block> -->
6513
6452
  <fo:block/>
6514
6453
  </xsl:template><xsl:template match="/*/*[local-name() = 'sections']/*" priority="2">
6515
6454
 
@@ -6554,11 +6493,6 @@
6554
6493
  <xsl:apply-templates/>
6555
6494
  </fo:block>
6556
6495
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
6557
- <fo:block id="{@id}">
6558
- <xsl:apply-templates/>
6559
- </fo:block>
6560
- </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']">
6561
-
6562
6496
  <fo:block id="{@id}">
6563
6497
  <xsl:apply-templates/>
6564
6498
  </fo:block>
@@ -6575,6 +6509,53 @@
6575
6509
  </xsl:template><xsl:template match="*[local-name() = 'name']/text()">
6576
6510
  <!-- 0xA0 to space replacement -->
6577
6511
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
6512
+ </xsl:template><xsl:variable name="ul_labels_">
6513
+
6514
+
6515
+
6516
+
6517
+
6518
+
6519
+
6520
+
6521
+ <label level="1">—</label> <!-- em dash -->
6522
+ <label level="2">−</label><!-- minus sign -->
6523
+ <label level="3" font-size="75%">o</label> <!-- white circle -->
6524
+
6525
+
6526
+
6527
+
6528
+
6529
+
6530
+
6531
+
6532
+
6533
+
6534
+ </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
6535
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
6536
+ <xsl:variable name="list_level">
6537
+ <xsl:choose>
6538
+ <xsl:when test="$list_level_ &lt;= 3"><xsl:value-of select="$list_level_"/></xsl:when>
6539
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 3"/></xsl:otherwise>
6540
+ </xsl:choose>
6541
+ </xsl:variable>
6542
+ <xsl:choose>
6543
+ <xsl:when test="$ul_labels/label[not(@level)]"> <!-- one label for all levels -->
6544
+ <xsl:apply-templates select="$ul_labels/label[not(@level)]" mode="ul_labels"/>
6545
+ </xsl:when>
6546
+ <xsl:when test="$list_level mod 3 = 0">
6547
+ <xsl:apply-templates select="$ul_labels/label[@level = 3]" mode="ul_labels"/>
6548
+ </xsl:when>
6549
+ <xsl:when test="$list_level mod 2 = 0">
6550
+ <xsl:apply-templates select="$ul_labels/label[@level = 2]" mode="ul_labels"/>
6551
+ </xsl:when>
6552
+ <xsl:otherwise>
6553
+ <xsl:apply-templates select="$ul_labels/label[@level = 1]" mode="ul_labels"/>
6554
+ </xsl:otherwise>
6555
+ </xsl:choose>
6556
+ </xsl:template><xsl:template match="label" mode="ul_labels">
6557
+ <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
6558
+ <xsl:value-of select="."/>
6578
6559
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
6579
6560
  <xsl:choose>
6580
6561
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -6781,20 +6762,107 @@
6781
6762
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6782
6763
  <fo:block><xsl:apply-templates/></fo:block>
6783
6764
  </fo:table-cell>
6784
- </xsl:template><xsl:template name="processBibitem">
6765
+ </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">
6766
+
6767
+
6768
+
6769
+ <fo:block id="{@id}">
6770
+ <xsl:apply-templates/>
6771
+ </fo:block>
6772
+ </xsl:template><xsl:template match="*[local-name() = 'references']">
6773
+ <xsl:if test="not(ancestor::*[local-name() = 'annex'])">
6774
+
6775
+ <fo:block break-after="page"/>
6776
+
6777
+ </xsl:if>
6778
+
6779
+ <!-- <xsl:if test="ancestor::*[local-name() = 'annex']">
6780
+ <xsl:if test="$namespace = 'csa' or $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'itu'">
6781
+ <fo:block break-after="page"/>
6782
+ </xsl:if>
6783
+ </xsl:if> -->
6785
6784
 
6785
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
6786
+ <xsl:apply-templates/>
6787
+ </fo:block>
6786
6788
 
6787
6789
 
6788
-
6789
6790
 
6790
6791
 
6791
-
6792
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']">
6793
+ <xsl:call-template name="bibitem"/>
6794
+ </xsl:template><xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
6792
6795
 
6796
+ <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
6797
+ <xsl:call-template name="processBibitem"/>
6798
+ </fo:block>
6799
+
6800
+
6801
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
6802
+
6803
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
6804
+ $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
6805
+ <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
6806
+ <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
6807
+ <fo:list-item>
6808
+ <fo:list-item-label end-indent="label-end()">
6809
+ <fo:block>
6810
+ <fo:inline>
6811
+
6812
+ <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
6813
+ <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
6814
+ <xsl:number format="[1]"/>
6815
+ </xsl:if>
6816
+
6817
+ </fo:inline>
6818
+ </fo:block>
6819
+ </fo:list-item-label>
6820
+ <fo:list-item-body start-indent="body-start()">
6821
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
6822
+ <xsl:call-template name="processBibitem"/>
6823
+ </fo:block>
6824
+ </fo:list-item-body>
6825
+ </fo:list-item>
6826
+ </fo:list-block>
6827
+
6793
6828
 
6829
+ </xsl:template><xsl:template name="processBibitem">
6794
6830
 
6795
6831
 
6832
+ <!-- start JCGM bibitem processing -->
6833
+ <xsl:variable name="docidentifier">
6834
+ <xsl:choose>
6835
+ <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
6836
+ <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
6837
+ </xsl:choose>
6838
+ </xsl:variable>
6839
+ <xsl:value-of select="$docidentifier"/>
6840
+
6841
+ <xsl:choose>
6842
+ <xsl:when test="*[local-name()='formattedref']">
6843
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6844
+ <xsl:apply-templates select="*[local-name()='formattedref']"/>
6845
+ </xsl:when>
6846
+ <xsl:otherwise>
6847
+ <xsl:apply-templates select="*[local-name()='note']"/>
6848
+ <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6849
+ <xsl:choose>
6850
+ <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
6851
+ <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
6852
+ </xsl:when>
6853
+ <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
6854
+ <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
6855
+ </xsl:when>
6856
+ <xsl:otherwise>
6857
+ <xsl:apply-templates select="*[local-name()='title']"/>
6858
+ </xsl:otherwise>
6859
+ </xsl:choose>
6860
+ </xsl:otherwise>
6861
+ </xsl:choose>
6862
+ <!-- end JCGM bibitem processing -->
6863
+
6796
6864
  </xsl:template><xsl:template name="processBibitemDocId">
6797
- <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')]"/>
6865
+ <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')]"/>
6798
6866
  <xsl:choose>
6799
6867
  <xsl:when test="normalize-space($_doc_ident) != ''">
6800
6868
  <!-- <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"/>
@@ -6808,7 +6876,7 @@
6808
6876
  <xsl:if test="$type != ''">
6809
6877
  <xsl:value-of select="$type"/><xsl:text> </xsl:text>
6810
6878
  </xsl:if> -->
6811
- <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
6879
+ <xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma') and not(@type = 'metanorma-ordinal')]"/>
6812
6880
  </xsl:otherwise>
6813
6881
  </xsl:choose>
6814
6882
  </xsl:template><xsl:template name="processPersonalAuthor">
@@ -6849,6 +6917,52 @@
6849
6917
  <xsl:value-of select="substring(.,1,1)"/>
6850
6918
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6851
6919
  <fo:inline><xsl:apply-templates/></fo:inline>
6920
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'title']" priority="2">
6921
+ <!-- <fo:inline><xsl:apply-templates /></fo:inline> -->
6922
+ <fo:inline font-style="italic"> <!-- BIPM BSI CSD CSA GB IEC IHO ISO ITU JCGM -->
6923
+ <xsl:apply-templates/>
6924
+ </fo:inline>
6925
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'note']" priority="2">
6926
+ <fo:footnote>
6927
+ <xsl:variable name="number">
6928
+
6929
+ <xsl:number level="any" count="*[local-name() = 'bibitem']/*[local-name() = 'note']"/>
6930
+
6931
+ </xsl:variable>
6932
+ <fo:inline xsl:use-attribute-sets="bibitem-note-fn-style">
6933
+ <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
6934
+ <xsl:value-of select="$number"/>
6935
+
6936
+ <xsl:text>)</xsl:text>
6937
+
6938
+ </fo:basic-link>
6939
+ </fo:inline>
6940
+ <fo:footnote-body>
6941
+ <fo:block xsl:use-attribute-sets="bibitem-note-fn-body-style">
6942
+ <fo:inline id="{generate-id()}" xsl:use-attribute-sets="bibitem-note-fn-number-style">
6943
+ <xsl:value-of select="$number"/>
6944
+
6945
+ <xsl:text>)</xsl:text>
6946
+
6947
+ </fo:inline>
6948
+ <xsl:apply-templates/>
6949
+ </fo:block>
6950
+ </fo:footnote-body>
6951
+ </fo:footnote>
6952
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'edition']"> <!-- for iho -->
6953
+ <xsl:text> edition </xsl:text>
6954
+ <xsl:value-of select="."/>
6955
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'uri']"> <!-- for iho -->
6956
+ <xsl:text> (</xsl:text>
6957
+ <fo:inline xsl:use-attribute-sets="link-style">
6958
+ <fo:basic-link external-destination="." fox:alt-text=".">
6959
+ <xsl:value-of select="."/>
6960
+ </fo:basic-link>
6961
+ </fo:inline>
6962
+ <xsl:text>)</xsl:text>
6963
+ </xsl:template><xsl:template match="*[local-name() = 'bibitem']/*[local-name() = 'docidentifier']"/><xsl:template match="*[local-name() = 'formattedref']">
6964
+
6965
+ <xsl:apply-templates/>
6852
6966
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6853
6967
  <fo:block>
6854
6968
  <xsl:apply-templates/>
@@ -6914,27 +7028,14 @@
6914
7028
  <fo:block> </fo:block>
6915
7029
  </fo:block-container>
6916
7030
  </xsl:template><xsl:variable name="toc_level">
7031
+ <!-- https://www.metanorma.org/author/ref/document-attributes/ -->
7032
+ <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:-->
7033
+ <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 -->
6917
7034
  <xsl:choose>
6918
- <xsl:when test="1 = 2"/> <!-- to do https://github.com/metanorma/mn-native-pdf/issues/337: if there is value in xml -->
7035
+ <xsl:when test="$htmltoclevels != ''"><xsl:value-of select="number($htmltoclevels)"/></xsl:when> <!-- if there is value in xml -->
7036
+ <xsl:when test="$toclevels != ''"><xsl:value-of select="number($toclevels)"/></xsl:when> <!-- if there is value in xml -->
6919
7037
  <xsl:otherwise><!-- default value -->
6920
-
6921
-
6922
-
6923
-
6924
-
6925
-
6926
-
6927
-
6928
7038
  3
6929
-
6930
-
6931
-
6932
-
6933
-
6934
-
6935
-
6936
-
6937
-
6938
7039
  </xsl:otherwise>
6939
7040
  </xsl:choose>
6940
7041
  </xsl:variable><xsl:template match="*[local-name() = 'toc']">
@@ -7017,7 +7118,7 @@
7017
7118
  </td>
7018
7119
  </xsl:for-each>
7019
7120
  <td>333</td> <!-- page number, just for fill -->
7020
- </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7121
+ </xsl:template><xsl:template match="*[local-name() = 'variant-title']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
7021
7122
  <fo:inline padding-right="5mm"> </fo:inline>
7022
7123
  <fo:inline><xsl:apply-templates/></fo:inline>
7023
7124
  </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
@@ -7028,6 +7129,60 @@
7028
7129
  </svg>
7029
7130
  </fo:instream-foreign-object>
7030
7131
  </fo:inline>
7132
+ </xsl:template><xsl:template match="@language">
7133
+ <xsl:copy-of select="."/>
7134
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7135
+ <xsl:call-template name="title"/>
7136
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7137
+
7138
+
7139
+
7140
+
7141
+
7142
+
7143
+ <fo:block xsl:use-attribute-sets="admonition-style">
7144
+
7145
+
7146
+
7147
+
7148
+
7149
+
7150
+ <xsl:call-template name="displayAdmonitionName"/>
7151
+ <xsl:text> — </xsl:text>
7152
+
7153
+
7154
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
7155
+ </fo:block>
7156
+
7157
+ </xsl:template><xsl:template name="displayAdmonitionName">
7158
+
7159
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
7160
+ <xsl:if test="not(*[local-name() = 'name'])">
7161
+ <xsl:apply-templates select="@type"/>
7162
+ </xsl:if>
7163
+
7164
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
7165
+ <xsl:apply-templates/>
7166
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/@type">
7167
+ <xsl:variable name="admonition_type_">
7168
+ <xsl:call-template name="getLocalizedString">
7169
+ <xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
7170
+ </xsl:call-template>
7171
+ </xsl:variable>
7172
+ <xsl:variable name="admonition_type" select="normalize-space(java:toUpperCase(java:java.lang.String.new($admonition_type_)))"/>
7173
+ <xsl:value-of select="$admonition_type"/>
7174
+ <xsl:if test="$admonition_type = ''">
7175
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
7176
+ </xsl:if>
7177
+ </xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
7178
+
7179
+ <fo:block xsl:use-attribute-sets="admonition-p-style">
7180
+
7181
+
7182
+
7183
+ <xsl:apply-templates/>
7184
+ </fo:block>
7185
+
7031
7186
  </xsl:template><xsl:template name="convertDate">
7032
7187
  <xsl:param name="date"/>
7033
7188
  <xsl:param name="format" select="'short'"/>
@@ -7036,78 +7191,39 @@
7036
7191
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
7037
7192
  <xsl:variable name="monthStr">
7038
7193
  <xsl:choose>
7039
- <xsl:when test="$month = '01'">January</xsl:when>
7040
- <xsl:when test="$month = '02'">February</xsl:when>
7041
- <xsl:when test="$month = '03'">March</xsl:when>
7042
- <xsl:when test="$month = '04'">April</xsl:when>
7043
- <xsl:when test="$month = '05'">May</xsl:when>
7044
- <xsl:when test="$month = '06'">June</xsl:when>
7045
- <xsl:when test="$month = '07'">July</xsl:when>
7046
- <xsl:when test="$month = '08'">August</xsl:when>
7047
- <xsl:when test="$month = '09'">September</xsl:when>
7048
- <xsl:when test="$month = '10'">October</xsl:when>
7049
- <xsl:when test="$month = '11'">November</xsl:when>
7050
- <xsl:when test="$month = '12'">December</xsl:when>
7051
- </xsl:choose>
7052
- </xsl:variable>
7053
- <xsl:variable name="result">
7054
- <xsl:choose>
7055
- <xsl:when test="$format = 'ddMMyyyy'">
7056
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7057
- <xsl:text> </xsl:text>
7058
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7059
- </xsl:when>
7060
- <xsl:when test="$format = 'ddMM'">
7061
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7062
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7063
- </xsl:when>
7064
- <xsl:when test="$format = 'short' or $day = ''">
7065
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7066
- </xsl:when>
7067
- <xsl:otherwise>
7068
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7069
- </xsl:otherwise>
7194
+ <xsl:when test="$month = '01'">january</xsl:when>
7195
+ <xsl:when test="$month = '02'">february</xsl:when>
7196
+ <xsl:when test="$month = '03'">march</xsl:when>
7197
+ <xsl:when test="$month = '04'">april</xsl:when>
7198
+ <xsl:when test="$month = '05'">may</xsl:when>
7199
+ <xsl:when test="$month = '06'">june</xsl:when>
7200
+ <xsl:when test="$month = '07'">july</xsl:when>
7201
+ <xsl:when test="$month = '08'">august</xsl:when>
7202
+ <xsl:when test="$month = '09'">september</xsl:when>
7203
+ <xsl:when test="$month = '10'">october</xsl:when>
7204
+ <xsl:when test="$month = '11'">november</xsl:when>
7205
+ <xsl:when test="$month = '12'">december</xsl:when>
7070
7206
  </xsl:choose>
7071
7207
  </xsl:variable>
7072
- <xsl:value-of select="$result"/>
7073
- </xsl:template><xsl:template name="convertDateLocalized">
7074
- <xsl:param name="date"/>
7075
- <xsl:param name="format" select="'short'"/>
7076
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
7077
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
7078
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
7079
- <xsl:variable name="monthStr">
7080
- <xsl:choose>
7081
- <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>
7082
- <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>
7083
- <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>
7084
- <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>
7085
- <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>
7086
- <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>
7087
- <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>
7088
- <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>
7089
- <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>
7090
- <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>
7091
- <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>
7092
- <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>
7093
- </xsl:choose>
7208
+ <xsl:variable name="monthStr_localized">
7209
+ <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>
7094
7210
  </xsl:variable>
7095
7211
  <xsl:variable name="result">
7096
7212
  <xsl:choose>
7097
7213
  <xsl:when test="$format = 'ddMMyyyy'">
7098
7214
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7099
7215
  <xsl:text> </xsl:text>
7100
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7216
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
7101
7217
  </xsl:when>
7102
7218
  <xsl:when test="$format = 'ddMM'">
7103
7219
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7104
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7220
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
7105
7221
  </xsl:when>
7106
7222
  <xsl:when test="$format = 'short' or $day = ''">
7107
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7223
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
7108
7224
  </xsl:when>
7109
7225
  <xsl:otherwise>
7110
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7226
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
7111
7227
  </xsl:otherwise>
7112
7228
  </xsl:choose>
7113
7229
  </xsl:variable>
@@ -7160,13 +7276,8 @@
7160
7276
  <xsl:variable name="title">
7161
7277
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7162
7278
 
7163
-
7164
-
7165
- <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
7166
-
7167
-
7168
-
7169
-
7279
+ <xsl:value-of select="*[local-name() = 'title'][@language = $lang and @type = 'part']"/>
7280
+
7170
7281
  </xsl:for-each>
7171
7282
  </xsl:variable>
7172
7283
  <xsl:choose>
@@ -7181,18 +7292,15 @@
7181
7292
  <dc:creator>
7182
7293
  <xsl:for-each select="(//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']">
7183
7294
 
7184
-
7185
- <xsl:value-of select="normalize-space(*[local-name() = 'ext']/*[local-name() = 'editorialgroup']/*[local-name() = 'committee'])"/>
7186
-
7187
-
7295
+ <xsl:value-of select="normalize-space(*[local-name() = 'ext']/*[local-name() = 'editorialgroup']/*[local-name() = 'committee'])"/>
7296
+
7188
7297
  </xsl:for-each>
7189
7298
  </dc:creator>
7190
7299
  <dc:description>
7191
7300
  <xsl:variable name="abstract">
7192
7301
 
7193
-
7194
- <xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7195
-
7302
+ <xsl:value-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']/*[local-name() = 'title'][@language = $lang and @type = 'main']"/>
7303
+
7196
7304
  </xsl:variable>
7197
7305
  <xsl:value-of select="normalize-space($abstract)"/>
7198
7306
  </dc:description>
@@ -7212,7 +7320,6 @@
7212
7320
  <xsl:value-of select="../@id"/>
7213
7321
  </xsl:when>
7214
7322
  <xsl:otherwise>
7215
- <!-- <xsl:value-of select="concat(local-name(..), '_', text())"/> -->
7216
7323
  <xsl:value-of select="concat(generate-id(..), '_', text())"/>
7217
7324
  </xsl:otherwise>
7218
7325
  </xsl:choose>
@@ -7238,9 +7345,6 @@
7238
7345
  <xsl:when test="ancestor::*[local-name() = 'preface']">
7239
7346
  <xsl:value-of select="$level_total - 2"/>
7240
7347
  </xsl:when>
7241
- <!-- <xsl:when test="parent::*[local-name() = 'sections']">
7242
- <xsl:value-of select="$level_total - 1"/>
7243
- </xsl:when> -->
7244
7348
  <xsl:when test="ancestor::*[local-name() = 'sections']">
7245
7349
  <xsl:value-of select="$level_total - 1"/>
7246
7350
  </xsl:when>
@@ -7382,9 +7486,15 @@
7382
7486
  </xsl:template><xsl:template name="getLocalizedString">
7383
7487
  <xsl:param name="key"/>
7384
7488
  <xsl:param name="formatted">false</xsl:param>
7489
+ <xsl:param name="lang"/>
7385
7490
 
7386
7491
  <xsl:variable name="curr_lang">
7387
- <xsl:call-template name="getLang"/>
7492
+ <xsl:choose>
7493
+ <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
7494
+ <xsl:otherwise>
7495
+ <xsl:call-template name="getLang"/>
7496
+ </xsl:otherwise>
7497
+ </xsl:choose>
7388
7498
  </xsl:variable>
7389
7499
 
7390
7500
  <xsl:variable name="data_value">
@@ -7424,7 +7534,6 @@
7424
7534
  <xsl:value-of select="$key_"/>
7425
7535
  </xsl:otherwise>
7426
7536
  </xsl:choose>
7427
-
7428
7537
  </xsl:template><xsl:template name="setTrackChangesStyles">
7429
7538
  <xsl:param name="isAdded"/>
7430
7539
  <xsl:param name="isDeleted"/>
@@ -7447,7 +7556,6 @@
7447
7556
  <xsl:if test="local-name() = 'table'">
7448
7557
  <xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
7449
7558
  </xsl:if>
7450
- <!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
7451
7559
  <xsl:attribute name="padding">2mm</xsl:attribute>
7452
7560
  </xsl:if>
7453
7561
  </xsl:otherwise>
@@ -7467,15 +7575,18 @@
7467
7575
  </xsl:choose>
7468
7576
  </xsl:template><xsl:template name="setTextAlignment">
7469
7577
  <xsl:param name="default">left</xsl:param>
7578
+ <xsl:variable name="align" select="normalize-space(@align)"/>
7470
7579
  <xsl:attribute name="text-align">
7471
7580
  <xsl:choose>
7472
- <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
7581
+ <xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
7582
+ <xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
7583
+ <xsl:when test="$align != '' and not($align = 'indent')"><xsl:value-of select="$align"/></xsl:when>
7473
7584
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7474
7585
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7475
7586
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7476
7587
  </xsl:choose>
7477
7588
  </xsl:attribute>
7478
- <xsl:if test="@align = 'indent'">
7589
+ <xsl:if test="$align = 'indent'">
7479
7590
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
7480
7591
  </xsl:if>
7481
7592
  </xsl:template><xsl:template name="number-to-words">