metanorma-iso 1.8.3 → 1.9.0
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/.github/workflows/rake.yml +3 -13
- data/.hound.yml +3 -1
- data/.rubocop.yml +4 -6
- data/lib/asciidoctor/iso/cleanup.rb +0 -1
- data/lib/asciidoctor/iso/isodoc.rng +65 -7
- data/lib/asciidoctor/iso/isostandard-amd.rng +3 -0
- data/lib/asciidoctor/iso/isostandard.rng +18 -3
- data/lib/asciidoctor/iso/section.rb +3 -0
- data/lib/asciidoctor/iso/validate.rb +4 -17
- data/lib/asciidoctor/iso/validate_section.rb +50 -34
- data/lib/asciidoctor/iso/validate_style.rb +3 -3
- data/lib/isodoc/iso/base_convert.rb +41 -16
- data/lib/isodoc/iso/html/isodoc.css +475 -20
- data/lib/isodoc/iso/html/isodoc.scss +456 -23
- data/lib/isodoc/iso/html/wordstyle.css +202 -31
- data/lib/isodoc/iso/html/wordstyle.scss +194 -32
- data/lib/isodoc/iso/iso.amendment.xsl +524 -400
- data/lib/isodoc/iso/iso.international-standard.xsl +524 -400
- data/lib/isodoc/iso/isosts_convert.rb +12 -13
- data/lib/isodoc/iso/metadata.rb +2 -2
- data/lib/isodoc/iso/presentation_xml_convert.rb +62 -9
- data/lib/isodoc/iso/sts_convert.rb +4 -5
- data/lib/isodoc/iso/word_convert.rb +153 -39
- data/lib/isodoc/iso/xref.rb +27 -10
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +4 -4
- data/spec/asciidoctor/section_spec.rb +128 -7
- data/spec/asciidoctor/validate_spec.rb +15 -15
- data/spec/isodoc/amd_spec.rb +193 -201
- data/spec/isodoc/blocks_spec.rb +100 -88
- data/spec/isodoc/i18n_spec.rb +36 -36
- data/spec/isodoc/inline_spec.rb +472 -2
- data/spec/isodoc/iso_spec.rb +86 -138
- data/spec/isodoc/postproc_spec.rb +19 -10
- data/spec/isodoc/ref_spec.rb +6 -6
- data/spec/isodoc/section_spec.rb +394 -276
- data/spec/isodoc/table_spec.rb +166 -231
- data/spec/isodoc/terms_spec.rb +11 -8
- data/spec/isodoc/xref_spec.rb +147 -118
- metadata +8 -8
@@ -23,13 +23,6 @@
|
|
23
23
|
<xsl:variable name="marginTop" select="27.4"/>
|
24
24
|
<xsl:variable name="marginBottom" select="13"/>
|
25
25
|
|
26
|
-
<xsl:variable name="figure_name_height">14</xsl:variable>
|
27
|
-
<xsl:variable name="width_effective" select="$pageWidth - $marginLeftRight1 - $marginLeftRight2"/><!-- paper width minus margins -->
|
28
|
-
<xsl:variable name="height_effective" select="$pageHeight - $marginTop - $marginBottom - $figure_name_height"/><!-- paper height minus margins and title height -->
|
29
|
-
<xsl:variable name="image_dpi" select="96"/>
|
30
|
-
<xsl:variable name="width_effective_px" select="$width_effective div 25.4 * $image_dpi"/>
|
31
|
-
<xsl:variable name="height_effective_px" select="$height_effective div 25.4 * $image_dpi"/>
|
32
|
-
|
33
26
|
<xsl:variable name="docidentifierISO" select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso'] | /iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'ISO']"/>
|
34
27
|
|
35
28
|
<xsl:variable name="all_rights_reserved">
|
@@ -1915,257 +1908,6 @@
|
|
1915
1908
|
</fo:block>
|
1916
1909
|
</xsl:template>
|
1917
1910
|
|
1918
|
-
<!-- =================== -->
|
1919
|
-
<!-- SVG images processing -->
|
1920
|
-
<!-- =================== -->
|
1921
|
-
<xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image']) and *[local-name() = 'svg']]/*[local-name() = 'name']/*[local-name() = 'bookmark']" priority="2"/>
|
1922
|
-
<xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image'])]/*[local-name() = 'svg']" priority="2" name="image_svg">
|
1923
|
-
<xsl:param name="name"/>
|
1924
|
-
|
1925
|
-
<xsl:variable name="svg_content">
|
1926
|
-
<xsl:apply-templates select="." mode="svg_update"/>
|
1927
|
-
</xsl:variable>
|
1928
|
-
|
1929
|
-
<xsl:variable name="alt-text">
|
1930
|
-
<xsl:choose>
|
1931
|
-
<xsl:when test="normalize-space(../*[local-name() = 'name']) != ''">
|
1932
|
-
<xsl:value-of select="../*[local-name() = 'name']"/>
|
1933
|
-
</xsl:when>
|
1934
|
-
<xsl:when test="normalize-space($name) != ''">
|
1935
|
-
<xsl:value-of select="$name"/>
|
1936
|
-
</xsl:when>
|
1937
|
-
<xsl:otherwise>Figure</xsl:otherwise>
|
1938
|
-
</xsl:choose>
|
1939
|
-
</xsl:variable>
|
1940
|
-
|
1941
|
-
<xsl:choose>
|
1942
|
-
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
1943
|
-
<fo:block>
|
1944
|
-
<xsl:variable name="width" select="@width"/>
|
1945
|
-
<xsl:variable name="height" select="@height"/>
|
1946
|
-
|
1947
|
-
<xsl:variable name="scale_x">
|
1948
|
-
<xsl:choose>
|
1949
|
-
<xsl:when test="$width > $width_effective_px">
|
1950
|
-
<xsl:value-of select="$width_effective_px div $width"/>
|
1951
|
-
</xsl:when>
|
1952
|
-
<xsl:otherwise>1</xsl:otherwise>
|
1953
|
-
</xsl:choose>
|
1954
|
-
</xsl:variable>
|
1955
|
-
|
1956
|
-
<xsl:variable name="scale_y">
|
1957
|
-
<xsl:choose>
|
1958
|
-
<xsl:when test="$height * $scale_x > $height_effective_px">
|
1959
|
-
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
1960
|
-
</xsl:when>
|
1961
|
-
<xsl:otherwise>1</xsl:otherwise>
|
1962
|
-
</xsl:choose>
|
1963
|
-
</xsl:variable>
|
1964
|
-
|
1965
|
-
<xsl:variable name="scale">
|
1966
|
-
<xsl:choose>
|
1967
|
-
<xsl:when test="$scale_y != 1">
|
1968
|
-
<xsl:value-of select="$scale_x * $scale_y"/>
|
1969
|
-
</xsl:when>
|
1970
|
-
<xsl:otherwise>
|
1971
|
-
<xsl:value-of select="$scale_x"/>
|
1972
|
-
</xsl:otherwise>
|
1973
|
-
</xsl:choose>
|
1974
|
-
</xsl:variable>
|
1975
|
-
|
1976
|
-
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
1977
|
-
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
1978
|
-
|
1979
|
-
<fo:table table-layout="fixed" width="100%">
|
1980
|
-
<fo:table-column column-width="proportional-column-width(1)"/>
|
1981
|
-
<fo:table-column column-width="{$width_scale}px"/>
|
1982
|
-
<fo:table-column column-width="proportional-column-width(1)"/>
|
1983
|
-
<fo:table-body>
|
1984
|
-
<fo:table-row>
|
1985
|
-
<fo:table-cell column-number="2">
|
1986
|
-
<fo:block>
|
1987
|
-
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
1988
|
-
<xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
1989
|
-
<fo:block line-height="0" font-size="0">
|
1990
|
-
<xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
1991
|
-
<xsl:call-template name="bookmark"/>
|
1992
|
-
</xsl:for-each>
|
1993
|
-
</fo:block>
|
1994
|
-
</xsl:if>
|
1995
|
-
<fo:block text-depth="0" line-height="0" font-size="0">
|
1996
|
-
|
1997
|
-
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
1998
|
-
<xsl:attribute name="width">100%</xsl:attribute>
|
1999
|
-
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2000
|
-
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
2001
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2002
|
-
|
2003
|
-
<xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
|
2004
|
-
</fo:instream-foreign-object>
|
2005
|
-
</fo:block>
|
2006
|
-
|
2007
|
-
<xsl:apply-templates select=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]" mode="svg_imagemap_links">
|
2008
|
-
<xsl:with-param name="scale" select="$scale"/>
|
2009
|
-
</xsl:apply-templates>
|
2010
|
-
</fo:block-container>
|
2011
|
-
</fo:block>
|
2012
|
-
</fo:table-cell>
|
2013
|
-
</fo:table-row>
|
2014
|
-
</fo:table-body>
|
2015
|
-
</fo:table>
|
2016
|
-
</fo:block>
|
2017
|
-
|
2018
|
-
</xsl:when>
|
2019
|
-
<xsl:otherwise>
|
2020
|
-
<fo:block xsl:use-attribute-sets="image-style">
|
2021
|
-
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
2022
|
-
<xsl:attribute name="width">100%</xsl:attribute>
|
2023
|
-
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2024
|
-
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
2025
|
-
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
2026
|
-
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
2027
|
-
<!-- effective height / width = 1.48, 1.4 - with title -->
|
2028
|
-
<xsl:if test="@height > (@width * 1.4)"> <!-- for images with big height -->
|
2029
|
-
<xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
|
2030
|
-
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
2031
|
-
</xsl:if>
|
2032
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2033
|
-
<xsl:copy-of select="$svg_content"/>
|
2034
|
-
</fo:instream-foreign-object>
|
2035
|
-
</fo:block>
|
2036
|
-
</xsl:otherwise>
|
2037
|
-
</xsl:choose>
|
2038
|
-
</xsl:template>
|
2039
|
-
|
2040
|
-
<xsl:template match="@*|node()" mode="svg_update">
|
2041
|
-
<xsl:copy>
|
2042
|
-
<xsl:apply-templates select="@*|node()" mode="svg_update"/>
|
2043
|
-
</xsl:copy>
|
2044
|
-
</xsl:template>
|
2045
|
-
|
2046
|
-
<xsl:template match="*[local-name() = 'image']/@href" mode="svg_update">
|
2047
|
-
<xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
|
2048
|
-
<xsl:value-of select="."/>
|
2049
|
-
</xsl:attribute>
|
2050
|
-
</xsl:template>
|
2051
|
-
|
2052
|
-
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
|
2053
|
-
<xsl:variable name="svg_content" select="document(@src)"/>
|
2054
|
-
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
2055
|
-
<xsl:for-each select="xalan:nodeset($svg_content)/node()">
|
2056
|
-
<xsl:call-template name="image_svg">
|
2057
|
-
<xsl:with-param name="name" select="$name"/>
|
2058
|
-
</xsl:call-template>
|
2059
|
-
</xsl:for-each>
|
2060
|
-
</xsl:template>
|
2061
|
-
|
2062
|
-
<xsl:template match="@*|node()" mode="svg_remove_a">
|
2063
|
-
<xsl:copy>
|
2064
|
-
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
2065
|
-
</xsl:copy>
|
2066
|
-
</xsl:template>
|
2067
|
-
|
2068
|
-
<xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
2069
|
-
<xsl:apply-templates mode="svg_remove_a"/>
|
2070
|
-
</xsl:template>
|
2071
|
-
|
2072
|
-
<xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
2073
|
-
<xsl:param name="scale"/>
|
2074
|
-
<xsl:variable name="dest">
|
2075
|
-
<xsl:choose>
|
2076
|
-
<xsl:when test="starts-with(@href, '#')">
|
2077
|
-
<xsl:value-of select="substring-after(@href, '#')"/>
|
2078
|
-
</xsl:when>
|
2079
|
-
<xsl:otherwise>
|
2080
|
-
<xsl:value-of select="@href"/>
|
2081
|
-
</xsl:otherwise>
|
2082
|
-
</xsl:choose>
|
2083
|
-
</xsl:variable>
|
2084
|
-
<xsl:for-each select="./*[local-name() = 'rect']">
|
2085
|
-
<xsl:call-template name="insertSVGMapLink">
|
2086
|
-
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
2087
|
-
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
2088
|
-
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
2089
|
-
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
2090
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2091
|
-
</xsl:call-template>
|
2092
|
-
</xsl:for-each>
|
2093
|
-
|
2094
|
-
<xsl:for-each select="./*[local-name() = 'polygon']">
|
2095
|
-
<xsl:variable name="points">
|
2096
|
-
<xsl:call-template name="split">
|
2097
|
-
<xsl:with-param name="pText" select="@points"/>
|
2098
|
-
</xsl:call-template>
|
2099
|
-
</xsl:variable>
|
2100
|
-
<xsl:variable name="x_coords">
|
2101
|
-
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
2102
|
-
<xsl:sort select="." data-type="number"/>
|
2103
|
-
<x><xsl:value-of select="."/></x>
|
2104
|
-
</xsl:for-each>
|
2105
|
-
</xsl:variable>
|
2106
|
-
<xsl:variable name="y_coords">
|
2107
|
-
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
2108
|
-
<xsl:sort select="." data-type="number"/>
|
2109
|
-
<y><xsl:value-of select="."/></y>
|
2110
|
-
</xsl:for-each>
|
2111
|
-
</xsl:variable>
|
2112
|
-
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
2113
|
-
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
2114
|
-
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
2115
|
-
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
2116
|
-
<xsl:call-template name="insertSVGMapLink">
|
2117
|
-
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
2118
|
-
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
2119
|
-
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
2120
|
-
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
2121
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2122
|
-
</xsl:call-template>
|
2123
|
-
</xsl:for-each>
|
2124
|
-
|
2125
|
-
<xsl:for-each select="./*[local-name() = 'circle']">
|
2126
|
-
<xsl:call-template name="insertSVGMapLink">
|
2127
|
-
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
2128
|
-
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
2129
|
-
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
2130
|
-
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
2131
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2132
|
-
</xsl:call-template>
|
2133
|
-
</xsl:for-each>
|
2134
|
-
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
2135
|
-
<xsl:call-template name="insertSVGMapLink">
|
2136
|
-
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
2137
|
-
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
2138
|
-
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
2139
|
-
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
2140
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2141
|
-
</xsl:call-template>
|
2142
|
-
</xsl:for-each>
|
2143
|
-
</xsl:template>
|
2144
|
-
|
2145
|
-
<xsl:template name="insertSVGMapLink">
|
2146
|
-
<xsl:param name="left"/>
|
2147
|
-
<xsl:param name="top"/>
|
2148
|
-
<xsl:param name="width"/>
|
2149
|
-
<xsl:param name="height"/>
|
2150
|
-
<xsl:param name="dest"/>
|
2151
|
-
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
2152
|
-
<fo:block font-size="1pt">
|
2153
|
-
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
2154
|
-
<fo:inline-container inline-progression-dimension="100%">
|
2155
|
-
<fo:block-container height="{$height - 1}px" width="100%">
|
2156
|
-
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
2157
|
-
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
2158
|
-
</xsl:if> -->
|
2159
|
-
<fo:block> </fo:block></fo:block-container>
|
2160
|
-
</fo:inline-container>
|
2161
|
-
</fo:basic-link>
|
2162
|
-
</fo:block>
|
2163
|
-
</fo:block-container>
|
2164
|
-
</xsl:template>
|
2165
|
-
|
2166
|
-
<!-- =================== -->
|
2167
|
-
<!-- End SVG images processing -->
|
2168
|
-
<!-- =================== -->
|
2169
1911
|
|
2170
1912
|
<!-- For express listings PDF attachments -->
|
2171
1913
|
<xsl:template match="*[local-name() = 'eref'][contains(@bibitemid, '.exp')]" priority="2">
|
@@ -2357,96 +2099,14 @@
|
|
2357
2099
|
<xsl:text>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</xsl:text>
|
2358
2100
|
</xsl:variable>
|
2359
2101
|
|
2360
|
-
|
2361
|
-
<xsl:
|
2362
|
-
<xsl:
|
2363
|
-
<words>
|
2364
|
-
<word cardinal="1">One-</word>
|
2365
|
-
<word ordinal="1">First </word>
|
2366
|
-
<word cardinal="2">Two-</word>
|
2367
|
-
<word ordinal="2">Second </word>
|
2368
|
-
<word cardinal="3">Three-</word>
|
2369
|
-
<word ordinal="3">Third </word>
|
2370
|
-
<word cardinal="4">Four-</word>
|
2371
|
-
<word ordinal="4">Fourth </word>
|
2372
|
-
<word cardinal="5">Five-</word>
|
2373
|
-
<word ordinal="5">Fifth </word>
|
2374
|
-
<word cardinal="6">Six-</word>
|
2375
|
-
<word ordinal="6">Sixth </word>
|
2376
|
-
<word cardinal="7">Seven-</word>
|
2377
|
-
<word ordinal="7">Seventh </word>
|
2378
|
-
<word cardinal="8">Eight-</word>
|
2379
|
-
<word ordinal="8">Eighth </word>
|
2380
|
-
<word cardinal="9">Nine-</word>
|
2381
|
-
<word ordinal="9">Ninth </word>
|
2382
|
-
<word ordinal="10">Tenth </word>
|
2383
|
-
<word ordinal="11">Eleventh </word>
|
2384
|
-
<word ordinal="12">Twelfth </word>
|
2385
|
-
<word ordinal="13">Thirteenth </word>
|
2386
|
-
<word ordinal="14">Fourteenth </word>
|
2387
|
-
<word ordinal="15">Fifteenth </word>
|
2388
|
-
<word ordinal="16">Sixteenth </word>
|
2389
|
-
<word ordinal="17">Seventeenth </word>
|
2390
|
-
<word ordinal="18">Eighteenth </word>
|
2391
|
-
<word ordinal="19">Nineteenth </word>
|
2392
|
-
<word cardinal="20">Twenty-</word>
|
2393
|
-
<word ordinal="20">Twentieth </word>
|
2394
|
-
<word cardinal="30">Thirty-</word>
|
2395
|
-
<word ordinal="30">Thirtieth </word>
|
2396
|
-
<word cardinal="40">Forty-</word>
|
2397
|
-
<word ordinal="40">Fortieth </word>
|
2398
|
-
<word cardinal="50">Fifty-</word>
|
2399
|
-
<word ordinal="50">Fiftieth </word>
|
2400
|
-
<word cardinal="60">Sixty-</word>
|
2401
|
-
<word ordinal="60">Sixtieth </word>
|
2402
|
-
<word cardinal="70">Seventy-</word>
|
2403
|
-
<word ordinal="70">Seventieth </word>
|
2404
|
-
<word cardinal="80">Eighty-</word>
|
2405
|
-
<word ordinal="80">Eightieth </word>
|
2406
|
-
<word cardinal="90">Ninety-</word>
|
2407
|
-
<word ordinal="90">Ninetieth </word>
|
2408
|
-
<word cardinal="100">Hundred-</word>
|
2409
|
-
<word ordinal="100">Hundredth </word>
|
2410
|
-
</words>
|
2411
|
-
</xsl:variable>
|
2412
|
-
|
2413
|
-
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
2414
|
-
|
2102
|
+
<xsl:template name="printEdition">
|
2103
|
+
<xsl:variable name="edition" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:edition)"/>
|
2104
|
+
<xsl:text> </xsl:text>
|
2415
2105
|
<xsl:choose>
|
2416
|
-
<xsl:when test="$
|
2417
|
-
<xsl:
|
2418
|
-
|
2419
|
-
|
2420
|
-
<xsl:choose>
|
2421
|
-
<xsl:when test="$number < 100">
|
2422
|
-
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
2423
|
-
<xsl:variable name="digit" select="substring($number,2)"/>
|
2424
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
2425
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
2426
|
-
</xsl:when>
|
2427
|
-
<xsl:otherwise>
|
2428
|
-
<!-- more 100 -->
|
2429
|
-
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
2430
|
-
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
2431
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
2432
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
2433
|
-
<xsl:call-template name="number-to-words">
|
2434
|
-
<xsl:with-param name="number" select="$digits"/>
|
2435
|
-
</xsl:call-template>
|
2436
|
-
</xsl:otherwise>
|
2437
|
-
</xsl:choose>
|
2438
|
-
</xsl:otherwise>
|
2439
|
-
</xsl:choose>
|
2440
|
-
</xsl:template>
|
2441
|
-
|
2442
|
-
<xsl:template name="printEdition">
|
2443
|
-
<xsl:variable name="edition" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:edition)"/>
|
2444
|
-
<xsl:text> </xsl:text>
|
2445
|
-
<xsl:choose>
|
2446
|
-
<xsl:when test="number($edition) = $edition">
|
2447
|
-
<xsl:call-template name="number-to-words">
|
2448
|
-
<xsl:with-param name="number" select="$edition"/>
|
2449
|
-
</xsl:call-template>
|
2106
|
+
<xsl:when test="number($edition) = $edition">
|
2107
|
+
<xsl:call-template name="number-to-words">
|
2108
|
+
<xsl:with-param name="number" select="$edition"/>
|
2109
|
+
</xsl:call-template>
|
2450
2110
|
</xsl:when>
|
2451
2111
|
<xsl:when test="$edition != ''">
|
2452
2112
|
<xsl:value-of select="$edition"/>
|
@@ -2662,6 +2322,7 @@
|
|
2662
2322
|
|
2663
2323
|
|
2664
2324
|
|
2325
|
+
|
2665
2326
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
2666
2327
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
2667
2328
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
@@ -2711,7 +2372,7 @@
|
|
2711
2372
|
|
2712
2373
|
|
2713
2374
|
|
2714
|
-
|
2375
|
+
|
2715
2376
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
2716
2377
|
|
2717
2378
|
|
@@ -2728,6 +2389,7 @@
|
|
2728
2389
|
|
2729
2390
|
|
2730
2391
|
|
2392
|
+
|
2731
2393
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
2732
2394
|
|
2733
2395
|
|
@@ -2747,9 +2409,7 @@
|
|
2747
2409
|
|
2748
2410
|
|
2749
2411
|
|
2750
|
-
|
2751
|
-
|
2752
|
-
|
2412
|
+
|
2753
2413
|
|
2754
2414
|
|
2755
2415
|
|
@@ -2782,6 +2442,7 @@
|
|
2782
2442
|
<xsl:attribute name="padding-right">5mm</xsl:attribute>
|
2783
2443
|
|
2784
2444
|
|
2445
|
+
|
2785
2446
|
</xsl:attribute-set><xsl:attribute-set name="table-name-style">
|
2786
2447
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2787
2448
|
|
@@ -2803,6 +2464,9 @@
|
|
2803
2464
|
|
2804
2465
|
|
2805
2466
|
|
2467
|
+
|
2468
|
+
</xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
|
2469
|
+
|
2806
2470
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
2807
2471
|
|
2808
2472
|
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
@@ -2828,11 +2492,14 @@
|
|
2828
2492
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
2829
2493
|
|
2830
2494
|
|
2495
|
+
|
2831
2496
|
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
2832
2497
|
|
2833
2498
|
|
2834
2499
|
|
2835
2500
|
|
2501
|
+
|
2502
|
+
|
2836
2503
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
2837
2504
|
|
2838
2505
|
|
@@ -2854,6 +2521,7 @@
|
|
2854
2521
|
|
2855
2522
|
|
2856
2523
|
|
2524
|
+
|
2857
2525
|
</xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
|
2858
2526
|
|
2859
2527
|
|
@@ -2899,10 +2567,12 @@
|
|
2899
2567
|
|
2900
2568
|
|
2901
2569
|
|
2570
|
+
|
2902
2571
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2903
2572
|
|
2904
2573
|
|
2905
2574
|
|
2575
|
+
|
2906
2576
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
2907
2577
|
|
2908
2578
|
|
@@ -2930,10 +2600,12 @@
|
|
2930
2600
|
|
2931
2601
|
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
2932
2602
|
|
2603
|
+
|
2933
2604
|
</xsl:attribute-set><xsl:attribute-set name="origin-style">
|
2934
2605
|
|
2935
2606
|
|
2936
2607
|
|
2608
|
+
|
2937
2609
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
2938
2610
|
|
2939
2611
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
@@ -2960,6 +2632,7 @@
|
|
2960
2632
|
|
2961
2633
|
|
2962
2634
|
|
2635
|
+
|
2963
2636
|
|
2964
2637
|
|
2965
2638
|
|
@@ -3005,8 +2678,10 @@
|
|
3005
2678
|
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
3006
2679
|
|
3007
2680
|
|
2681
|
+
|
3008
2682
|
</xsl:attribute-set><xsl:attribute-set name="deprecates-style">
|
3009
2683
|
|
2684
|
+
|
3010
2685
|
</xsl:attribute-set><xsl:attribute-set name="definition-style">
|
3011
2686
|
|
3012
2687
|
|
@@ -3033,6 +2708,8 @@
|
|
3033
2708
|
<xsl:attribute name="font-family">Cambria Math</xsl:attribute>
|
3034
2709
|
|
3035
2710
|
|
2711
|
+
</xsl:attribute-set><xsl:attribute-set name="list-style">
|
2712
|
+
|
3036
2713
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
3037
2714
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
3038
2715
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
@@ -3043,14 +2720,15 @@
|
|
3043
2720
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
|
3044
2721
|
|
3045
2722
|
<!-- Normative references -->
|
3046
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
|
2723
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true'] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][@normative='true']]" mode="contents"/>
|
3047
2724
|
<!-- Terms and definitions -->
|
3048
2725
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
|
3049
2726
|
<!-- Another main sections -->
|
3050
2727
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
|
3051
2728
|
<xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
|
3052
2729
|
<!-- Bibliography -->
|
3053
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
|
2730
|
+
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
|
2731
|
+
|
3054
2732
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3055
2733
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
|
3056
2734
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
@@ -3086,11 +2764,11 @@
|
|
3086
2764
|
<xsl:variable name="table">
|
3087
2765
|
|
3088
2766
|
<xsl:variable name="simple-table">
|
3089
|
-
<xsl:call-template name="getSimpleTable"/>
|
2767
|
+
<xsl:call-template name="getSimpleTable"/>
|
3090
2768
|
</xsl:variable>
|
3091
2769
|
|
3092
2770
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
3093
|
-
<fo:block> </fo:block>
|
2771
|
+
<fo:block> </fo:block>
|
3094
2772
|
</xsl:if> -->
|
3095
2773
|
|
3096
2774
|
<!-- $namespace = 'iso' or -->
|
@@ -3208,6 +2886,7 @@
|
|
3208
2886
|
|
3209
2887
|
|
3210
2888
|
|
2889
|
+
|
3211
2890
|
</xsl:variable>
|
3212
2891
|
|
3213
2892
|
|
@@ -3351,6 +3030,9 @@
|
|
3351
3030
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
3352
3031
|
|
3353
3032
|
|
3033
|
+
|
3034
|
+
|
3035
|
+
|
3354
3036
|
<xsl:choose>
|
3355
3037
|
<xsl:when test="$continued = 'true'">
|
3356
3038
|
<!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
|
@@ -3504,6 +3186,7 @@
|
|
3504
3186
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3505
3187
|
</xsl:call-template>
|
3506
3188
|
|
3189
|
+
|
3507
3190
|
<xsl:apply-templates/>
|
3508
3191
|
</fo:table-header>
|
3509
3192
|
</xsl:template><xsl:template name="table-header-title">
|
@@ -3659,6 +3342,7 @@
|
|
3659
3342
|
<fo:table-row>
|
3660
3343
|
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
3661
3344
|
|
3345
|
+
|
3662
3346
|
<xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
|
3663
3347
|
|
3664
3348
|
|
@@ -3671,6 +3355,10 @@
|
|
3671
3355
|
|
3672
3356
|
|
3673
3357
|
|
3358
|
+
|
3359
|
+
<!-- for BSI (not PAS) display Notes before footnotes -->
|
3360
|
+
|
3361
|
+
|
3674
3362
|
<!-- except gb -->
|
3675
3363
|
|
3676
3364
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
@@ -3696,6 +3384,10 @@
|
|
3696
3384
|
<!-- fn processing -->
|
3697
3385
|
<xsl:call-template name="fn_display"/>
|
3698
3386
|
|
3387
|
+
|
3388
|
+
<!-- for PAS display Notes after footnotes -->
|
3389
|
+
|
3390
|
+
|
3699
3391
|
</fo:table-cell>
|
3700
3392
|
</fo:table-row>
|
3701
3393
|
</fo:table-body>
|
@@ -3762,8 +3454,8 @@
|
|
3762
3454
|
<fo:table-cell>
|
3763
3455
|
|
3764
3456
|
<fo:marker marker-class-name="table_continued">
|
3765
|
-
|
3766
|
-
|
3457
|
+
<xsl:value-of select="$title_continued"/>
|
3458
|
+
</fo:marker>
|
3767
3459
|
<fo:block/>
|
3768
3460
|
</fo:table-cell>
|
3769
3461
|
</fo:table-row>
|
@@ -3804,6 +3496,7 @@
|
|
3804
3496
|
</xsl:if>
|
3805
3497
|
<xsl:if test="$parent-name = 'tfoot'">
|
3806
3498
|
|
3499
|
+
|
3807
3500
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
3808
3501
|
<xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
|
3809
3502
|
<xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
|
@@ -3814,6 +3507,10 @@
|
|
3814
3507
|
|
3815
3508
|
|
3816
3509
|
|
3510
|
+
|
3511
|
+
|
3512
|
+
|
3513
|
+
|
3817
3514
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
3818
3515
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
3819
3516
|
</xsl:if> -->
|
@@ -3845,6 +3542,7 @@
|
|
3845
3542
|
|
3846
3543
|
|
3847
3544
|
|
3545
|
+
|
3848
3546
|
<xsl:if test="$lang = 'ar'">
|
3849
3547
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3850
3548
|
</xsl:if>
|
@@ -3894,6 +3592,7 @@
|
|
3894
3592
|
|
3895
3593
|
|
3896
3594
|
|
3595
|
+
|
3897
3596
|
<xsl:if test="ancestor::*[local-name() = 'tfoot']">
|
3898
3597
|
<xsl:attribute name="border">solid black 0</xsl:attribute>
|
3899
3598
|
</xsl:if>
|
@@ -3906,6 +3605,9 @@
|
|
3906
3605
|
|
3907
3606
|
|
3908
3607
|
|
3608
|
+
|
3609
|
+
|
3610
|
+
|
3909
3611
|
<xsl:if test=".//*[local-name() = 'table']">
|
3910
3612
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3911
3613
|
</xsl:if>
|
@@ -3930,6 +3632,7 @@
|
|
3930
3632
|
|
3931
3633
|
<fo:block font-size="10pt" margin-bottom="12pt">
|
3932
3634
|
|
3635
|
+
|
3933
3636
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
3934
3637
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
3935
3638
|
|
@@ -3938,8 +3641,13 @@
|
|
3938
3641
|
|
3939
3642
|
|
3940
3643
|
|
3644
|
+
|
3645
|
+
<!-- Table's note name (NOTE, for example) -->
|
3646
|
+
|
3941
3647
|
<fo:inline padding-right="2mm">
|
3942
3648
|
|
3649
|
+
|
3650
|
+
|
3943
3651
|
|
3944
3652
|
|
3945
3653
|
|
@@ -3947,6 +3655,8 @@
|
|
3947
3655
|
|
3948
3656
|
</fo:inline>
|
3949
3657
|
|
3658
|
+
|
3659
|
+
|
3950
3660
|
<xsl:apply-templates mode="process"/>
|
3951
3661
|
</fo:block>
|
3952
3662
|
|
@@ -3966,6 +3676,8 @@
|
|
3966
3676
|
<xsl:variable name="reference" select="@reference"/>
|
3967
3677
|
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
|
3968
3678
|
<fo:block margin-bottom="12pt">
|
3679
|
+
|
3680
|
+
|
3969
3681
|
|
3970
3682
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
3971
3683
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
@@ -3984,9 +3696,11 @@
|
|
3984
3696
|
|
3985
3697
|
|
3986
3698
|
|
3699
|
+
|
3987
3700
|
<xsl:value-of select="@reference"/>
|
3988
3701
|
|
3989
3702
|
|
3703
|
+
|
3990
3704
|
</fo:inline>
|
3991
3705
|
<fo:inline>
|
3992
3706
|
|
@@ -4122,6 +3836,8 @@
|
|
4122
3836
|
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
4123
3837
|
<fo:inline font-size="80%" keep-with-previous.within-line="always">
|
4124
3838
|
|
3839
|
+
|
3840
|
+
|
4125
3841
|
<xsl:if test="ancestor::*[local-name()='td']">
|
4126
3842
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
4127
3843
|
<!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
|
@@ -4133,11 +3849,14 @@
|
|
4133
3849
|
|
4134
3850
|
|
4135
3851
|
|
3852
|
+
|
3853
|
+
|
4136
3854
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4137
3855
|
|
4138
3856
|
|
4139
3857
|
<xsl:value-of select="@reference"/>
|
4140
3858
|
|
3859
|
+
|
4141
3860
|
</fo:basic-link>
|
4142
3861
|
</fo:inline>
|
4143
3862
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -4233,6 +3952,7 @@
|
|
4233
3952
|
|
4234
3953
|
|
4235
3954
|
|
3955
|
+
|
4236
3956
|
<xsl:variable name="title-key">
|
4237
3957
|
|
4238
3958
|
<xsl:call-template name="getLocalizedString">
|
@@ -4448,6 +4168,7 @@
|
|
4448
4168
|
|
4449
4169
|
<fo:table-row>
|
4450
4170
|
|
4171
|
+
|
4451
4172
|
<fo:table-cell>
|
4452
4173
|
|
4453
4174
|
<fo:block margin-top="6pt">
|
@@ -4465,6 +4186,7 @@
|
|
4465
4186
|
|
4466
4187
|
|
4467
4188
|
|
4189
|
+
|
4468
4190
|
<xsl:apply-templates/>
|
4469
4191
|
<!-- <xsl:if test="$namespace = 'gb'">
|
4470
4192
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -4521,6 +4243,8 @@
|
|
4521
4243
|
|
4522
4244
|
<xsl:apply-templates/>
|
4523
4245
|
</fo:inline>
|
4246
|
+
</xsl:template><xsl:template match="*[local-name()='padding']">
|
4247
|
+
<fo:inline padding-right="{@value}"> </fo:inline>
|
4524
4248
|
</xsl:template><xsl:template match="*[local-name()='sup']">
|
4525
4249
|
<fo:inline font-size="80%" vertical-align="super">
|
4526
4250
|
<xsl:apply-templates/>
|
@@ -5017,9 +4741,27 @@
|
|
5017
4741
|
<xsl:copy>
|
5018
4742
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
5019
4743
|
</xsl:copy>
|
5020
|
-
<
|
4744
|
+
<xsl:choose>
|
4745
|
+
<!-- if in msub, then don't add space -->
|
4746
|
+
<xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
|
4747
|
+
<!-- if next char in digit, don't add space -->
|
4748
|
+
<xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
|
4749
|
+
<xsl:otherwise>
|
4750
|
+
<mathml:mspace width="0.5ex"/>
|
4751
|
+
</xsl:otherwise>
|
4752
|
+
</xsl:choose>
|
5021
4753
|
</xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
5022
4754
|
<xsl:variable name="target">
|
4755
|
+
<xsl:choose>
|
4756
|
+
<xsl:when test="@updatetype = 'true'">
|
4757
|
+
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
4758
|
+
</xsl:when>
|
4759
|
+
<xsl:otherwise>
|
4760
|
+
<xsl:value-of select="normalize-space(@target)"/>
|
4761
|
+
</xsl:otherwise>
|
4762
|
+
</xsl:choose>
|
4763
|
+
</xsl:variable>
|
4764
|
+
<xsl:variable name="target_text">
|
5023
4765
|
<xsl:choose>
|
5024
4766
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
5025
4767
|
<xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
|
@@ -5031,20 +4773,22 @@
|
|
5031
4773
|
</xsl:variable>
|
5032
4774
|
<fo:inline xsl:use-attribute-sets="link-style">
|
5033
4775
|
|
4776
|
+
|
4777
|
+
|
5034
4778
|
<xsl:choose>
|
5035
|
-
<xsl:when test="$
|
4779
|
+
<xsl:when test="$target_text = ''">
|
5036
4780
|
<xsl:apply-templates/>
|
5037
4781
|
</xsl:when>
|
5038
4782
|
<xsl:otherwise>
|
5039
|
-
<fo:basic-link external-destination="{
|
4783
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
5040
4784
|
<xsl:choose>
|
5041
4785
|
<xsl:when test="normalize-space(.) = ''">
|
5042
|
-
<!-- <xsl:value-of select="$target"/> -->
|
5043
4786
|
<xsl:call-template name="add-zero-spaces-link-java">
|
5044
|
-
<xsl:with-param name="text" select="$
|
4787
|
+
<xsl:with-param name="text" select="$target_text"/>
|
5045
4788
|
</xsl:call-template>
|
5046
4789
|
</xsl:when>
|
5047
4790
|
<xsl:otherwise>
|
4791
|
+
<!-- output text from <link>text</link> -->
|
5048
4792
|
<xsl:apply-templates/>
|
5049
4793
|
</xsl:otherwise>
|
5050
4794
|
</xsl:choose>
|
@@ -5139,6 +4883,7 @@
|
|
5139
4883
|
|
5140
4884
|
|
5141
4885
|
|
4886
|
+
|
5142
4887
|
<fo:block-container margin-left="0mm">
|
5143
4888
|
|
5144
4889
|
|
@@ -5182,6 +4927,7 @@
|
|
5182
4927
|
</xsl:choose>
|
5183
4928
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
5184
4929
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
4930
|
+
|
5185
4931
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
5186
4932
|
|
5187
4933
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
@@ -5257,6 +5003,7 @@
|
|
5257
5003
|
</xsl:call-template>
|
5258
5004
|
|
5259
5005
|
<fo:block>
|
5006
|
+
|
5260
5007
|
<xsl:apply-templates/>
|
5261
5008
|
</fo:block>
|
5262
5009
|
<xsl:call-template name="fn_display_figure"/>
|
@@ -5379,6 +5126,234 @@
|
|
5379
5126
|
<xsl:param name="height"/>
|
5380
5127
|
<line xmlns="http://www.w3.org/2000/svg" x1="0" y1="0" x2="{$width}" y2="{$height}" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
|
5381
5128
|
<line xmlns="http://www.w3.org/2000/svg" x1="0" y1="{$height}" x2="{$width}" y2="0" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
|
5129
|
+
</xsl:template><xsl:variable name="figure_name_height">14</xsl:variable><xsl:variable name="width_effective" select="$pageWidth - $marginLeftRight1 - $marginLeftRight2"/><xsl:variable name="height_effective" select="$pageHeight - $marginTop - $marginBottom - $figure_name_height"/><xsl:variable name="image_dpi" select="96"/><xsl:variable name="width_effective_px" select="$width_effective div 25.4 * $image_dpi"/><xsl:variable name="height_effective_px" select="$height_effective div 25.4 * $image_dpi"/><xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image']) and *[local-name() = 'svg']]/*[local-name() = 'name']/*[local-name() = 'bookmark']" priority="2"/><xsl:template match="*[local-name() = 'figure'][not(*[local-name() = 'image'])]/*[local-name() = 'svg']" priority="2" name="image_svg">
|
5130
|
+
<xsl:param name="name"/>
|
5131
|
+
|
5132
|
+
<xsl:variable name="svg_content">
|
5133
|
+
<xsl:apply-templates select="." mode="svg_update"/>
|
5134
|
+
</xsl:variable>
|
5135
|
+
|
5136
|
+
<xsl:variable name="alt-text">
|
5137
|
+
<xsl:choose>
|
5138
|
+
<xsl:when test="normalize-space(../*[local-name() = 'name']) != ''">
|
5139
|
+
<xsl:value-of select="../*[local-name() = 'name']"/>
|
5140
|
+
</xsl:when>
|
5141
|
+
<xsl:when test="normalize-space($name) != ''">
|
5142
|
+
<xsl:value-of select="$name"/>
|
5143
|
+
</xsl:when>
|
5144
|
+
<xsl:otherwise>Figure</xsl:otherwise>
|
5145
|
+
</xsl:choose>
|
5146
|
+
</xsl:variable>
|
5147
|
+
|
5148
|
+
<xsl:choose>
|
5149
|
+
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
5150
|
+
<fo:block>
|
5151
|
+
<xsl:variable name="width" select="@width"/>
|
5152
|
+
<xsl:variable name="height" select="@height"/>
|
5153
|
+
|
5154
|
+
<xsl:variable name="scale_x">
|
5155
|
+
<xsl:choose>
|
5156
|
+
<xsl:when test="$width > $width_effective_px">
|
5157
|
+
<xsl:value-of select="$width_effective_px div $width"/>
|
5158
|
+
</xsl:when>
|
5159
|
+
<xsl:otherwise>1</xsl:otherwise>
|
5160
|
+
</xsl:choose>
|
5161
|
+
</xsl:variable>
|
5162
|
+
|
5163
|
+
<xsl:variable name="scale_y">
|
5164
|
+
<xsl:choose>
|
5165
|
+
<xsl:when test="$height * $scale_x > $height_effective_px">
|
5166
|
+
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
5167
|
+
</xsl:when>
|
5168
|
+
<xsl:otherwise>1</xsl:otherwise>
|
5169
|
+
</xsl:choose>
|
5170
|
+
</xsl:variable>
|
5171
|
+
|
5172
|
+
<xsl:variable name="scale">
|
5173
|
+
<xsl:choose>
|
5174
|
+
<xsl:when test="$scale_y != 1">
|
5175
|
+
<xsl:value-of select="$scale_x * $scale_y"/>
|
5176
|
+
</xsl:when>
|
5177
|
+
<xsl:otherwise>
|
5178
|
+
<xsl:value-of select="$scale_x"/>
|
5179
|
+
</xsl:otherwise>
|
5180
|
+
</xsl:choose>
|
5181
|
+
</xsl:variable>
|
5182
|
+
|
5183
|
+
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
5184
|
+
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
5185
|
+
|
5186
|
+
<fo:table table-layout="fixed" width="100%">
|
5187
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
5188
|
+
<fo:table-column column-width="{$width_scale}px"/>
|
5189
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
5190
|
+
<fo:table-body>
|
5191
|
+
<fo:table-row>
|
5192
|
+
<fo:table-cell column-number="2">
|
5193
|
+
<fo:block>
|
5194
|
+
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
5195
|
+
<xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
5196
|
+
<fo:block line-height="0" font-size="0">
|
5197
|
+
<xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
5198
|
+
<xsl:call-template name="bookmark"/>
|
5199
|
+
</xsl:for-each>
|
5200
|
+
</fo:block>
|
5201
|
+
</xsl:if>
|
5202
|
+
<fo:block text-depth="0" line-height="0" font-size="0">
|
5203
|
+
|
5204
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
5205
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
5206
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
5207
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
5208
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
5209
|
+
|
5210
|
+
<xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
|
5211
|
+
</fo:instream-foreign-object>
|
5212
|
+
</fo:block>
|
5213
|
+
|
5214
|
+
<xsl:apply-templates select=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]" mode="svg_imagemap_links">
|
5215
|
+
<xsl:with-param name="scale" select="$scale"/>
|
5216
|
+
</xsl:apply-templates>
|
5217
|
+
</fo:block-container>
|
5218
|
+
</fo:block>
|
5219
|
+
</fo:table-cell>
|
5220
|
+
</fo:table-row>
|
5221
|
+
</fo:table-body>
|
5222
|
+
</fo:table>
|
5223
|
+
</fo:block>
|
5224
|
+
|
5225
|
+
</xsl:when>
|
5226
|
+
<xsl:otherwise>
|
5227
|
+
<fo:block xsl:use-attribute-sets="image-style">
|
5228
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
5229
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
5230
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
5231
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
5232
|
+
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
5233
|
+
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
5234
|
+
<!-- effective height / width = 1.48, 1.4 - with title -->
|
5235
|
+
<xsl:if test="@height > (@width * 1.4)"> <!-- for images with big height -->
|
5236
|
+
<xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
|
5237
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
5238
|
+
</xsl:if>
|
5239
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
5240
|
+
<xsl:copy-of select="$svg_content"/>
|
5241
|
+
</fo:instream-foreign-object>
|
5242
|
+
</fo:block>
|
5243
|
+
</xsl:otherwise>
|
5244
|
+
</xsl:choose>
|
5245
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_update">
|
5246
|
+
<xsl:copy>
|
5247
|
+
<xsl:apply-templates select="@*|node()" mode="svg_update"/>
|
5248
|
+
</xsl:copy>
|
5249
|
+
</xsl:template><xsl:template match="*[local-name() = 'image']/@href" mode="svg_update">
|
5250
|
+
<xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
|
5251
|
+
<xsl:value-of select="."/>
|
5252
|
+
</xsl:attribute>
|
5253
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
|
5254
|
+
<xsl:variable name="svg_content" select="document(@src)"/>
|
5255
|
+
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
5256
|
+
<xsl:for-each select="xalan:nodeset($svg_content)/node()">
|
5257
|
+
<xsl:call-template name="image_svg">
|
5258
|
+
<xsl:with-param name="name" select="$name"/>
|
5259
|
+
</xsl:call-template>
|
5260
|
+
</xsl:for-each>
|
5261
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_remove_a">
|
5262
|
+
<xsl:copy>
|
5263
|
+
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
5264
|
+
</xsl:copy>
|
5265
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
5266
|
+
<xsl:apply-templates mode="svg_remove_a"/>
|
5267
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
5268
|
+
<xsl:param name="scale"/>
|
5269
|
+
<xsl:variable name="dest">
|
5270
|
+
<xsl:choose>
|
5271
|
+
<xsl:when test="starts-with(@href, '#')">
|
5272
|
+
<xsl:value-of select="substring-after(@href, '#')"/>
|
5273
|
+
</xsl:when>
|
5274
|
+
<xsl:otherwise>
|
5275
|
+
<xsl:value-of select="@href"/>
|
5276
|
+
</xsl:otherwise>
|
5277
|
+
</xsl:choose>
|
5278
|
+
</xsl:variable>
|
5279
|
+
<xsl:for-each select="./*[local-name() = 'rect']">
|
5280
|
+
<xsl:call-template name="insertSVGMapLink">
|
5281
|
+
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
5282
|
+
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
5283
|
+
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
5284
|
+
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
5285
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5286
|
+
</xsl:call-template>
|
5287
|
+
</xsl:for-each>
|
5288
|
+
|
5289
|
+
<xsl:for-each select="./*[local-name() = 'polygon']">
|
5290
|
+
<xsl:variable name="points">
|
5291
|
+
<xsl:call-template name="split">
|
5292
|
+
<xsl:with-param name="pText" select="@points"/>
|
5293
|
+
</xsl:call-template>
|
5294
|
+
</xsl:variable>
|
5295
|
+
<xsl:variable name="x_coords">
|
5296
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
5297
|
+
<xsl:sort select="." data-type="number"/>
|
5298
|
+
<x><xsl:value-of select="."/></x>
|
5299
|
+
</xsl:for-each>
|
5300
|
+
</xsl:variable>
|
5301
|
+
<xsl:variable name="y_coords">
|
5302
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
5303
|
+
<xsl:sort select="." data-type="number"/>
|
5304
|
+
<y><xsl:value-of select="."/></y>
|
5305
|
+
</xsl:for-each>
|
5306
|
+
</xsl:variable>
|
5307
|
+
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
5308
|
+
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
5309
|
+
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
5310
|
+
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
5311
|
+
<xsl:call-template name="insertSVGMapLink">
|
5312
|
+
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
5313
|
+
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
5314
|
+
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
5315
|
+
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
5316
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5317
|
+
</xsl:call-template>
|
5318
|
+
</xsl:for-each>
|
5319
|
+
|
5320
|
+
<xsl:for-each select="./*[local-name() = 'circle']">
|
5321
|
+
<xsl:call-template name="insertSVGMapLink">
|
5322
|
+
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
5323
|
+
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
5324
|
+
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
5325
|
+
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
5326
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5327
|
+
</xsl:call-template>
|
5328
|
+
</xsl:for-each>
|
5329
|
+
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
5330
|
+
<xsl:call-template name="insertSVGMapLink">
|
5331
|
+
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
5332
|
+
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
5333
|
+
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
5334
|
+
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
5335
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5336
|
+
</xsl:call-template>
|
5337
|
+
</xsl:for-each>
|
5338
|
+
</xsl:template><xsl:template name="insertSVGMapLink">
|
5339
|
+
<xsl:param name="left"/>
|
5340
|
+
<xsl:param name="top"/>
|
5341
|
+
<xsl:param name="width"/>
|
5342
|
+
<xsl:param name="height"/>
|
5343
|
+
<xsl:param name="dest"/>
|
5344
|
+
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
5345
|
+
<fo:block font-size="1pt">
|
5346
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
5347
|
+
<fo:inline-container inline-progression-dimension="100%">
|
5348
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
5349
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
5350
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
5351
|
+
</xsl:if> -->
|
5352
|
+
<fo:block> </fo:block></fo:block-container>
|
5353
|
+
</fo:inline-container>
|
5354
|
+
</fo:basic-link>
|
5355
|
+
</fo:block>
|
5356
|
+
</fo:block-container>
|
5382
5357
|
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
|
5383
5358
|
<xsl:apply-templates mode="contents"/>
|
5384
5359
|
<xsl:text> </xsl:text>
|
@@ -5407,28 +5382,39 @@
|
|
5407
5382
|
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
5408
5383
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
5409
5384
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
5385
|
+
<xsl:if test="@bundle = 'true'">
|
5386
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
5387
|
+
</xsl:if>
|
5410
5388
|
<fo:bookmark-title>
|
5411
|
-
<xsl:variable name="bookmark-title_">
|
5412
|
-
<xsl:call-template name="getLangVersion">
|
5413
|
-
<xsl:with-param name="lang" select="@lang"/>
|
5414
|
-
<xsl:with-param name="doctype" select="@doctype"/>
|
5415
|
-
<xsl:with-param name="title" select="@title-part"/>
|
5416
|
-
</xsl:call-template>
|
5417
|
-
</xsl:variable>
|
5418
5389
|
<xsl:choose>
|
5419
|
-
<xsl:when test="normalize-space(
|
5420
|
-
<xsl:
|
5421
|
-
|
5422
|
-
|
5390
|
+
<xsl:when test="not(normalize-space(@bundle) = 'true')"> <!-- 'bundle' means several different documents (not language versions) in one xml -->
|
5391
|
+
<xsl:variable name="bookmark-title_">
|
5392
|
+
<xsl:call-template name="getLangVersion">
|
5393
|
+
<xsl:with-param name="lang" select="@lang"/>
|
5394
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
5395
|
+
<xsl:with-param name="title" select="@title-part"/>
|
5396
|
+
</xsl:call-template>
|
5397
|
+
</xsl:variable>
|
5423
5398
|
<xsl:choose>
|
5424
|
-
<xsl:when test="
|
5425
|
-
|
5426
|
-
|
5427
|
-
<xsl:otherwise
|
5399
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
5400
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
5401
|
+
</xsl:when>
|
5402
|
+
<xsl:otherwise>
|
5403
|
+
<xsl:choose>
|
5404
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
5405
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
5406
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
5407
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
5408
|
+
</xsl:choose>
|
5409
|
+
</xsl:otherwise>
|
5428
5410
|
</xsl:choose>
|
5411
|
+
</xsl:when>
|
5412
|
+
<xsl:otherwise>
|
5413
|
+
<xsl:value-of select="@title-part"/>
|
5429
5414
|
</xsl:otherwise>
|
5430
5415
|
</xsl:choose>
|
5431
5416
|
</fo:bookmark-title>
|
5417
|
+
|
5432
5418
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
5433
5419
|
|
5434
5420
|
<xsl:call-template name="insertFigureBookmarks">
|
@@ -5527,20 +5513,28 @@
|
|
5527
5513
|
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
5528
5514
|
</xsl:choose>
|
5529
5515
|
</xsl:template><xsl:template match="item" mode="bookmark">
|
5530
|
-
<
|
5531
|
-
|
5532
|
-
|
5533
|
-
|
5534
|
-
<xsl:
|
5535
|
-
|
5536
|
-
|
5537
|
-
|
5538
|
-
|
5539
|
-
|
5516
|
+
<xsl:choose>
|
5517
|
+
<xsl:when test="@id != ''">
|
5518
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
5519
|
+
<fo:bookmark-title>
|
5520
|
+
<xsl:if test="@section != ''">
|
5521
|
+
<xsl:value-of select="@section"/>
|
5522
|
+
<xsl:text> </xsl:text>
|
5523
|
+
</xsl:if>
|
5524
|
+
<xsl:value-of select="normalize-space(title)"/>
|
5525
|
+
</fo:bookmark-title>
|
5526
|
+
<xsl:apply-templates mode="bookmark"/>
|
5527
|
+
</fo:bookmark>
|
5528
|
+
</xsl:when>
|
5529
|
+
<xsl:otherwise>
|
5530
|
+
<xsl:apply-templates mode="bookmark"/>
|
5531
|
+
</xsl:otherwise>
|
5532
|
+
</xsl:choose>
|
5540
5533
|
</xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
|
5541
5534
|
<xsl:if test="normalize-space() != ''">
|
5542
5535
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
5543
5536
|
|
5537
|
+
|
5544
5538
|
<xsl:apply-templates/>
|
5545
5539
|
</fo:block>
|
5546
5540
|
</xsl:if>
|
@@ -5620,6 +5614,8 @@
|
|
5620
5614
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
5621
5615
|
|
5622
5616
|
<fo:block-container margin-left="0mm">
|
5617
|
+
<xsl:copy-of select="@id"/>
|
5618
|
+
|
5623
5619
|
<xsl:if test="parent::*[local-name() = 'note']">
|
5624
5620
|
<xsl:attribute name="margin-left">
|
5625
5621
|
<xsl:choose>
|
@@ -5630,7 +5626,9 @@
|
|
5630
5626
|
|
5631
5627
|
</xsl:if>
|
5632
5628
|
<fo:block-container margin-left="0mm">
|
5633
|
-
|
5629
|
+
|
5630
|
+
|
5631
|
+
|
5634
5632
|
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
5635
5633
|
<xsl:variable name="_font-size">
|
5636
5634
|
|
@@ -5659,10 +5657,14 @@
|
|
5659
5657
|
</xsl:choose>
|
5660
5658
|
</xsl:attribute>
|
5661
5659
|
</xsl:if>
|
5662
|
-
|
5663
|
-
|
5660
|
+
|
5661
|
+
<xsl:apply-templates/>
|
5662
|
+
</fo:block>
|
5663
|
+
|
5664
|
+
|
5664
5665
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
5665
5666
|
|
5667
|
+
|
5666
5668
|
</fo:block-container>
|
5667
5669
|
</fo:block-container>
|
5668
5670
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
@@ -5897,6 +5899,7 @@
|
|
5897
5899
|
</xsl:template><xsl:template match="*[local-name() = 'example']">
|
5898
5900
|
<fo:block id="{@id}" xsl:use-attribute-sets="example-style">
|
5899
5901
|
|
5902
|
+
|
5900
5903
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
5901
5904
|
|
5902
5905
|
<xsl:variable name="element">
|
@@ -6010,14 +6013,14 @@
|
|
6010
6013
|
<fo:inline>
|
6011
6014
|
|
6012
6015
|
|
6013
|
-
|
6014
|
-
|
6015
|
-
</xsl:call-template> -->
|
6016
|
+
|
6017
|
+
|
6016
6018
|
<xsl:value-of select="$localized.source"/>
|
6019
|
+
<xsl:text>: </xsl:text>
|
6020
|
+
|
6017
6021
|
|
6018
6022
|
|
6019
6023
|
|
6020
|
-
<xsl:text>: </xsl:text>
|
6021
6024
|
</fo:inline>
|
6022
6025
|
|
6023
6026
|
<fo:inline xsl:use-attribute-sets="origin-style">
|
@@ -6088,7 +6091,9 @@
|
|
6088
6091
|
|
6089
6092
|
|
6090
6093
|
</xsl:if>
|
6091
|
-
|
6094
|
+
|
6095
|
+
|
6096
|
+
|
6092
6097
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
6093
6098
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6094
6099
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
@@ -6097,6 +6102,7 @@
|
|
6097
6102
|
|
6098
6103
|
|
6099
6104
|
|
6105
|
+
|
6100
6106
|
</xsl:if>
|
6101
6107
|
|
6102
6108
|
<xsl:apply-templates/>
|
@@ -6123,6 +6129,7 @@
|
|
6123
6129
|
|
6124
6130
|
|
6125
6131
|
|
6132
|
+
|
6126
6133
|
<xsl:choose>
|
6127
6134
|
<xsl:when test="$depth = 2">3</xsl:when>
|
6128
6135
|
<xsl:otherwise>4</xsl:otherwise>
|
@@ -6241,6 +6248,7 @@
|
|
6241
6248
|
<xsl:call-template name="setId"/>
|
6242
6249
|
|
6243
6250
|
|
6251
|
+
|
6244
6252
|
<xsl:apply-templates/>
|
6245
6253
|
</fo:block>
|
6246
6254
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -6513,17 +6521,17 @@
|
|
6513
6521
|
<xsl:variable name="_doc_ident" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]"/>
|
6514
6522
|
<xsl:choose>
|
6515
6523
|
<xsl:when test="normalize-space($_doc_ident) != ''">
|
6516
|
-
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
|
6524
|
+
<!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'DOI' or @type = 'metanorma' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor')]/@type"/>
|
6517
6525
|
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
6518
6526
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
6519
|
-
</xsl:if>
|
6527
|
+
</xsl:if> -->
|
6520
6528
|
<xsl:value-of select="$_doc_ident"/>
|
6521
6529
|
</xsl:when>
|
6522
6530
|
<xsl:otherwise>
|
6523
|
-
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
6531
|
+
<!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
6524
6532
|
<xsl:if test="$type != ''">
|
6525
6533
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
6526
|
-
</xsl:if>
|
6534
|
+
</xsl:if> -->
|
6527
6535
|
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
6528
6536
|
</xsl:otherwise>
|
6529
6537
|
</xsl:choose>
|
@@ -6836,6 +6844,9 @@
|
|
6836
6844
|
<xsl:when test="parent::*[local-name() = 'preface']">
|
6837
6845
|
<xsl:value-of select="$level_total - 1"/>
|
6838
6846
|
</xsl:when>
|
6847
|
+
<xsl:when test="ancestor::*[local-name() = 'preface'] and not(ancestor::*[local-name() = 'foreword']) and not(ancestor::*[local-name() = 'introduction'])"> <!-- for preface/clause -->
|
6848
|
+
<xsl:value-of select="$level_total - 1"/>
|
6849
|
+
</xsl:when>
|
6839
6850
|
<xsl:when test="ancestor::*[local-name() = 'preface']">
|
6840
6851
|
<xsl:value-of select="$level_total - 2"/>
|
6841
6852
|
</xsl:when>
|
@@ -6976,7 +6987,14 @@
|
|
6976
6987
|
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
6977
6988
|
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
6978
6989
|
</xsl:when>
|
6979
|
-
<xsl:otherwise
|
6990
|
+
<xsl:otherwise>
|
6991
|
+
<xsl:variable name="key_">
|
6992
|
+
<xsl:call-template name="capitalize">
|
6993
|
+
<xsl:with-param name="str" select="translate($key, '_', ' ')"/>
|
6994
|
+
</xsl:call-template>
|
6995
|
+
</xsl:variable>
|
6996
|
+
<xsl:value-of select="$key_"/>
|
6997
|
+
</xsl:otherwise>
|
6980
6998
|
</xsl:choose>
|
6981
6999
|
|
6982
7000
|
</xsl:template><xsl:template name="setTrackChangesStyles">
|
@@ -7019,4 +7037,110 @@
|
|
7019
7037
|
<xsl:value-of select="$align"/>
|
7020
7038
|
</xsl:when>
|
7021
7039
|
</xsl:choose>
|
7040
|
+
</xsl:template><xsl:template name="setTextAlignment">
|
7041
|
+
<xsl:param name="default">left</xsl:param>
|
7042
|
+
<xsl:attribute name="text-align">
|
7043
|
+
<xsl:choose>
|
7044
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
7045
|
+
<xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
|
7046
|
+
<xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
|
7047
|
+
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
7048
|
+
</xsl:choose>
|
7049
|
+
</xsl:attribute>
|
7050
|
+
</xsl:template><xsl:template name="number-to-words">
|
7051
|
+
<xsl:param name="number"/>
|
7052
|
+
<xsl:param name="first"/>
|
7053
|
+
<xsl:if test="$number != ''">
|
7054
|
+
<xsl:variable name="words">
|
7055
|
+
<words>
|
7056
|
+
<word cardinal="1">One-</word>
|
7057
|
+
<word ordinal="1">First </word>
|
7058
|
+
<word cardinal="2">Two-</word>
|
7059
|
+
<word ordinal="2">Second </word>
|
7060
|
+
<word cardinal="3">Three-</word>
|
7061
|
+
<word ordinal="3">Third </word>
|
7062
|
+
<word cardinal="4">Four-</word>
|
7063
|
+
<word ordinal="4">Fourth </word>
|
7064
|
+
<word cardinal="5">Five-</word>
|
7065
|
+
<word ordinal="5">Fifth </word>
|
7066
|
+
<word cardinal="6">Six-</word>
|
7067
|
+
<word ordinal="6">Sixth </word>
|
7068
|
+
<word cardinal="7">Seven-</word>
|
7069
|
+
<word ordinal="7">Seventh </word>
|
7070
|
+
<word cardinal="8">Eight-</word>
|
7071
|
+
<word ordinal="8">Eighth </word>
|
7072
|
+
<word cardinal="9">Nine-</word>
|
7073
|
+
<word ordinal="9">Ninth </word>
|
7074
|
+
<word ordinal="10">Tenth </word>
|
7075
|
+
<word ordinal="11">Eleventh </word>
|
7076
|
+
<word ordinal="12">Twelfth </word>
|
7077
|
+
<word ordinal="13">Thirteenth </word>
|
7078
|
+
<word ordinal="14">Fourteenth </word>
|
7079
|
+
<word ordinal="15">Fifteenth </word>
|
7080
|
+
<word ordinal="16">Sixteenth </word>
|
7081
|
+
<word ordinal="17">Seventeenth </word>
|
7082
|
+
<word ordinal="18">Eighteenth </word>
|
7083
|
+
<word ordinal="19">Nineteenth </word>
|
7084
|
+
<word cardinal="20">Twenty-</word>
|
7085
|
+
<word ordinal="20">Twentieth </word>
|
7086
|
+
<word cardinal="30">Thirty-</word>
|
7087
|
+
<word ordinal="30">Thirtieth </word>
|
7088
|
+
<word cardinal="40">Forty-</word>
|
7089
|
+
<word ordinal="40">Fortieth </word>
|
7090
|
+
<word cardinal="50">Fifty-</word>
|
7091
|
+
<word ordinal="50">Fiftieth </word>
|
7092
|
+
<word cardinal="60">Sixty-</word>
|
7093
|
+
<word ordinal="60">Sixtieth </word>
|
7094
|
+
<word cardinal="70">Seventy-</word>
|
7095
|
+
<word ordinal="70">Seventieth </word>
|
7096
|
+
<word cardinal="80">Eighty-</word>
|
7097
|
+
<word ordinal="80">Eightieth </word>
|
7098
|
+
<word cardinal="90">Ninety-</word>
|
7099
|
+
<word ordinal="90">Ninetieth </word>
|
7100
|
+
<word cardinal="100">Hundred-</word>
|
7101
|
+
<word ordinal="100">Hundredth </word>
|
7102
|
+
</words>
|
7103
|
+
</xsl:variable>
|
7104
|
+
|
7105
|
+
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
7106
|
+
|
7107
|
+
<xsl:variable name="value">
|
7108
|
+
<xsl:choose>
|
7109
|
+
<xsl:when test="$ordinal != ''">
|
7110
|
+
<xsl:value-of select="$ordinal"/>
|
7111
|
+
</xsl:when>
|
7112
|
+
<xsl:otherwise>
|
7113
|
+
<xsl:choose>
|
7114
|
+
<xsl:when test="$number < 100">
|
7115
|
+
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
7116
|
+
<xsl:variable name="digit" select="substring($number,2)"/>
|
7117
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
7118
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
7119
|
+
</xsl:when>
|
7120
|
+
<xsl:otherwise>
|
7121
|
+
<!-- more 100 -->
|
7122
|
+
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
7123
|
+
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
7124
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
7125
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
7126
|
+
<xsl:call-template name="number-to-words">
|
7127
|
+
<xsl:with-param name="number" select="$digits"/>
|
7128
|
+
</xsl:call-template>
|
7129
|
+
</xsl:otherwise>
|
7130
|
+
</xsl:choose>
|
7131
|
+
</xsl:otherwise>
|
7132
|
+
</xsl:choose>
|
7133
|
+
</xsl:variable>
|
7134
|
+
<xsl:choose>
|
7135
|
+
<xsl:when test="$first = 'true'">
|
7136
|
+
<xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
|
7137
|
+
<xsl:call-template name="capitalize">
|
7138
|
+
<xsl:with-param name="str" select="$value_lc"/>
|
7139
|
+
</xsl:call-template>
|
7140
|
+
</xsl:when>
|
7141
|
+
<xsl:otherwise>
|
7142
|
+
<xsl:value-of select="$value"/>
|
7143
|
+
</xsl:otherwise>
|
7144
|
+
</xsl:choose>
|
7145
|
+
</xsl:if>
|
7022
7146
|
</xsl:template></xsl:stylesheet>
|