metanorma-ogc 2.1.2 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -221,7 +221,10 @@
221
221
  <xsl:with-param name="letter-spacing" select="0.3"/>
222
222
  </xsl:call-template>
223
223
  </fo:block>
224
- <fo:block font-size="10pt">External identifier of this OGC<fo:inline font-size="58%" baseline-shift="30%">®</fo:inline> document: <fo:inline font-weight="normal"><xsl:value-of select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type='ogc-external']"/></fo:inline></fo:block>
224
+ <xsl:variable name="ogc_external" select="/ogc:ogc-standard/ogc:bibdata/ogc:docidentifier[@type='ogc-external']"/>
225
+ <xsl:if test="normalize-space($ogc_external) != ''">
226
+ <fo:block font-size="10pt">External identifier of this OGC<fo:inline font-size="58%" baseline-shift="30%">®</fo:inline> document: <fo:inline font-weight="normal"><xsl:value-of select="$ogc_external"/></fo:inline></fo:block>
227
+ </xsl:if>
225
228
  </fo:table-cell>
226
229
  <fo:table-cell text-align="right">
227
230
  <fo:block>
@@ -263,7 +266,7 @@
263
266
  <xsl:with-param name="text" select="java:toUpperCase(java:java.lang.String.new($doctype))"/>
264
267
  </xsl:call-template>
265
268
  <xsl:value-of select="$linebreak"/>
266
- <xsl:variable name="docsubtype" select="normalize-space(/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:docsubtype)"/>
269
+ <xsl:variable name="docsubtype" select="normalize-space(/ogc:ogc-standard/ogc:bibdata/ogc:ext/ogc:subdoctype)"/>
267
270
  <xsl:variable name="docsubtype_str">
268
271
  <xsl:choose>
269
272
  <xsl:when test="$docsubtype = 'implementation'">Implementation</xsl:when>
@@ -1612,7 +1615,8 @@
1612
1615
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
1613
1616
  </xsl:otherwise>
1614
1617
  </xsl:choose>
1615
- </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">
1618
+ </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">
1619
+
1616
1620
 
1617
1621
 
1618
1622
 
@@ -1626,7 +1630,8 @@
1626
1630
 
1627
1631
 
1628
1632
 
1629
- <xsl:attribute name="font-family">Lato, STIX Two Math, Source Han Sans</xsl:attribute>
1633
+ <xsl:attribute name="font-family">Lato, STIX Two Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
1634
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
1630
1635
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1631
1636
  <xsl:attribute name="color"><xsl:value-of select="$color_main"/></xsl:attribute>
1632
1637
 
@@ -1644,17 +1649,60 @@
1644
1649
  </xsl:variable>
1645
1650
  <xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
1646
1651
 
1652
+ <xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
1653
+
1647
1654
  <xsl:for-each select="$root-style_/root-style/@*">
1655
+
1648
1656
  <xsl:choose>
1649
- <xsl:when test="local-name() = 'font-family' and $additional_fonts != ''">
1657
+ <xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
1658
+ <xsl:when test="local-name() = 'font-family'">
1659
+
1660
+ <xsl:variable name="font_regional_prefix">
1661
+ <xsl:choose>
1662
+ <xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
1663
+ <xsl:otherwise>Noto Serif</xsl:otherwise>
1664
+ </xsl:choose>
1665
+ </xsl:variable>
1666
+
1650
1667
  <xsl:attribute name="{local-name()}">
1651
- <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
1668
+
1669
+ <xsl:variable name="font_extended">
1670
+ <xsl:choose>
1671
+ <xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
1672
+ <xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
1673
+ <xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
1674
+ <xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
1675
+ <xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
1676
+ <xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
1677
+ </xsl:choose>
1678
+ </xsl:variable>
1679
+ <xsl:if test="normalize-space($font_extended) != ''">
1680
+ <xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
1681
+ <xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
1682
+ </xsl:if>
1683
+
1684
+ <xsl:value-of select="."/>
1685
+
1686
+ <xsl:if test="$additional_fonts != ''">
1687
+ <xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
1688
+ </xsl:if>
1652
1689
  </xsl:attribute>
1653
1690
  </xsl:when>
1654
1691
  <xsl:otherwise>
1655
1692
  <xsl:copy-of select="."/>
1656
1693
  </xsl:otherwise>
1657
1694
  </xsl:choose>
