metanorma-bipm 2.0.0.1 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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">
@@ -725,34 +722,6 @@
725
722
  <xsl:apply-templates/>
726
723
  </xsl:template>
727
724
 
728
-
729
- <xsl:template match="*[local-name()='bibitem']">
730
- <fo:block id="{@id}" margin-bottom="6pt">
731
- <xsl:call-template name="processBibitem"/>
732
- </fo:block>
733
- </xsl:template>
734
-
735
-
736
- <xsl:template match="*[local-name()='bibitem']/*[local-name()='note']" priority="2">
737
- <fo:footnote>
738
- <xsl:variable name="number">
739
- <xsl:number level="any" count="*[local-name()='bibitem']/*[local-name()='note']"/>
740
- </xsl:variable>
741
- <fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
742
- <fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
743
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
744
- </fo:basic-link>
745
- </fo:inline>
746
- <fo:footnote-body>
747
- <fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
748
- <fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
749
- <xsl:value-of select="$number"/><xsl:text>)</xsl:text>
750
- </fo:inline>
751
- <xsl:apply-templates/>
752
- </fo:block>
753
- </fo:footnote-body>
754
- </fo:footnote>
755
- </xsl:template>
756
725
 
757
726
 
758
727
  <xsl:template match="jcgm:fn/jcgm:p">
@@ -824,7 +793,7 @@
824
793
  </xsl:variable>
825
794
  <fo:block line-height="1.1" role="H{$level}">
826
795
  <fo:block font-weight="bold" keep-with-next="always">
827
- <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']"/>
828
797
  </fo:block>
829
798
  <fo:block font-weight="bold" keep-with-next="always">
830
799
  <xsl:call-template name="setStyle_preferred"/>
@@ -871,51 +840,6 @@
871
840
  <fo:block widows="1" orphans="1"><xsl:apply-templates/></fo:block>
872
841
  </xsl:template>
873
842
 
874
-
875
- <xsl:template match="*[local-name()='references'][@normative='true']">
876
- <fo:block id="{@id}">
877
- <xsl:apply-templates/>
878
- </fo:block>
879
- </xsl:template>
880
-
881
- <xsl:template match="*[local-name()='references'][not(@normative='true')]">
882
- <fo:block break-after="page"/>
883
- <fo:block id="{@id}">
884
- <xsl:apply-templates/>
885
- </fo:block>
886
- </xsl:template>
887
-
888
-
889
- <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
890
- <xsl:template match="*[local-name()='references'][not(@normative='true')]/*[local-name()='bibitem']">
891
- <fo:list-block margin-bottom="6pt" provisional-distance-between-starts="12mm">
892
- <fo:list-item>
893
- <fo:list-item-label end-indent="label-end()">
894
- <fo:block>
895
- <fo:inline id="{@id}">
896
- <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
897
- <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
898
- <xsl:number format="[1]"/>
899
- </xsl:if>
900
- </fo:inline>
901
- </fo:block>
902
- </fo:list-item-label>
903
- <fo:list-item-body start-indent="body-start()">
904
- <fo:block>
905
- <xsl:call-template name="processBibitem"/>
906
- </fo:block>
907
- </fo:list-item-body>
908
- </fo:list-item>
909
- </fo:list-block>
910
- </xsl:template>
911
-
912
-
913
- <xsl:template match="*[local-name()='references']/*[local-name()='bibitem']/*[local-name()='title']">
914
- <fo:inline font-style="italic">
915
- <xsl:apply-templates/>
916
- </fo:inline>
917
- </xsl:template>
918
-
919
843
 
920
844
  <xsl:template match="mathml:math" priority="2">
921
845
  <fo:inline font-family="Cambria Math">
@@ -1015,20 +939,7 @@
1015
939
  </xsl:if>
1016
940
  </xsl:template>
1017
941
 
1018
- <xsl:template match="*[local-name()='admonition']">
1019
- <fo:block margin-bottom="12pt" font-weight="bold"> <!-- text-align="center" -->
1020
- <xsl:variable name="type">
1021
- <xsl:call-template name="getLocalizedString">
1022
- <xsl:with-param name="key">admonition.<xsl:value-of select="@type"/></xsl:with-param>
1023
- </xsl:call-template>
1024
- </xsl:variable>
1025
- <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($type))"/>
1026
- <xsl:text> — </xsl:text>
1027
- <xsl:apply-templates/>
1028
- </fo:block>
1029
- </xsl:template>
1030
942
 
1031
-
1032
943
  <xsl:template match="*[local-name()='td' or local-name()='th']/*[local-name()='formula']/*[local-name()='stem']" priority="2">
1033
944
  <fo:block>
1034
945
  <xsl:if test="ancestor::*[local-name()='td' or local-name()='th'][1][@align]">
@@ -1054,7 +965,7 @@
1054
965
  </fo:table-cell>
1055
966
  <fo:table-cell display-align="center">
1056
967
  <fo:block text-align="right">
1057
- <xsl:apply-templates select="../*[local-name()='name']" mode="presentation"/>
968
+ <xsl:apply-templates select="../*[local-name()='name']" mode="formula_number"/>
1058
969
  </fo:block>
1059
970
  </fo:table-cell>
1060
971
  </fo:table-row>
@@ -2049,6 +1960,20 @@
2049
1960
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
2050
1961
 
2051
1962
 
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
2052
1977
  </xsl:attribute-set><xsl:attribute-set name="link-style">
2053
1978
 
2054
1979
 
@@ -2058,22 +1983,32 @@
2058
1983
 
2059
1984
 
2060
1985
 
1986
+ </xsl:attribute-set><xsl:attribute-set name="sourcecode-container-style">
1987
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
1988
+
2061
1989
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
2062
1990
  <xsl:attribute name="white-space">pre</xsl:attribute>
2063
1991
  <xsl:attribute name="wrap-option">wrap</xsl:attribute>
2064
1992
  <xsl:attribute name="role">Code</xsl:attribute>
2065
1993
 
2066
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
2067
- <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2068
1994
 
2069
1995
 
2070
1996
 
2071
1997
 
2072
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
+
2073
2006
 
2074
2007
 
2075
2008
 
2076
2009
 
2010
+
2011
+
2077
2012
  </xsl:attribute-set><xsl:attribute-set name="permission-style">
2078
2013
 
2079
2014
  </xsl:attribute-set><xsl:attribute-set name="permission-name-style">
@@ -2188,7 +2123,62 @@
2188
2123
 
2189
2124
  </xsl:attribute-set><xsl:variable name="table-border_">
2190
2125
 
2191
- </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
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>
2129
+
2130
+
2131
+
2132
+
2133
+
2134
+
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
2141
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
2142
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2143
+
2144
+
2145
+
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+
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>
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+ <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+ </xsl:attribute-set><xsl:attribute-set name="table-name-style">
2192
2182
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
2193
2183
 
2194
2184
 
@@ -2199,18 +2189,177 @@
2199
2189
  <xsl:attribute name="font-size">11pt</xsl:attribute>
2200
2190
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2201
2191
  <xsl:attribute name="text-align">center</xsl:attribute>
2202
- <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
2203
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2192
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2193
+
2194
+
2195
+
2196
+
2204
2197
 
2205
2198
 
2206
2199
 
2207
2200
 
2201
+
2202
+ </xsl:attribute-set><xsl:attribute-set name="table-row-style">
2203
+ <xsl:attribute name="min-height">4mm</xsl:attribute>
2204
+
2205
+
2206
+
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>
2210
+
2211
+
2212
+ <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
2213
+ <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
2214
+
2215
+
2216
+
2217
+
2218
+
2219
+
2208
2220
 
2209
2221
 
