metanorma-bipm 2.1.2 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1870,9 +1870,10 @@
1870
1870
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
1871
1871
  </xsl:otherwise>
1872
1872
  </xsl:choose>
1873
- </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:attribute-set name="root-style">
1873
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="font_noto_sans">Noto Sans, Noto Sans HK, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans TC</xsl:variable><xsl:variable name="font_noto_sans_mono">Noto Sans Mono, Noto Sans Mono CJK HK, Noto Sans Mono CJK JP, Noto Sans Mono CJK KR, Noto Sans Mono CJK SC, Noto Sans Mono CJK TC</xsl:variable><xsl:variable name="font_noto_serif">Noto Serif, Noto Serif HK, Noto Serif JP, Noto Serif KR, Noto Serif SC, Noto Serif TC</xsl:variable><xsl:attribute-set name="root-style">
1874
1874
 
1875
- <xsl:attribute name="font-family">Times New Roman, STIX Two Math, Source Han Sans</xsl:attribute>
1875
+ <xsl:attribute name="font-family">Times New Roman, STIX Two Math, <xsl:value-of select="$font_noto_serif"/></xsl:attribute>
1876
+ <xsl:attribute name="font-family-generic">Serif</xsl:attribute>
1876
1877
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
1877
1878
 
1878
1879
 
@@ -1890,6 +1891,7 @@
1890
1891
 
1891
1892
 
1892
1893
 
1894
+
1893
1895
  </xsl:attribute-set><xsl:template name="insertRootStyle">
1894
1896
  <xsl:param name="root-style"/>
1895
1897
  <xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
@@ -1901,17 +1903,60 @@
1901
1903
  </xsl:variable>
1902
1904
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
1903
1905
 
1906
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
1907
+
1904
1908
  <xsl:for-each select="$root-style_/root-style/@*">
1909
+
1905
1910
  <xsl:choose>
1906
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
1911
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
1912
+ <xsl:when test="local-name() = 'font-family'">
1913
+
1914
+ <xsl:variable name="font_regional_prefix">
1915
+ <xsl:choose>
1916
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
1917
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
1918
+ </xsl:choose>
1919
+ </xsl:variable>
1920
+
1907
1921
  <xsl:attribute name="{local-name()}">
1908
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
1922
+
1923
+ <xsl:variable name="font_extended">
1924
+ <xsl:choose>
1925
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
1926
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
1927
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
1928
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
1929
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
1930
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
1931
+ </xsl:choose>
1932
+ </xsl:variable>
1933
+ <xsl:if test="normalize-space($font_extended) != ''">
1934
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
1935
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
1936
+ </xsl:if>
1937
+
1938
+ <xsl:value-of select="."/>
1939
+
1940
+ <xsl:if test="$additional_fonts != ''">
1941
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1942
+ </xsl:if>
1909
1943
  </xsl:attribute>
1910
1944
  </xsl:when>
1911
1945
  <xsl:otherwise>
1912
1946
  <xsl:copy-of select="."/>
1913
1947
  </xsl:otherwise>
1914
1948
  </xsl:choose>
1949
+
1950
+ <!-- <xsl:choose>
1951
+ <xsl:when test="local-name() = 'font-family'">
1952
+ <xsl:attribute name="{local-name()}">
1953
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
1954
+ </xsl:attribute>
1955
+ </xsl:when>
1956
+ <xsl:otherwise>
1957
+ <xsl:copy-of select="."/>
1958
+ </xsl:otherwise>
1959
+ </xsl:choose> -->
1915
1960
  </xsl:for-each>
1916
1961
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
1917
1962
 
@@ -1985,7 +2030,8 @@
1985
2030
 
1986
2031
 
1987
2032
 
1988
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
2033
+
2034
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1989
2035
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1990
2036
 
1991
2037
 
@@ -2002,7 +2048,10 @@
2002
2048
 
2003
2049
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
2004
2050
 
2051
+
2005
2052
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
2053
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2054
+
2006
2055
 
2007
2056
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
2008
2057
 
@@ -2026,6 +2075,7 @@
2026
2075
 
2027
2076
 
2028
2077
 
2078
+
2029
2079
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2030
2080
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
2031
2081
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -2038,6 +2088,7 @@
2038
2088
 
2039
2089
 