1695
+
1696
+ <!-- <xsl:choose>
1697
+ <xsl:when test="local-name() = 'font-family'">
1698
+ <xsl:attribute name="{local-name()}">
1699
+ <xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
1700
+ </xsl:attribute>
1701
+ </xsl:when>
1702
+ <xsl:otherwise>
1703
+ <xsl:copy-of select="."/>
1704
+ </xsl:otherwise>
1705
+ </xsl:choose> -->
1658
1706
  </xsl:for-each>
1659
1707
  </xsl:template><xsl:attribute-set name="copyright-statement-style">
1660
1708
 
@@ -1751,9 +1799,10 @@
1751
1799
 
1752
1800
 
1753
1801
 
1802
+
1754
1803
 
1755
1804
 
1756
- <xsl:attribute name="font-family">Fira Code</xsl:attribute>
1805
+ <xsl:attribute name="font-family">Fira Code, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
1757
1806
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1758
1807
  <xsl:attribute name="line-height">113%</xsl:attribute>
1759
1808
 
@@ -1782,9 +1831,12 @@
1782
1831
 
1783
1832
  </xsl:attribute-set><xsl:attribute-set name="requirement-style">
1784
1833
 
1834
+
1785
1835
  <xsl:attribute name="margin-top">6pt</xsl:attribute>
1786
1836
 
1787
1837
  </xsl:attribute-set><xsl:attribute-set name="requirement-name-style">
1838
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1839
+
1788
1840
 
1789
1841
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1790
1842
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -1793,7 +1845,6 @@
1793
1845
  <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
1794
1846
  <xsl:attribute name="margin-bottom">1mm</xsl:attribute>
1795
1847
  <xsl:attribute name="background-color">rgb(165,165,165)</xsl:attribute>
1796
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
1797
1848
 
1798
1849
  </xsl:attribute-set><xsl:attribute-set name="requirement-label-style">
1799
1850
 
@@ -1837,6 +1888,7 @@
1837
1888
 
1838
1889
 
1839
1890
 
1891
+
1840
1892
 
1841
1893
  </xsl:attribute-set><xsl:attribute-set name="example-style">
1842
1894
 
@@ -1846,6 +1898,7 @@
1846
1898
 
1847
1899
 
1848
1900
 
1901
+
1849
1902
 
1850
1903
  <xsl:attribute name="margin-top">10pt</xsl:attribute>
1851
1904
  <xsl:attribute name="margin-bottom">10pt</xsl:attribute>
@@ -1873,6 +1926,7 @@
1873
1926
 
1874
1927
 
1875
1928
 
1929
+
1876
1930
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1877
1931
 
1878
1932
 
@@ -1906,10 +1960,12 @@
1906
1960
 
1907
1961
 
1908
1962
 
1963
+
1909
1964
 
1910
1965
 
1911
1966
  </xsl:attribute-set><xsl:variable name="table-border_">
1912
1967
 
1968
+
1913
1969
  </xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
1914
1970
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1915
1971
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -1929,6 +1985,7 @@
1929
1985
 
1930
1986
 
1931
1987
 
1988
+
1932
1989
  <xsl:attribute name="space-after">12pt</xsl:attribute>
1933
1990
 
1934
1991
 
@@ -1957,6 +2014,7 @@
1957
2014
 
1958
2015
 
1959
2016
 
2017
+
1960
2018
 
1961
2019
 
1962
2020
 
@@ -1969,6 +2027,7 @@
1969
2027
 
1970
2028
 
1971
2029
 
2030
+
1972
2031
 
1973
2032
 
1974
2033
 
@@ -2048,6 +2107,7 @@
2048
2107
 
2049
2108
 
2050
2109
 
2110
+
2051
2111
  <xsl:attribute name="border">solid 0pt white</xsl:attribute>
2052
2112
  <xsl:attribute name="padding-top">1mm</xsl:attribute>
2053
2113
  <xsl:attribute name="padding-bottom">1mm</xsl:attribute>
@@ -2068,7 +2128,7 @@
2068
2128
 
2069
2129
 
2070
2130
 
2071
-
2131
+
2072
2132
 
2073
2133
 
2074
2134
  <xsl:attribute name="border">solid black 0pt</xsl:attribute>
@@ -2085,6 +2145,7 @@
2085
2145
 
2086
2146
 
2087
2147
 
2148
+
2088
2149
  </xsl:attribute-set><xsl:attribute-set name="table-fn-style">
2089
2150
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2090
2151
 
@@ -2093,6 +2154,8 @@
2093
2154
 
2094
2155
 
2095
2156
 
2157
+
2158
+
2096
2159
  </xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