2222
+ </xsl:attribute-set><xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
2223
+
2224
+
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>
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>
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+ <xsl:attribute name="padding-top">1mm</xsl:attribute>
2244
+
2245
+
2246
+
2247
+
2248
+
2249
+
2250
+
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>
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+
2263
+
2264
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2265
+
2266
+
2267
+
2210
2268
 
2211
2269
 
2212
2270
 
2213
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>
2276
+
2277
+
2278
+
2279
+
2280
+
2281
+
2282
+
2283
+
2284
+
2285
+ <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
2286
+
2287
+
2288
+
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>
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2300
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2301
+
2302
+
2303
+ </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2304
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2305
+
2306
+
2307
+
2308
+
2309
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
2310
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2311
+
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
+
2214
2363
 
2215
2364
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
2216
2365
 
@@ -2284,6 +2433,7 @@
2284
2433
 
2285
2434
 
2286
2435
  </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
2436
+ <xsl:attribute name="padding-right">2mm</xsl:attribute>
2287
2437
 
2288
2438
 
2289
2439
 
@@ -2354,6 +2504,9 @@
2354
2504
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2355
2505
 
2356
2506
 
2507
+ </xsl:attribute-set><xsl:attribute-set name="termsource-text-style">
2508
+
2509
+
2357
2510
  </xsl:attribute-set><xsl:attribute-set name="origin-style">
2358
2511
 
2359
2512
 
@@ -2363,6 +2516,8 @@
2363
2516
 
2364
2517
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
2365
2518
 
2519
+ </xsl:attribute-set><xsl:attribute-set name="figure-style">
2520
+
2366
2521
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2367
2522
 
2368
2523
 
@@ -2465,12 +2620,23 @@
2465
2620
 
2466
2621
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
2467
2622
  <xsl:attribute name="line-height">135%</xsl:attribute>
2468
- </xsl:attribute-set><xsl:attribute-set name="fn-style">
2469
- <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2470
- </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
2623
+ </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
2624
+ <xsl:attribute name="font-size">80%</xsl:attribute>
2471
2625
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2472
2626
 
2473
- <xsl:attribute name="font-size">65%</xsl:attribute>
2627
+
2628
+
2629
+
2630
+
2631
+
2632
+
2633
+
2634
+ </xsl:attribute-set><xsl:attribute-set name="fn-style">
2635
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2636
+ </xsl:attribute-set><xsl:attribute-set name="fn-num-style">
2637
+ <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2638
+
2639
+ <xsl:attribute name="font-size">65%</xsl:attribute>
2474
2640
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2475
2641
 
2476
2642
 
@@ -2494,7 +2660,6 @@
2494
2660
  <xsl:attribute name="text-indent">0</xsl:attribute>
2495
2661
  <xsl:attribute name="start-indent">0</xsl:attribute>
2496
2662
 
2497
-
2498
2663
  <xsl:attribute name="font-size">9pt</xsl:attribute>
2499
2664
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2500
2665
  <xsl:attribute name="line-height">124%</xsl:attribute>
@@ -2516,6 +2681,7 @@
2516
2681
 
2517
2682
 
2518
2683
 
2684
+
2519
2685
  </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2520
2686
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2521
2687
 
@@ -2539,6 +2705,190 @@
2539
2705
 
2540
2706
 
2541
2707
 
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
+
2542
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">
2543
2893
  <xsl:for-each select="/*/*[local-name()='preface']/*">
2544
2894
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -2601,10 +2951,6 @@
2601
2951
  <xsl:call-template name="getSimpleTable"/>
2602
2952
  </xsl:variable>
2603
2953
 
2604
- <!-- <xsl:if test="$namespace = 'bipm'">
2605
- <fo:block>&#xA0;</fo:block>
2606
- </xsl:if> -->
2607
-
2608
2954
 
2609
2955
  <!-- Display table's name before table as standalone block -->
2610
2956
  <!-- $namespace = 'iso' or -->
@@ -2625,7 +2971,7 @@
2625
2971
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2626
2972
 
2627
2973
 
2628
- <xsl:variable name="margin-left">
2974
+ <xsl:variable name="margin-side">
2629
2975
  <xsl:choose>
2630
2976
  <xsl:when test="sum(xalan:nodeset($colwidths)//column) &gt; 75">15</xsl:when>
2631
2977
  <xsl:otherwise>0</xsl:otherwise>
@@ -2633,78 +2979,65 @@
2633
2979
  </xsl:variable>
2634
2980
 
2635
2981
 
2636
- <fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
2637
-
2638
-
2639
- <xsl:attribute name="font-size">10pt</xsl:attribute>
2640
-
2641
-
2642
-
2643
-
2644
-
2645
-
2646
-
2647
-
2982
+ <fo:block-container xsl:use-attribute-sets="table-container-style">
2983
+
2648
2984
 
2985
+
2649
2986
 
2987
+
2650
2988
 
2651
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
2652
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2653
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2654
- <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
2989
+
2655
2990
 
2656
2991
 
2657
2992
 
2993
+
2658
2994
 
2659
2995
 
2660
2996
 
2661
2997
 
2662
2998
 
2999
+ <!-- end table block-container attributes -->
2663
3000
 
2664
3001
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2665
3002
 
2666
3003
 
3004
+ <xsl:variable name="table_width_default">100%</xsl:variable>
2667
3005
  <xsl:variable name="table_width">
2668
3006
  <!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
2669
- 100%
2670
-
2671
-
3007
+ <xsl:value-of select="$table_width_default"/>
2672
3008
  </xsl:variable>
2673
3009
 
3010
+
2674
3011
  <xsl:variable name="table_attributes">
2675
- <attribute name="table-layout">fixed</attribute>
2676
- <attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></attribute>
2677
- <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2678
- <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
2679
-
2680
-
2681
- <attribute name="border">1.5pt solid black</attribute>
2682
- <xsl:if test="*[local-name()='thead']">
2683
- <attribute name="border-top">1pt solid black</attribute>
2684
- </xsl:if>
2685
-
2686
-
2687
-
2688
-
2689
-
2690
-
2691
- <attribute name="margin-left">0mm</attribute>
2692
- <attribute name="margin-right">0mm</attribute>
2693
-
2694
-
2695
-
2696
-
2697
-
2698
-
2699
-
2700
-
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>
2701
3034
  </xsl:variable>
2702
3035
 
2703
3036
 
2704
- <fo:table id="{@id}" table-omit-footer-at-break="true">
3037
+ <fo:table id="{@id}">
2705
3038
 
2706
- <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
2707
- <xsl:attribute name="{@name}">
3039
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3040
+ <xsl:attribute name="{local-name()}">
2708
3041
  <xsl:value-of select="."/>
2709
3042
  </xsl:attribute>
2710
3043
  </xsl:for-each>
@@ -2715,7 +3048,6 @@
2715
3048
  </xsl:if>
2716
3049
 
2717
3050
 
2718
-
2719
3051
  <xsl:choose>
2720
3052
  <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2721
3053
  <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
@@ -2741,7 +3073,7 @@
2741
3073
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2742
3074
  </xsl:when>
2743
3075
  <xsl:otherwise>
2744
- <xsl:apply-templates/>
3076
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
2745
3077
  </xsl:otherwise>
2746
3078
  </xsl:choose>
2747
3079
 
@@ -2816,13 +3148,11 @@
2816
3148
  </xsl:otherwise>
2817
3149
  </xsl:choose>
2818
3150
 
2819
- </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']">
2820
3152
  <xsl:param name="continued"/>
2821
3153
  <xsl:if test="normalize-space() != ''">
2822
3154
  <fo:block xsl:use-attribute-sets="table-name-style">
2823
-
2824
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
2825
-
3155
+
2826
3156
 
2827
3157
 
2828
3158
 
@@ -2929,7 +3259,6 @@
2929
3259
  </xsl:otherwise>