2040
2090
 
2091
+
2041
2092
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2042
2093
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
2043
2094
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -2073,6 +2124,7 @@
2073
2124
 
2074
2125
 
2075
2126
 
2127
+
2076
2128
 
2077
2129
 
2078
2130
 
@@ -2105,10 +2157,12 @@
2105
2157
 
2106
2158
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
2107
2159
 
2160
+
2108
2161
 
2109
2162
 
2110
2163
  </xsl:attribute-set><xsl:variable name="table-border_">
2111
2164
 
2165
+
2112
2166
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
2113
2167
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
2114
2168
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -2123,6 +2177,7 @@
2123
2177
 
2124
2178
 
2125
2179
 
2180
+
2126
2181
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2127
2182
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
2128
2183
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
@@ -2153,6 +2208,7 @@
2153
2208
 
2154
2209
 
2155
2210
 
2211
+
2156
2212
  <xsl:attribute name="border">1.5pt solid black</xsl:attribute>
2157
2213
 
2158
2214
 
@@ -2170,6 +2226,7 @@
2170
2226
 
2171
2227
 
2172
2228
 
2229
+
2173
2230
 
2174
2231
 
2175
2232
  <xsl:attribute name="font-size">11pt</xsl:attribute>
@@ -2249,6 +2306,7 @@
2249
2306
 
2250
2307
 
2251
2308
 
2309
+
2252
2310
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
2253
2311
 
2254
2312
 
@@ -2268,7 +2326,7 @@
2268
2326
 
2269
2327
 
2270
2328
 
2271
-
2329
+
2272
2330
 
2273
2331
  <xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
2274
2332
 
@@ -2284,6 +2342,7 @@
2284
2342
 
2285
2343
 
2286
2344
 
2345
+
2287
2346
  <xsl:attribute name="font-size">9pt</xsl:attribute>
2288
2347
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2289
2348
 
@@ -2299,6 +2358,8 @@
2299
2358
 
2300
2359
 
2301
2360
 
2361
+
2362
+
2302
2363
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2303
2364
  <xsl:attribute name="font-size">80%</xsl:attribute>
2304
2365
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -2316,6 +2377,7 @@
2316
2377
 
2317
2378
 
2318
2379
 
2380
+
2319
2381
  </xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
2320
2382
  <xsl:attribute name="text-indent">0</xsl:attribute>
2321
2383
  <xsl:attribute name="start-indent">0</xsl:attribute>
@@ -2345,6 +2407,7 @@
2345
2407
 
2346
2408
 
2347
2409
 
2410
+
2348
2411
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
2349
2412
 
2350
2413
 
@@ -2359,6 +2422,7 @@
2359
2422
 
2360
2423
 
2361
2424
 
2425
+
2362
2426
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2363
2427
 
2364
2428
 
@@ -2410,6 +2474,7 @@
2410
2474
 
2411
2475
 
2412
2476
 
2477
+
2413
2478
 
2414
2479
 
2415
2480
  <xsl:attribute name="font-size">10pt</xsl:attribute>
@@ -2452,7 +2517,8 @@
2452
2517
 
2453
2518
 
2454
2519
 
2455
-
2520
+
2521
+
2456
2522
 
2457
2523
 
2458
2524
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
@@ -2468,6 +2534,7 @@
2468
2534
  </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2469
2535
 
2470
2536
 
2537
+
2471
2538
 
2472
2539
 
2473
2540
  <xsl:attribute name="font-size">10pt</xsl:attribute>
@@ -2483,6 +2550,8 @@
2483
2550
 
2484
2551
 
2485
2552
 
2553
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
2554
+
2486
2555
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
2487
2556
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
2488
2557
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -2531,6 +2600,7 @@
2531
2600
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2532
2601
 
2533
2602
 
2603
+
2534
2604
 
2535
2605
 
2536
2606
 
@@ -2573,6 +2643,7 @@
2573
2643
 
2574
2644
 
2575
2645
 
2646
+
2576
2647
  <xsl:attribute name="text-align">left</xsl:attribute>
2577
2648
  <xsl:attribute name="margin-left">25mm</xsl:attribute>
2578
2649
 
@@ -2599,20 +2670,20 @@
2599
2670
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2600
2671
 