2097
2160
  <xsl:attribute name="font-size">80%</xsl:attribute>
2098
2161
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -2107,6 +2170,7 @@
2107
2170
 
2108
2171
 
2109
2172
 
2173
+
2110
2174
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2111
2175
 
2112
2176
 
@@ -2143,6 +2207,7 @@
2143
2207
 
2144
2208
 
2145
2209
 
2210
+
2146
2211
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
2147
2212
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2148
2213
 
@@ -2155,6 +2220,7 @@
2155
2220
 
2156
2221
 
2157
2222
 
2223
+
2158
2224
 
2159
2225
 
2160
2226
 
@@ -2207,6 +2273,7 @@
2207
2273
 
2208
2274
 
2209
2275
 
2276
+
2210
2277
 
2211
2278
 
2212
2279
 
@@ -2248,7 +2315,8 @@
2248
2315
 
2249
2316
 
2250
2317
 
2251
-
2318
+
2319
+
2252
2320
 
2253
2321
 
2254
2322
 
@@ -2264,6 +2332,7 @@
2264
2332
  </xsl:attribute-set><xsl:attribute-set name="termnote-style">
2265
2333
 
2266
2334
 
2335
+
2267
2336
 
2268
2337
 
2269
2338
 
@@ -2280,6 +2349,10 @@
2280
2349
 
2281
2350
 
2282
2351
 
2352
+ </xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
2353
+
2354
+ <xsl:attribute name="space-before">4pt</xsl:attribute>
2355
+
2283
2356
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
2284
2357
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
2285
2358
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
@@ -2331,6 +2404,7 @@
2331
2404
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
2332
2405
 
2333
2406
 
2407
+
2334
2408
 
2335
2409
 
2336
2410
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
@@ -2378,6 +2452,7 @@
2378
2452
 
2379
2453
 
2380
2454
 
2455
+
2381
2456
  <xsl:attribute name="text-align">left</xsl:attribute>
2382
2457
 
2383
2458
 
@@ -2403,21 +2478,21 @@
2403
2478
  </xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
2404
2479
 
2405
2480
  </xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
2481
+ <xsl:attribute name="width">100%</xsl:attribute>
2482
+ <xsl:attribute name="content-height">100%</xsl:attribute>
2483
+ <xsl:attribute name="scaling">uniform</xsl:attribute>
2406
2484
 
2407
2485
 
2408
- <xsl:attribute name="width">100%</xsl:attribute>
2409
2486
  <xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
2410
- <xsl:attribute name="scaling">uniform</xsl:attribute>
2411
2487
 
2412
2488
 
2413
2489
 
2414
-
2415
-
2490
+
2416
2491
  </xsl:attribute-set><xsl:attribute-set name="tt-style">
2417
2492
 
2418
2493
 
2419
2494
 
2420
- <xsl:attribute name="font-family">Fira Code</xsl:attribute>
2495
+ <xsl:attribute name="font-family">Fira Code, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
2421
2496
 
2422
2497
  </xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
2423
2498
  <xsl:attribute name="font-size">11pt</xsl:attribute>
@@ -2493,6 +2568,7 @@
2493
2568
 
2494
2569
 
2495
2570
 
2571
+
2496
2572
  <xsl:attribute name="provisional-distance-between-starts">12mm</xsl:attribute>
2497
2573
  <xsl:attribute name="space-after">12pt</xsl:attribute>
2498
2574
  <xsl:attribute name="line-height">115%</xsl:attribute>
@@ -2565,6 +2641,7 @@
2565
2641
 
2566
2642
 
2567
2643
 
2644
+
2568
2645
  <xsl:attribute name="font-size">65%</xsl:attribute>
2569
2646
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2570
2647
 
@@ -2590,6 +2667,7 @@
2590
2667
 
2591
2668
 
2592
2669
 
2670
+
2593
2671
  <xsl:attribute name="font-size">10pt</xsl:attribute>
2594
2672
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2595
2673
  <xsl:attribute name="color"><xsl:value-of select="$color_main"/></xsl:attribute>
@@ -2616,6 +2694,7 @@
2616
2694
 
2617
2695
 
2618
2696
 
2697
+
2619
2698
  <xsl:attribute name="font-size">60%</xsl:attribute>
2620
2699
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2621
2700
 
@@ -2634,6 +2713,7 @@
2634
2713
 
2635
2714
 
2636
2715
 
2716
+
2637
2717
  <xsl:attribute name="border">0.5pt solid rgb(79, 129, 189)</xsl:attribute>
