metanorma-iec 2.1.0 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +0 -2
- data/lib/isodoc/iec/base_convert.rb +5 -5
- data/lib/isodoc/iec/html/htmlstyle.css +28 -22
- data/lib/isodoc/iec/html/htmlstyle.scss +23 -22
- data/lib/isodoc/iec/html/isodoc.css +19 -11
- data/lib/isodoc/iec/html/isodoc.scss +21 -12
- data/lib/isodoc/iec/i18n.rb +1 -1
- data/lib/isodoc/iec/iec.international-standard.xsl +1352 -192
- data/lib/isodoc/iec/metadata.rb +2 -2
- data/lib/isodoc/iec/presentation_xml_convert.rb +6 -4
- data/lib/isodoc/iec/word_convert.rb +4 -4
- data/lib/metanorma/iec/biblio.rng +134 -39
- data/lib/metanorma/iec/converter.rb +5 -0
- data/lib/metanorma/iec/front.rb +2 -0
- data/lib/metanorma/iec/isodoc.rng +16 -0
- data/lib/metanorma/iec/isostandard.rng +30 -12
- data/lib/metanorma/iec/version.rb +1 -1
- data/metanorma-iec.gemspec +3 -2
- data/spec/isodoc/blocks_spec.rb +37 -0
- data/spec/isodoc/iev_spec.rb +6 -4
- data/spec/isodoc/metadata_spec.rb +235 -261
- data/spec/isodoc/postproc_spec.rb +2 -6
- data/spec/isodoc/section_spec.rb +121 -91
- data/spec/metanorma/base_spec.rb +11 -16
- data/spec/metanorma/cleanup_spec.rb +2 -4
- data/spec/metanorma/iev_spec.rb +6 -12
- data/spec/spec_helper.rb +9 -4
- metadata +5 -5
@@ -1641,6 +1641,7 @@
|
|
1641
1641
|
|
1642
1642
|
<xsl:template match="iec:p" name="paragraph">
|
1643
1643
|
<xsl:param name="inline" select="'false'"/>
|
1644
|
+
<xsl:param name="split_keep-within-line"/>
|
1644
1645
|
<xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
|
1645
1646
|
<xsl:variable name="element-name">
|
1646
1647
|
<xsl:choose>
|
@@ -1683,11 +1684,15 @@
|
|
1683
1684
|
</xsl:if>
|
1684
1685
|
|
1685
1686
|
<xsl:apply-templates select="@language"/>
|
1686
|
-
<xsl:apply-templates
|
1687
|
+
<xsl:apply-templates>
|
1688
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
1689
|
+
</xsl:apply-templates>
|
1687
1690
|
</xsl:element>
|
1688
1691
|
</xsl:when>
|
1689
1692
|
<xsl:otherwise>
|
1690
|
-
<xsl:apply-templates
|
1693
|
+
<xsl:apply-templates>
|
1694
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
1695
|
+
</xsl:apply-templates>
|
1691
1696
|
</xsl:otherwise>
|
1692
1697
|
</xsl:choose>
|
1693
1698
|
|
@@ -1930,12 +1935,41 @@
|
|
1930
1935
|
</xsl:copy>
|
1931
1936
|
</xsl:template> -->
|
1932
1937
|
|
1933
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:variable name="
|
1938
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:variable name="table_widths_from_if_calculated_">
|
1939
|
+
<xsl:for-each select="$table_widths_from_if//table">
|
1940
|
+
<xsl:copy>
|
1941
|
+
<xsl:copy-of select="@*"/>
|
1942
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
|
1943
|
+
</xsl:copy>
|
1944
|
+
</xsl:for-each>
|
1945
|
+
</xsl:variable><xsl:variable name="table_widths_from_if_calculated" select="xalan:nodeset($table_widths_from_if_calculated_)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
|
1946
|
+
false
|
1947
|
+
</xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
|
1934
1948
|
<xsl:call-template name="getLang"/>
|
1935
|
-
</xsl:variable><xsl:variable name="
|
1936
|
-
|
1949
|
+
</xsl:variable><xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/><xsl:variable name="papersize_width_">
|
1950
|
+
<xsl:choose>
|
1951
|
+
<xsl:when test="$papersize = 'letter'">215.9</xsl:when>
|
1952
|
+
<xsl:when test="$papersize = 'a4'">210</xsl:when>
|
1953
|
+
</xsl:choose>
|
1954
|
+
</xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
|
1955
|
+
<xsl:choose>
|
1956
|
+
<xsl:when test="$papersize = 'letter'">279.4</xsl:when>
|
1957
|
+
<xsl:when test="$papersize = 'a4'">297</xsl:when>
|
1958
|
+
</xsl:choose>
|
1959
|
+
</xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
|
1960
|
+
<xsl:choose>
|
1961
|
+
<xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
|
1962
|
+
<xsl:otherwise>
|
1963
|
+
210
|
1964
|
+
</xsl:otherwise>
|
1965
|
+
</xsl:choose>
|
1937
1966
|
</xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
|
1938
|
-
|
1967
|
+
<xsl:choose>
|
1968
|
+
<xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
|
1969
|
+
<xsl:otherwise>
|
1970
|
+
297
|
1971
|
+
</xsl:otherwise>
|
1972
|
+
</xsl:choose>
|
1939
1973
|
</xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
|
1940
1974
|
25
|
1941
1975
|
</xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
|
@@ -2053,14 +2087,15 @@
|
|
2053
2087
|
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
2054
2088
|
</xsl:otherwise>
|
2055
2089
|
</xsl:choose>
|
2056
|
-
</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">
|
2090
|
+
</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">
|
2057
2091
|
|
2058
2092
|
|
2059
2093
|
|
2060
2094
|
|
2061
2095
|
|
2062
2096
|
|
2063
|
-
<xsl:attribute name="font-family">Arial, Times New Roman, STIX Two Math,
|
2097
|
+
<xsl:attribute name="font-family">Arial, Times New Roman, STIX Two Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
|
2098
|
+
<xsl:attribute name="font-family-generic">Sans</xsl:attribute>
|
2064
2099
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2065
2100
|
|
2066
2101
|
|
@@ -2073,6 +2108,7 @@
|
|
2073
2108
|
|
2074
2109
|
|
2075
2110
|
|
2111
|
+
|
2076
2112
|
</xsl:attribute-set><xsl:template name="insertRootStyle">
|
2077
2113
|
<xsl:param name="root-style"/>
|
2078
2114
|
<xsl:variable name="root-style_" select="xalan:nodeset($root-style)"/>
|
@@ -2084,17 +2120,60 @@
|
|
2084
2120
|
</xsl:variable>
|
2085
2121
|
<xsl:variable name="additional_fonts" select="normalize-space($additional_fonts_)"/>
|
2086
2122
|
|
2123
|
+
<xsl:variable name="font_family_generic" select="$root-style_/root-style/@font-family-generic"/>
|
2124
|
+
|
2087
2125
|
<xsl:for-each select="$root-style_/root-style/@*">
|
2126
|
+
|
2088
2127
|
<xsl:choose>
|
2089
|
-
<xsl:when test="local-name() = 'font-family'
|
2128
|
+
<xsl:when test="local-name() = 'font-family-generic'"><!-- skip, it's using for determine 'sans' or 'serif' --></xsl:when>
|
2129
|
+
<xsl:when test="local-name() = 'font-family'">
|
2130
|
+
|
2131
|
+
<xsl:variable name="font_regional_prefix">
|
2132
|
+
<xsl:choose>
|
2133
|
+
<xsl:when test="$font_family_generic = 'Sans'">Noto Sans</xsl:when>
|
2134
|
+
<xsl:otherwise>Noto Serif</xsl:otherwise>
|
2135
|
+
</xsl:choose>
|
2136
|
+
</xsl:variable>
|
2137
|
+
|
2090
2138
|
<xsl:attribute name="{local-name()}">
|
2091
|
-
|
2139
|
+
|
2140
|
+
<xsl:variable name="font_extended">
|
2141
|
+
<xsl:choose>
|
2142
|
+
<xsl:when test="$lang = 'zh'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
|
2143
|
+
<xsl:when test="$lang = 'hk'"><xsl:value-of select="$font_regional_prefix"/> HK</xsl:when>
|
2144
|
+
<xsl:when test="$lang = 'jp'"><xsl:value-of select="$font_regional_prefix"/> JP</xsl:when>
|
2145
|
+
<xsl:when test="$lang = 'kr'"><xsl:value-of select="$font_regional_prefix"/> KR</xsl:when>
|
2146
|
+
<xsl:when test="$lang = 'sc'"><xsl:value-of select="$font_regional_prefix"/> SC</xsl:when>
|
2147
|
+
<xsl:when test="$lang = 'tc'"><xsl:value-of select="$font_regional_prefix"/> TC</xsl:when>
|
2148
|
+
</xsl:choose>
|
2149
|
+
</xsl:variable>
|
2150
|
+
<xsl:if test="normalize-space($font_extended) != ''">
|
2151
|
+
<xsl:value-of select="$font_regional_prefix"/><xsl:text>, </xsl:text>
|
2152
|
+
<xsl:value-of select="$font_extended"/><xsl:text>, </xsl:text>
|
2153
|
+
</xsl:if>
|
2154
|
+
|
2155
|
+
<xsl:value-of select="."/>
|
2156
|
+
|
2157
|
+
<xsl:if test="$additional_fonts != ''">
|
2158
|
+
<xsl:text>, </xsl:text><xsl:value-of select="$additional_fonts"/>
|
2159
|
+
</xsl:if>
|
2092
2160
|
</xsl:attribute>
|
2093
2161
|
</xsl:when>
|
2094
2162
|
<xsl:otherwise>
|
2095
2163
|
<xsl:copy-of select="."/>
|
2096
2164
|
</xsl:otherwise>
|
2097
2165
|
</xsl:choose>
|
2166
|
+
|
2167
|
+
<!-- <xsl:choose>
|
2168
|
+
<xsl:when test="local-name() = 'font-family'">
|
2169
|
+
<xsl:attribute name="{local-name()}">
|
2170
|
+
<xsl:value-of select="."/>, <xsl:value-of select="$additional_fonts"/>
|
2171
|
+
</xsl:attribute>
|
2172
|
+
</xsl:when>
|
2173
|
+
<xsl:otherwise>
|
2174
|
+
<xsl:copy-of select="."/>
|
2175
|
+
</xsl:otherwise>
|
2176
|
+
</xsl:choose> -->
|
2098
2177
|
</xsl:for-each>
|
2099
2178
|
</xsl:template><xsl:attribute-set name="copyright-statement-style">
|
2100
2179
|
|
@@ -2165,7 +2244,7 @@
|
|
2165
2244
|
|
2166
2245
|
|
2167
2246
|
|
2168
|
-
<xsl:attribute name="font-family">Courier New
|
2247
|
+
<xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
|
2169
2248
|
<xsl:attribute name="margin-top">5pt</xsl:attribute>
|
2170
2249
|
<xsl:attribute name="margin-bottom">5pt</xsl:attribute>
|
2171
2250
|
|
@@ -2173,6 +2252,7 @@
|
|
2173
2252
|
|
2174
2253
|
|
2175
2254
|
|
2255
|
+
|
2176
2256
|
|
2177
2257
|
|
2178
2258
|
|
@@ -2216,12 +2296,14 @@
|
|
2216
2296
|
|
2217
2297
|
|
2218
2298
|
|
2299
|
+
|
2219
2300
|
|
2220
2301
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
2221
2302
|
|
2222
2303
|
|
2223
2304
|
|
2224
2305
|
|
2306
|
+
|
2225
2307
|
<xsl:attribute name="space-before">8pt</xsl:attribute>
|
2226
2308
|
<xsl:attribute name="space-after">8pt</xsl:attribute>
|
2227
2309
|
|
@@ -2258,6 +2340,7 @@
|
|
2258
2340
|
|
2259
2341
|
|
2260
2342
|
|
2343
|
+
|
2261
2344
|
|
2262
2345
|
|
2263
2346
|
|
@@ -2292,6 +2375,7 @@
|
|
2292
2375
|
|
2293
2376
|
</xsl:attribute-set><xsl:variable name="table-border_">
|
2294
2377
|
|
2378
|
+
|
2295
2379
|
</xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-container-style">
|
2296
2380
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2297
2381
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
@@ -2316,6 +2400,7 @@
|
|
2316
2400
|
|
2317
2401
|
|
2318
2402
|
|
2403
|
+
|
2319
2404
|
|
2320
2405
|
|
2321
2406
|
|
@@ -2346,6 +2431,7 @@
|
|
2346
2431
|
|
2347
2432
|
|
2348
2433
|
|
2434
|
+
|
2349
2435
|
</xsl:attribute-set><xsl:attribute-set name="table-name-style">
|
2350
2436
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2351
2437
|
|
@@ -2357,6 +2443,7 @@
|
|
2357
2443
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
2358
2444
|
<xsl:attribute name="space-before">12pt</xsl:attribute>
|
2359
2445
|
|
2446
|
+
|
2360
2447
|
|
2361
2448
|
|
2362
2449
|
|
@@ -2400,6 +2487,7 @@
|
|
2400
2487
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2401
2488
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
2402
2489
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
2490
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
2403
2491
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
2404
2492
|
|
2405
2493
|
|
@@ -2422,6 +2510,7 @@
|
|
2422
2510
|
<xsl:attribute name="display-align">center</xsl:attribute>
|
2423
2511
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
2424
2512
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
2513
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
2425
2514
|
|
2426
2515
|
|
2427
2516
|
|
@@ -2438,6 +2527,7 @@
|
|
2438
2527
|
|
2439
2528
|
|
2440
2529
|
|
2530
|
+
|
2441
2531
|
</xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
|
2442
2532
|
<xsl:attribute name="border">solid black 1pt</xsl:attribute>
|
2443
2533
|
<xsl:attribute name="padding-left">1mm</xsl:attribute>
|
@@ -2452,7 +2542,7 @@
|
|
2452
2542
|
|
2453
2543
|
<xsl:attribute name="border">solid black 0.5pt</xsl:attribute>
|
2454
2544
|
|
2455
|
-
|
2545
|
+
|
2456
2546
|
|
2457
2547
|
|
2458
2548
|
|
@@ -2470,6 +2560,7 @@
|
|
2470
2560
|
|
2471
2561
|
|
2472
2562
|
|
2563
|
+
|
2473
2564
|
</xsl:attribute-set><xsl:attribute-set name="table-fn-style">
|
2474
2565
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
2475
2566
|
|
@@ -2477,12 +2568,14 @@
|
|
2477
2568
|
|
2478
2569
|
|
2479
2570
|
|
2571
|
+
|
2480
2572
|
<xsl:attribute name="font-size">8pt</xsl:attribute>
|
2481
2573
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
2482
2574
|
<xsl:attribute name="text-indent">-6mm</xsl:attribute>
|
2483
2575
|
<xsl:attribute name="margin-left">6mm</xsl:attribute>
|
2484
2576
|
|
2485
2577
|
|
2578
|
+
|
2486
2579
|
</xsl:attribute-set><xsl:attribute-set name="table-fn-number-style">
|
2487
2580
|
<xsl:attribute name="font-size">80%</xsl:attribute>
|
2488
2581
|
<xsl:attribute name="padding-right">5mm</xsl:attribute>
|
@@ -2501,6 +2594,7 @@
|
|
2501
2594
|
|
2502
2595
|
|
2503
2596
|
|
2597
|
+
|
2504
2598
|
</xsl:attribute-set><xsl:attribute-set name="fn-container-body-style">
|
2505
2599
|
<xsl:attribute name="text-indent">0</xsl:attribute>
|
2506
2600
|
<xsl:attribute name="start-indent">0</xsl:attribute>
|
@@ -2525,7 +2619,8 @@
|
|
2525
2619
|
</xsl:attribute-set><xsl:attribute-set name="dt-row-style">
|
2526
2620
|
|
2527
2621
|
|
2528
|
-
</xsl:attribute-set><xsl:attribute-set name="dt-style">
|
2622
|
+
</xsl:attribute-set><xsl:attribute-set name="dt-cell-style">
|
2623
|
+
</xsl:attribute-set><xsl:attribute-set name="dt-block-style">
|
2529
2624
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
2530
2625
|
|
2531
2626
|
|
@@ -2539,6 +2634,29 @@
|
|
2539
2634
|
|
2540
2635
|
|
2541
2636
|
|
2637
|
+
|
2638
|
+
</xsl:attribute-set><xsl:attribute-set name="dl-name-style">
|
2639
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2640
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
2641
|
+
|
2642
|
+
|
2643
|
+
|
2644
|
+
|
2645
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2646
|
+
|
2647
|
+
|
2648
|
+
|
2649
|
+
|
2650
|
+
|
2651
|
+
|
2652
|
+
|
2653
|
+
|
2654
|
+
|
2655
|
+
|
2656
|
+
|
2657
|
+
|
2658
|
+
</xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
|
2659
|
+
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
2542
2660
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
2543
2661
|
|
2544
2662
|
|
@@ -2577,6 +2695,7 @@
|
|
2577
2695
|
<xsl:attribute name="margin-top">5pt</xsl:attribute>
|
2578
2696
|
<xsl:attribute name="margin-bottom">9pt</xsl:attribute>
|
2579
2697
|
|
2698
|
+
|
2580
2699
|
|
2581
2700
|
|
2582
2701
|
|
@@ -2643,6 +2762,8 @@
|
|
2643
2762
|
|
2644
2763
|
|
2645
2764
|
|
2765
|
+
</xsl:attribute-set><xsl:attribute-set name="termnote-p-style">
|
2766
|
+
|
2646
2767
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
2647
2768
|
<xsl:attribute name="margin-left">12mm</xsl:attribute>
|
2648
2769
|
<xsl:attribute name="margin-right">12mm</xsl:attribute>
|
@@ -2693,6 +2814,7 @@
|
|
2693
2814
|
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
2694
2815
|
|
2695
2816
|
|
2817
|
+
|
2696
2818
|
|
2697
2819
|
|
2698
2820
|
|
@@ -2739,6 +2861,7 @@
|
|
2739
2861
|
|
2740
2862
|
|
2741
2863
|
|
2864
|
+
|
2742
2865
|
</xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
|
2743
2866
|
<xsl:attribute name="text-align">right</xsl:attribute>
|
2744
2867
|
|
@@ -2759,20 +2882,21 @@
|
|
2759
2882
|
</xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
|
2760
2883
|
|
2761
2884
|
</xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
|
2885
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
2886
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2887
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2762
2888
|
|
2763
2889
|
|
2764
2890
|
|
2765
2891
|
|
2766
2892
|
<xsl:attribute name="width">75%</xsl:attribute>
|
2767
2893
|
<xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
|
2768
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2769
2894
|
|
2770
|
-
|
2771
|
-
|
2895
|
+
|
2772
2896
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
2773
2897
|
|
2774
2898
|
|
2775
|
-
<xsl:attribute name="font-family">Courier New
|
2899
|
+
<xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
|
2776
2900
|
|
2777
2901
|
|
2778
2902
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
|
@@ -2861,6 +2985,25 @@
|
|
2861
2985
|
|
2862
2986
|
|
2863
2987
|
|
2988
|
+
|
2989
|
+
</xsl:attribute-set><xsl:attribute-set name="list-name-style">
|
2990
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2991
|
+
|
2992
|
+
|
2993
|
+
|
2994
|
+
|
2995
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2996
|
+
|
2997
|
+
|
2998
|
+
|
2999
|
+
|
3000
|
+
|
3001
|
+
|
3002
|
+
|
3003
|
+
|
3004
|
+
|
3005
|
+
|
3006
|
+
|
2864
3007
|
</xsl:attribute-set><xsl:attribute-set name="list-item-style">
|
2865
3008
|
|
2866
3009
|
|
@@ -2908,6 +3051,7 @@
|
|
2908
3051
|
|
2909
3052
|
|
2910
3053
|
|
3054
|
+
|
2911
3055
|
</xsl:attribute-set><xsl:attribute-set name="fn-body-style">
|
2912
3056
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
2913
3057
|
<xsl:attribute name="font-style">normal</xsl:attribute>
|
@@ -2934,6 +3078,7 @@
|
|
2934
3078
|
|
2935
3079
|
|
2936
3080
|
|
3081
|
+
|
2937
3082
|
</xsl:attribute-set><xsl:attribute-set name="fn-body-num-style">
|
2938
3083
|
<xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
|
2939
3084
|
|
@@ -2956,6 +3101,7 @@
|
|
2956
3101
|
|
2957
3102
|
|
2958
3103
|
|
3104
|
+
|
2959
3105
|
</xsl:attribute-set><xsl:attribute-set name="admonition-style">
|
2960
3106
|
|
2961
3107
|
|
@@ -2977,12 +3123,13 @@
|
|
2977
3123
|
|
2978
3124
|
|
2979
3125
|
|
3126
|
+
|
2980
3127
|
</xsl:attribute-set><xsl:attribute-set name="admonition-container-style">
|
3128
|
+
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3129
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2981
3130
|
|
2982
3131
|
|
2983
3132
|
|
2984
|
-
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
2985
|
-
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
2986
3133
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2987
3134
|
<xsl:attribute name="padding">1mm</xsl:attribute>
|
2988
3135
|
<xsl:attribute name="padding-top">2mm</xsl:attribute>
|
@@ -2994,6 +3141,7 @@
|
|
2994
3141
|
|
2995
3142
|
|
2996
3143
|
|
3144
|
+
|
2997
3145
|
</xsl:attribute-set><xsl:attribute-set name="admonition-name-style">
|
2998
3146
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2999
3147
|
|
@@ -3021,6 +3169,7 @@
|
|
3021
3169
|
|
3022
3170
|
|
3023
3171
|
|
3172
|
+
|
3024
3173
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-normative-style">
|
3025
3174
|
|
3026
3175
|
|
@@ -3060,6 +3209,7 @@
|
|
3060
3209
|
|
3061
3210
|
|
3062
3211
|
|
3212
|
+
|
3063
3213
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-style">
|
3064
3214
|
|
3065
3215
|
|
@@ -3082,6 +3232,7 @@
|
|
3082
3232
|
|
3083
3233
|
|
3084
3234
|
|
3235
|
+
|
3085
3236
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-normative-list-body-style">
|
3086
3237
|
|
3087
3238
|
|
@@ -3111,6 +3262,7 @@
|
|
3111
3262
|
|
3112
3263
|
|
3113
3264
|
|
3265
|
+
|
3114
3266
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-number-style">
|
3115
3267
|
<xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
|
3116
3268
|
|
@@ -3132,6 +3284,7 @@
|
|
3132
3284
|
|
3133
3285
|
|
3134
3286
|
|
3287
|
+
|
3135
3288
|
</xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-body-style">
|
3136
3289
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
3137
3290
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
@@ -3150,6 +3303,7 @@
|
|
3150
3303
|
|
3151
3304
|
|
3152
3305
|
|
3306
|
+
|
3153
3307
|
</xsl:attribute-set><xsl:attribute-set name="references-non-normative-style">
|
3154
3308
|
|
3155
3309
|
|
@@ -3269,13 +3423,13 @@
|
|
3269
3423
|
|
3270
3424
|
</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">
|
3271
3425
|
<xsl:variable name="nodes_preface_">
|
3272
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3426
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3273
3427
|
<node id="{@id}"/>
|
3274
3428
|
</xsl:for-each>
|
3275
3429
|
</xsl:variable>
|
3276
3430
|
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
3277
3431
|
|
3278
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3432
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3279
3433
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3280
3434
|
|
3281
3435
|
<!-- process Section's title -->
|
@@ -3341,7 +3495,7 @@
|
|
3341
3495
|
</xsl:for-each>
|
3342
3496
|
</figures>
|
3343
3497
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3344
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3498
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3345
3499
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3346
3500
|
<xsl:apply-templates select="."/>
|
3347
3501
|
</xsl:for-each>
|
@@ -3395,7 +3549,38 @@
|
|
3395
3549
|
</xsl:template><xsl:template match="*[local-name()='br']">
|
3396
3550
|
<xsl:value-of select="$linebreak"/>
|
3397
3551
|
</xsl:template><xsl:template match="*[local-name() = 'keep-together_within-line']">
|
3398
|
-
<
|
3552
|
+
<xsl:param name="split_keep-within-line"/>
|
3553
|
+
|
3554
|
+
<!-- <fo:inline>split_keep-within-line='<xsl:value-of select="$split_keep-within-line"/>'</fo:inline> -->
|
3555
|
+
<xsl:choose>
|
3556
|
+
|
3557
|
+
<xsl:when test="normalize-space($split_keep-within-line) = 'true'">
|
3558
|
+
<xsl:variable name="sep">_</xsl:variable>
|
3559
|
+
<xsl:variable name="items">
|
3560
|
+
<xsl:call-template name="split">
|
3561
|
+
<xsl:with-param name="pText" select="."/>
|
3562
|
+
<xsl:with-param name="sep" select="$sep"/>
|
3563
|
+
<xsl:with-param name="normalize-space">false</xsl:with-param>
|
3564
|
+
<xsl:with-param name="keep_sep">true</xsl:with-param>
|
3565
|
+
</xsl:call-template>
|
3566
|
+
</xsl:variable>
|
3567
|
+
<xsl:for-each select="xalan:nodeset($items)/item">
|
3568
|
+
<xsl:choose>
|
3569
|
+
<xsl:when test=". = $sep">
|
3570
|
+
<xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
|
3571
|
+
</xsl:when>
|
3572
|
+
<xsl:otherwise>
|
3573
|
+
<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
|
3574
|
+
</xsl:otherwise>
|
3575
|
+
</xsl:choose>
|
3576
|
+
</xsl:for-each>
|
3577
|
+
</xsl:when>
|
3578
|
+
|
3579
|
+
<xsl:otherwise>
|
3580
|
+
<fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
|
3581
|
+
</xsl:otherwise>
|
3582
|
+
|
3583
|
+
</xsl:choose>
|
3399
3584
|
</xsl:template><xsl:template match="*[local-name()='copyright-statement']">
|
3400
3585
|
<fo:block xsl:use-attribute-sets="copyright-statement-style">
|
3401
3586
|
<xsl:apply-templates/>
|
@@ -3490,9 +3675,14 @@
|
|
3490
3675
|
|
3491
3676
|
<xsl:variable name="table">
|
3492
3677
|
|
3493
|
-
<xsl:variable name="simple-table">
|
3494
|
-
<xsl:call-template name="getSimpleTable"
|
3678
|
+
<xsl:variable name="simple-table">
|
3679
|
+
<xsl:call-template name="getSimpleTable">
|
3680
|
+
<xsl:with-param name="id" select="@id"/>
|
3681
|
+
</xsl:call-template>
|
3495
3682
|
</xsl:variable>
|
3683
|
+
<!-- <xsl:variable name="simple-table" select="xalan:nodeset($simple-table_)"/> -->
|
3684
|
+
|
3685
|
+
<!-- simple-table=<xsl:copy-of select="$simple-table"/> -->
|
3496
3686
|
|
3497
3687
|
|
3498
3688
|
<!-- Display table's name before table as standalone block -->
|
@@ -3515,7 +3705,23 @@
|
|
3515
3705
|
</xsl:call-template>
|
3516
3706
|
</xsl:if>
|
3517
3707
|
</xsl:variable>
|
3518
|
-
<!--
|
3708
|
+
<!-- <xsl:variable name="colwidths" select="xalan:nodeset($colwidths_)"/> -->
|
3709
|
+
|
3710
|
+
<!-- DEBUG -->
|
3711
|
+
<xsl:if test="$table_if_debug = 'true'">
|
3712
|
+
<fo:block font-size="60%">
|
3713
|
+
<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
|
3714
|
+
</fo:block>
|
3715
|
+
</xsl:if>
|
3716
|
+
|
3717
|
+
|
3718
|
+
<!-- <xsl:copy-of select="$colwidths"/> -->
|
3719
|
+
|
3720
|
+
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
3721
|
+
DEBUG
|
3722
|
+
colwidths=<xsl:copy-of select="$colwidths"/>
|
3723
|
+
<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
|
3724
|
+
|
3519
3725
|
|
3520
3726
|
|
3521
3727
|
<xsl:variable name="margin-side">
|
@@ -3544,6 +3750,8 @@
|
|
3544
3750
|
|
3545
3751
|
|
3546
3752
|
|
3753
|
+
|
3754
|
+
|
3547
3755
|
|
3548
3756
|
|
3549
3757
|
|
@@ -3583,12 +3791,22 @@
|
|
3583
3791
|
|
3584
3792
|
|
3585
3793
|
|
3794
|
+
|
3795
|
+
|
3586
3796
|
</xsl:element>
|
3587
3797
|
</xsl:variable>
|
3588
3798
|
|
3799
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
3800
|
+
<!-- to determine start of table -->
|
3801
|
+
<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
|
3802
|
+
</xsl:if>
|
3589
3803
|
|
3590
3804
|
<fo:table id="{@id}">
|
3591
3805
|
|
3806
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
3807
|
+
<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
|
3808
|
+
</xsl:if>
|
3809
|
+
|
3592
3810
|
<xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
|
3593
3811
|
<xsl:attribute name="{local-name()}">
|
3594
3812
|
<xsl:value-of select="."/>
|
@@ -3602,24 +3820,47 @@
|
|
3602
3820
|
|
3603
3821
|
|
3604
3822
|
<xsl:choose>
|
3605
|
-
<xsl:when test="
|
3606
|
-
|
3607
|
-
|
3608
|
-
|
3823
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
3824
|
+
<!-- generate IF for table widths -->
|
3825
|
+
<!-- example:
|
3826
|
+
<tr>
|
3827
|
+
<td valign="top" align="left" id="tab-symdu_1_1">
|
3828
|
+
<p>Symbol</p>
|
3829
|
+
<word id="tab-symdu_1_1_word_1">Symbol</word>
|
3830
|
+
</td>
|
3831
|
+
<td valign="top" align="left" id="tab-symdu_1_2">
|
3832
|
+
<p>Description</p>
|
3833
|
+
<word id="tab-symdu_1_2_word_1">Description</word>
|
3834
|
+
</td>
|
3835
|
+
</tr>
|
3836
|
+
-->
|
3837
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if"/>
|
3838
|
+
|
3609
3839
|
</xsl:when>
|
3610
3840
|
<xsl:otherwise>
|
3611
|
-
<xsl:call-template name="insertTableColumnWidth">
|
3612
|
-
<xsl:with-param name="colwidths" select="$colwidths"/>
|
3613
|
-
</xsl:call-template>
|
3614
|
-
</xsl:otherwise>
|
3615
|
-
</xsl:choose>
|
3616
3841
|
|
3617
|
-
|
3618
|
-
|
3619
|
-
|
3620
|
-
|
3621
|
-
|
3622
|
-
|
3842
|
+
<xsl:choose>
|
3843
|
+
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
3844
|
+
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
3845
|
+
<fo:table-column column-width="{@width}"/>
|
3846
|
+
</xsl:for-each>
|
3847
|
+
</xsl:when>
|
3848
|
+
<xsl:otherwise>
|
3849
|
+
<xsl:call-template name="insertTableColumnWidth">
|
3850
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
3851
|
+
</xsl:call-template>
|
3852
|
+
</xsl:otherwise>
|
3853
|
+
</xsl:choose>
|
3854
|
+
|
3855
|
+
<xsl:choose>
|
3856
|
+
<xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
|
3857
|
+
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
3858
|
+
</xsl:when>
|
3859
|
+
<xsl:otherwise>
|
3860
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
|
3861
|
+
</xsl:otherwise>
|
3862
|
+
</xsl:choose>
|
3863
|
+
|
3623
3864
|
</xsl:otherwise>
|
3624
3865
|
</xsl:choose>
|
3625
3866
|
|
@@ -3697,23 +3938,29 @@
|
|
3697
3938
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
|
3698
3939
|
<xsl:param name="continued"/>
|
3699
3940
|
<xsl:if test="normalize-space() != ''">
|
3700
|
-
|
3701
|
-
|
3702
|
-
|
3703
|
-
|
3704
|
-
|
3941
|
+
|
3942
|
+
|
3705
3943
|
|
3706
|
-
|
3707
|
-
|
3944
|
+
<fo:block xsl:use-attribute-sets="table-name-style">
|
3945
|
+
|
3708
3946
|
|
3709
|
-
|
3710
|
-
|
3711
|
-
|
3712
|
-
|
3713
|
-
|
3714
|
-
|
3947
|
+
|
3948
|
+
|
3949
|
+
|
3950
|
+
<xsl:choose>
|
3951
|
+
<xsl:when test="$continued = 'true'">
|
3952
|
+
|
3953
|
+
</xsl:when>
|
3954
|
+
<xsl:otherwise>
|
3955
|
+
<xsl:apply-templates/>
|
3956
|
+
</xsl:otherwise>
|
3957
|
+
</xsl:choose>
|
3958
|
+
|
3959
|
+
|
3960
|
+
</fo:block>
|
3961
|
+
|
3715
3962
|
|
3716
|
-
|
3963
|
+
|
3717
3964
|
</xsl:if>
|
3718
3965
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
3719
3966
|
<xsl:param name="table-row"/>
|
@@ -3722,11 +3969,22 @@
|
|
3722
3969
|
<xsl:variable name="columns-with-colspan" select="count($table-row/*[@colspan])"/>
|
3723
3970
|
<xsl:value-of select="$columns-count + $sum-colspans - $columns-with-colspan"/>
|
3724
3971
|
</xsl:template><xsl:template name="calculate-column-widths">
|
3972
|
+
<xsl:param name="table"/>
|
3973
|
+
<xsl:param name="cols-count"/>
|
3974
|
+
|
3975
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
3976
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3977
|
+
<xsl:with-param name="table" select="$table"/>
|
3978
|
+
</xsl:call-template>
|
3979
|
+
|
3980
|
+
</xsl:template><xsl:template name="calculate-column-widths-proportional">
|
3725
3981
|
<xsl:param name="table"/>
|
3726
3982
|
<xsl:param name="cols-count"/>
|
3727
3983
|
<xsl:param name="curr-col" select="1"/>
|
3728
3984
|
<xsl:param name="width" select="0"/>
|
3729
3985
|
|
3986
|
+
<!-- table=<xsl:copy-of select="$table"/> -->
|
3987
|
+
|
3730
3988
|
<xsl:if test="$curr-col <= $cols-count">
|
3731
3989
|
<xsl:variable name="widths">
|
3732
3990
|
<xsl:choose>
|
@@ -3764,10 +4022,15 @@
|
|
3764
4022
|
</xsl:for-each>
|
3765
4023
|
</xsl:when>
|
3766
4024
|
<xsl:otherwise>
|
3767
|
-
<xsl:
|
4025
|
+
<!-- <curr_col><xsl:value-of select="$curr-col"/></curr_col> -->
|
4026
|
+
|
4027
|
+
<!-- <table><xsl:copy-of select="$table"/></table>
|
4028
|
+
-->
|
4029
|
+
<xsl:for-each select="xalan:nodeset($table)/*/*[local-name()='tr']">
|
3768
4030
|
<xsl:variable name="td_text">
|
3769
4031
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
3770
4032
|
</xsl:variable>
|
4033
|
+
<!-- <td_text><xsl:value-of select="$td_text"/></td_text> -->
|
3771
4034
|
<xsl:variable name="words">
|
3772
4035
|
<xsl:variable name="string_with_added_zerospaces">
|
3773
4036
|
<xsl:call-template name="add-zero-spaces-java">
|
@@ -3782,6 +4045,7 @@
|
|
3782
4045
|
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
3783
4046
|
</xsl:call-template>
|
3784
4047
|
</xsl:variable>
|
4048
|
+
<!-- words=<xsl:copy-of select="$words"/> -->
|
3785
4049
|
<xsl:variable name="max_length">
|
3786
4050
|
<xsl:call-template name="max_length">
|
3787
4051
|
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
@@ -3806,6 +4070,8 @@
|
|
3806
4070
|
</xsl:choose>
|
3807
4071
|
</xsl:variable>
|
3808
4072
|
|
4073
|
+
<!-- widths=<xsl:copy-of select="$widths"/> -->
|
4074
|
+
|
3809
4075
|
<column>
|
3810
4076
|
<xsl:for-each select="xalan:nodeset($widths)//width">
|
3811
4077
|
<xsl:sort select="." data-type="number" order="descending"/>
|
@@ -3814,33 +4080,271 @@
|
|
3814
4080
|
</xsl:if>
|
3815
4081
|
</xsl:for-each>
|
3816
4082
|
</column>
|
3817
|
-
<xsl:call-template name="calculate-column-widths">
|
4083
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
3818
4084
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3819
4085
|
<xsl:with-param name="curr-col" select="$curr-col +1"/>
|
3820
4086
|
<xsl:with-param name="table" select="$table"/>
|
3821
4087
|
</xsl:call-template>
|
3822
4088
|
</xsl:if>
|
3823
|
-
</xsl:template><xsl:template match="*[@keep-together.within-line]/text()" priority="2" mode="td_text">
|
4089
|
+
</xsl:template><xsl:template match="*[@keep-together.within-line or local-name() = 'keep-together_within-line']/text()" priority="2" mode="td_text">
|
3824
4090
|
<!-- <xsl:message>DEBUG t1=<xsl:value-of select="."/></xsl:message>
|
3825
4091
|
<xsl:message>DEBUG t2=<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/></xsl:message> -->
|
3826
4092
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'.','X')"/>
|
4093
|
+
|
4094
|
+
<!-- if all capitals english letters or digits -->
|
4095
|
+
<xsl:if test="normalize-space(translate(., concat($upper,'0123456789'), '')) = ''">
|
4096
|
+
<xsl:call-template name="repeat">
|
4097
|
+
<xsl:with-param name="char" select="'X'"/>
|
4098
|
+
<xsl:with-param name="count" select="string-length(normalize-space(.)) * 0.5"/>
|
4099
|
+
</xsl:call-template>
|
4100
|
+
</xsl:if>
|
3827
4101
|
</xsl:template><xsl:template match="text()" mode="td_text">
|
3828
4102
|
<xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
|
3829
4103
|
</xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
|
3830
4104
|
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
3831
4105
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
3832
4106
|
<xsl:value-of select="@target"/>
|
3833
|
-
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
3834
|
-
<xsl:
|
3835
|
-
<xsl:
|
3836
|
-
<xsl:
|
3837
|
-
<xsl:
|
3838
|
-
|
4107
|
+
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text" name="math_length">
|
4108
|
+
<xsl:if test="$isGenerateTableIF = 'false'">
|
4109
|
+
<xsl:variable name="mathml_">
|
4110
|
+
<xsl:for-each select="*">
|
4111
|
+
<xsl:if test="local-name() != 'unit' and local-name() != 'prefix' and local-name() != 'dimension' and local-name() != 'quantity'">
|
4112
|
+
<xsl:copy-of select="."/>
|
4113
|
+
</xsl:if>
|
4114
|
+
</xsl:for-each>
|
4115
|
+
</xsl:variable>
|
4116
|
+
<xsl:variable name="mathml" select="xalan:nodeset($mathml_)"/>
|
4117
|
+
|
4118
|
+
<xsl:variable name="math_text">
|
4119
|
+
<xsl:value-of select="normalize-space($mathml)"/>
|
4120
|
+
<xsl:for-each select="$mathml//@open"><xsl:value-of select="."/></xsl:for-each>
|
4121
|
+
<xsl:for-each select="$mathml//@close"><xsl:value-of select="."/></xsl:for-each>
|
4122
|
+
</xsl:variable>
|
4123
|
+
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
4124
|
+
</xsl:if>
|
4125
|
+
</xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
|
4126
|
+
<xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
|
4127
|
+
|
4128
|
+
<!-- via intermediate format -->
|
4129
|
+
|
4130
|
+
<!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
|
4131
|
+
|
4132
|
+
<!-- In the first pass, line wrapping is disabled, and the user agent keeps track of the minimum and maximum width of each cell. -->
|
4133
|
+
|
4134
|
+
<!-- Since line wrap has been disabled, paragraphs are treated as long lines unless broken by BR elements. -->
|
4135
|
+
|
4136
|
+
<!-- get current table id -->
|
4137
|
+
<xsl:variable name="table_id" select="@id"/>
|
4138
|
+
<!-- find table by id in the file 'table_widths' -->
|
4139
|
+
<!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
|
4140
|
+
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
|
4141
|
+
|
4142
|
+
<!-- table='<xsl:copy-of select="$table"/>' -->
|
4143
|
+
<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
|
4144
|
+
<!-- table-if='<xsl:copy-of select="$table-if"/>' -->
|
4145
|
+
<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
|
4146
|
+
|
4147
|
+
<xsl:variable name="table_with_cell_widths_">
|
4148
|
+
<xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
|
4149
|
+
</xsl:variable>
|
4150
|
+
<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
|
4151
|
+
|
4152
|
+
<!-- <xsl:if test="$table_if_debug = 'true'">
|
4153
|
+
<xsl:copy-of select="$table_with_cell_widths"/>
|
4154
|
+
</xsl:if> -->
|
4155
|
+
|
4156
|
+
|
4157
|
+
<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
|
4158
|
+
|
4159
|
+
<xsl:variable name="column_widths_">
|
4160
|
+
<!-- iteration of columns -->
|
4161
|
+
<xsl:for-each select="$table_with_cell_widths//tr[1]/td">
|
4162
|
+
<xsl:variable name="pos" select="position()"/>
|
4163
|
+
<column>
|
4164
|
+
<xsl:attribute name="width_max">
|
4165
|
+
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_max">
|
4166
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
4167
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4168
|
+
</xsl:for-each>
|
4169
|
+
</xsl:attribute>
|
4170
|
+
<xsl:attribute name="width_min">
|
4171
|
+
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_min">
|
4172
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
4173
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4174
|
+
</xsl:for-each>
|
4175
|
+
</xsl:attribute>
|
4176
|
+
</column>
|
3839
4177
|
</xsl:for-each>
|
3840
4178
|
</xsl:variable>
|
4179
|
+
<xsl:variable name="column_widths" select="xalan:nodeset($column_widths_)"/>
|
4180
|
+
|
4181
|
+
<!-- <column_widths>
|
4182
|
+
<xsl:copy-of select="$column_widths"/>
|
4183
|
+
</column_widths> -->
|
4184
|
+
|
4185
|
+
<!-- These in turn, are used to find the minimum and maximum width for the table. -->
|
4186
|
+
<xsl:variable name="table_widths_">
|
4187
|
+
<table>
|
4188
|
+
<xsl:attribute name="width_max">
|
4189
|
+
<xsl:value-of select="sum($column_widths/column/@width_max)"/>
|
4190
|
+
</xsl:attribute>
|
4191
|
+
<xsl:attribute name="width_min">
|
4192
|
+
<xsl:value-of select="sum($column_widths/column/@width_min)"/>
|
4193
|
+
</xsl:attribute>
|
4194
|
+
</table>
|
4195
|
+
</xsl:variable>
|
4196
|
+
<xsl:variable name="table_widths" select="xalan:nodeset($table_widths_)"/>
|
4197
|
+
|
4198
|
+
<xsl:variable name="page_width">
|
4199
|
+
<xsl:choose>
|
4200
|
+
<xsl:when test="$parent_table_page-width != ''">
|
4201
|
+
<xsl:value-of select="$parent_table_page-width"/>
|
4202
|
+
</xsl:when>
|
4203
|
+
<xsl:otherwise>
|
4204
|
+
<xsl:value-of select="@page-width"/>
|
4205
|
+
</xsl:otherwise>
|
4206
|
+
</xsl:choose>
|
4207
|
+
</xsl:variable>
|
4208
|
+
|
4209
|
+
<xsl:if test="$table_if_debug = 'true'">
|
4210
|
+
<table_width>
|
4211
|
+
<xsl:copy-of select="$table_widths"/>
|
4212
|
+
</table_width>
|
4213
|
+
<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
|
4214
|
+
</xsl:if>
|
4215
|
+
|
4216
|
+
|
4217
|
+
<!-- There are three cases: -->
|
4218
|
+
<xsl:choose>
|
4219
|
+
<!-- 1. The minimum table width is equal to or wider than the available space -->
|
4220
|
+
<xsl:when test="$table_widths/table/@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
|
4221
|
+
<!-- call old algorithm -->
|
4222
|
+
<case1/>
|
4223
|
+
<!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
4224
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
4225
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
4226
|
+
<xsl:with-param name="table" select="$table"/>
|
4227
|
+
</xsl:call-template> -->
|
4228
|
+
</xsl:when>
|
4229
|
+
<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
|
4230
|
+
<xsl:when test="$table_widths/table/@width_max <= $page_width">
|
4231
|
+
<case2/>
|
4232
|
+
<autolayout/>
|
4233
|
+
<xsl:for-each select="$column_widths/column/@width_max">
|
4234
|
+
<column divider="100"><xsl:value-of select="."/></column>
|
4235
|
+
</xsl:for-each>
|
4236
|
+
</xsl:when>
|
4237
|
+
<!-- 3. The maximum width of the table is greater than the available space, but the minimum table width is smaller.
|
4238
|
+
In this case, find the difference between the available space and the minimum table width, lets call it W.
|
4239
|
+
Lets also call D the difference between maximum and minimum width of the table.
|
4240
|
+
For each column, let d be the difference between maximum and minimum width of that column.
|
4241
|
+
Now set the column's width to the minimum width plus d times W over D.
|
4242
|
+
This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
|
4243
|
+
<xsl:when test="($table_widths/table/@width_max > $page_width and $table_widths/table/@width_min < $page_width) or ($table_widths/table/@width_min >= $page_width)">
|
4244
|
+
<!-- difference between the available space and the minimum table width -->
|
4245
|
+
<xsl:variable name="W" select="$page_width - $table_widths/table/@width_min"/>
|
4246
|
+
<W><xsl:value-of select="$W"/></W>
|
4247
|
+
<!-- difference between maximum and minimum width of the table -->
|
4248
|
+
<xsl:variable name="D" select="$table_widths/table/@width_max - $table_widths/table/@width_min"/>
|
4249
|
+
<D><xsl:value-of select="$D"/></D>
|
4250
|
+
<case3/>
|
4251
|
+
<autolayout/>
|
4252
|
+
<xsl:if test="$table_widths/table/@width_min >= $page_width">
|
4253
|
+
<split_keep-within-line>true</split_keep-within-line>
|
4254
|
+
</xsl:if>
|
4255
|
+
<xsl:for-each select="$column_widths/column">
|
4256
|
+
<!-- difference between maximum and minimum width of that column. -->
|
4257
|
+
<xsl:variable name="d" select="@width_max - @width_min"/>
|
4258
|
+
<d><xsl:value-of select="$d"/></d>
|
4259
|
+
<width_min><xsl:value-of select="@width_min"/></width_min>
|
4260
|
+
<e><xsl:value-of select="$d * $W div $D"/></e>
|
4261
|
+
<!-- set the column's width to the minimum width plus d times W over D. -->
|
4262
|
+
<column divider="100">
|
4263
|
+
<xsl:value-of select="round(@width_min + $d * $W div $D)"/> <!-- * 10 -->
|
4264
|
+
</column>
|
4265
|
+
</xsl:for-each>
|
4266
|
+
|
4267
|
+
</xsl:when>
|
4268
|
+
<xsl:otherwise><unknown_case/></xsl:otherwise>
|
4269
|
+
</xsl:choose>
|
4270
|
+
|
4271
|
+
</xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
|
4272
|
+
|
4273
|
+
<!-- if nested 'dl' or 'table' -->
|
4274
|
+
<xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
|
4275
|
+
<parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
|
4276
|
+
|
4277
|
+
<parent_element><xsl:value-of select="local-name(..)"/></parent_element>
|
4278
|
+
|
4279
|
+
<xsl:variable name="parent_table_page-width_">
|
4280
|
+
<xsl:if test="$parent_table_id != ''">
|
4281
|
+
<!-- determine column number in the parent table -->
|
4282
|
+
<xsl:variable name="parent_table_column_number">
|
4283
|
+
<xsl:choose>
|
4284
|
+
<xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
|
4285
|
+
<xsl:otherwise> <!-- parent is table -->
|
4286
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
|
4287
|
+
</xsl:otherwise>
|
4288
|
+
</xsl:choose>
|
4289
|
+
</xsl:variable>
|
4290
|
+
<!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
|
4291
|
+
<xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
|
4292
|
+
</xsl:if>
|
4293
|
+
</xsl:variable>
|
4294
|
+
<xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
|
4295
|
+
|
4296
|
+
<!-- get current table id -->
|
4297
|
+
<xsl:variable name="table_id" select="@id"/>
|
4298
|
+
|
4299
|
+
<xsl:choose>
|
4300
|
+
<xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
|
4301
|
+
<!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
|
4302
|
+
<xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
|
4303
|
+
</xsl:when>
|
4304
|
+
<xsl:otherwise>
|
4305
|
+
<!-- recalculate columns width based on parent table width -->
|
4306
|
+
<xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
|
4307
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm">
|
4308
|
+
<xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
|
4309
|
+
</xsl:call-template>
|
4310
|
+
</xsl:for-each>
|
4311
|
+
</xsl:otherwise>
|
4312
|
+
</xsl:choose>
|
3841
4313
|
|
3842
|
-
|
3843
|
-
<xsl:
|
4314
|
+
</xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
|
4315
|
+
<xsl:copy>
|
4316
|
+
<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
|
4317
|
+
</xsl:copy>
|
4318
|
+
</xsl:template><xsl:template match="td | th" mode="determine_cell_widths-if">
|
4319
|
+
<xsl:copy>
|
4320
|
+
<xsl:copy-of select="@*"/>
|
4321
|
+
|
4322
|
+
<!-- The maximum width is given by the widest line. -->
|
4323
|
+
<xsl:attribute name="width_max">
|
4324
|
+
<xsl:for-each select="p_len">
|
4325
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
4326
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4327
|
+
</xsl:for-each>
|
4328
|
+
</xsl:attribute>
|
4329
|
+
|
4330
|
+
<!-- The minimum width is given by the widest text element (word, image, etc.) -->
|
4331
|
+
<xsl:variable name="width_min">
|
4332
|
+
<xsl:for-each select="word_len">
|
4333
|
+
<xsl:sort select="." data-type="number" order="descending"/>
|
4334
|
+
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4335
|
+
</xsl:for-each>
|
4336
|
+
</xsl:variable>
|
4337
|
+
<xsl:attribute name="width_min">
|
4338
|
+
<xsl:value-of select="$width_min"/>
|
4339
|
+
</xsl:attribute>
|
4340
|
+
|
4341
|
+
<xsl:if test="$width_min = 0">
|
4342
|
+
<xsl:attribute name="width_min">1</xsl:attribute>
|
4343
|
+
</xsl:if>
|
4344
|
+
|
4345
|
+
<xsl:apply-templates select="node()" mode="determine_cell_widths-if"/>
|
4346
|
+
|
4347
|
+
</xsl:copy>
|
3844
4348
|
</xsl:template><xsl:template match="*[local-name()='thead']">
|
3845
4349
|
<xsl:param name="cols-count"/>
|
3846
4350
|
<fo:table-header>
|
@@ -3854,12 +4358,18 @@
|
|
3854
4358
|
<fo:table-row>
|
3855
4359
|
<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">
|
3856
4360
|
|
3857
|
-
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
|
3858
|
-
<xsl:with-param name="continued">true</xsl:with-param>
|
3859
|
-
</xsl:apply-templates>
|
3860
4361
|
|
3861
4362
|
|
3862
4363
|
|
4364
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
|
4365
|
+
<xsl:with-param name="continued">true</xsl:with-param>
|
4366
|
+
</xsl:apply-templates>
|
4367
|
+
|
4368
|
+
|
4369
|
+
|
4370
|
+
|
4371
|
+
|
4372
|
+
|
3863
4373
|
</fo:table-cell>
|
3864
4374
|
</fo:table-row>
|
3865
4375
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
@@ -3925,6 +4435,7 @@
|
|
3925
4435
|
</xsl:for-each>
|
3926
4436
|
</xsl:when>
|
3927
4437
|
<xsl:otherwise>
|
4438
|
+
<!-- $colwidths=<xsl:copy-of select="$colwidths"/> -->
|
3928
4439
|
<xsl:call-template name="insertTableColumnWidth">
|
3929
4440
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
3930
4441
|
</xsl:call-template>
|
@@ -3969,7 +4480,10 @@
|
|
3969
4480
|
|
3970
4481
|
|
3971
4482
|
<!-- fn processing -->
|
3972
|
-
|
4483
|
+
|
4484
|
+
<xsl:call-template name="table_fn_display"/>
|
4485
|
+
|
4486
|
+
|
3973
4487
|
|
3974
4488
|
<!-- for PAS display Notes after footnotes -->
|
3975
4489
|
|
@@ -3979,6 +4493,9 @@
|
|
3979
4493
|
</fo:table-body>
|
3980
4494
|
|
3981
4495
|
</fo:table>
|
4496
|
+
|
4497
|
+
|
4498
|
+
|
3982
4499
|
</xsl:if>
|
3983
4500
|
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
3984
4501
|
|
@@ -4014,6 +4531,52 @@
|
|
4014
4531
|
|
4015
4532
|
</fo:table-body>
|
4016
4533
|
|
4534
|
+
</xsl:template><xsl:template match="/" mode="process_table-if">
|
4535
|
+
<xsl:param name="table_or_dl">table</xsl:param>
|
4536
|
+
<xsl:apply-templates mode="process_table-if">
|
4537
|
+
<xsl:with-param name="table_or_dl" select="$table_or_dl"/>
|
4538
|
+
</xsl:apply-templates>
|
4539
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="process_table-if">
|
4540
|
+
<xsl:param name="table_or_dl">table</xsl:param>
|
4541
|
+
|
4542
|
+
<fo:table-body>
|
4543
|
+
<xsl:for-each select="*[local-name() = 'tr']">
|
4544
|
+
<xsl:variable name="col_count" select="count(*)"/>
|
4545
|
+
|
4546
|
+
<!-- iteration for each tr/td -->
|
4547
|
+
|
4548
|
+
<xsl:choose>
|
4549
|
+
<xsl:when test="$table_or_dl = 'table'">
|
4550
|
+
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']/*">
|
4551
|
+
<fo:table-row number-columns-spanned="{$col_count}">
|
4552
|
+
<!-- <test_table><xsl:copy-of select="."/></test_table> -->
|
4553
|
+
<xsl:call-template name="td"/>
|
4554
|
+
</fo:table-row>
|
4555
|
+
</xsl:for-each>
|
4556
|
+
</xsl:when>
|
4557
|
+
<xsl:otherwise> <!-- $table_or_dl = 'dl' -->
|
4558
|
+
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']">
|
4559
|
+
<xsl:variable name="is_dt" select="position() = 1"/>
|
4560
|
+
|
4561
|
+
<xsl:for-each select="*">
|
4562
|
+
<!-- <test><xsl:copy-of select="."/></test> -->
|
4563
|
+
<fo:table-row number-columns-spanned="{$col_count}">
|
4564
|
+
<xsl:choose>
|
4565
|
+
<xsl:when test="$is_dt">
|
4566
|
+
<xsl:call-template name="insert_dt_cell"/>
|
4567
|
+
</xsl:when>
|
4568
|
+
<xsl:otherwise>
|
4569
|
+
<xsl:call-template name="insert_dd_cell"/>
|
4570
|
+
</xsl:otherwise>
|
4571
|
+
</xsl:choose>
|
4572
|
+
</fo:table-row>
|
4573
|
+
</xsl:for-each>
|
4574
|
+
</xsl:for-each>
|
4575
|
+
</xsl:otherwise>
|
4576
|
+
</xsl:choose>
|
4577
|
+
|
4578
|
+
</xsl:for-each>
|
4579
|
+
</fo:table-body>
|
4017
4580
|
</xsl:template><xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
|
4018
4581
|
<fo:table-row xsl:use-attribute-sets="table-header-row-style">
|
4019
4582
|
|
@@ -4021,6 +4584,9 @@
|
|
4021
4584
|
|
4022
4585
|
|
4023
4586
|
|
4587
|
+
|
4588
|
+
|
4589
|
+
|
4024
4590
|
|
4025
4591
|
|
4026
4592
|
<xsl:call-template name="setTableRowAttributes"/>
|
@@ -4040,6 +4606,8 @@
|
|
4040
4606
|
|
4041
4607
|
|
4042
4608
|
|
4609
|
+
|
4610
|
+
|
4043
4611
|
<xsl:call-template name="setTableRowAttributes"/>
|
4044
4612
|
<xsl:apply-templates/>
|
4045
4613
|
</fo:table-row>
|
@@ -4105,7 +4673,7 @@
|
|
4105
4673
|
</xsl:choose>
|
4106
4674
|
</xsl:attribute>
|
4107
4675
|
</xsl:if>
|
4108
|
-
</xsl:template><xsl:template match="*[local-name()='td']">
|
4676
|
+
</xsl:template><xsl:template match="*[local-name()='td']" name="td">
|
4109
4677
|
<fo:table-cell xsl:use-attribute-sets="table-cell-style"> <!-- text-align="{@align}" -->
|
4110
4678
|
<xsl:call-template name="setTextAlignment">
|
4111
4679
|
<xsl:with-param name="default">left</xsl:with-param>
|
@@ -4130,6 +4698,8 @@
|
|
4130
4698
|
|
4131
4699
|
|
4132
4700
|
|
4701
|
+
|
4702
|
+
|
4133
4703
|
|
4134
4704
|
|
4135
4705
|
|
@@ -4143,11 +4713,24 @@
|
|
4143
4713
|
|
4144
4714
|
<xsl:call-template name="setTableCellAttributes"/>
|
4145
4715
|
|
4716
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
4717
|
+
<xsl:attribute name="border">1pt solid black</xsl:attribute> <!-- border is mandatory, to determine page width -->
|
4718
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
4719
|
+
</xsl:if>
|
4720
|
+
|
4146
4721
|
<fo:block>
|
4147
4722
|
|
4723
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
4724
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
4725
|
+
</xsl:if>
|
4726
|
+
|
4727
|
+
|
4148
4728
|
|
4149
4729
|
|
4150
4730
|
<xsl:apply-templates/>
|
4731
|
+
|
4732
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
4733
|
+
|
4151
4734
|
</fo:block>
|
4152
4735
|
</fo:table-cell>
|
4153
4736
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
|
@@ -4188,7 +4771,11 @@
|
|
4188
4771
|
|
4189
4772
|
<xsl:variable name="gen_id" select="generate-id(.)"/>
|
4190
4773
|
<xsl:variable name="lang" select="ancestor::*[contains(local-name(), '-standard')]/*[local-name()='bibdata']//*[local-name()='language'][@current = 'true']"/>
|
4191
|
-
<xsl:variable name="
|
4774
|
+
<xsl:variable name="reference_">
|
4775
|
+
<xsl:value-of select="@reference"/>
|
4776
|
+
<xsl:if test="normalize-space(@reference) = ''"><xsl:value-of select="$gen_id"/></xsl:if>
|
4777
|
+
</xsl:variable>
|
4778
|
+
<xsl:variable name="reference" select="normalize-space($reference_)"/>
|
4192
4779
|
<!-- fn sequence number in document -->
|
4193
4780
|
<xsl:variable name="current_fn_number">
|
4194
4781
|
<xsl:choose>
|
@@ -4263,7 +4850,7 @@
|
|
4263
4850
|
<xsl:copy-of select="node()"/>
|
4264
4851
|
</fn>
|
4265
4852
|
</xsl:for-each>
|
4266
|
-
<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']/*">
|
4853
|
+
<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']/*">
|
4267
4854
|
<xsl:sort select="@displayorder" data-type="number"/>
|
4268
4855
|
<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])]">
|
4269
4856
|
<!-- copy unique fn -->
|
@@ -4344,9 +4931,9 @@
|
|
4344
4931
|
<!-- current hierarchy is 'figure' element -->
|
4345
4932
|
<xsl:variable name="following_dl_colwidths">
|
4346
4933
|
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
4347
|
-
<xsl:variable name="
|
4348
|
-
<xsl:variable name="doc_ns">
|
4349
|
-
|
4934
|
+
<xsl:variable name="simple-table">
|
4935
|
+
<!-- <xsl:variable name="doc_ns">
|
4936
|
+
<xsl:if test="$namespace = 'bipm'">bipm</xsl:if>
|
4350
4937
|
</xsl:variable>
|
4351
4938
|
<xsl:variable name="ns">
|
4352
4939
|
<xsl:choose>
|
@@ -4357,7 +4944,7 @@
|
|
4357
4944
|
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
4358
4945
|
</xsl:otherwise>
|
4359
4946
|
</xsl:choose>
|
4360
|
-
</xsl:variable>
|
4947
|
+
</xsl:variable> -->
|
4361
4948
|
|
4362
4949
|
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
4363
4950
|
<tbody>
|
@@ -4368,7 +4955,7 @@
|
|
4368
4955
|
|
4369
4956
|
<xsl:call-template name="calculate-column-widths">
|
4370
4957
|
<xsl:with-param name="cols-count" select="2"/>
|
4371
|
-
<xsl:with-param name="table" select="$
|
4958
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
4372
4959
|
</xsl:call-template>
|
4373
4960
|
|
4374
4961
|
</xsl:if>
|
@@ -4562,12 +5149,31 @@
|
|
4562
5149
|
|
4563
5150
|
|
4564
5151
|
|
5152
|
+
|
5153
|
+
<xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
|
5154
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
5155
|
+
</xsl:if>
|
5156
|
+
|
4565
5157
|
<fo:block>
|
4566
5158
|
|
4567
5159
|
|
4568
5160
|
|
4569
5161
|
|
5162
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
5163
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
5164
|
+
</xsl:apply-templates>
|
5165
|
+
|
5166
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5167
|
+
<!-- to determine start of table -->
|
5168
|
+
<fo:block id="{concat('table_if_start_',@id)}" keep-with-next="always" font-size="1pt">Start table '<xsl:value-of select="@id"/>'.</fo:block>
|
5169
|
+
</xsl:if>
|
5170
|
+
|
4570
5171
|
<fo:table width="95%" table-layout="fixed">
|
5172
|
+
|
5173
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5174
|
+
<xsl:attribute name="wrap-option">no-wrap</xsl:attribute>
|
5175
|
+
</xsl:if>
|
5176
|
+
|
4571
5177
|
|
4572
5178
|
<xsl:choose>
|
4573
5179
|
<xsl:when test="normalize-space($key_iso) = 'true' and $parent = 'formula'"/>
|
@@ -4578,69 +5184,173 @@
|
|
4578
5184
|
|
4579
5185
|
</xsl:when>
|
4580
5186
|
</xsl:choose>
|
4581
|
-
|
4582
|
-
|
4583
|
-
|
5187
|
+
|
5188
|
+
|
5189
|
+
|
5190
|
+
<xsl:choose>
|
5191
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
5192
|
+
<!-- generate IF for table widths -->
|
5193
|
+
<!-- example:
|
5194
|
+
<tr>
|
5195
|
+
<td valign="top" align="left" id="tab-symdu_1_1">
|
5196
|
+
<p>Symbol</p>
|
5197
|
+
<word id="tab-symdu_1_1_word_1">Symbol</word>
|
5198
|
+
</td>
|
5199
|
+
<td valign="top" align="left" id="tab-symdu_1_2">
|
5200
|
+
<p>Description</p>
|
5201
|
+
<word id="tab-symdu_1_2_word_1">Description</word>
|
5202
|
+
</td>
|
5203
|
+
</tr>
|
5204
|
+
-->
|
4584
5205
|
|
4585
|
-
|
4586
|
-
|
4587
|
-
|
4588
|
-
<xsl:
|
4589
|
-
<
|
4590
|
-
|
4591
|
-
|
4592
|
-
|
4593
|
-
|
4594
|
-
|
4595
|
-
|
4596
|
-
|
4597
|
-
|
4598
|
-
|
4599
|
-
|
4600
|
-
|
4601
|
-
|
4602
|
-
|
4603
|
-
|
4604
|
-
|
4605
|
-
|
4606
|
-
|
4607
|
-
|
4608
|
-
|
4609
|
-
|
4610
|
-
|
4611
|
-
|
4612
|
-
|
4613
|
-
|
4614
|
-
|
4615
|
-
|
4616
|
-
|
4617
|
-
|
4618
|
-
|
4619
|
-
|
4620
|
-
|
5206
|
+
<!-- create virtual html table for dl/[dt and dd] -->
|
5207
|
+
<xsl:variable name="simple-table">
|
5208
|
+
|
5209
|
+
<xsl:variable name="dl_table">
|
5210
|
+
<tbody>
|
5211
|
+
<xsl:apply-templates mode="dl_if">
|
5212
|
+
<xsl:with-param name="id" select="@id"/>
|
5213
|
+
</xsl:apply-templates>
|
5214
|
+
</tbody>
|
5215
|
+
</xsl:variable>
|
5216
|
+
|
5217
|
+
<!-- dl_table='<xsl:copy-of select="$dl_table"/>' -->
|
5218
|
+
|
5219
|
+
<!-- Step: replace <br/> to <p>...</p> -->
|
5220
|
+
<xsl:variable name="table_without_br">
|
5221
|
+
<xsl:apply-templates select="xalan:nodeset($dl_table)" mode="table-without-br"/>
|
5222
|
+
</xsl:variable>
|
5223
|
+
|
5224
|
+
<!-- table_without_br='<xsl:copy-of select="$table_without_br"/>' -->
|
5225
|
+
|
5226
|
+
<!-- Step: add id to each cell -->
|
5227
|
+
<!-- add <word>...</word> for each word, image, math -->
|
5228
|
+
<xsl:variable name="simple-table-id">
|
5229
|
+
<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-id">
|
5230
|
+
<xsl:with-param name="id" select="@id"/>
|
5231
|
+
</xsl:apply-templates>
|
5232
|
+
</xsl:variable>
|
5233
|
+
|
5234
|
+
<!-- simple-table-id='<xsl:copy-of select="$simple-table-id"/>' -->
|
5235
|
+
|
5236
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
|
5237
|
+
|
5238
|
+
</xsl:variable>
|
5239
|
+
|
5240
|
+
<!-- DEBUG: simple-table<xsl:copy-of select="$simple-table"/> -->
|
5241
|
+
|
5242
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if">
|
5243
|
+
<xsl:with-param name="table_or_dl">dl</xsl:with-param>
|
5244
|
+
</xsl:apply-templates>
|
5245
|
+
|
5246
|
+
</xsl:when>
|
5247
|
+
<xsl:otherwise>
|
4621
5248
|
|
4622
|
-
|
4623
|
-
|
4624
|
-
|
4625
|
-
|
4626
|
-
|
5249
|
+
<xsl:variable name="simple-table">
|
5250
|
+
|
5251
|
+
<xsl:variable name="dl_table">
|
5252
|
+
<tbody>
|
5253
|
+
<xsl:apply-templates mode="dl">
|
5254
|
+
<xsl:with-param name="id" select="@id"/>
|
5255
|
+
</xsl:apply-templates>
|
5256
|
+
</tbody>
|
5257
|
+
</xsl:variable>
|
5258
|
+
|
5259
|
+
<xsl:copy-of select="$dl_table"/>
|
5260
|
+
</xsl:variable>
|
5261
|
+
|
5262
|
+
<xsl:variable name="colwidths">
|
5263
|
+
<xsl:call-template name="calculate-column-widths">
|
5264
|
+
<xsl:with-param name="cols-count" select="2"/>
|
5265
|
+
<xsl:with-param name="table" select="$simple-table"/>
|
5266
|
+
</xsl:call-template>
|
5267
|
+
</xsl:variable>
|
5268
|
+
|
5269
|
+
<!-- <xsl:text disable-output-escaping="yes"><!- -</xsl:text>
|
5270
|
+
DEBUG
|
5271
|
+
colwidths=<xsl:copy-of select="$colwidths"/>
|
5272
|
+
<xsl:text disable-output-escaping="yes">- -></xsl:text> -->
|
5273
|
+
|
5274
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
5275
|
+
|
5276
|
+
<xsl:variable name="maxlength_dt">
|
5277
|
+
<xsl:call-template name="getMaxLength_dt"/>
|
5278
|
+
</xsl:variable>
|
5279
|
+
|
5280
|
+
<xsl:variable name="isContainsKeepTogetherTag_">
|
5281
|
+
false
|
5282
|
+
</xsl:variable>
|
5283
|
+
<xsl:variable name="isContainsKeepTogetherTag" select="normalize-space($isContainsKeepTogetherTag_)"/>
|
5284
|
+
<!-- isContainsExpressReference=<xsl:value-of select="$isContainsExpressReference"/> -->
|
5285
|
+
|
5286
|
+
|
5287
|
+
<xsl:call-template name="setColumnWidth_dl">
|
5288
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5289
|
+
<xsl:with-param name="maxlength_dt" select="$maxlength_dt"/>
|
5290
|
+
<xsl:with-param name="isContainsKeepTogetherTag" select="$isContainsKeepTogetherTag"/>
|
5291
|
+
</xsl:call-template>
|
5292
|
+
|
5293
|
+
<fo:table-body>
|
5294
|
+
|
5295
|
+
<!-- DEBUG -->
|
5296
|
+
<xsl:if test="$table_if_debug = 'true'">
|
5297
|
+
<fo:table-row>
|
5298
|
+
<fo:table-cell number-columns-spanned="2" font-size="60%">
|
5299
|
+
<xsl:apply-templates select="xalan:nodeset($colwidths)" mode="print_as_xml"/>
|
5300
|
+
</fo:table-cell>
|
5301
|
+
</fo:table-row>
|
5302
|
+
</xsl:if>
|
5303
|
+
|
5304
|
+
<xsl:apply-templates>
|
5305
|
+
<xsl:with-param name="key_iso" select="normalize-space($key_iso)"/>
|
5306
|
+
<xsl:with-param name="split_keep-within-line" select="xalan:nodeset($colwidths)/split_keep-within-line"/>
|
5307
|
+
</xsl:apply-templates>
|
5308
|
+
|
5309
|
+
</fo:table-body>
|
5310
|
+
</xsl:otherwise>
|
5311
|
+
</xsl:choose>
|
4627
5312
|
</fo:table>
|
4628
5313
|
</fo:block>
|
4629
5314
|
</fo:block>
|
4630
5315
|
</xsl:if> <!-- END: a few components -->
|
4631
5316
|
</fo:block-container>
|
4632
5317
|
</fo:block-container>
|
5318
|
+
|
5319
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
|
5320
|
+
<xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
|
5321
|
+
</xsl:if>
|
5322
|
+
|
5323
|
+
</xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
|
5324
|
+
<xsl:param name="process">false</xsl:param>
|
5325
|
+
<xsl:if test="$process = 'true'">
|
5326
|
+
<fo:block xsl:use-attribute-sets="dl-name-style">
|
5327
|
+
<xsl:apply-templates/>
|
5328
|
+
</fo:block>
|
5329
|
+
</xsl:if>
|
4633
5330
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
4634
5331
|
<xsl:param name="colwidths"/>
|
4635
5332
|
<xsl:param name="maxlength_dt"/>
|
4636
5333
|
<xsl:param name="isContainsKeepTogetherTag"/>
|
5334
|
+
|
5335
|
+
<!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
|
5336
|
+
|
4637
5337
|
<xsl:choose>
|
5338
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
5339
|
+
<xsl:call-template name="insertTableColumnWidth">
|
5340
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5341
|
+
</xsl:call-template>
|
5342
|
+
</xsl:when>
|
4638
5343
|
<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
|
4639
5344
|
<fo:table-column column-width="50%"/>
|
4640
5345
|
<fo:table-column column-width="50%"/>
|
4641
5346
|
</xsl:when>
|
4642
5347
|
<xsl:otherwise>
|
4643
5348
|
<xsl:choose>
|
5349
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
5350
|
+
<xsl:call-template name="insertTableColumnWidth">
|
5351
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5352
|
+
</xsl:call-template>
|
5353
|
+
</xsl:when>
|
4644
5354
|
<xsl:when test="$isContainsKeepTogetherTag">
|
4645
5355
|
<xsl:call-template name="insertTableColumnWidth">
|
4646
5356
|
<xsl:with-param name="colwidths" select="$colwidths"/>
|
@@ -4685,13 +5395,19 @@
|
|
4685
5395
|
</xsl:choose>
|
4686
5396
|
</xsl:template><xsl:template name="insertTableColumnWidth">
|
4687
5397
|
<xsl:param name="colwidths"/>
|
5398
|
+
|
4688
5399
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
4689
5400
|
<xsl:choose>
|
4690
5401
|
<xsl:when test=". = 1 or . = 0">
|
4691
5402
|
<fo:table-column column-width="proportional-column-width(2)"/>
|
4692
5403
|
</xsl:when>
|
4693
5404
|
<xsl:otherwise>
|
4694
|
-
<fo:table-column column-width="proportional-column-width({.})"/>
|
5405
|
+
<!-- <fo:table-column column-width="proportional-column-width({.})"/> -->
|
5406
|
+
<xsl:variable name="divider">
|
5407
|
+
<xsl:value-of select="@divider"/>
|
5408
|
+
<xsl:if test="not(@divider)">1</xsl:if>
|
5409
|
+
</xsl:variable>
|
5410
|
+
<fo:table-column column-width="proportional-column-width({round(. div $divider)})"/>
|
4695
5411
|
</xsl:otherwise>
|
4696
5412
|
</xsl:choose>
|
4697
5413
|
</xsl:for-each>
|
@@ -4753,11 +5469,19 @@
|
|
4753
5469
|
</fo:table-cell>
|
4754
5470
|
</fo:table-row>
|
4755
5471
|
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl">
|
5472
|
+
<xsl:param name="id"/>
|
5473
|
+
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
4756
5474
|
<tr>
|
4757
5475
|
<td>
|
5476
|
+
<xsl:attribute name="id">
|
5477
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_1')"/>
|
5478
|
+
</xsl:attribute>
|
4758
5479
|
<xsl:apply-templates/>
|
4759
5480
|
</td>
|
4760
5481
|
<td>
|
5482
|
+
<xsl:attribute name="id">
|
5483
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_2')"/>
|
5484
|
+
</xsl:attribute>
|
4761
5485
|
|
4762
5486
|
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
|
4763
5487
|
<xsl:with-param name="process">true</xsl:with-param>
|
@@ -4766,52 +5490,136 @@
|
|
4766
5490
|
</td>
|
4767
5491
|
</tr>
|
4768
5492
|
|
4769
|
-
</xsl:template><xsl:template match="*[local-name()='dt']">
|
4770
|
-
<xsl:param name="key_iso"/>
|
5493
|
+
</xsl:template><xsl:template match="*[local-name()='dt']">
|
5494
|
+
<xsl:param name="key_iso"/>
|
5495
|
+
<xsl:param name="split_keep-within-line"/>
|
5496
|
+
|
5497
|
+
<fo:table-row xsl:use-attribute-sets="dt-row-style">
|
5498
|
+
<xsl:call-template name="insert_dt_cell">
|
5499
|
+
<xsl:with-param name="key_iso" select="$key_iso"/>
|
5500
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
5501
|
+
</xsl:call-template>
|
5502
|
+
<xsl:for-each select="following-sibling::*[local-name()='dd'][1]">
|
5503
|
+
<xsl:call-template name="insert_dd_cell">
|
5504
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
5505
|
+
</xsl:call-template>
|
5506
|
+
</xsl:for-each>
|
5507
|
+
</fo:table-row>
|
5508
|
+
</xsl:template><xsl:template name="insert_dt_cell">
|
5509
|
+
<xsl:param name="key_iso"/>
|
5510
|
+
<xsl:param name="split_keep-within-line"/>
|
5511
|
+
<fo:table-cell xsl:use-attribute-sets="dt-cell-style">
|
5512
|
+
|
5513
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5514
|
+
<!-- border is mandatory, to calculate real width -->
|
5515
|
+
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
5516
|
+
<xsl:attribute name="text-align">left</xsl:attribute>
|
5517
|
+
</xsl:if>
|
5518
|
+
|
5519
|
+
|
5520
|
+
<fo:block xsl:use-attribute-sets="dt-block-style">
|
5521
|
+
<xsl:copy-of select="@id"/>
|
5522
|
+
|
5523
|
+
<xsl:if test="normalize-space($key_iso) = 'true'">
|
5524
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
5525
|
+
</xsl:if>
|
5526
|
+
|
5527
|
+
|
5528
|
+
|
5529
|
+
<xsl:apply-templates>
|
5530
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
5531
|
+
</xsl:apply-templates>
|
5532
|
+
|
5533
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
5534
|
+
|
5535
|
+
</fo:block>
|
5536
|
+
</fo:table-cell>
|
5537
|
+
</xsl:template><xsl:template name="insert_dd_cell">
|
5538
|
+
<xsl:param name="split_keep-within-line"/>
|
5539
|
+
<fo:table-cell xsl:use-attribute-sets="dd-cell-style">
|
5540
|
+
|
5541
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5542
|
+
<!-- border is mandatory, to calculate real width -->
|
5543
|
+
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
5544
|
+
</xsl:if>
|
4771
5545
|
|
4772
|
-
|
4773
|
-
|
5546
|
+
<fo:block>
|
5547
|
+
|
5548
|
+
<xsl:if test="$isGenerateTableIF = 'true'">
|
5549
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
5550
|
+
</xsl:if>
|
5551
|
+
|
4774
5552
|
|
4775
|
-
<fo:block xsl:use-attribute-sets="dt-style">
|
4776
|
-
<xsl:copy-of select="@id"/>
|
4777
|
-
|
4778
|
-
<xsl:if test="normalize-space($key_iso) = 'true'">
|
4779
|
-
<xsl:attribute name="margin-top">0</xsl:attribute>
|
4780
|
-
</xsl:if>
|
4781
|
-
|
4782
|
-
|
4783
|
-
|
4784
|
-
<xsl:apply-templates/>
|
4785
|
-
</fo:block>
|
4786
|
-
</fo:table-cell>
|
4787
|
-
<fo:table-cell>
|
4788
|
-
<fo:block>
|
4789
|
-
|
4790
5553
|
|
4791
|
-
|
4792
|
-
|
4793
|
-
|
4794
|
-
|
4795
|
-
|
4796
|
-
|
5554
|
+
<xsl:choose>
|
5555
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
5556
|
+
<xsl:apply-templates> <!-- following-sibling::*[local-name()='dd'][1] -->
|
5557
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
5558
|
+
</xsl:apply-templates>
|
5559
|
+
</xsl:when>
|
5560
|
+
<xsl:otherwise>
|
5561
|
+
<xsl:apply-templates select="."> <!-- following-sibling::*[local-name()='dd'][1] -->
|
5562
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
5563
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
5564
|
+
</xsl:apply-templates>
|
5565
|
+
</xsl:otherwise>
|
5566
|
+
|
5567
|
+
</xsl:choose>
|
5568
|
+
|
5569
|
+
<xsl:if test="$isGenerateTableIF = 'true'"><fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
5570
|
+
|
5571
|
+
</fo:block>
|
5572
|
+
</fo:table-cell>
|
4797
5573
|
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
|
4798
5574
|
<xsl:apply-templates/>
|
4799
5575
|
</xsl:template><xsl:template match="*[local-name()='dd']">
|
4800
5576
|
<xsl:param name="process">false</xsl:param>
|
5577
|
+
<xsl:param name="split_keep-within-line"/>
|
4801
5578
|
<xsl:if test="$process = 'true'">
|
4802
5579
|
<xsl:apply-templates select="@language"/>
|
4803
|
-
<xsl:apply-templates
|
5580
|
+
<xsl:apply-templates>
|
5581
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
5582
|
+
</xsl:apply-templates>
|
4804
5583
|
</xsl:if>
|
4805
5584
|
</xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
|
4806
5585
|
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
4807
|
-
</xsl:template><xsl:template match="*[local-name()='
|
5586
|
+
</xsl:template><xsl:template match="*[local-name()='dt']" mode="dl_if">
|
5587
|
+
<xsl:param name="id"/>
|
5588
|
+
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
5589
|
+
<tr>
|
5590
|
+
<td>
|
5591
|
+
<xsl:copy-of select="node()"/>
|
5592
|
+
</td>
|
5593
|
+
<td>
|
5594
|
+
|
5595
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
|
5596
|
+
|
5597
|
+
<!-- get paragraphs from nested 'dl' -->
|
5598
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
5599
|
+
|
5600
|
+
|
5601
|
+
</td>
|
5602
|
+
</tr>
|
5603
|
+
|
5604
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
|
5605
|
+
<xsl:for-each select="*[local-name() = 'dt']">
|
5606
|
+
<p>
|
5607
|
+
<xsl:copy-of select="node()"/>
|
5608
|
+
<xsl:text> </xsl:text>
|
5609
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
|
5610
|
+
</p>
|
5611
|
+
</xsl:for-each>
|
5612
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
|
4808
5613
|
<fo:inline font-style="italic">
|
4809
5614
|
<xsl:apply-templates/>
|
4810
5615
|
</fo:inline>
|
4811
5616
|
</xsl:template><xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
|
5617
|
+
<xsl:param name="split_keep-within-line"/>
|
4812
5618
|
<fo:inline font-weight="bold">
|
4813
5619
|
|
4814
|
-
<xsl:apply-templates
|
5620
|
+
<xsl:apply-templates>
|
5621
|
+
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
5622
|
+
</xsl:apply-templates>
|
4815
5623
|
</fo:inline>
|
4816
5624
|
</xsl:template><xsl:template match="*[local-name()='padding']">
|
4817
5625
|
<fo:inline padding-right="{@value}"> </fo:inline>
|
@@ -4832,7 +5640,7 @@
|
|
4832
5640
|
|
4833
5641
|
10
|
4834
5642
|
|
4835
|
-
|
5643
|
+
<!-- 10 -->
|
4836
5644
|
|
4837
5645
|
|
4838
5646
|
|
@@ -5012,6 +5820,10 @@
|
|
5012
5820
|
<xsl:param name="text"/>
|
5013
5821
|
<xsl:param name="separator" select="' '"/>
|
5014
5822
|
<xsl:choose>
|
5823
|
+
|
5824
|
+
<xsl:when test="$isGenerateTableIF = 'true' and not(contains($text, $separator))">
|
5825
|
+
<word><xsl:value-of select="normalize-space($text)"/></word>
|
5826
|
+
</xsl:when>
|
5015
5827
|
<xsl:when test="not(contains($text, $separator))">
|
5016
5828
|
<word>
|
5017
5829
|
<xsl:variable name="len_str_tmp" select="string-length(normalize-space($text))"/>
|
@@ -5056,13 +5868,66 @@
|
|
5056
5868
|
</xsl:when>
|
5057
5869
|
<xsl:otherwise>
|
5058
5870
|
<word>
|
5059
|
-
<xsl:
|
5871
|
+
<xsl:variable name="word" select="normalize-space(substring-before($text, $separator))"/>
|
5872
|
+
<xsl:choose>
|
5873
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
5874
|
+
<xsl:value-of select="$word"/>
|
5875
|
+
</xsl:when>
|
5876
|
+
<xsl:otherwise>
|
5877
|
+
<xsl:value-of select="string-length($word)"/>
|
5878
|
+
</xsl:otherwise>
|
5879
|
+
</xsl:choose>
|
5060
5880
|
</word>
|
5061
5881
|
<xsl:call-template name="tokenize">
|
5062
5882
|
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
5063
5883
|
</xsl:call-template>
|
5064
5884
|
</xsl:otherwise>
|
5065
5885
|
</xsl:choose>
|
5886
|
+
</xsl:template><xsl:template name="tokenize_with_tags">
|
5887
|
+
<xsl:param name="tags"/>
|
5888
|
+
<xsl:param name="text"/>
|
5889
|
+
<xsl:param name="separator" select="' '"/>
|
5890
|
+
<xsl:choose>
|
5891
|
+
|
5892
|
+
<xsl:when test="not(contains($text, $separator))">
|
5893
|
+
<word>
|
5894
|
+
<xsl:call-template name="enclose_text_in_tags">
|
5895
|
+
<xsl:with-param name="text" select="normalize-space($text)"/>
|
5896
|
+
<xsl:with-param name="tags" select="$tags"/>
|
5897
|
+
</xsl:call-template>
|
5898
|
+
</word>
|
5899
|
+
</xsl:when>
|
5900
|
+
<xsl:otherwise>
|
5901
|
+
<word>
|
5902
|
+
<xsl:call-template name="enclose_text_in_tags">
|
5903
|
+
<xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/>
|
5904
|
+
<xsl:with-param name="tags" select="$tags"/>
|
5905
|
+
</xsl:call-template>
|
5906
|
+
</word>
|
5907
|
+
<xsl:call-template name="tokenize_with_tags">
|
5908
|
+
<xsl:with-param name="text" select="substring-after($text, $separator)"/>
|
5909
|
+
</xsl:call-template>
|
5910
|
+
</xsl:otherwise>
|
5911
|
+
</xsl:choose>
|
5912
|
+
</xsl:template><xsl:template name="enclose_text_in_tags">
|
5913
|
+
<xsl:param name="text"/>
|
5914
|
+
<xsl:param name="tags"/>
|
5915
|
+
<xsl:param name="num">1</xsl:param> <!-- default (start) value -->
|
5916
|
+
|
5917
|
+
<xsl:variable name="tag_name" select="normalize-space(xalan:nodeset($tags)//tag[$num])"/>
|
5918
|
+
|
5919
|
+
<xsl:choose>
|
5920
|
+
<xsl:when test="$tag_name = ''"><xsl:value-of select="$text"/></xsl:when>
|
5921
|
+
<xsl:otherwise>
|
5922
|
+
<xsl:element name="{$tag_name}">
|
5923
|
+
<xsl:call-template name="enclose_text_in_tags">
|
5924
|
+
<xsl:with-param name="text" select="$text"/>
|
5925
|
+
<xsl:with-param name="tags" select="$tags"/>
|
5926
|
+
<xsl:with-param name="num" select="$num + 1"/>
|
5927
|
+
</xsl:call-template>
|
5928
|
+
</xsl:element>
|
5929
|
+
</xsl:otherwise>
|
5930
|
+
</xsl:choose>
|
5066
5931
|
</xsl:template><xsl:template name="max_length">
|
5067
5932
|
<xsl:param name="words"/>
|
5068
5933
|
<xsl:for-each select="$words//word">
|
@@ -5163,12 +6028,19 @@
|
|
5163
6028
|
</xsl:otherwise>
|
5164
6029
|
</xsl:choose>
|
5165
6030
|
</xsl:template><xsl:template name="getSimpleTable">
|
6031
|
+
<xsl:param name="id"/>
|
6032
|
+
|
5166
6033
|
<xsl:variable name="simple-table">
|
5167
6034
|
|
6035
|
+
<!-- Step 0. replace <br/> to <p>...</p> -->
|
6036
|
+
<xsl:variable name="table_without_br">
|
6037
|
+
<xsl:apply-templates mode="table-without-br"/>
|
6038
|
+
</xsl:variable>
|
6039
|
+
|
5168
6040
|
<!-- Step 1. colspan processing -->
|
5169
6041
|
<xsl:variable name="simple-table-colspan">
|
5170
6042
|
<tbody>
|
5171
|
-
<xsl:apply-templates mode="simple-table-colspan"/>
|
6043
|
+
<xsl:apply-templates select="xalan:nodeset($table_without_br)" mode="simple-table-colspan"/>
|
5172
6044
|
</tbody>
|
5173
6045
|
</xsl:variable>
|
5174
6046
|
|
@@ -5177,10 +6049,67 @@
|
|
5177
6049
|
<xsl:apply-templates select="xalan:nodeset($simple-table-colspan)" mode="simple-table-rowspan"/>
|
5178
6050
|
</xsl:variable>
|
5179
6051
|
|
5180
|
-
|
5181
|
-
|
6052
|
+
<!-- Step 3: add id to each cell -->
|
6053
|
+
<!-- add <word>...</word> for each word, image, math -->
|
6054
|
+
<xsl:variable name="simple-table-id">
|
6055
|
+
<xsl:apply-templates select="xalan:nodeset($simple-table-rowspan)" mode="simple-table-id">
|
6056
|
+
<xsl:with-param name="id" select="$id"/>
|
6057
|
+
</xsl:apply-templates>
|
6058
|
+
</xsl:variable>
|
6059
|
+
|
6060
|
+
<xsl:copy-of select="xalan:nodeset($simple-table-id)"/>
|
6061
|
+
|
5182
6062
|
</xsl:variable>
|
5183
6063
|
<xsl:copy-of select="$simple-table"/>
|
6064
|
+
</xsl:template><xsl:template match="@*|node()" mode="table-without-br">
|
6065
|
+
<xsl:copy>
|
6066
|
+
<xsl:apply-templates select="@*|node()" mode="table-without-br"/>
|
6067
|
+
</xsl:copy>
|
6068
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name() = 'td'][not(*[local-name()='br']) and not(*[local-name()='p'])]" mode="table-without-br">
|
6069
|
+
<xsl:copy>
|
6070
|
+
<xsl:copy-of select="@*"/>
|
6071
|
+
<p>
|
6072
|
+
<xsl:copy-of select="node()"/>
|
6073
|
+
</p>
|
6074
|
+
</xsl:copy>
|
6075
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td'][*[local-name()='br']]" mode="table-without-br">
|
6076
|
+
<xsl:copy>
|
6077
|
+
<xsl:copy-of select="@*"/>
|
6078
|
+
<xsl:for-each select="*[local-name()='br']">
|
6079
|
+
<xsl:variable name="current_id" select="generate-id()"/>
|
6080
|
+
<p>
|
6081
|
+
<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
|
6082
|
+
<xsl:copy-of select="."/>
|
6083
|
+
</xsl:for-each>
|
6084
|
+
</p>
|
6085
|
+
<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
|
6086
|
+
<p>
|
6087
|
+
<xsl:for-each select="following-sibling::node()">
|
6088
|
+
<xsl:copy-of select="."/>
|
6089
|
+
</xsl:for-each>
|
6090
|
+
</p>
|
6091
|
+
</xsl:if>
|
6092
|
+
</xsl:for-each>
|
6093
|
+
</xsl:copy>
|
6094
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'p'][*[local-name()='br']]" mode="table-without-br">
|
6095
|
+
<xsl:for-each select="*[local-name()='br']">
|
6096
|
+
<xsl:variable name="current_id" select="generate-id()"/>
|
6097
|
+
<p>
|
6098
|
+
<xsl:for-each select="preceding-sibling::node()[following-sibling::*[local-name() = 'br'][1][generate-id() = $current_id]][not(local-name() = 'br')]">
|
6099
|
+
<xsl:copy-of select="."/>
|
6100
|
+
</xsl:for-each>
|
6101
|
+
</p>
|
6102
|
+
<xsl:if test="not(following-sibling::*[local-name() = 'br'])">
|
6103
|
+
<p>
|
6104
|
+
<xsl:for-each select="following-sibling::node()">
|
6105
|
+
<xsl:copy-of select="."/>
|
6106
|
+
</xsl:for-each>
|
6107
|
+
</p>
|
6108
|
+
</xsl:if>
|
6109
|
+
</xsl:for-each>
|
6110
|
+
</xsl:template><xsl:template match="text()[not(ancestor::*[local-name() = 'sourcecode'])]" mode="table-without-br">
|
6111
|
+
<xsl:variable name="text" select="translate(.,'	 ','')"/>
|
6112
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($text),' {2,}',' ')"/>
|
5184
6113
|
</xsl:template><xsl:template match="*[local-name()='thead'] | *[local-name()='tbody']" mode="simple-table-colspan">
|
5185
6114
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
5186
6115
|
</xsl:template><xsl:template match="*[local-name()='fn']" mode="simple-table-colspan"/><xsl:template match="*[local-name()='th'] | *[local-name()='td']" mode="simple-table-colspan">
|
@@ -5270,6 +6199,126 @@
|
|
5270
6199
|
<xsl:apply-templates select="following-sibling::tr[1]" mode="simple-table-rowspan">
|
5271
6200
|
<xsl:with-param name="previousRow" select="$newRow"/>
|
5272
6201
|
</xsl:apply-templates>
|
6202
|
+
</xsl:template><xsl:template match="/" mode="simple-table-id">
|
6203
|
+
<xsl:param name="id"/>
|
6204
|
+
<xsl:variable name="id_prefixed" select="concat('table_if_',$id)"/> <!-- table id prefixed by 'table_if_' to simple search in IF -->
|
6205
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-id">
|
6206
|
+
<xsl:with-param name="id" select="$id_prefixed"/>
|
6207
|
+
</xsl:apply-templates>
|
6208
|
+
</xsl:template><xsl:template match="@*|node()" mode="simple-table-id">
|
6209
|
+
<xsl:param name="id"/>
|
6210
|
+
<xsl:copy>
|
6211
|
+
<xsl:apply-templates select="@*|node()" mode="simple-table-id">
|
6212
|
+
<xsl:with-param name="id" select="$id"/>
|
6213
|
+
</xsl:apply-templates>
|
6214
|
+
</xsl:copy>
|
6215
|
+
</xsl:template><xsl:template match="*[local-name()='tbody']" mode="simple-table-id">
|
6216
|
+
<xsl:param name="id"/>
|
6217
|
+
<xsl:copy>
|
6218
|
+
<xsl:copy-of select="@*"/>
|
6219
|
+
<xsl:attribute name="id"><xsl:value-of select="$id"/></xsl:attribute>
|
6220
|
+
<xsl:apply-templates select="node()" mode="simple-table-id">
|
6221
|
+
<xsl:with-param name="id" select="$id"/>
|
6222
|
+
</xsl:apply-templates>
|
6223
|
+
</xsl:copy>
|
6224
|
+
</xsl:template><xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
|
6225
|
+
<xsl:param name="id"/>
|
6226
|
+
<xsl:copy>
|
6227
|
+
<xsl:copy-of select="@*"/>
|
6228
|
+
<xsl:variable name="row_number" select="count(../preceding-sibling::*) + 1"/>
|
6229
|
+
<xsl:variable name="col_number" select="count(preceding-sibling::*) + 1"/>
|
6230
|
+
<xsl:attribute name="id">
|
6231
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number)"/>
|
6232
|
+
</xsl:attribute>
|
6233
|
+
|
6234
|
+
<xsl:for-each select="*[local-name() = 'p']">
|
6235
|
+
<xsl:copy>
|
6236
|
+
<xsl:copy-of select="@*"/>
|
6237
|
+
<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
|
6238
|
+
<xsl:attribute name="id">
|
6239
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num)"/>
|
6240
|
+
</xsl:attribute>
|
6241
|
+
|
6242
|
+
<xsl:copy-of select="node()"/>
|
6243
|
+
</xsl:copy>
|
6244
|
+
</xsl:for-each>
|
6245
|
+
|
6246
|
+
|
6247
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- split each paragraph to words, image, math -->
|
6248
|
+
|
6249
|
+
<xsl:variable name="td_text">
|
6250
|
+
<xsl:apply-templates select="." mode="td_text_with_formatting"/>
|
6251
|
+
</xsl:variable>
|
6252
|
+
|
6253
|
+
<!-- td_text='<xsl:copy-of select="$td_text"/>' -->
|
6254
|
+
|
6255
|
+
<xsl:variable name="words">
|
6256
|
+
<xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
|
6257
|
+
<word>
|
6258
|
+
<xsl:copy-of select="."/>
|
6259
|
+
</word>
|
6260
|
+
</xsl:for-each>
|
6261
|
+
|
6262
|
+
<xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
|
6263
|
+
<xsl:copy-of select="."/>
|
6264
|
+
</xsl:for-each>
|
6265
|
+
|
6266
|
+
</xsl:variable>
|
6267
|
+
|
6268
|
+
<xsl:for-each select="xalan:nodeset($words)/word">
|
6269
|
+
<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
|
6270
|
+
<xsl:copy>
|
6271
|
+
<xsl:attribute name="id">
|
6272
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num)"/>
|
6273
|
+
</xsl:attribute>
|
6274
|
+
<xsl:copy-of select="node()"/>
|
6275
|
+
</xsl:copy>
|
6276
|
+
</xsl:for-each>
|
6277
|
+
</xsl:if>
|
6278
|
+
</xsl:copy>
|
6279
|
+
|
6280
|
+
</xsl:template><xsl:template match="@*|node()" mode="td_text_with_formatting">
|
6281
|
+
<xsl:copy>
|
6282
|
+
<xsl:apply-templates select="@*|node()" mode="td_text_with_formatting"/>
|
6283
|
+
</xsl:copy>
|
6284
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem' or local-name() = 'image']" mode="td_text_with_formatting"/><xsl:template match="*[local-name() = 'keep-together_within-line']/text()" mode="td_text_with_formatting">
|
6285
|
+
<xsl:variable name="formatting_tags">
|
6286
|
+
<xsl:call-template name="getFormattingTags"/>
|
6287
|
+
</xsl:variable>
|
6288
|
+
<word>
|
6289
|
+
<xsl:call-template name="enclose_text_in_tags">
|
6290
|
+
<xsl:with-param name="text" select="normalize-space(.)"/>
|
6291
|
+
<xsl:with-param name="tags" select="$formatting_tags"/>
|
6292
|
+
</xsl:call-template>
|
6293
|
+
</word>
|
6294
|
+
</xsl:template><xsl:template match="*[local-name() != 'keep-together_within-line']/text()" mode="td_text_with_formatting">
|
6295
|
+
|
6296
|
+
<xsl:variable name="td_text" select="."/>
|
6297
|
+
|
6298
|
+
<xsl:variable name="string_with_added_zerospaces">
|
6299
|
+
<xsl:call-template name="add-zero-spaces-java">
|
6300
|
+
<xsl:with-param name="text" select="$td_text"/>
|
6301
|
+
</xsl:call-template>
|
6302
|
+
</xsl:variable>
|
6303
|
+
|
6304
|
+
<xsl:variable name="formatting_tags">
|
6305
|
+
<xsl:call-template name="getFormattingTags"/>
|
6306
|
+
</xsl:variable>
|
6307
|
+
|
6308
|
+
<!-- <word>text</word> -->
|
6309
|
+
<xsl:call-template name="tokenize_with_tags">
|
6310
|
+
<xsl:with-param name="tags" select="$formatting_tags"/>
|
6311
|
+
<xsl:with-param name="text" select="normalize-space(translate($string_with_added_zerospaces, '', ' '))"/> <!-- replace zero-width-space and soft-hyphen to space -->
|
6312
|
+
</xsl:call-template>
|
6313
|
+
</xsl:template><xsl:template name="getFormattingTags">
|
6314
|
+
<tags>
|
6315
|
+
<xsl:if test="ancestor::*[local-name() = 'strong']"><tag>strong</tag></xsl:if>
|
6316
|
+
<xsl:if test="ancestor::*[local-name() = 'em']"><tag>em</tag></xsl:if>
|
6317
|
+
<xsl:if test="ancestor::*[local-name() = 'sub']"><tag>sub</tag></xsl:if>
|
6318
|
+
<xsl:if test="ancestor::*[local-name() = 'sup']"><tag>sup</tag></xsl:if>
|
6319
|
+
<xsl:if test="ancestor::*[local-name() = 'tt']"><tag>tt</tag></xsl:if>
|
6320
|
+
<xsl:if test="ancestor::*[local-name() = 'keep-together_within-line']"><tag>keep-together_within-line</tag></xsl:if>
|
6321
|
+
</tags>
|
5273
6322
|
</xsl:template><xsl:template name="getLang">
|
5274
6323
|
<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
5275
6324
|
<xsl:variable name="language">
|
@@ -5463,6 +6512,10 @@
|
|
5463
6512
|
</xsl:variable>
|
5464
6513
|
<fo:inline xsl:use-attribute-sets="link-style">
|
5465
6514
|
|
6515
|
+
<xsl:if test="starts-with(normalize-space(@target), 'mailto:')">
|
6516
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
6517
|
+
</xsl:if>
|
6518
|
+
|
5466
6519
|
|
5467
6520
|
|
5468
6521
|
|
@@ -5473,6 +6526,7 @@
|
|
5473
6526
|
|
5474
6527
|
|
5475
6528
|
|
6529
|
+
|
5476
6530
|
<xsl:choose>
|
5477
6531
|
<xsl:when test="$target_text = ''">
|
5478
6532
|
<xsl:apply-templates/>
|
@@ -5729,7 +6783,19 @@
|
|
5729
6783
|
<xsl:value-of select="$suffix"/>
|
5730
6784
|
</xsl:if>
|
5731
6785
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
|
5732
|
-
<
|
6786
|
+
<xsl:variable name="num"><xsl:number/></xsl:variable>
|
6787
|
+
<xsl:choose>
|
6788
|
+
<xsl:when test="$num = 1"> <!-- first paragraph renders in the same line as titlenote name -->
|
6789
|
+
<fo:inline xsl:use-attribute-sets="termnote-p-style">
|
6790
|
+
<xsl:apply-templates/>
|
6791
|
+
</fo:inline>
|
6792
|
+
</xsl:when>
|
6793
|
+
<xsl:otherwise>
|
6794
|
+
<fo:block xsl:use-attribute-sets="termnote-p-style">
|
6795
|
+
<xsl:apply-templates/>
|
6796
|
+
</fo:block>
|
6797
|
+
</xsl:otherwise>
|
6798
|
+
</xsl:choose>
|
5733
6799
|
</xsl:template><xsl:template match="*[local-name() = 'terms']">
|
5734
6800
|
<!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
|
5735
6801
|
<fo:block id="{@id}">
|
@@ -6555,7 +7621,7 @@
|
|
6555
7621
|
</xsl:choose>
|
6556
7622
|
</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">
|
6557
7623
|
<xsl:value-of select="."/>
|
6558
|
-
</xsl:template><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
7624
|
+
</xsl:template><xsl:template match="*[local-name() = 'review']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
|
6559
7625
|
<xsl:text> </xsl:text>
|
6560
7626
|
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
6561
7627
|
<xsl:copy>
|
@@ -6626,7 +7692,7 @@
|
|
6626
7692
|
|
6627
7693
|
9
|
6628
7694
|
|
6629
|
-
|
7695
|
+
<!-- 9 -->
|
6630
7696
|
|
6631
7697
|
|
6632
7698
|
|
@@ -6710,7 +7776,7 @@
|
|
6710
7776
|
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
6711
7777
|
<xsl:choose>
|
6712
7778
|
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
6713
|
-
<xsl:call-template name="interspers">
|
7779
|
+
<xsl:call-template name="interspers-java">
|
6714
7780
|
<xsl:with-param name="str" select="."/>
|
6715
7781
|
</xsl:call-template>
|
6716
7782
|
</xsl:when>
|
@@ -6760,6 +7826,10 @@
|
|
6760
7826
|
<xsl:with-param name="char" select="$char"/>
|
6761
7827
|
</xsl:call-template>
|
6762
7828
|
</xsl:if>
|
7829
|
+
</xsl:template><xsl:template name="interspers-java">
|
7830
|
+
<xsl:param name="str"/>
|
7831
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
7832
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
|
6763
7833
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
6764
7834
|
<xsl:apply-templates mode="syntax_highlight"/>
|
6765
7835
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -6972,7 +8042,9 @@
|
|
6972
8042
|
<!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
|
6973
8043
|
</xsl:if>
|
6974
8044
|
<xsl:variable name="simple-table">
|
6975
|
-
<xsl:call-template name="getSimpleTable"
|
8045
|
+
<xsl:call-template name="getSimpleTable">
|
8046
|
+
<xsl:with-param name="id" select="@id"/>
|
8047
|
+
</xsl:call-template>
|
6976
8048
|
</xsl:variable>
|
6977
8049
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
|
6978
8050
|
<xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
|
@@ -7412,6 +8484,7 @@
|
|
7412
8484
|
|
7413
8485
|
|
7414
8486
|
|
8487
|
+
|
7415
8488
|
</xsl:variable>
|
7416
8489
|
|
7417
8490
|
<xsl:variable name="padding-right">
|
@@ -7715,6 +8788,11 @@
|
|
7715
8788
|
</xsl:otherwise>
|
7716
8789
|
</xsl:choose>
|
7717
8790
|
</xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
|
8791
|
+
|
8792
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
8793
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
8794
|
+
</xsl:apply-templates>
|
8795
|
+
|
7718
8796
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
7719
8797
|
|
7720
8798
|
|
@@ -7732,12 +8810,23 @@
|
|
7732
8810
|
|
7733
8811
|
|
7734
8812
|
|
8813
|
+
<xsl:if test="*[local-name() = 'name']">
|
8814
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
8815
|
+
</xsl:if>
|
8816
|
+
|
7735
8817
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
7736
8818
|
</fo:list-block>
|
7737
8819
|
<!-- <xsl:for-each select="./iho:note">
|
7738
8820
|
<xsl:call-template name="note"/>
|
7739
8821
|
</xsl:for-each> -->
|
7740
8822
|
<xsl:apply-templates select="./*[local-name() = 'note']"/>
|
8823
|
+
</xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
|
8824
|
+
<xsl:param name="process">false</xsl:param>
|
8825
|
+
<xsl:if test="$process = 'true'">
|
8826
|
+
<fo:block xsl:use-attribute-sets="list-name-style">
|
8827
|
+
<xsl:apply-templates/>
|
8828
|
+
</fo:block>
|
8829
|
+
</xsl:if>
|
7741
8830
|
</xsl:template><xsl:template match="*[local-name()='li']">
|
7742
8831
|
<fo:list-item xsl:use-attribute-sets="list-item-style">
|
7743
8832
|
<xsl:copy-of select="@id"/>
|
@@ -7937,7 +9026,7 @@
|
|
7937
9026
|
<!-- <fo:inline id="{@id}" font-size="1pt"/> -->
|
7938
9027
|
<fo:inline id="{@id}" font-size="1pt"><xsl:value-of select="$hair_space"/></fo:inline>
|
7939
9028
|
<!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
|
7940
|
-
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"> </xsl:if>
|
9029
|
+
<xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
|
7941
9030
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
7942
9031
|
<!-- <row>
|
7943
9032
|
<date>05-07-2013</date>
|
@@ -8013,7 +9102,7 @@
|
|
8013
9102
|
|
8014
9103
|
</xsl:template><xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" priority="2">
|
8015
9104
|
|
8016
|
-
<!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
|
9105
|
+
<!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
|
8017
9106
|
$namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
|
8018
9107
|
<!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
|
8019
9108
|
<fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
|
@@ -8024,7 +9113,9 @@
|
|
8024
9113
|
|
8025
9114
|
<xsl:value-of select="*[local-name()='docidentifier'][@type = 'metanorma-ordinal']"/>
|
8026
9115
|
<xsl:if test="not(*[local-name()='docidentifier'][@type = 'metanorma-ordinal'])">
|
8027
|
-
|
9116
|
+
|
9117
|
+
<xsl:number format="[1]" count="*[local-name()='bibitem'][not(@hidden = 'true')]"/>
|
9118
|
+
|
8028
9119
|
</xsl:if>
|
8029
9120
|
|
8030
9121
|
</fo:inline>
|
@@ -8046,26 +9137,23 @@
|
|
8046
9137
|
<xsl:if test=".//*[local-name() = 'fn']">
|
8047
9138
|
<xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
|
8048
9139
|
</xsl:if>
|
9140
|
+
|
9141
|
+
<!-- display document identifier, not number [1] -->
|
8049
9142
|
<xsl:variable name="docidentifier">
|
8050
9143
|
<xsl:choose>
|
8051
9144
|
<xsl:when test="*[local-name() = 'docidentifier']/@type = 'metanorma'"/>
|
8052
9145
|
<xsl:otherwise><xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
|
8053
9146
|
</xsl:choose>
|
8054
9147
|
</xsl:variable>
|
8055
|
-
<
|
9148
|
+
<xsl:value-of select="$docidentifier"/>
|
9149
|
+
|
8056
9150
|
<xsl:apply-templates select="*[local-name() = 'note']"/>
|
8057
|
-
|
8058
|
-
<xsl:
|
8059
|
-
<xsl:
|
8060
|
-
|
8061
|
-
|
8062
|
-
|
8063
|
-
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
|
8064
|
-
</xsl:when>
|
8065
|
-
<xsl:otherwise>
|
8066
|
-
<xsl:apply-templates select="*[local-name() = 'title']"/>
|
8067
|
-
</xsl:otherwise>
|
8068
|
-
</xsl:choose>
|
9151
|
+
|
9152
|
+
<xsl:if test="normalize-space($docidentifier) != '' and *[local-name() = 'formattedref']">
|
9153
|
+
<xsl:text>,</xsl:text>
|
9154
|
+
<xsl:text> </xsl:text>
|
9155
|
+
</xsl:if>
|
9156
|
+
|
8069
9157
|
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
8070
9158
|
<!-- end bibitem processing -->
|
8071
9159
|
|
@@ -8369,16 +9457,21 @@
|
|
8369
9457
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="admonition-style">
|
8370
9458
|
|
8371
9459
|
|
9460
|
+
|
9461
|
+
|
8372
9462
|
|
8373
9463
|
|
8374
9464
|
|
8375
9465
|
<fo:block-container xsl:use-attribute-sets="admonition-container-style">
|
8376
9466
|
|
8377
9467
|
|
9468
|
+
|
9469
|
+
|
8378
9470
|
<fo:block text-align="justify">
|
8379
9471
|
<fo:inline>
|
8380
|
-
<xsl:call-template name="displayAdmonitionName"
|
8381
|
-
|
9472
|
+
<xsl:call-template name="displayAdmonitionName">
|
9473
|
+
<xsl:with-param name="sep"> – </xsl:with-param>
|
9474
|
+
</xsl:call-template>
|
8382
9475
|
</fo:inline>
|
8383
9476
|
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
8384
9477
|
</fo:block>
|
@@ -8388,25 +9481,32 @@
|
|
8388
9481
|
</fo:block-container>
|
8389
9482
|
|
8390
9483
|
</xsl:template><xsl:template name="displayAdmonitionName">
|
8391
|
-
|
9484
|
+
<xsl:param name="sep"/> <!-- Example: ' - ' -->
|
9485
|
+
<!-- <xsl:choose>
|
9486
|
+
<xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
9487
|
+
<xsl:choose>
|
9488
|
+
<xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
|
9489
|
+
<xsl:otherwise>
|
9490
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
9491
|
+
</xsl:otherwise>
|
9492
|
+
</xsl:choose>
|
9493
|
+
</xsl:when>
|
9494
|
+
<xsl:otherwise>
|
8392
9495
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
8393
9496
|
<xsl:if test="not(*[local-name() = 'name'])">
|
8394
9497
|
<xsl:apply-templates select="@type"/>
|
8395
9498
|
</xsl:if>
|
8396
|
-
|
8397
|
-
|
8398
|
-
<xsl:
|
8399
|
-
|
8400
|
-
<xsl:variable name="admonition_type_">
|
8401
|
-
<xsl:call-template name="getLocalizedString">
|
8402
|
-
<xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
|
8403
|
-
</xsl:call-template>
|
9499
|
+
</xsl:otherwise>
|
9500
|
+
</xsl:choose> -->
|
9501
|
+
<xsl:variable name="name">
|
9502
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
8404
9503
|
</xsl:variable>
|
8405
|
-
<xsl:
|
8406
|
-
<xsl:
|
8407
|
-
|
8408
|
-
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
|
9504
|
+
<xsl:copy-of select="$name"/>
|
9505
|
+
<xsl:if test="normalize-space($name) != ''">
|
9506
|
+
<xsl:value-of select="$sep"/>
|
8409
9507
|
</xsl:if>
|
9508
|
+
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
|
9509
|
+
<xsl:apply-templates/>
|
8410
9510
|
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
|
8411
9511
|
<!-- processing for admonition/p found in the template for 'p' -->
|
8412
9512
|
<xsl:call-template name="paragraph"/>
|
@@ -8572,6 +9672,8 @@
|
|
8572
9672
|
</xsl:when>
|
8573
9673
|
<xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise>
|
8574
9674
|
</xsl:choose>
|
9675
|
+
</xsl:template><xsl:template match="*[local-name() = 'lang_none']">
|
9676
|
+
<fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
|
8575
9677
|
</xsl:template><xsl:template name="printEdition">
|
8576
9678
|
<xsl:variable name="edition_i18n" select="normalize-space((//*[contains(local-name(), '-standard')])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
|
8577
9679
|
<xsl:text> </xsl:text>
|
@@ -8678,6 +9780,27 @@
|
|
8678
9780
|
</xsl:when>
|
8679
9781
|
<xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
|
8680
9782
|
</xsl:choose>
|
9783
|
+
</xsl:template><xsl:template name="getMonthLocalizedByNum">
|
9784
|
+
<xsl:param name="num"/>
|
9785
|
+
<xsl:variable name="monthStr">
|
9786
|
+
<xsl:choose>
|
9787
|
+
<xsl:when test="$num = '01'">january</xsl:when>
|
9788
|
+
<xsl:when test="$num = '02'">february</xsl:when>
|
9789
|
+
<xsl:when test="$num = '03'">march</xsl:when>
|
9790
|
+
<xsl:when test="$num = '04'">april</xsl:when>
|
9791
|
+
<xsl:when test="$num = '05'">may</xsl:when>
|
9792
|
+
<xsl:when test="$num = '06'">june</xsl:when>
|
9793
|
+
<xsl:when test="$num = '07'">july</xsl:when>
|
9794
|
+
<xsl:when test="$num = '08'">august</xsl:when>
|
9795
|
+
<xsl:when test="$num = '09'">september</xsl:when>
|
9796
|
+
<xsl:when test="$num = '10'">october</xsl:when>
|
9797
|
+
<xsl:when test="$num = '11'">november</xsl:when>
|
9798
|
+
<xsl:when test="$num = '12'">december</xsl:when>
|
9799
|
+
</xsl:choose>
|
9800
|
+
</xsl:variable>
|
9801
|
+
<xsl:call-template name="getLocalizedString">
|
9802
|
+
<xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param>
|
9803
|
+
</xsl:call-template>
|
8681
9804
|
</xsl:template><xsl:template name="insertKeywords">
|
8682
9805
|
<xsl:param name="sorting" select="'true'"/>
|
8683
9806
|
<xsl:param name="charAtEnd" select="'.'"/>
|
@@ -8879,6 +10002,7 @@
|
|
8879
10002
|
|
8880
10003
|
|
8881
10004
|
|
10005
|
+
|
8882
10006
|
|
8883
10007
|
|
8884
10008
|
|
@@ -9284,4 +10408,40 @@
|
|
9284
10408
|
<xsl:value-of select="$value"/>
|
9285
10409
|
</xsl:otherwise>
|
9286
10410
|
</xsl:choose>
|
10411
|
+
</xsl:template><xsl:template match="*" mode="print_as_xml">
|
10412
|
+
<xsl:param name="level">0</xsl:param>
|
10413
|
+
|
10414
|
+
<fo:block margin-left="{2*$level}mm">
|
10415
|
+
<xsl:text>
|
10416
|
+
<</xsl:text>
|
10417
|
+
<xsl:value-of select="local-name()"/>
|
10418
|
+
<xsl:for-each select="@*">
|
10419
|
+
<xsl:text> </xsl:text>
|
10420
|
+
<xsl:value-of select="local-name()"/>
|
10421
|
+
<xsl:text>="</xsl:text>
|
10422
|
+
<xsl:value-of select="."/>
|
10423
|
+
<xsl:text>"</xsl:text>
|
10424
|
+
</xsl:for-each>
|
10425
|
+
<xsl:text>></xsl:text>
|
10426
|
+
|
10427
|
+
<xsl:if test="not(*)">
|
10428
|
+
<fo:inline font-weight="bold"><xsl:value-of select="."/></fo:inline>
|
10429
|
+
<xsl:text></</xsl:text>
|
10430
|
+
<xsl:value-of select="local-name()"/>
|
10431
|
+
<xsl:text>></xsl:text>
|
10432
|
+
</xsl:if>
|
10433
|
+
</fo:block>
|
10434
|
+
|
10435
|
+
<xsl:if test="*">
|
10436
|
+
<fo:block>
|
10437
|
+
<xsl:apply-templates mode="print_as_xml">
|
10438
|
+
<xsl:with-param name="level" select="$level + 1"/>
|
10439
|
+
</xsl:apply-templates>
|
10440
|
+
</fo:block>
|
10441
|
+
<fo:block margin-left="{2*$level}mm">
|
10442
|
+
<xsl:text></</xsl:text>
|
10443
|
+
<xsl:value-of select="local-name()"/>
|
10444
|
+
<xsl:text>></xsl:text>
|
10445
|
+
</fo:block>
|
10446
|
+
</xsl:if>
|
9287
10447
|
</xsl:template></xsl:stylesheet>
|