2601
2672
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2673
+ <xsl:attribute name="width">100%</xsl:attribute>
2674
+ <xsl:attribute name="content-height">100%</xsl:attribute>
2675
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
2602
2676
 
2603
2677
 
2604
- <xsl:attribute name="width">100%</xsl:attribute>
2605
2678
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2606
- <xsl:attribute name="scaling">uniform</xsl:attribute>
2607
2679
 
2608
2680
 
2609
2681
 
2610
-
2611
-
2682
+
2612
2683
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
2613
2684
 
2614
2685
 
2615
- <xsl:attribute name="font-family">Courier New</xsl:attribute>
2686
+ <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
2616
2687
 
2617
2688
 
2618
2689
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
@@ -2688,6 +2759,7 @@
2688
2759
 
2689
2760
 
2690
2761
 
2762
+
2691
2763
  <xsl:attribute name="provisional-distance-between-starts">7mm</xsl:attribute>
2692
2764
  <xsl:attribute name="margin-top">8pt</xsl:attribute>
2693
2765
 
@@ -2766,6 +2838,7 @@
2766
2838
 
2767
2839
 
2768
2840
 
2841
+
2769
2842
  </xsl:attribute-set><xsl:attribute-set name="fn-body-style">
2770
2843
  <xsl:attribute name="font-weight">normal</xsl:attribute>
2771
2844
  <xsl:attribute name="font-style">normal</xsl:attribute>
@@ -2794,6 +2867,7 @@
2794
2867
 
2795
2868
 
2796
2869
 
2870
+
2797
2871
  </xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
2798
2872
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
2799
2873
 
@@ -2817,6 +2891,7 @@
2817
2891
 
2818
2892
 
2819
2893
 
2894
+
2820
2895
  </xsl:attribute-set><xsl:attribute-set name="admonition-style">
2821
2896
 
2822
2897
 
@@ -2826,6 +2901,7 @@
2826
2901
 
2827
2902
 
2828
2903
 
2904
+
2829
2905
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2830
2906
  <xsl:attribute name="font-weight">bold</xsl:attribute>
2831
2907
 
@@ -2836,6 +2912,9 @@
2836
2912
 
2837
2913
 
2838
2914
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2915
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2916
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2917
+
2839
2918
 
2840
2919
 
2841
2920
 
@@ -2873,6 +2952,7 @@
2873
2952
 
2874
2953
 
2875
2954
 
2955
+
2876
2956
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
2877
2957
 
2878
2958
 
@@ -2901,6 +2981,10 @@
2901
2981
 
2902
2982
 
2903
2983
 
2984
+ <!-- <xsl:if test="$namespace = 'ieee'">
2985
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2986
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
2987
+ </xsl:if> -->
2904
2988
 
2905
2989
 
2906
2990
 
@@ -2925,6 +3009,7 @@
2925
3009
 
2926
3010
 
2927
3011
 
3012
+
2928
3013
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2929
3014
 
2930
3015
 
@@ -2934,10 +3019,12 @@
2934
3019
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2935
3020
 
2936
3021
 
3022
+
2937
3023
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2938
3024
 
2939
3025
 
2940
3026
 
3027
+
2941
3028
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2942
3029
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2943
3030
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -2951,6 +3038,7 @@
2951
3038
 
2952
3039
 
2953
3040
 
3041
+
2954
3042
  <xsl:attribute name="font-size">8pt</xsl:attribute>
2955
3043
  <xsl:attribute name="baseline-shift">30%</xsl:attribute>
2956
3044
 
@@ -2972,6 +3060,7 @@
2972
3060
 
2973
3061
 
2974
3062
 
3063
+
2975
3064
  <xsl:attribute name="alignment-baseline">hanging</xsl:attribute>
2976
3065
  <xsl:attribute name="padding-right">3mm</xsl:attribute>
2977
3066
 
@@ -2993,6 +3082,7 @@
2993
3082
 
2994
3083
 
2995
3084
 
3085
+
2996
3086
  <xsl:attribute name="margin-bottom">4pt</xsl:attribute>
2997
3087
 
2998
3088
 
@@ -3428,6 +3518,8 @@
3428
3518
 
3429
3519
 
3430
3520
 
3521
+
3522
+
3431
3523
 
3432
3524
 
3433
3525
 