2638
2718
  <xsl:attribute name="color">rgb(79, 129, 189)</xsl:attribute>
2639
2719
  <xsl:attribute name="margin-left">16mm</xsl:attribute>
@@ -2644,6 +2724,9 @@
2644
2724
 
2645
2725
 
2646
2726
  </xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
2727
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
2728
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
2729
+
2647
2730
 
2648
2731
 
2649
2732
 
@@ -2651,8 +2734,6 @@
2651
2734
 
2652
2735
 
2653
2736
 
2654
- <xsl:attribute name="margin-left">0mm</xsl:attribute>
2655
- <xsl:attribute name="margin-right">0mm</xsl:attribute>
2656
2737
  <xsl:attribute name="padding">2mm</xsl:attribute>
2657
2738
  <xsl:attribute name="padding-top">3mm</xsl:attribute>
2658
2739
 
@@ -2689,6 +2770,7 @@
2689
2770
 
2690
2771
 
2691
2772
 
2773
+
2692
2774
  <xsl:attribute name="font-style">italic</xsl:attribute>
2693
2775
 
2694
2776
 
@@ -2725,6 +2807,10 @@
2725
2807
 
2726
2808
 
2727
2809
 
2810
+ <!-- <xsl:if test="$namespace = 'ieee'">
2811
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2812
+ <xsl:attribute name="provisional-distance-between-starts">9.5mm</xsl:attribute>
2813
+ </xsl:if> -->
2728
2814
 
2729
2815
 
2730
2816
 
@@ -2752,6 +2838,7 @@
2752
2838
 
2753
2839
 
2754
2840
 
2841
+
2755
2842
 
2756
2843
  <xsl:attribute name="provisional-distance-between-starts">13mm</xsl:attribute>
2757
2844
 
@@ -2760,10 +2847,12 @@
2760
2847
  </xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
2761
2848
 
2762
2849
 
2850
+
2763
2851
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2764
2852
 
2765
2853
 
2766
2854
 
2855
+
2767
2856
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2768
2857
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2769
2858
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -2781,6 +2870,7 @@
2781
2870
 
2782
2871
 
2783
2872
 
2873
+
2784
2874
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2785
2875
 
2786
2876
 
@@ -2801,6 +2891,7 @@
2801
2891
 
2802
2892
 
2803
2893
 
2894
+
2804
2895
  <xsl:attribute name="font-size">60%</xsl:attribute>
2805
2896
  <xsl:attribute name="vertical-align">super</xsl:attribute>
2806
2897
 
@@ -2821,6 +2912,7 @@
2821
2912
 
2822
2913
 
2823
2914
 
2915
+
2824
2916
  </xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
2825
2917
 
2826
2918
 
@@ -3273,6 +3365,8 @@
3273
3365
 
3274
3366
 
3275
3367
 
3368
+
3369
+
3276
3370
 
3277
3371
 
3278
3372
 
@@ -3318,6 +3412,8 @@
3318
3412
 
3319
3413
 
3320
3414
 
3415
+
3416
+
3321
3417
  </xsl:element>
3322
3418
  </xsl:variable>
3323
3419
 
@@ -3405,6 +3501,14 @@
3405
3501
 
3406
3502
 
3407
3503
 
3504
+ <xsl:if test="*[local-name()='bookmark']"> <!-- special case: table/bookmark -->
3505
+ <fo:block keep-with-previous="always" line-height="0.1">
3506
+ <xsl:for-each select="*[local-name()='bookmark']">
3507
+ <xsl:call-template name="bookmark"/>
3508
+ </xsl:for-each>
3509
+ </fo:block>
3510
+ </xsl:if>
3511
+
3408
3512
  </fo:block-container>
3409
3513
  </xsl:variable>
3410
3514
 
@@ -3460,23 +3564,29 @@
3460
3564
  </xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3461
3565
  <xsl:param name="continued"/>
3462
3566
  <xsl:if test="normalize-space() != ''">
3463
- <fo:block xsl:use-attribute-sets="table-name-style">
3464
-
3465
-
3466
-
3467
-
3567
+
3568
+
3468
3569
 
3469
- <xsl:choose>
3470
- <xsl:when test="$continued = 'true'">
3570
+ <fo:block xsl:use-attribute-sets="table-name-style">
3571
+
3471
3572
 