2930
3260
  </xsl:choose>
2931
3261
  </xsl:variable>
2932
-
2933
3262
 
2934
3263
  <column>
2935
3264
  <xsl:for-each select="xalan:nodeset($widths)//width">
@@ -2965,7 +3294,6 @@
2965
3294
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
2966
3295
  </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
2967
3296
  <xsl:param name="cols-count"/>
2968
- <!-- font-weight="bold" -->
2969
3297
  <fo:table-header>
2970
3298
 
2971
3299
  <xsl:call-template name="table-header-title">
@@ -2981,13 +3309,13 @@
2981
3309
  <fo:table-row>
2982
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">
2983
3311
 
2984
- <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']">
2985
3313
  <xsl:with-param name="continued">true</xsl:with-param>
2986
3314
  </xsl:apply-templates>
2987
3315
 
2988
3316
 
2989
3317
  <xsl:for-each select="ancestor::*[local-name()='table'][1]">
2990
- <xsl:call-template name="fn_name_display"/>
3318
+ <xsl:call-template name="table_name_fn_display"/>
2991
3319
  </xsl:for-each>
2992
3320
 
2993
3321
  <fo:block text-align="right" font-style="italic">
@@ -3036,17 +3364,18 @@
3036
3364
  </xsl:variable>
3037
3365
 
3038
3366
  <fo:table keep-with-previous="always">
3039
- <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()"/>
3040
3369
  <xsl:choose>
3041
- <xsl:when test="@name = 'border-top'">
3042
- <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>
3043
3372
  </xsl:when>
3044
- <xsl:when test="@name = 'border'">
3045
- <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>
3046
3375
  <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
3047
3376
  </xsl:when>
3048
3377
  <xsl:otherwise>
3049
- <xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
3378
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3050
3379
  </xsl:otherwise>
3051
3380
  </xsl:choose>
3052
3381
  </xsl:for-each>
@@ -3075,11 +3404,10 @@
3075
3404
 
3076
3405
  <fo:table-body>
3077
3406
  <fo:table-row>
3078
- <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}">
3079
3408
 
3080
3409
 
3081
- <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
3082
-
3410
+
3083
3411
 
3084
3412
 
3085
3413
  <!-- fn will be processed inside 'note' processing -->
@@ -3089,9 +3417,6 @@
3089
3417
 
3090
3418
 
3091
3419
 
3092
-
3093
-
3094
-
3095
3420
  <!-- for BSI (not PAS) display Notes before footnotes -->
3096
3421
 
3097
3422
 
@@ -3105,7 +3430,7 @@
3105
3430
 
3106
3431
 
3107
3432
  <!-- fn processing -->
3108
- <xsl:call-template name="fn_display"/>
3433
+ <xsl:call-template name="table_fn_display"/>
3109
3434
 
3110
3435
  <!-- for PAS display Notes after footnotes -->
3111
3436
 
@@ -3195,90 +3520,65 @@
3195
3520
 
3196
3521
  </fo:table-body>
3197
3522
 
3198
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
3199
- <xsl:choose>
3200
- <xsl:when test="substring-after(., '—') != ''">
3201
- <xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
3202
- </xsl:when>
3203
- <xsl:otherwise>
3204
- <xsl:value-of select="."/>
3205
- </xsl:otherwise>
3206
- </xsl:choose>
3207
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
3208
- <xsl:apply-templates mode="presentation_name"/>
3209
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
3210
- <xsl:apply-templates select="."/>
3211
- </xsl:template><xsl:template match="*[local-name()='tr']">
3212
- <xsl:variable name="parent-name" select="local-name(..)"/>
3213
-
3214
- <fo:table-row min-height="4mm">
3215
- <xsl:if test="$parent-name = 'thead'">
3216
- <xsl:attribute name="font-weight">bold</xsl:attribute>
3217
-
3218
-
3219
-
3220
- <xsl:choose>
3221
- <xsl:when test="position() = 1">
3222
- <xsl:attribute name="border-top">solid black 1.5pt</xsl:attribute>
3223
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3224
- </xsl:when>
3225
- <xsl:when test="position() = last()">
3226
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3227
- <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
3228
- </xsl:when>
3229
- <xsl:otherwise>
3230
- <xsl:attribute name="border-top">solid black 1pt</xsl:attribute>
3231
- <xsl:attribute name="border-bottom">solid black 1pt</xsl:attribute>
3232
- </xsl:otherwise>
3233
- </xsl:choose>
3234
-
3235
-
3236
-
3237
-
3238
-
3239
-
3240
- </xsl:if>
3241
- <xsl:if test="$parent-name = 'tfoot'">
3242
-
3243
-
3244
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3245
- <xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
3246
- <xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
3247
-
3248
-
3249
- </xsl:if>
3250
-
3251
-
3252
-
3253
-
3254
-
3255
-
3256
-
3257
-
3258
-
3259
-
3260
- <xsl:apply-templates/>
3261
- </fo:table-row>
3262
- </xsl:template><xsl:template match="*[local-name()='th']">
3263
- <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
3264
- <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
+
3265
3529
  <xsl:choose>
3266
- <xsl:when test="@align">
3267
- <xsl:call-template name="setAlignment"/>
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>
3268
3537
  </xsl:when>
3269
- <xsl:otherwise>center</xsl:otherwise>
3270
3538
  </xsl:choose>
3271
- </xsl:attribute>
3272
3539
 
3540
+
3273
3541
 
3274
- <xsl:attribute name="padding-top">1mm</xsl:attribute>
3275
3542
 
3543
+ <xsl:call-template name="setTableRowAttributes"/>
3544
+
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">
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
+
3276
3556
 
3557
+
3277
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>
3278
3577
 
3279
3578
 
3280
3579
 
3281
3580
 
3581
+
3282
3582
 
3283
3583
 
3284
3584
 
@@ -3287,21 +3587,25 @@
3287
3587
  <xsl:if test="$lang = 'ar'">
3288
3588
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3289
3589
  </xsl:if>
3290
- <xsl:if test="@colspan">
3291
- <xsl:attribute name="number-columns-spanned">
3292
- <xsl:value-of select="@colspan"/>
3293
- </xsl:attribute>
3294
- </xsl:if>
3295
- <xsl:if test="@rowspan">
3296
- <xsl:attribute name="number-rows-spanned">
3297
- <xsl:value-of select="@rowspan"/>
3298
- </xsl:attribute>
3299
- </xsl:if>
3300
- <xsl:call-template name="display-align"/>
3590
+
3591
+ <xsl:call-template name="setTableCellAttributes"/>
3592
+
3301
3593
  <fo:block>
3302
3594
  <xsl:apply-templates/>
3303
3595
  </fo:block>
3304
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"/>
3305
3609
  </xsl:template><xsl:template name="display-align">
3306
3610
  <xsl:if test="@valign">
3307
3611
  <xsl:attribute name="display-align">
@@ -3314,94 +3618,78 @@
3314
3618
  </xsl:attribute>
3315
3619
  </xsl:if>
3316
3620
  </xsl:template><xsl:template match="*[local-name()='td']">
3317
- <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
3318
- <xsl:attribute name="text-align">
3319
- <xsl:choose>
3320
- <xsl:when test="@align">
3321
- <xsl:call-template name="setAlignment"/>
3322
- </xsl:when>
3323
- <xsl:otherwise>left</xsl:otherwise>
3324
- </xsl:choose>
3325
- </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
+
3326
3626
  <xsl:if test="$lang = 'ar'">
3327
3627
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3328
3628
  </xsl:if>
3329
- <!-- and ancestor::*[local-name() = 'thead'] -->
3330
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3331
3629
 
3332
3630
 
3333
3631
 