@@ -3462,6 +3554,8 @@
3462
3554
 
3463
3555
 
3464
3556
 
3557
+
3558
+
3465
3559
  <xsl:if test="*[local-name()='thead']">
3466
3560
  <xsl:attribute name="border-top">1pt solid black</xsl:attribute>
3467
3561
  </xsl:if>
@@ -3555,6 +3649,14 @@
3555
3649
 
3556
3650
 
3557
3651
 
3652
+ <xsl:if test="*[local-name()='bookmark']"> <!-- special case: table/bookmark -->
3653
+ <fo:block keep-with-previous="always" line-height="0.1">
3654
+ <xsl:for-each select="*[local-name()='bookmark']">
3655
+ <xsl:call-template name="bookmark"/>
3656
+ </xsl:for-each>
3657
+ </fo:block>
3658
+ </xsl:if>
3659
+
3558
3660
  </fo:block-container>
3559
3661
  </xsl:variable>
3560
3662
 
@@ -3613,25 +3715,31 @@
3613
3715
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3614
3716
  <xsl:param name="continued"/>
3615
3717
  <xsl:if test="normalize-space() != ''">
3616
- <fo:block xsl:use-attribute-sets="table-name-style">
3617
-
3618
-
3619
-
3620
-
3718
+
3719
+
3621
3720
 
3622
- <xsl:choose>
3623
- <xsl:when test="$continued = 'true'">
3721
+ <fo:block xsl:use-attribute-sets="table-name-style">
3722
+
3624
3723
 
3625
- <xsl:apply-templates/>
3626
3724
 
3627
- </xsl:when>
3628
- <xsl:otherwise>
3629
- <xsl:apply-templates/>
3630
- </xsl:otherwise>
3631
- </xsl:choose>
3632
-
3725
+
3726
+
3727
+ <xsl:choose>
3728
+ <xsl:when test="$continued = 'true'">
3729
+
3730
+ <xsl:apply-templates/>
3731
+
3732
+ </xsl:when>
3733
+ <xsl:otherwise>
3734
+ <xsl:apply-templates/>
3735
+ </xsl:otherwise>
3736
+ </xsl:choose>
3737
+
3738
+
3739
+ </fo:block>
3740
+
3633
3741
 
3634
- </fo:block>
3742
+
3635
3743
  </xsl:if>
3636
3744
  </xsl:template><xsl:template name="calculate-columns-numbers">
3637
3745
  <xsl:param name="table-row"/>
@@ -4033,19 +4141,25 @@
4033
4141
  <fo:table-row>
4034
4142
  <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">
4035
4143
 
4036
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
4037
- <xsl:with-param name="continued">true</xsl:with-param>
4038
- </xsl:apply-templates>
4039
4144
 
4040
4145
 
4041
- <xsl:for-each select="ancestor::*[local-name()='table'][1]">
4042
- <xsl:call-template name="table_name_fn_display"/>
4043
- </xsl:for-each>
4146
+
4147
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
4148
+ <xsl:with-param name="continued">true</xsl:with-param>
4149
+ </xsl:apply-templates>
4150
+
4151
+
4152
+ <xsl:for-each select="ancestor::*[local-name()='table'][1]">
4153
+ <xsl:call-template name="table_name_fn_display"/>
4154
+ </xsl:for-each>
4044
4155
 
4045
- <fo:block text-align="right" font-style="italic">
4046
- <xsl:text> </xsl:text>
4047
- <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
4048
- </fo:block>
4156
+ <fo:block text-align="right" font-style="italic">
4157
+ <xsl:text> </xsl:text>
4158
+ <fo:retrieve-table-marker retrieve-class-name="table_continued"/>
4159
+ </fo:block>
4160
+
4161
+
4162
+
4049
4163
 
4050
4164
 
4051
4165
  </fo:table-cell>
@@ -4087,77 +4201,91 @@
4087
4201
  </xsl:choose>
4088
4202
  </xsl:variable>
4089
4203
 