3472
- </xsl:when>
3473
- <xsl:otherwise>
3474
- <xsl:apply-templates/>
3475
- </xsl:otherwise>
3476
- </xsl:choose>
3477
-
3573
+
3574
+
3575
+
3576
+ <xsl:choose>
3577
+ <xsl:when test="$continued = 'true'">
3578
+
3579
+ </xsl:when>
3580
+ <xsl:otherwise>
3581
+ <xsl:apply-templates/>
3582
+ </xsl:otherwise>
3583
+ </xsl:choose>
3584
+
3585
+
3586
+ </fo:block>
3587
+
3478
3588
 
3479
- </fo:block>
3589
+
3480
3590
  </xsl:if>
3481
3591
  </xsl:template><xsl:template name="calculate-columns-numbers">
3482
3592
  <xsl:param name="table-row"/>
@@ -3874,12 +3984,18 @@
3874
3984
  <fo:table-row>
3875
3985
  <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">
3876
3986
 
3877
- <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3878
- <xsl:with-param name="continued">true</xsl:with-param>
3879
- </xsl:apply-templates>
3880
3987
 
3881
3988
 
3882
3989
 
3990
+ <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
3991
+ <xsl:with-param name="continued">true</xsl:with-param>
3992
+ </xsl:apply-templates>
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+
3883
3999
  </fo:table-cell>
3884
4000
  </fo:table-row>
3885
4001
  </xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
@@ -3919,77 +4035,91 @@
3919
4035
  </xsl:choose>
3920
4036
  </xsl:variable>
3921
4037
 
3922
- <fo:table keep-with-previous="always">
3923
- <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3924
- <xsl:variable name="name" select="local-name()"/>
4038
+
4039
+ <xsl:variable name="tableWithNotesAndFootnotes">
4040
+
4041
+ <fo:table keep-with-previous="always">
4042
+ <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
4043
+ <xsl:variable name="name" select="local-name()"/>
4044
+ <xsl:choose>
4045
+ <xsl:when test="$name = 'border-top'">
4046
+ <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
4047
+ </xsl:when>
4048
+ <xsl:when test="$name = 'border'">
4049
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4050
+ <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
4051
+ </xsl:when>
4052
+ <xsl:otherwise>
4053
+ <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4054
+ </xsl:otherwise>
4055
+ </xsl:choose>
4056
+ </xsl:for-each>
4057
+
4058
+
4059
+
3925
4060
  <xsl:choose>
3926
- <xsl:when test="$name = 'border-top'">
3927
- <xsl:attribute name="{$name}">0pt solid black</xsl:attribute>
3928
- </xsl:when>
3929
- <xsl:when test="$name = 'border'">
3930
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
3931
- <xsl:attribute name="border-top">0pt solid black</xsl:attribute>
4061
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
4062
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
4063
+ <fo:table-column column-width="{@width}"/>
4064
+ </xsl:for-each>
3932
4065
  </xsl:when>
3933
4066
  <xsl:otherwise>
3934
- <xsl:attribute name="{$name}"><xsl:value-of select="."/></xsl:attribute>
4067
+ <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
4068
+ <xsl:call-template name="insertTableColumnWidth">
4069
+ <xsl:with-param name="colwidths" select="$colwidths"/>
4070
+ </xsl:call-template>
3935
4071
  </xsl:otherwise>
3936
4072
  </xsl:choose>
3937
- </xsl:for-each>
3938
-
3939
-
3940
-
3941
- <xsl:choose>
3942
- <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
3943
- <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
3944
- <fo:table-column column-width="{@width}"/>
3945
- </xsl:for-each>
3946
- </xsl:when>
3947
- <xsl:otherwise>
3948
- <!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
3949
- <xsl:call-template name="insertTableColumnWidth">
3950
- <xsl:with-param name="colwidths" select="$colwidths"/>
3951
- </xsl:call-template>
3952
- </xsl:otherwise>
3953
- </xsl:choose>
3954
-
3955
- <fo:table-body>
3956
- <fo:table-row>
3957
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3958
-
3959
-
4073
+
4074
+ <fo:table-body>
4075
+ <fo:table-row>
4076
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
4077
+
4078
+
3960
4079
 
3961
-
3962
-
3963
- <!-- fn will be processed inside 'note' processing -->
3964
-
3965
-
3966
-
3967
-
3968
-
3969
-
3970
- <!-- for BSI (not PAS) display Notes before footnotes -->
3971
-
3972
-
3973
- <!-- except gb and bsi -->
3974
-
3975
- <xsl:apply-templates select="../*[local-name()='note']"/>
3976
4080
 