3334
- <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
3335
- <xsl:attribute name="padding-left">0mm</xsl:attribute>
3336
- </xsl:if>
3632
+ <!-- bsi -->
3337
3633
 
3338
3634
 
3339
3635
 
3340
- <xsl:if test="ancestor::*[local-name() = 'tfoot']">
3341
- <xsl:attribute name="border">solid black 0</xsl:attribute>
3342
- </xsl:if>
3343
3636
 
3344
3637
 
3345
3638
 
3346
3639
 
3347
3640
 
3641
+
3348
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>
3349
3649
 
3350
3650
 
3351
3651
 
3352
3652
 
3353
3653
 
3354
3654
 
3355
- <xsl:if test=".//*[local-name() = 'table']">
3655
+ <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3356
3656
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
3357
3657
  </xsl:if>
3358
- <xsl:if test="@colspan">
3359
- <xsl:attribute name="number-columns-spanned">
3360
- <xsl:value-of select="@colspan"/>
3361
- </xsl:attribute>
3362
- </xsl:if>
3363
- <xsl:if test="@rowspan">
3364
- <xsl:attribute name="number-rows-spanned">
3365
- <xsl:value-of select="@rowspan"/>
3366
- </xsl:attribute>
3367
- </xsl:if>
3368
- <xsl:call-template name="display-align"/>
3658
+
3659
+ <xsl:call-template name="setTableCellAttributes"/>
3660
+
3369
3661
  <fo:block>
3370
-
3662
+
3663
+
3664
+
3371
3665
  <xsl:apply-templates/>
3372
3666
  </fo:block>
3373
3667
  </fo:table-cell>
3374
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
+
3375
3675
 
3376
-
3377
- <fo:block font-size="10pt" margin-bottom="12pt">
3378
-
3676
+ <!-- Table's note name (NOTE, for example) -->
3677
+ <fo:inline xsl:use-attribute-sets="table-note-name-style">
3379
3678
 
3380
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3381
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3382
3679
 
3383
3680
 
3384
3681
 
3385
3682
 
3386
3683
 
3387
3684
 
3388
-
3389
- <!-- Table's note name (NOTE, for example) -->
3390
-
3391
- <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3392
-
3685
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3393
3686
 
3394
-
3395
-
3396
-
3397
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
3398
-
3399
- </fo:inline>
3400
-
3401
-
3402
-
3403
- <xsl:apply-templates mode="process"/>
3404
- </fo:block>
3687
+ </fo:inline>
3688
+
3689
+
3690
+
3691
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
3692
+ </fo:block>
3405
3693
 
3406
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">
3407
3695
  <xsl:apply-templates/>
@@ -3481,8 +3769,7 @@
3481
3769
  <xsl:copy-of select="$footnote_inline"/>
3482
3770
  <fo:footnote-body>
3483
3771
 
3484
- <fo:block-container text-indent="0" start-indent="0">
3485
-
3772
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3486
3773
 
3487
3774
  <fo:block xsl:use-attribute-sets="fn-body-style">
3488
3775
 
@@ -3501,7 +3788,7 @@
3501
3788
  <xsl:copy-of select="$footnote_inline"/>
3502
3789
  </xsl:otherwise>
3503
3790
  </xsl:choose>
3504
- </xsl:template><xsl:template name="fn_display">
3791
+ </xsl:template><xsl:template name="table_fn_display">
3505
3792
  <xsl:variable name="references">
3506
3793
 
3507
3794
  <xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
@@ -3512,35 +3799,26 @@
3512
3799
  <xsl:for-each select="xalan:nodeset($references)//fn">
3513
3800
  <xsl:variable name="reference" select="@reference"/>
3514
3801
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
3515
- <fo:block margin-bottom="12pt">
3802
+ <fo:block xsl:use-attribute-sets="table-fn-style">
3516
3803
 
3517
3804
 
3518
3805
 
3519
- <xsl:attribute name="font-size">9pt</xsl:attribute>
3520
- <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
3521
-
3522
-
3523
-
3524
-
3525
-
3526
- <fo:inline font-size="80%" padding-right="5mm" id="{@id}">
3806
+ <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
3527
3807
 
3528
3808
 
3529
- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
3530
3809
 
3531
3810
 
3532
3811
 
3812
+ <xsl:value-of select="@reference"/>
3533
3813
 
3534
3814
 
3535
3815
 
3536
3816
 
3537
- <xsl:value-of select="@reference"/>
3538
3817
 
3539
3818
 
3540
3819
 
3541
3820
  </fo:inline>
3542
- <fo:inline>
3543
-
3821
+ <fo:inline xsl:use-attribute-sets="table-fn-body-style">
3544
3822
  <xsl:copy-of select="./node()"/>
3545
3823
  </fo:inline>
3546
3824
  </fo:block>
@@ -3552,7 +3830,7 @@
3552
3830
 
3553
3831
  <xsl:apply-templates/>
3554
3832
  </fn>
3555
- </xsl:template><xsl:template name="fn_name_display">
3833
+ </xsl:template><xsl:template name="table_name_fn_display">
3556
3834
  <xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
3557
3835
  <xsl:variable name="reference" select="@reference"/>
3558
3836
  <fo:block id="{@reference}_{ancestor::*[@id][1]/@id}"><xsl:value-of select="@reference"/></fo:block>
@@ -3561,9 +3839,7 @@
3561
3839
  </fo:block>
3562
3840
  </xsl:for-each>
3563
3841
  </xsl:template><xsl:template name="fn_display_figure">
3564
- <xsl:variable name="key_iso">
3565
- true <!-- and (not(@class) or @class !='pseudocode') -->
3566
- </xsl:variable>
3842
+
3567
3843
  <xsl:variable name="references">
3568
3844
  <xsl:for-each select=".//*[local-name()='fn'][not(parent::*[local-name()='name'])]">
3569
3845
  <fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
@@ -3571,48 +3847,52 @@
3571
3847
  </fn>
3572
3848
  </xsl:for-each>
3573
3849
  </xsl:variable>
3850
+
3851
+ <xsl:if test="xalan:nodeset($references)//fn">
3574
3852
 
3575
- <!-- current hierarchy is 'figure' element -->
3576
- <xsl:variable name="following_dl_colwidths">
3577
- <xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
3578
- <xsl:variable name="html-table">
3579
- <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>
3580
3874
 
3581
- </xsl:variable>
3582
- <xsl:variable name="ns">
3583
- <xsl:choose>
3584
- <xsl:when test="normalize-space($doc_ns) != ''">
3585
- <xsl:value-of select="normalize-space($doc_ns)"/>
3586
- </xsl:when>
3587
- <xsl:otherwise>
3588
- <xsl:value-of select="substring-before(name(/*), '-')"/>
3589
- </xsl:otherwise>
3590
- </xsl:choose>
3875
+ <xsl:for-each select="*[local-name() = 'dl'][1]">
3876
+ <tbody>
3877
+ <xsl:apply-templates mode="dl"/>
3878
+ </tbody>
3879
+ </xsl:for-each>
3591
3880
  </xsl:variable>
3592
3881
 
3593
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3594
- <tbody>
3595
- <xsl:apply-templates mode="dl"/>
3596
- </tbody>
3597
- </xsl:for-each>
3598
- </xsl:variable>
3599
-
3600
- <xsl:call-template name="calculate-column-widths">
3601
- <xsl:with-param name="cols-count" select="2"/>
3602
- <xsl:with-param name="table" select="$html-table"/>
3603
- </xsl:call-template>
3604
-
3605
- </xsl:if>
3606
- </xsl:variable>
3607
-
3608
-
3609
- <xsl:variable name="maxlength_dt">
3610
- <xsl:for-each select="*[local-name() = 'dl'][1]">
3611
- <xsl:call-template name="getMaxLength_dt"/>
3612
- </xsl:for-each>
3613
- </xsl:variable>
3614
-
3615
- <xsl:if test="xalan:nodeset($references)//fn">
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
+
3616
3896
  <fo:block>