4090
- <fo:table keep-with-previous="always">
4091
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
4092
- <xsl:variable name="name" select="local-name()"/>
4204
+
4205
+ <xsl:variable name="tableWithNotesAndFootnotes">
4206
+
4207
+ <fo:table keep-with-previous="always">
4208
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
4209
+ <xsl:variable name="name" select="local-name()"/>
4210
+ <xsl:choose>
4211
+ <xsl:when test="$name = 'border-top'">
4212
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
4213
+ </xsl:when>
4214
+ <xsl:when test="$name = 'border'">
4215
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4216
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
4217
+ </xsl:when>
4218
+ <xsl:otherwise>
4219
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4220
+ </xsl:otherwise>
4221
+ </xsl:choose>
4222
+ </xsl:for-each>
4223
+
4224
+
4225
+
4093
4226
  <xsl:choose>
4094
- <xsl:when test="$name = 'border-top'">
4095
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
4096
- </xsl:when>
4097
- <xsl:when test="$name = 'border'">
4098
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4099
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
4227
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
4228
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
4229
+ <fo:table-column column-width="{@width}"/>
4230
+ </xsl:for-each>
4100
4231
  </xsl:when>
4101
4232
  <xsl:otherwise>
4102
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4233
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
4234
+ <xsl:call-template name="insertTableColumnWidth">
4235
+ <xsl:with-param name="colwidths" select="$colwidths"/>
4236
+ </xsl:call-template>
4103
4237
  </xsl:otherwise>
4104
4238
  </xsl:choose>
4105
- </xsl:for-each>
4106
-
4107
-
4108
-
4109
- <xsl:choose>
4110
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
4111
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
4112
- <fo:table-column column-width="{@width}"/>
4113
- </xsl:for-each>
4114
- </xsl:when>
4115
- <xsl:otherwise>
4116
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
4117
- <xsl:call-template name="insertTableColumnWidth">
4118
- <xsl:with-param name="colwidths" select="$colwidths"/>
4119
- </xsl:call-template>
4120
- </xsl:otherwise>
4121
- </xsl:choose>
4122
-
4123
- <fo:table-body>
4124
- <fo:table-row>
4125
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
4126
-
4127
-
4239
+
4240
+ <fo:table-body>
4241
+ <fo:table-row>
4242
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
4243
+
4244
+
4128
4245
 
4129
-
4130
-
4131
- <!-- fn will be processed inside 'note' processing -->
4132
-
4133
-
4134
-
4135
-
4136
-
4137
-
4138
- <!-- for BSI (not PAS) display Notes before footnotes -->
4139
-
4140
-
4141
- <!-- except gb and bsi -->
4142
-
4143
- <xsl:apply-templates select="../*[local-name()='note']"/>
4144
4246
 
4145
-
4146
-
4147
- <!-- horizontal row separator -->
4148
-
4149
-
4150
- <!-- fn processing -->
4151
- <xsl:call-template name="table_fn_display"/>
4152
-
4153
- <!-- for PAS display Notes after footnotes -->
4154
-
4155
-
4156
- </fo:table-cell>
4157
- </fo:table-row>
4158
- </fo:table-body>
4159
-
4160
- </fo:table>
4247
+
4248
+ <!-- fn will be processed inside 'note' processing -->
4249
+
4250
+
4251
+
4252
+
4253
+
4254
+
4255
+ <!-- for BSI (not PAS) display Notes before footnotes -->
4256
+
4257
+
4258
+ <!-- except gb and bsi -->
4259
+
4260
+ <xsl:apply-templates select="../*[local-name()='note']"/>
4261
+
4262
+
4263
+
4264
+ <!-- horizontal row separator -->
4265
+
4266
+
4267
+ <!-- fn processing -->
4268
+
4269
+ <xsl:call-template name="table_fn_display"/>
4270
+
4271
+
4272
+
4273
+ <!-- for PAS display Notes after footnotes -->
4274
+
4275
+
4276
+ </fo:table-cell>
4277
+ </fo:table-row>
4278
+ </fo:table-body>
4279
+
4280
+ </fo:table>
4281
+ </xsl:variable>
4282
+
4283
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
4284
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
4285
+ </xsl:if>
4286
+
4287
+
4288
+
4161
4289
  </xsl:if>
4162
4290
  </xsl:template><xsl:template match="*[local-name()='tbody']">
4163
4291
 
@@ -4302,6 +4430,9 @@
4302
4430
  </xsl:choose>
4303
4431
 
4304
4432
 
4433
+
4434
+
4435
+
4305
4436
 
4306
4437
 