3977
-
3978
-
3979
- <!-- horizontal row separator -->
3980
-
3981
-
3982
- <!-- fn processing -->
3983
- <xsl:call-template name="table_fn_display"/>
3984
-
3985
- <!-- for PAS display Notes after footnotes -->
3986
-
3987
-
3988
- </fo:table-cell>
3989
- </fo:table-row>
3990
- </fo:table-body>
3991
-
3992
- </fo:table>
4081
+
4082
+ <!-- fn will be processed inside 'note' processing -->
4083
+
4084
+
4085
+
4086
+
4087
+
4088
+
4089
+ <!-- for BSI (not PAS) display Notes before footnotes -->
4090
+
4091
+
4092
+ <!-- except gb and bsi -->
4093
+
4094
+ <xsl:apply-templates select="../*[local-name()='note']"/>
4095
+
4096
+
4097
+
4098
+ <!-- horizontal row separator -->
4099
+
4100
+
4101
+ <!-- fn processing -->
4102
+
4103
+ <xsl:call-template name="table_fn_display"/>
4104
+
4105
+
4106
+
4107
+ <!-- for PAS display Notes after footnotes -->
4108
+
4109
+
4110
+ </fo:table-cell>
4111
+ </fo:table-row>
4112
+ </fo:table-body>
4113
+
4114
+ </fo:table>
4115
+ </xsl:variable>
4116
+
4117
+ <xsl:if test="normalize-space($tableWithNotesAndFootnotes) != ''">
4118
+ <xsl:copy-of select="$tableWithNotesAndFootnotes"/>
4119
+ </xsl:if>
4120
+
4121
+
4122
+
3993
4123
  </xsl:if>
3994
4124
  </xsl:template><xsl:template match="*[local-name()='tbody']">
3995
4125
 
@@ -4078,6 +4208,9 @@
4078
4208
 
4079
4209
 
4080
4210
 
4211
+
4212
+
4213
+
4081
4214
 
4082
4215
 
4083
4216
  <xsl:call-template name="setTableRowAttributes"/>
@@ -4094,6 +4227,8 @@
4094
4227
  <fo:table-row xsl:use-attribute-sets="table-body-row-style">
4095
4228
 
4096
4229
 
4230
+
4231
+
4097
4232
  <xsl:variable name="number"><xsl:number/></xsl:variable>
4098
4233
  <xsl:if test="$number mod 2 = 0">
4099
4234
  <xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
@@ -4183,6 +4318,8 @@
4183
4318
 
4184
4319
 
4185
4320
 
4321
+
4322
+
4186
4323
 
4187
4324
 
4188
4325
 
@@ -4254,7 +4391,11 @@
4254
4391
 
4255
4392
  <xsl:variable name="gen_id" select="generate-id(.)"/>
4256
4393
  <xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
4257
- <xsl:variable name="reference" select="@reference"/>
4394
+ <xsl:variable name="reference_">
4395
+ <xsl:value-of select="@reference"/>
4396
+ <xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
4397
+ </xsl:variable>
4398
+ <xsl:variable name="reference" select="normalize-space($reference_)"/>
4258
4399
  <!-- fn sequence number in document -->
4259
4400
  <xsl:variable name="current_fn_number">
4260
4401
  <xsl:choose>
@@ -4274,6 +4415,7 @@
4274
4415
  <xsl:variable name="footnote_inline">
4275
4416
  <fo:inline xsl:use-attribute-sets="fn-num-style">
4276
4417
 
4418
+
4277
4419
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
4278
4420
  <xsl:value-of select="$current_fn_number_text"/>
4279
4421
  </fo:basic-link>
@@ -4295,8 +4437,12 @@
4295
4437
  <fo:block xsl:use-attribute-sets="fn-body-style">
4296
4438
 
4297
4439
 
4440
+
4298
4441
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
4299
4442
 
4443
+
4444
+
4445
+
4300
4446
  <xsl:value-of select="$current_fn_number_text"/>
4301
4447
  </fo:inline>
4302
4448
  <xsl:apply-templates/>
@@ -4329,7 +4475,7 @@
4329
4475
  <xsl:copy-of select="node()"/>
4330
4476
  </fn>
4331
4477
  </xsl:for-each>
4332
- <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']/*">
4478
+ <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']/*">
4333
4479
  <xsl:sort select="@displayorder" data-type="number"/>
4334
4480
  <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])]">
4335
4481
  <!-- copy unique fn -->
@@ -5981,6 +6127,13 @@
5981
6127
  </xsl:variable>