3617
3897
  <fo:table width="95%" table-layout="fixed">
3618
3898
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3639,20 +3919,18 @@
3639
3919
  <fo:table-row>
3640
3920
  <fo:table-cell>
3641
3921
  <fo:block>
3642
- <fo:inline font-size="80%" padding-right="5mm" vertical-align="super" id="{@id}">
3643
-
3922
+ <fo:inline id="{@id}" xsl:use-attribute-sets="figure-fn-number-style">
3644
3923
  <xsl:value-of select="@reference"/>
3645
3924
  </fo:inline>
3646
3925
  </fo:block>
3647
3926
  </fo:table-cell>
3648
3927
  <fo:table-cell>
3649
- <fo:block text-align="justify" margin-bottom="12pt">
3650
-
3928
+ <fo:block xsl:use-attribute-sets="figure-fn-body-style">
3651
3929
  <xsl:if test="normalize-space($key_iso) = 'true'">
3652
- <xsl:attribute name="margin-bottom">0</xsl:attribute>
3930
+
3931
+ <xsl:attribute name="margin-bottom">0</xsl:attribute>
3932
+
3653
3933
  </xsl:if>
3654
-
3655
- <!-- <xsl:apply-templates /> -->
3656
3934
  <xsl:copy-of select="./node()"/>
3657
3935
  </fo:block>
3658
3936
  </fo:table-cell>
@@ -3665,7 +3943,8 @@
3665
3943
  </xsl:if>
3666
3944
 
3667
3945
  </xsl:template><xsl:template match="*[local-name()='fn']">
3668
- <fo:inline font-size="80%" keep-with-previous.within-line="always">
3946
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
3947
+
3669
3948
 
3670
3949
 
3671
3950
 
@@ -3675,12 +3954,6 @@
3675
3954
  </xsl:if>
3676
3955
 
3677
3956
 
3678
-
3679
-
3680
-
3681
-
3682
-
3683
-
3684
3957
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3685
3958
 
3686
3959
 
@@ -3720,9 +3993,9 @@
3720
3993
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
3721
3994
  </xsl:call-template>
3722
3995
 
3723
- <fo:block-container>
3996
+ <fo:block-container margin-left="0mm">
3997
+
3724
3998
 
3725
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
3726
3999
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
3727
4000
 
3728
4001
 
@@ -3950,12 +4223,12 @@
3950
4223
  <xsl:if test="normalize-space($key_iso) = 'true'">
3951
4224
  <xsl:attribute name="margin-top">0</xsl:attribute>
3952
4225
  </xsl:if>
3953
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4226
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
3954
4227
  </fo:block>
3955
4228
  </fo:table-cell>
3956
4229
  <fo:table-cell>
3957
4230
  <fo:block>
3958
- <xsl:apply-templates/>
4231
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3959
4232
  </fo:block>
3960
4233
  </fo:table-cell>
3961
4234
  </fo:table-row>
@@ -3974,28 +4247,18 @@
3974
4247
  </xsl:template><xsl:template match="*[local-name()='dt']">
3975
4248
  <xsl:param name="key_iso"/>
3976
4249
 
3977
- <fo:table-row>
3978
-
3979
-
4250
+ <fo:table-row xsl:use-attribute-sets="dt-row-style">
3980
4251
  <fo:table-cell>
3981
4252
 
3982
- <fo:block margin-top="6pt">
4253
+ <fo:block xsl:use-attribute-sets="dt-style">
3983
4254
  <xsl:copy-of select="@id"/>
3984
4255
 
3985
- <xsl:attribute name="margin-top">0pt</xsl:attribute>
3986
-
3987
-
3988
4256
  <xsl:if test="normalize-space($key_iso) = 'true'">
3989
4257
  <xsl:attribute name="margin-top">0</xsl:attribute>
3990
-
3991
4258
  </xsl:if>
3992
4259
 
3993
4260
 
3994
4261
 
3995
-
3996
-
3997
-
3998
-
3999
4262
  <xsl:apply-templates/>
4000
4263
  </fo:block>
4001
4264
  </fo:table-cell>
@@ -4035,6 +4298,7 @@
4035
4298
  </fo:inline>
4036
4299
  </xsl:template><xsl:template match="*[local-name()='tt']">
4037
4300
  <fo:inline xsl:use-attribute-sets="tt-style">
4301
+
4038
4302
  <xsl:variable name="_font-size">
4039
4303
 
4040
4304
 
@@ -4071,15 +4335,21 @@
4071
4335
  <xsl:apply-templates/>
4072
4336
  </fo:inline>
4073
4337
  </xsl:template><xsl:template match="*[local-name()='add']">
4338
+ <xsl:param name="skip">true</xsl:param>
4074
4339
  <xsl:choose>
4075
4340
  <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
4076
- <fo:inline>
4077
- <xsl:call-template name="insertTag">
4078
- <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
4079
- <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
4080
- <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
4081
- </xsl:call-template>
4082
- </fo:inline>
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>
4083
4353
  </xsl:when>
4084
4354
  <xsl:when test="@amendment">
4085
4355
  <fo:inline>
@@ -4493,6 +4763,7 @@
4493
4763
  <xsl:apply-templates select="." mode="mathml"/>
4494
4764
  </xsl:variable>
4495
4765
  <fo:instream-foreign-object fox:alt-text="Math">
4766
+
4496
4767
 
4497
4768
 
4498
4769
  <xsl:variable name="comment_text_following" select="following-sibling::node()[1][self::comment()]"/>
@@ -4524,6 +4795,7 @@
4524
4795
  </xsl:attribute>
4525
4796
 
4526
4797
 
4798
+
4527
4799
  <xsl:copy-of select="xalan:nodeset($mathml)"/>
4528
4800
  </fo:instream-foreign-object>
4529
4801
  </fo:inline>
@@ -4582,6 +4854,10 @@
4582
4854
 
4583
4855
 
4584
4856
 
4857
+
4858
+
4859
+
4860
+
4585
4861
  <xsl:choose>
4586
4862
  <xsl:when test="$target_text = ''">
4587
4863
  <xsl:apply-templates/>
@@ -4639,7 +4915,6 @@
4639
4915
  </fo:inline>
4640
4916
  </xsl:template><xsl:template match="*[local-name() = 'xref']">
4641
4917
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
4642
-
4643
4918
  <xsl:apply-templates/>
4644
4919
  </fo:basic-link>
4645
4920
  </xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
@@ -4667,18 +4942,24 @@
4667
4942
  <fo:inline>
4668
4943
  <xsl:apply-templates/>
4669
4944
  </fo:inline>
4670
- </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 -->
4671
4946
  <xsl:if test="normalize-space() != ''">
4672
4947
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
4673
4948
  </xsl:if>
4674
4949
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
4675
4950
 
4676
4951
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
4952
+
4953
+
4677
4954
 
4678
4955
 
4679
4956
 
4680
4957
 
4681
4958
 
4959
+
4960
+
4961
+
4962
+
4682
4963
  <fo:block-container margin-left="0mm">
4683
4964
 
4684
4965
 
@@ -4689,15 +4970,27 @@
4689
4970
  <fo:block>
4690
4971
 
4691
4972
 
4973
+
4692
4974
 
4693
4975
 
4694
4976
 
4695
4977
 
4696
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']"/>
4697
4990
 
4698
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4699
4991
  </fo:inline>
4700
- <xsl:apply-templates/>
4992
+
4993
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4701
4994
  </fo:block>
4702
4995
 
4703
4996
  </fo:block-container>
@@ -4706,7 +4999,7 @@
4706
4999
  </xsl:template><xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