4307
4438
  <xsl:call-template name="setTableRowAttributes"/>
@@ -4321,6 +4452,8 @@
4321
4452
 
4322
4453
 
4323
4454
 
4455
+
4456
+
4324
4457
  <xsl:call-template name="setTableRowAttributes"/>
4325
4458
  <xsl:apply-templates/>
4326
4459
  </fo:table-row>
@@ -4402,6 +4535,8 @@
4402
4535
 
4403
4536
 
4404
4537
 
4538
+
4539
+
4405
4540
 
4406
4541
 
4407
4542
  <xsl:if test="count(*) = 1 and (local-name(*[1]) = 'stem' or local-name(*[1]) = 'figure')">
@@ -4480,7 +4615,11 @@
4480
4615
 
4481
4616
  <xsl:variable name="gen_id" select="generate-id(.)"/>
4482
4617
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
4483
- <xsl:variable name="reference" select="@reference"/>
4618
+ <xsl:variable name="reference_">
4619
+ <xsl:value-of select="@reference"/>
4620
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
4621
+ </xsl:variable>
4622
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
4484
4623
  <!-- fn sequence number in document -->
4485
4624
  <xsl:variable name="current_fn_number">
4486
4625
  <xsl:choose>
@@ -4500,6 +4639,7 @@
4500
4639
  <xsl:variable name="footnote_inline">
4501
4640
  <fo:inline xsl:use-attribute-sets="fn-num-style">
4502
4641
 
4642
+
4503
4643
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
4504
4644
  <xsl:value-of select="$current_fn_number_text"/>
4505
4645
  </fo:basic-link>
@@ -4521,8 +4661,12 @@
4521
4661
  <fo:block xsl:use-attribute-sets="fn-body-style">
4522
4662
 
4523
4663
 
4664
+
4524
4665
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
4525
4666
 
4667
+
4668
+
4669
+
4526
4670
  <xsl:value-of select="$current_fn_number_text"/>
4527
4671
  </fo:inline>
4528
4672
  <xsl:apply-templates/>
@@ -4555,7 +4699,7 @@
4555
4699
  <xsl:copy-of select="node()"/>
4556
4700
  </fn>
4557
4701
  </xsl:for-each>