5982
6128
  <fo:inline xsl:use-attribute-sets="link-style">
5983
6129
 
6130
+ <xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
6131
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6132
+ </xsl:if>
6133
+
6134
+
6135
+
6136
+
5984
6137
 
5985
6138
 
5986
6139
 
@@ -6198,6 +6351,7 @@
6198
6351
 
6199
6352
 
6200
6353
 
6354
+
6201
6355
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
6202
6356
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
6203
6357
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6219,6 +6373,7 @@
6219
6373
  </xsl:when>
6220
6374
  <xsl:otherwise>
6221
6375
 
6376
+
6222
6377
  <xsl:text>:</xsl:text>
6223
6378
 
6224
6379
 
@@ -6238,6 +6393,7 @@
6238
6393
  </xsl:when>
6239
6394
  <xsl:otherwise>
6240
6395
 
6396
+
6241
6397
  <xsl:text>:</xsl:text>
6242
6398
 
6243
6399
 
@@ -6249,7 +6405,19 @@
6249
6405
  <xsl:value-of select="$suffix"/>
6250
6406
  </xsl:if>
6251
6407
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
6252
- <fo:inline><xsl:apply-templates/></fo:inline>
6408
+ <xsl:variable name="num"><xsl:number/></xsl:variable>
6409
+ <xsl:choose>
6410
+ <xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
6411
+ <fo:inline xsl:use-attribute-sets="termnote-p-style">
6412
+ <xsl:apply-templates/>
6413
+ </fo:inline>
6414
+ </xsl:when>
6415
+ <xsl:otherwise>
6416
+ <fo:block xsl:use-attribute-sets="termnote-p-style">
6417
+ <xsl:apply-templates/>
6418
+ </fo:block>
6419
+ </xsl:otherwise>
6420
+ </xsl:choose>
6253
6421
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
6254
6422
  <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
6255
6423
  <fo:block id="{@id}">
@@ -7019,6 +7187,9 @@
7019
7187
  <fo:block xsl:use-attribute-sets="figure-name-style">
7020
7188
 
7021
7189
 
7190
+
7191
+
7192
+
7022
7193
  <xsl:apply-templates/>
7023
7194
  </fo:block>
7024
7195
  </xsl:if>
@@ -7079,9 +7250,9 @@
7079
7250
  <xsl:apply-templates/>
7080
7251
  </xsl:otherwise>
7081
7252
  </xsl:choose>
7082
- </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">
7253
+ </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">
7083
7254
  <xsl:value-of select="."/>
7084
- </xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
7255
+ </xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
7085
7256
  <xsl:text> </xsl:text>
7086
7257
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
7087
7258
  <xsl:copy>
@@ -7159,6 +7330,9 @@
7159
7330
  <!-- 9 -->
7160
7331
 
7161
7332
 
7333
+ <!-- <xsl:if test="$namespace = 'ieee'">
7334
+ <xsl:if test="$current_template = 'standard'">8</xsl:if>
7335
+ </xsl:if> -->
7162
7336
 
7163
7337
 
7164
7338
 
@@ -7621,10 +7795,14 @@
7621
7795
  </xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
7622
7796
  <xsl:variable name="element">inline
7623
7797
 
7798
+
7624
7799
  </xsl:variable>
7625
7800
  <xsl:choose>
7626
7801
  <xsl:when test="contains($element, 'block')">
7627
7802
  <fo:block xsl:use-attribute-sets="example-p-style">
7803
+
7804
+
7805
+
7628
7806
  <xsl:apply-templates/>
7629
7807
  </fo:block>
7630
7808
  </xsl:when>
@@ -7732,6 +7910,7 @@
7732
7910
  </xsl:if>
7733
7911
  <fo:block xsl:use-attribute-sets="example-p-style">
7734
7912
 
7913
+
7735
7914
  <xsl:apply-templates/>
7736
7915
  </fo:block>
7737
7916
  </fo:block-container>
@@ -7888,6 +8067,8 @@
7888
8067
 
7889
8068
 
7890
8069
 
8070
+
8071
+
7891
8072
  <fo:basic-link fox:alt-text="{@citeas}">
7892
8073
  <xsl:if test="normalize-space(@citeas) = ''">
7893
8074
  <xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
@@ -7947,6 +8128,7 @@
7947
8128
 
7948
8129
 
7949
8130
 
8131
+
7950
8132
  <xsl:choose>
7951
8133
  <xsl:when test="$depth = 2">2</xsl:when>