4707
5000
  <xsl:variable name="num"><xsl:number/></xsl:variable>
4708
5001
  <xsl:choose>
4709
- <xsl:when test="$num = 1">
5002
+ <xsl:when test="$num = 1"> <!-- display first NOTE's paragraph in the same line with label NOTE -->
4710
5003
  <fo:inline xsl:use-attribute-sets="note-p-style">
4711
5004
  <xsl:apply-templates/>
4712
5005
  </fo:inline>
@@ -4721,12 +5014,16 @@
4721
5014
  <fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
4722
5015
 
4723
5016
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
5017
+
5018
+
5019
+
5020
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4724
5021
 
4725
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
4726
5022
  </fo:inline>
4727
- <xsl:apply-templates/>
5023
+
5024
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4728
5025
  </fo:block>
4729
- </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']">
4730
5027
  <xsl:param name="sfx"/>
4731
5028
  <xsl:variable name="suffix">
4732
5029
  <xsl:choose>
@@ -4743,7 +5040,7 @@
4743
5040
  <xsl:apply-templates/>
4744
5041
  <xsl:value-of select="$suffix"/>
4745
5042
  </xsl:if>
4746
- </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']">
4747
5044
  <xsl:param name="sfx"/>
4748
5045
  <xsl:variable name="suffix">
4749
5046
  <xsl:choose>
@@ -4773,12 +5070,14 @@
4773
5070
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
4774
5071
 
4775
5072
 
5073
+
5074
+
4776
5075
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
4777
5076
 
4778
5077
  </xsl:if>
4779
- <xsl:apply-templates/>
5078
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4780
5079
  </fo:block>
4781
- </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']">
4782
5081
  <xsl:if test="normalize-space() != ''">
4783
5082
  <xsl:variable name="level">
4784
5083
  <xsl:call-template name="getLevelTermName"/>
@@ -4797,9 +5096,10 @@
4797
5096
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4798
5097
  </xsl:call-template>
4799
5098
 
4800
- <fo:block>
4801
-
4802
- <xsl:apply-templates/>
5099
+
5100
+
5101
+ <fo:block xsl:use-attribute-sets="figure-style">
5102
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4803
5103
  </fo:block>
4804
5104
  <xsl:call-template name="fn_display_figure"/>
4805
5105
  <xsl:for-each select="*[local-name() = 'note']">
@@ -4807,15 +5107,15 @@
4807
5107
  </xsl:for-each>
4808
5108
 
4809
5109
 
4810
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5110
+ <xsl:apply-templates select="*[local-name() = 'name']"/> <!-- show figure's name AFTER image -->
4811
5111
 
4812
5112
 
4813
5113
  </fo:block-container>
4814
5114
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
4815
5115
  <fo:block id="{@id}">
4816
- <xsl:apply-templates/>
5116
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
4817
5117
  </fo:block>
4818
- <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
5118
+ <xsl:apply-templates select="*[local-name() = 'name']"/>
4819
5119
  </xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']//*[local-name() = 'p']">
4820
5120
  <fo:block xsl:use-attribute-sets="figure-pseudocode-p-style">
4821
5121
  <xsl:apply-templates/>
@@ -5192,7 +5492,7 @@
5192
5492
  </fo:basic-link>
5193
5493
  </fo:block>
5194
5494
  </fo:block-container>
5195
- </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">
5196
5496
  <xsl:apply-templates mode="contents"/>
5197
5497
  <xsl:text> </xsl:text>
5198
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">
@@ -5415,7 +5715,7 @@
5415
5715
  <xsl:apply-templates mode="bookmark"/>
5416
5716
  </xsl:otherwise>
5417
5717
  </xsl:choose>
5418
- </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']">
5419
5719
  <xsl:if test="normalize-space() != ''">
5420
5720
  <fo:block xsl:use-attribute-sets="figure-name-style">
5421
5721
 
@@ -5499,16 +5799,21 @@
5499
5799
  <xsl:apply-templates mode="contents_item">
5500
5800
  <xsl:with-param name="mode" select="$mode"/>
5501
5801
  </xsl:apply-templates>
5502
- </xsl:template><xsl:template match="*[local-name() = 'add'][starts-with(text(), $ace_tag)]" mode="contents_item">
5802
+ </xsl:template><xsl:template match="*[local-name() = 'add']" mode="contents_item">
5503
5803
  <xsl:param name="mode">bookmarks</xsl:param>
5504
- <xsl:if test="$mode = 'contents'">
5505
- <xsl:copy>
5506
- <xsl:apply-templates mode="contents_item"/>
5507
- </xsl:copy>
5508
- </xsl:if>
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>
5509
5814
  </xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
5510
5815
 
5511
- <fo:block-container margin-left="0mm">
5816
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
5512
5817
  <xsl:copy-of select="@id"/>
5513
5818
 
5514
5819
  <xsl:if test="parent::*[local-name() = 'note']">
@@ -5545,6 +5850,7 @@
5545
5850
 
5546
5851
 
5547
5852
  </xsl:variable>
5853
+
5548
5854
  <xsl:variable name="font-size" select="normalize-space($_font-size)"/>
5549
5855
  <xsl:if test="$font-size != ''">
5550
5856
  <xsl:attribute name="font-size">
@@ -5561,11 +5867,11 @@
5561
5867
 
5562
5868
 
5563
5869
 
5564
- <xsl:apply-templates/>
5870
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5565
5871
  </fo:block>
5566
5872
 
5567
5873
 
5568
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5874
+ <xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
5569
5875
 
5570
5876
 
5571
5877
 
@@ -5579,7 +5885,7 @@
5579
5885
  <xsl:call-template name="add-zero-spaces-java">
5580
5886
  <xsl:with-param name="text" select="$text"/>
5581
5887
  </xsl:call-template>
5582
- </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']">
5583
5889
  <xsl:if test="normalize-space() != ''">
5584
5890
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
5585
5891
  <xsl:apply-templates/>
@@ -5587,10 +5893,10 @@
5587
5893
  </xsl:if>
5588
5894
  </xsl:template><xsl:template match="*[local-name() = 'permission']">
5589
5895
  <fo:block id="{@id}" xsl:use-attribute-sets="permission-style">
5590
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5591
- <xsl:apply-templates/>
5896
+ <xsl:apply-templates select="*[local-name()='name']"/>
5897
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5592
5898
  </fo:block>
5593
- </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']">
5594
5900
  <xsl:if test="normalize-space() != ''">
5595
5901
  <fo:block xsl:use-attribute-sets="permission-name-style">
5596
5902
  <xsl:apply-templates/>
@@ -5603,13 +5909,13 @@
5603
5909
  </fo:block>
5604
5910
  </xsl:template><xsl:template match="*[local-name() = 'requirement']">
5605
5911
  <fo:block id="{@id}" xsl:use-attribute-sets="requirement-style">
5606
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5607
- <xsl:apply-templates select="*[local-name()='label']" mode="presentation"/>
5608
- <xsl:apply-templates select="@obligation" mode="presentation"/>
5609
- <xsl:apply-templates select="*[local-name()='subject']" mode="presentation"/>
5610
- <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')]"/>
5611
5917
  </fo:block>
5612
- </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']">
5613
5919
  <xsl:if test="normalize-space() != ''">
5614
5920
  <fo:block xsl:use-attribute-sets="requirement-name-style">
5615
5921
 
@@ -5617,20 +5923,24 @@
5617
5923
 
5618
5924
  </fo:block>
5619
5925
  </xsl:if>
5620
- </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']">
5621
5927
  <fo:block xsl:use-attribute-sets="requirement-label-style">
5622
5928
  <xsl:apply-templates/>
5623
5929
  </fo:block>