4558
- <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
4702
+ <xsl:for-each select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='boilerplate']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='preface']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='sections']/* | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='annex'] | ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibliography']/*">
4559
4703
  <xsl:sort select="@displayorder" data-type="number"/>
4560
4704
  <xsl:for-each select=".//*[local-name() = 'bibitem'][ancestor::*[local-name() = 'references']]/*[local-name() = 'note'] | .//*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
4561
4705
  <!-- copy unique fn -->
@@ -6222,6 +6366,13 @@
6222
6366
  </xsl:variable>
6223
6367
  <fo:inline xsl:use-attribute-sets="link-style">
6224
6368
 
6369
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
6370
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6371
+ </xsl:if>
6372
+
6373
+
6374
+
6375
+
6225
6376
 
6226
6377
 
6227
6378
 
@@ -6435,6 +6586,7 @@
6435
6586
 
6436
6587
 
6437
6588
 
6589
+
6438
6590
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6439
6591
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
6440
6592
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6457,6 +6609,7 @@
6457
6609
  <xsl:otherwise>
6458
6610
 
6459
6611
 
6612
+
6460
6613
  </xsl:otherwise>
6461
6614
  </xsl:choose>
6462
6615
  </xsl:variable>
@@ -6473,6 +6626,7 @@
6473
6626
  </xsl:when>
6474
6627
  <xsl:otherwise>
6475
6628
 
6629
+
6476
6630
  <xsl:text>:</xsl:text>
6477
6631
 
6478
6632
 
@@ -6484,7 +6638,19 @@
6484
6638
  <xsl:value-of select="$suffix"/>
6485
6639
  </xsl:if>
6486
6640
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
6487
- <fo:inline><xsl:apply-templates/></fo:inline>
6641
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
6642
+ <xsl:choose>
6643
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
6644
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
6645
+ <xsl:apply-templates/>
6646
+ </fo:inline>
6647
+ </xsl:when>
6648
+ <xsl:otherwise>
6649
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
6650
+ <xsl:apply-templates/>
6651
+ </fo:block>
6652
+ </xsl:otherwise>
6653
+ </xsl:choose>
6488
6654
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
6489
6655
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
6490
6656
  <fo:block id="{@id}">
@@ -7239,6 +7405,9 @@
7239
7405
  <fo:block xsl:use-attribute-sets="figure-name-style">
7240
7406
 
7241
7407
 
7408
+
7409
+
7410
+
7242
7411
  <xsl:apply-templates/>
7243
7412
  </fo:block>
7244
7413
  </xsl:if>
@@ -7299,9 +7468,9 @@
7299
7468
  <xsl:apply-templates/>
7300
7469
  </xsl:otherwise>
7301
7470
  </xsl:choose>
7302
- </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref']" mode="contents">
7471
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'xref'] | *[local-name() = 'eref']" mode="contents">
7303
7472
  <xsl:value-of select="."/>
7304
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
7473
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
7305
7474
  <xsl:text> </xsl:text>
7306
7475
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
7307
7476
  <xsl:copy>
@@ -7375,6 +7544,9 @@
7375
7544
  <!-- 9 -->
7376
7545
 
7377
7546
  9
7547
+ <!-- <xsl:if test="$namespace = 'ieee'">
7548
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
7549
+ </xsl:if> -->
7378
7550
 
7379
7551
 
7380
7552
 
@@ -7819,10 +7991,14 @@
7819
7991
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
7820
7992
  <xsl:variable name="element">inline
7821
7993
 
7994
+
7822
7995
  </xsl:variable>
7823
7996
  <xsl:choose>
7824
7997
  <xsl:when test="contains($element, 'block')">
7825
7998
  <fo:block xsl:use-attribute-sets="example-p-style">
7999
+
8000
+
8001
+
7826
8002
  <xsl:apply-templates/>
7827
8003
  </fo:block>
7828
8004
  </xsl:when>
@@ -7935,6 +8111,7 @@
7935
8111
  </xsl:if>
7936
8112
  <fo:block xsl:use-attribute-sets="example-p-style">
7937
8113
 
8114
+
7938
8115
  <xsl:apply-templates/>
7939
8116
  </fo:block>
7940
8117
  </fo:block-container>
@@ -8101,6 +8278,8 @@
8101
8278
 
8102
8279
 
8103
8280
 
8281
+
8282
+
8104
8283
  <fo:basic-link fox:alt-text="{@citeas}">
8105
8284
  <xsl:if test="normalize-space(@citeas) = ''">
8106
8285
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -8154,6 +8333,7 @@
8154
8333
 
8155
8334
 
8156
8335
 
8336
+
8157
8337
  <xsl:choose>
8158
8338
  <xsl:when test="$depth = 2">3</xsl:when>
8159
8339
  <xsl:otherwise>4</xsl:otherwise>
@@ -8522,6 +8702,8 @@
8522
8702
 
8523
8703
 
8524
8704
 
8705
+
8706
+
8525
8707
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
8526
8708
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
8527
8709
  <xsl:call-template name="append_add-style"/>
@@ -8706,7 +8888,7 @@
8706
8888
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
8707
8889
  <!-- to split by '_' and other chars -->
8708
8890
  <xsl:call-template name="add-zero-spaces-java"/>
8709
- </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
8891
+ </xsl:template><xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
8710
8892
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
8711
8893
  <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
8712
8894
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
@@ -8779,9 +8961,9 @@
8779
8961
  </fo:block>
8780
8962
 
8781
8963
 
8782
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
8964
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
8783
8965
 
8784
- <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
8966
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
8785
8967
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
8786
8968
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
8787
8969
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
@@ -8792,7 +8974,7 @@
8792
8974
 
8793
8975
  <xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
8794
8976
  <xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
8795
- <xsl:number format="[1]"/>
8977
+ <xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
8796
8978
  </xsl:if>
8797
8979
 
8798
8980
  </fo:inline>
@@ -9349,6 +9531,8 @@
9349
9531
  </xsl:when>
9350
9532
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
9351
9533
  </xsl:choose>
9534
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
9535
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
9352
9536
  </xsl:template><xsl:template name="printEdition">
9353
9537
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
9354
9538
  <xsl:text> </xsl:text>
@@ -9455,8 +9639,30 @@
9455
9639
  </xsl:when>
9456
9640
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
9457
9641
  </xsl:choose>
9642
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
9643
+ <xsl:param name="num"/>
9644
+ <xsl:variable name="monthStr">
9645
+ <xsl:choose>
9646
+ <xsl:when test="$num = '01'">january</xsl:when>
9647
+ <xsl:when test="$num = '02'">february</xsl:when>
9648
+ <xsl:when test="$num = '03'">march</xsl:when>
9649
+ <xsl:when test="$num = '04'">april</xsl:when>
9650
+ <xsl:when test="$num = '05'">may</xsl:when>
9651
+ <xsl:when test="$num = '06'">june</xsl:when>
9652
+ <xsl:when test="$num = '07'">july</xsl:when>
9653
+ <xsl:when test="$num = '08'">august</xsl:when>
9654
+ <xsl:when test="$num = '09'">september</xsl:when>
9655
+ <xsl:when test="$num = '10'">october</xsl:when>
9656
+ <xsl:when test="$num = '11'">november</xsl:when>
9657
+ <xsl:when test="$num = '12'">december</xsl:when>
9658
+ </xsl:choose>
9659
+ </xsl:variable>
9660
+ <xsl:call-template name="getLocalizedString">
9661
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
9662
+ </xsl:call-template>
9458
9663
  </xsl:template><xsl:template name="insertKeywords">
9459
9664
  <xsl:param name="sorting" select="'true'"/>
9665
+ <xsl:param name="meta" select="'false'"/>
9460
9666
  <xsl:param name="charAtEnd" select="'.'"/>
9461
9667
  <xsl:param name="charDelim" select="', '"/>
9462
9668
  <xsl:choose>
@@ -9464,6 +9670,7 @@
9464
9670
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
9465
9671
  <xsl:sort data-type="text" order="ascending"/>
9466
9672
  <xsl:call-template name="insertKeyword">
9673
+ <xsl:with-param name="meta" select="$meta"/>
9467
9674
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
9468
9675
  <xsl:with-param name="charDelim" select="$charDelim"/>
9469
9676
  </xsl:call-template>
@@ -9472,6 +9679,7 @@
9472
9679
  <xsl:otherwise>
9473
9680
  <xsl:for-each select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']//*[local-name() = 'keyword']">
9474
9681
  <xsl:call-template name="insertKeyword">
9682
+ <xsl:with-param name="meta" select="$meta"/>
9475
9683
  <xsl:with-param name="charAtEnd" select="$charAtEnd"/>
9476
9684
  <xsl:with-param name="charDelim" select="$charDelim"/>
9477
9685
  </xsl:call-template>
@@ -9481,7 +9689,15 @@
9481
9689
  </xsl:template><xsl:template name="insertKeyword">
9482
9690
  <xsl:param name="charAtEnd"/>
9483
9691
  <xsl:param name="charDelim"/>
9484
- <xsl:apply-templates/>
9692
+ <xsl:param name="meta"/>
9693
+ <xsl:choose>
9694
+ <xsl:when test="$meta = 'true'">
9695
+ <xsl:value-of select="."/>
9696
+ </xsl:when>
9697
+ <xsl:otherwise>
9698
+ <xsl:apply-templates/>
9699
+ </xsl:otherwise>
9700
+ </xsl:choose>
9485
9701
  <xsl:choose>
9486
9702
  <xsl:when test="position() != last()"><xsl:value-of select="$charDelim"/></xsl:when>
9487
9703
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
@@ -9529,7 +9745,9 @@
9529
9745
  <xsl:value-of select="normalize-space($abstract)"/>
9530
9746
  </dc:description>
9531
9747
  <pdf:Keywords>
9532
- <xsl:call-template name="insertKeywords"/>
9748
+ <xsl:call-template name="insertKeywords">
9749
+ <xsl:with-param name="meta">true</xsl:with-param>
9750
+ </xsl:call-template>
9533
9751
  </pdf:Keywords>
9534
9752
  </rdf:Description>
9535
9753
  <rdf:Description xmlns:xmp="http://ns.adobe.com/xap/1.0/" rdf:about="">
@@ -9651,6 +9869,7 @@
9651
9869
 
9652
9870
 
9653
9871
 
9872
+
9654
9873
 
9655
9874
 
9656
9875