7952
8134
  <xsl:otherwise>1</xsl:otherwise>
@@ -8303,6 +8485,8 @@
8303
8485
 
8304
8486
 
8305
8487
 
8488
+
8489
+
8306
8490
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
8307
8491
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
8308
8492
  <xsl:call-template name="append_add-style"/>
@@ -8495,7 +8679,7 @@
8495
8679
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
8496
8680
  <!-- to split by '_' and other chars -->
8497
8681
  <xsl:call-template name="add-zero-spaces-java"/>
8498
- </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
8682
+ </xsl:template><xsl:template match="*[local-name() = 'table']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
8499
8683
  <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
8500
8684
  <fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
8501
8685
  <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
@@ -8568,9 +8752,9 @@
8568
8752
  </fo:block>
8569
8753
 
8570
8754
 
8571
- </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
8755
+ </xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
8572
8756
 
8573
- <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
8757
+ <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
8574
8758
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
8575
8759
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
8576
8760
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
@@ -8579,7 +8763,7 @@
8579
8763
  <fo:block>
8580
8764
  <fo:inline>
8581
8765
 
8582
- <xsl:number format="1."/>
8766
+ <xsl:number format="1." count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
8583
8767
 
8584
8768
  </fo:inline>
8585
8769
  </fo:block>
@@ -8910,12 +9094,16 @@
8910
9094
  <fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
8911
9095
 
8912
9096
 
9097
+
9098
+
8913
9099
 
8914
9100
 
8915
9101
 
8916
9102
  <fo:block-container xsl:use-attribute-sets="admonition-container-style">
8917
9103
 
8918
9104
 
9105
+
9106
+
8919
9107
  <fo:block xsl:use-attribute-sets="admonition-name-style">
8920
9108
  <xsl:call-template name="displayAdmonitionName"/>
8921
9109
  </fo:block>
@@ -9124,6 +9312,8 @@
9124
9312
  </xsl:when>
9125
9313
  <xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
9126
9314
  </xsl:choose>
9315
+ </xsl:template><xsl:template match="*[local-name() = 'lang_none']">
9316
+ <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
9127
9317
  </xsl:template><xsl:template name="printEdition">
9128
9318
  <xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
9129
9319
  <xsl:text> </xsl:text>
@@ -9230,6 +9420,27 @@
9230
9420
  </xsl:when>
9231
9421
  <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
9232
9422
  </xsl:choose>
9423
+ </xsl:template><xsl:template name="getMonthLocalizedByNum">
9424
+ <xsl:param name="num"/>
9425
+ <xsl:variable name="monthStr">
9426
+ <xsl:choose>
9427
+ <xsl:when test="$num = '01'">january</xsl:when>
9428
+ <xsl:when test="$num = '02'">february</xsl:when>
9429
+ <xsl:when test="$num = '03'">march</xsl:when>
9430
+ <xsl:when test="$num = '04'">april</xsl:when>
9431
+ <xsl:when test="$num = '05'">may</xsl:when>
9432
+ <xsl:when test="$num = '06'">june</xsl:when>
9433
+ <xsl:when test="$num = '07'">july</xsl:when>
9434
+ <xsl:when test="$num = '08'">august</xsl:when>
9435
+ <xsl:when test="$num = '09'">september</xsl:when>
9436
+ <xsl:when test="$num = '10'">october</xsl:when>
9437
+ <xsl:when test="$num = '11'">november</xsl:when>
9438
+ <xsl:when test="$num = '12'">december</xsl:when>
9439
+ </xsl:choose>
9440
+ </xsl:variable>
9441
+ <xsl:call-template name="getLocalizedString">
9442
+ <xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
9443
+ </xsl:call-template>
9233
9444
  </xsl:template><xsl:template name="insertKeywords">
9234
9445
  <xsl:param name="sorting" select="'true'"/>
9235
9446
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -9301,7 +9512,7 @@
9301
9512
  <dc:description>
9302
9513
  <xsl:variable name="abstract">
9303
9514
 
9304
- <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()"/>
9515
+ <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*[local-name() = 'abstract']//text()[not(ancestor::*[local-name() = 'title'])]"/>
9305
9516
 
9306
9517
  </xsl:variable>
9307
9518
  <xsl:value-of select="normalize-space($abstract)"/>
@@ -9425,6 +9636,7 @@
9425
9636
 
9426
9637
 
9427
9638
 
9639
+
9428
9640
  <xsl:value-of select="document('')//*/namespace::ogc"/>
9429
9641
 
9430
9642