5624
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation" mode="presentation">
5930
+ </xsl:template><xsl:template match="*[local-name() = 'requirement']/@obligation">
5625
5931
  <fo:block>
5626
5932
  <fo:inline padding-right="3mm">Obligation</fo:inline><xsl:value-of select="."/>
5627
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>
5628
5938
  </xsl:template><xsl:template match="*[local-name() = 'recommendation']">
5629
5939
  <fo:block id="{@id}" xsl:use-attribute-sets="recommendation-style">
5630
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5631
- <xsl:apply-templates/>
5940
+ <xsl:apply-templates select="*[local-name()='name']"/>
5941
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5632
5942
  </fo:block>
5633
- </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']">
5634
5944
  <xsl:if test="normalize-space() != ''">
5635
5945
  <fo:block xsl:use-attribute-sets="recommendation-name-style">
5636
5946
  <xsl:apply-templates/>
@@ -5641,10 +5951,6 @@
5641
5951
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
5642
5952
  <xsl:apply-templates/>
5643
5953
  </fo:block>
5644
- </xsl:template><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" priority="2"/><xsl:template match="*[local-name() = 'requirement']/*[local-name() = 'subject']" mode="presentation">
5645
- <fo:block xsl:use-attribute-sets="subject-style">
5646
- <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
5647
- </fo:block>
5648
5954
  </xsl:template><xsl:template match="*[local-name() = 'subject']">
5649
5955
  <fo:block xsl:use-attribute-sets="subject-style">
5650
5956
  <xsl:text>Target Type </xsl:text><xsl:apply-templates/>
@@ -5697,7 +6003,7 @@
5697
6003
  <xsl:if test=".//*[local-name() = 'fn']">
5698
6004
  <xsl:for-each select="*[local-name() = 'tbody']">
5699
6005
  <fo:block font-size="90%" border-bottom="1pt solid black">
5700
- <xsl:call-template name="fn_display"/>
6006
+ <xsl:call-template name="table_fn_display"/>
5701
6007
  </fo:block>
5702
6008
  </xsl:for-each>
5703
6009
  </xsl:if>
@@ -5726,25 +6032,11 @@
5726
6032
  </fo:table-row>
5727
6033
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
5728
6034
  <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm"> <!-- border="0.5pt solid black" -->
5729
- <xsl:attribute name="text-align">
5730
- <xsl:choose>
5731
- <xsl:when test="@align">
5732
- <xsl:value-of select="@align"/>
5733
- </xsl:when>
5734
- <xsl:otherwise>left</xsl:otherwise>
5735
- </xsl:choose>
5736
- </xsl:attribute>
5737
- <xsl:if test="@colspan">
5738
- <xsl:attribute name="number-columns-spanned">
5739
- <xsl:value-of select="@colspan"/>
5740
- </xsl:attribute>
5741
- </xsl:if>
5742
- <xsl:if test="@rowspan">
5743
- <xsl:attribute name="number-rows-spanned">
5744
- <xsl:value-of select="@rowspan"/>
5745
- </xsl:attribute>
5746
- </xsl:if>
5747
- <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>
6038
+
6039
+ <xsl:call-template name="setTableCellAttributes"/>
5748
6040
 
5749
6041
  <fo:block>
5750
6042
  <xsl:apply-templates/>
@@ -5756,28 +6048,15 @@
5756
6048
  <xsl:attribute name="padding">0mm</xsl:attribute>
5757
6049
  <xsl:attribute name="padding-left">0mm</xsl:attribute>
5758
6050
  </xsl:if>
5759
- <xsl:attribute name="text-align">
5760
- <xsl:choose>
5761
- <xsl:when test="@align">
5762
- <xsl:value-of select="@align"/>
5763
- </xsl:when>
5764
- <xsl:otherwise>left</xsl:otherwise>
5765
- </xsl:choose>
5766
- </xsl:attribute>
6051
+ <xsl:call-template name="setTextAlignment">
6052
+ <xsl:with-param name="default">left</xsl:with-param>
6053
+ </xsl:call-template>
6054
+
5767
6055
  <xsl:if test="following-sibling::*[local-name()='td'] and not(preceding-sibling::*[local-name()='td'])">
5768
6056
  <xsl:attribute name="font-weight">bold</xsl:attribute>
5769
6057
  </xsl:if>
5770
- <xsl:if test="@colspan">
5771
- <xsl:attribute name="number-columns-spanned">
5772
- <xsl:value-of select="@colspan"/>
5773
- </xsl:attribute>
5774
- </xsl:if>
5775
- <xsl:if test="@rowspan">
5776
- <xsl:attribute name="number-rows-spanned">
5777
- <xsl:value-of select="@rowspan"/>
5778
- </xsl:attribute>
5779
- </xsl:if>
5780
- <xsl:call-template name="display-align"/>
6058
+
6059
+ <xsl:call-template name="setTableCellAttributes"/>
5781
6060
 
5782
6061
  <fo:block>
5783
6062
  <xsl:apply-templates/>
@@ -5794,10 +6073,10 @@
5794
6073
  </fo:block>
5795
6074
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
5796
6075
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
5797
- <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
5798
- <xsl:apply-templates/>
6076
+ <xsl:apply-templates select="*[local-name()='name']"/>
6077
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
5799
6078
  </fo:block>
5800
- </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']">
5801
6080
  <xsl:if test="normalize-space() != ''">
5802
6081
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
5803
6082
  <xsl:apply-templates/>
@@ -5823,9 +6102,7 @@
5823
6102
 
5824
6103
  <xsl:variable name="fo_element">
5825
6104
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl']">block</xsl:if>
5826
-
5827
6105
  inline
5828
-
5829
6106
  </xsl:variable>
5830
6107
 
5831
6108
  <!-- display 'EXAMPLE' -->
@@ -5903,6 +6180,8 @@
5903
6180
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5904
6181
  <fo:block xsl:use-attribute-sets="termsource-style">
5905
6182
 
6183
+
6184
+
5906
6185
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5907
6186
  <xsl:variable name="termsource_text">
5908
6187
  <xsl:apply-templates/>
@@ -5940,9 +6219,7 @@
5940
6219
  <xsl:value-of select="."/>
5941
6220
  </xsl:if>
5942
6221
  </xsl:template><xsl:template match="*[local-name() = 'termsource']/*[local-name() = 'strong'][1][following-sibling::*[1][local-name() = 'origin']]/text()">
5943
- <fo:inline>
5944
-
5945
-
6222
+ <fo:inline xsl:use-attribute-sets="termsource-text-style">
5946
6223
  <xsl:value-of select="."/>
5947
6224
  </fo:inline>
5948
6225
  </xsl:template><xsl:template match="*[local-name() = 'origin']">
@@ -6037,7 +6314,7 @@
6037
6314
  </xsl:variable>
6038
6315
 
6039
6316
  <xsl:choose>
6040
- <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 -->
6041
6318
  <fo:inline xsl:use-attribute-sets="eref-style">
6042
6319
  <xsl:if test="@type = 'footnote'">
6043
6320
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
@@ -6060,7 +6337,6 @@
6060
6337
 
6061
6338
 
6062
6339
 
6063
-
6064
6340
  </xsl:if>
6065
6341
 
6066
6342
 
@@ -6118,7 +6394,6 @@
6118
6394
  </xsl:choose>
6119
6395
  </xsl:variable>
6120
6396
 
6121
-
6122
6397
  <xsl:choose>
6123
6398
  <xsl:when test="$lang = 'zh'">
6124
6399
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -6218,11 +6493,6 @@
6218
6493
  <xsl:apply-templates/>
6219
6494
  </fo:block>
6220
6495
  </xsl:template><xsl:template match="*[local-name() = 'definitions']">
6221
- <fo:block id="{@id}">
6222
- <xsl:apply-templates/>
6223
- </fo:block>
6224
- </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']">
6225
-
6226
6496
  <fo:block id="{@id}">
6227
6497
  <xsl:apply-templates/>
6228
6498
  </fo:block>
@@ -6492,64 +6762,105 @@
6492
6762
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
6493
6763
  <fo:block><xsl:apply-templates/></fo:block>
6494
6764
  </fo:table-cell>
6495
- </xsl:template><xsl:template name="processBibitem">
6496
-
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">
6497
6766
 
6498
6767
 
6499
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>
6500
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> -->
6501
6784
 
6785
+ <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
6786
+ <xsl:apply-templates/>
6787
+ </fo:block>
6502
6788
 
6503
6789
 
6504
6790
 
6505
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">
6506
6795
 
6507
-
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
+
6508
6828
 
6829
+ </xsl:template><xsl:template name="processBibitem">
6509
6830
 
6510
-
6511
6831
 
6512
- <!-- start JCGM bibitem processing -->
6513
- <xsl:variable name="docidentifier">
6514
- <xsl:if test="*[local-name()='docidentifier']">
6832
+ <!-- start JCGM bibitem processing -->
6833
+ <xsl:variable name="docidentifier">
6515
6834
  <xsl:choose>
6516
6835
  <xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
6517
6836
  <xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
6518
6837
  </xsl:choose>
6519
- </xsl:if>
6520
- </xsl:variable>
6521
- <xsl:value-of select="$docidentifier"/>
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 -->
6522
6863
 
6523
- <xsl:choose>
6524
- <xsl:when test="*[local-name()='formattedref']">
6525
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6526
- <xsl:apply-templates select="*[local-name()='formattedref']"/>
6527
- </xsl:when>
6528
- <xsl:otherwise>
6529
- <xsl:apply-templates select="*[local-name()='note']"/>
6530
- <xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
6531
- <xsl:choose>
6532
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
6533
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
6534
- </xsl:when>
6535
- <xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
6536
- <xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
6537
- </xsl:when>
6538
- <xsl:otherwise>
6539
- <xsl:apply-templates select="*[local-name()='title']"/>
6540
- </xsl:otherwise>
6541
- </xsl:choose>
6542
- </xsl:otherwise>
6543
- </xsl:choose>
6544
- <!-- end JCGM bibitem processing -->
6545
-
6546
-
6547
-
6548
-
6549
-
6550
-
6551
-
6552
-
6553
6864
  </xsl:template><xsl:template name="processBibitemDocId">
6554
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')]"/>
6555
6866
  <xsl:choose>
@@ -6606,6 +6917,52 @@
6606
6917
  <xsl:value-of select="substring(.,1,1)"/>
6607
6918
  </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
6608
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/>
6609
6966
  </xsl:template><xsl:template match="*[local-name() = 'form']">
6610
6967
  <fo:block>
6611
6968
  <xsl:apply-templates/>
@@ -6776,6 +7133,56 @@
6776
7133
  <xsl:copy-of select="."/>
6777
7134
  </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
6778
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
+
6779
7186
  </xsl:template><xsl:template name="convertDate">
6780
7187
  <xsl:param name="date"/>
6781
7188
  <xsl:param name="format" select="'short'"/>
@@ -6784,78 +7191,39 @@
6784
7191
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
6785
7192
  <xsl:variable name="monthStr">
6786
7193
  <xsl:choose>
6787
- <xsl:when test="$month = '01'">January</xsl:when>
6788
- <xsl:when test="$month = '02'">February</xsl:when>
6789
- <xsl:when test="$month = '03'">March</xsl:when>
6790
- <xsl:when test="$month = '04'">April</xsl:when>
6791
- <xsl:when test="$month = '05'">May</xsl:when>
6792
- <xsl:when test="$month = '06'">June</xsl:when>
6793
- <xsl:when test="$month = '07'">July</xsl:when>
6794
- <xsl:when test="$month = '08'">August</xsl:when>
6795
- <xsl:when test="$month = '09'">September</xsl:when>
6796
- <xsl:when test="$month = '10'">October</xsl:when>
6797
- <xsl:when test="$month = '11'">November</xsl:when>
6798
- <xsl:when test="$month = '12'">December</xsl:when>
6799
- </xsl:choose>
6800
- </xsl:variable>
6801
- <xsl:variable name="result">
6802
- <xsl:choose>
6803
- <xsl:when test="$format = 'ddMMyyyy'">
6804
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6805
- <xsl:text> </xsl:text>
6806
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
6807
- </xsl:when>
6808
- <xsl:when test="$format = 'ddMM'">
6809
- <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6810
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
6811
- </xsl:when>
6812
- <xsl:when test="$format = 'short' or $day = ''">
6813
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
6814
- </xsl:when>
6815
- <xsl:otherwise>
6816
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
6817
- </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>
6818
7206
  </xsl:choose>
6819
7207
  </xsl:variable>
6820
- <xsl:value-of select="$result"/>
6821
- </xsl:template><xsl:template name="convertDateLocalized">
6822
- <xsl:param name="date"/>
6823
- <xsl:param name="format" select="'short'"/>
6824
- <xsl:variable name="year" select="substring($date, 1, 4)"/>
6825
- <xsl:variable name="month" select="substring($date, 6, 2)"/>
6826
- <xsl:variable name="day" select="substring($date, 9, 2)"/>
6827
- <xsl:variable name="monthStr">
6828
- <xsl:choose>
6829
- <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>
6830
- <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>
6831
- <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>
6832
- <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>
6833
- <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>
6834
- <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>
6835
- <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>
6836
- <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>
6837
- <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>
6838
- <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>
6839
- <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>
6840
- <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>
6841
- </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>
6842
7210
  </xsl:variable>
6843
7211
  <xsl:variable name="result">
6844
7212
  <xsl:choose>
6845
7213
  <xsl:when test="$format = 'ddMMyyyy'">
6846
7214
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6847
7215
  <xsl:text> </xsl:text>
6848
- <xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
7216
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
6849
7217
  </xsl:when>
6850
7218
  <xsl:when test="$format = 'ddMM'">
6851
7219
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
6852
- <xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
7220
+ <xsl:text> </xsl:text><xsl:value-of select="$monthStr_localized"/>
6853
7221
  </xsl:when>
6854
7222
  <xsl:when test="$format = 'short' or $day = ''">
6855
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
7223
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
6856
7224
  </xsl:when>
6857
7225
  <xsl:otherwise>
6858
- <xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
7226
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
6859
7227
  </xsl:otherwise>
6860
7228
  </xsl:choose>
6861
7229
  </xsl:variable>
@@ -7166,7 +7534,6 @@
7166
7534
  <xsl:value-of select="$key_"/>
7167
7535
  </xsl:otherwise>
7168
7536
  </xsl:choose>
7169
-
7170
7537
  </xsl:template><xsl:template name="setTrackChangesStyles">
7171
7538
  <xsl:param name="isAdded"/>
7172
7539
  <xsl:param name="isDeleted"/>
@@ -7208,15 +7575,18 @@
7208
7575
  </xsl:choose>
7209
7576
  </xsl:template><xsl:template name="setTextAlignment">
7210
7577
  <xsl:param name="default">left</xsl:param>
7578
+ <xsl:variable name="align" select="normalize-space(@align)"/>
7211
7579
  <xsl:attribute name="text-align">
7212
7580
  <xsl:choose>
7213
- <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>
7214
7584
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
7215
7585
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
7216
7586
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
7217
7587
  </xsl:choose>
7218
7588
  </xsl:attribute>
7219
- <xsl:if test="@align = 'indent'">
7589
+ <xsl:if test="$align = 'indent'">
7220
7590
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
7221
7591
  </xsl:if>
7222
7592
  </xsl:template><xsl:template name="number-to-words">