metanorma-iso 1.8.1 → 1.8.6
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 -8
- data/lib/asciidoctor/iso/base.rb +1 -0
- data/lib/asciidoctor/iso/biblio.rng +1 -0
- data/lib/asciidoctor/iso/cleanup.rb +17 -5
- data/lib/asciidoctor/iso/front.rb +3 -1
- data/lib/asciidoctor/iso/front_id.rb +66 -50
- data/lib/asciidoctor/iso/isodoc.rng +209 -4
- data/lib/asciidoctor/iso/isostandard-amd.rng +3 -0
- data/lib/asciidoctor/iso/isostandard.rng +12 -0
- data/lib/asciidoctor/iso/section.rb +2 -1
- data/lib/asciidoctor/iso/validate_section.rb +16 -9
- data/lib/isodoc/iso/base_convert.rb +13 -13
- 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 +679 -473
- data/lib/isodoc/iso/iso.international-standard.xsl +679 -473
- data/lib/isodoc/iso/metadata.rb +3 -2
- data/lib/isodoc/iso/presentation_xml_convert.rb +18 -9
- data/lib/isodoc/iso/sts_convert.rb +10 -13
- data/lib/isodoc/iso/word_convert.rb +153 -39
- data/lib/isodoc/iso/xref.rb +42 -27
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +4 -4
- data/spec/asciidoctor/base_spec.rb +426 -334
- data/spec/asciidoctor/blocks_spec.rb +96 -34
- data/spec/asciidoctor/cleanup_spec.rb +383 -25
- data/spec/asciidoctor/section_spec.rb +0 -14
- data/spec/asciidoctor/validate_spec.rb +119 -39
- 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 +282 -2
- data/spec/isodoc/iso_spec.rb +86 -138
- data/spec/isodoc/postproc_spec.rb +492 -442
- data/spec/isodoc/ref_spec.rb +6 -6
- data/spec/isodoc/section_spec.rb +301 -306
- data/spec/isodoc/table_spec.rb +166 -231
- data/spec/isodoc/terms_spec.rb +11 -8
- data/spec/isodoc/xref_spec.rb +147 -118
- data/spec/spec_helper.rb +16 -15
- metadata +9 -9
@@ -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">
|
@@ -1425,7 +1418,7 @@
|
|
1425
1418
|
</xsl:if>
|
1426
1419
|
</xsl:template>
|
1427
1420
|
|
1428
|
-
|
1421
|
+
<xsl:template match="iso:p | iso:termsource | iso:termnote" mode="contents"/>
|
1429
1422
|
|
1430
1423
|
<xsl:template name="getListItemFormat">
|
1431
1424
|
<xsl:choose>
|
@@ -1752,61 +1745,7 @@
|
|
1752
1745
|
<xsl:apply-templates/>
|
1753
1746
|
</xsl:template>
|
1754
1747
|
|
1755
|
-
|
1756
|
-
|
1757
|
-
<xsl:template match="iso:bibitem">
|
1758
|
-
<fo:block id="{@id}" margin-bottom="6pt"> <!-- 12 pt -->
|
1759
|
-
<xsl:variable name="docidentifier">
|
1760
|
-
<xsl:if test="iso:docidentifier">
|
1761
|
-
<xsl:choose>
|
1762
|
-
<xsl:when test="iso:docidentifier/@type = 'metanorma'"/>
|
1763
|
-
<xsl:otherwise><xsl:value-of select="iso:docidentifier"/></xsl:otherwise>
|
1764
|
-
</xsl:choose>
|
1765
|
-
</xsl:if>
|
1766
|
-
</xsl:variable>
|
1767
|
-
<xsl:value-of select="$docidentifier"/>
|
1768
|
-
<xsl:apply-templates select="iso:note"/>
|
1769
|
-
<xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
|
1770
|
-
<fo:inline font-style="italic">
|
1771
|
-
<xsl:choose>
|
1772
|
-
<xsl:when test="iso:title[@type = 'main' and @language = $lang]">
|
1773
|
-
<xsl:value-of select="iso:title[@type = 'main' and @language = $lang]"/>
|
1774
|
-
</xsl:when>
|
1775
|
-
<xsl:when test="iso:title[@type = 'main' and @language = 'en']">
|
1776
|
-
<xsl:value-of select="iso:title[@type = 'main' and @language = 'en']"/>
|
1777
|
-
</xsl:when>
|
1778
|
-
<xsl:otherwise>
|
1779
|
-
<xsl:value-of select="iso:title"/>
|
1780
|
-
</xsl:otherwise>
|
1781
|
-
</xsl:choose>
|
1782
|
-
</fo:inline>
|
1783
|
-
</fo:block>
|
1784
|
-
</xsl:template>
|
1785
|
-
|
1786
|
-
|
1787
|
-
<xsl:template match="iso:bibitem/iso:note" priority="2">
|
1788
|
-
<fo:footnote>
|
1789
|
-
<xsl:variable name="number">
|
1790
|
-
<xsl:number level="any" count="iso:bibitem/iso:note"/>
|
1791
|
-
</xsl:variable>
|
1792
|
-
<fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
|
1793
|
-
<fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
|
1794
|
-
<xsl:value-of select="$number"/><xsl:text>)</xsl:text>
|
1795
|
-
</fo:basic-link>
|
1796
|
-
</fo:inline>
|
1797
|
-
<fo:footnote-body>
|
1798
|
-
<fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
|
1799
|
-
<fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
|
1800
|
-
<xsl:value-of select="$number"/><xsl:text>)</xsl:text>
|
1801
|
-
</fo:inline>
|
1802
|
-
<xsl:apply-templates/>
|
1803
|
-
</fo:block>
|
1804
|
-
</fo:footnote-body>
|
1805
|
-
</fo:footnote>
|
1806
|
-
</xsl:template>
|
1807
|
-
|
1808
|
-
|
1809
|
-
|
1748
|
+
|
1810
1749
|
<xsl:template match="iso:ul | iso:ol" mode="ul_ol">
|
1811
1750
|
<fo:list-block provisional-distance-between-starts="7mm" margin-top="8pt"> <!-- margin-bottom="8pt" -->
|
1812
1751
|
<xsl:apply-templates/>
|
@@ -1872,6 +1811,34 @@
|
|
1872
1811
|
</xsl:template>
|
1873
1812
|
|
1874
1813
|
|
1814
|
+
<xsl:template match="iso:bibitem">
|
1815
|
+
<fo:block id="{@id}" margin-bottom="6pt">
|
1816
|
+
<xsl:call-template name="processBibitem"/>
|
1817
|
+
</fo:block>
|
1818
|
+
</xsl:template>
|
1819
|
+
|
1820
|
+
|
1821
|
+
<xsl:template match="iso:bibitem/iso:note" priority="2">
|
1822
|
+
<fo:footnote>
|
1823
|
+
<xsl:variable name="number">
|
1824
|
+
<xsl:number level="any" count="iso:bibitem/iso:note"/>
|
1825
|
+
</xsl:variable>
|
1826
|
+
<fo:inline font-size="8pt" keep-with-previous.within-line="always" baseline-shift="30%"> <!--85% vertical-align="super"-->
|
1827
|
+
<fo:basic-link internal-destination="{generate-id()}" fox:alt-text="footnote {$number}">
|
1828
|
+
<xsl:value-of select="$number"/><xsl:text>)</xsl:text>
|
1829
|
+
</fo:basic-link>
|
1830
|
+
</fo:inline>
|
1831
|
+
<fo:footnote-body>
|
1832
|
+
<fo:block font-size="10pt" margin-bottom="4pt" start-indent="0pt">
|
1833
|
+
<fo:inline id="{generate-id()}" keep-with-next.within-line="always" alignment-baseline="hanging" padding-right="3mm"><!-- font-size="60%" -->
|
1834
|
+
<xsl:value-of select="$number"/><xsl:text>)</xsl:text>
|
1835
|
+
</fo:inline>
|
1836
|
+
<xsl:apply-templates/>
|
1837
|
+
</fo:block>
|
1838
|
+
</fo:footnote-body>
|
1839
|
+
</fo:footnote>
|
1840
|
+
</xsl:template>
|
1841
|
+
|
1875
1842
|
<!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
|
1876
1843
|
<!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem"> -->
|
1877
1844
|
<xsl:template match="iso:references[not(@normative='true')]/iso:bibitem">
|
@@ -1886,40 +1853,18 @@
|
|
1886
1853
|
</fo:list-item-label>
|
1887
1854
|
<fo:list-item-body start-indent="body-start()">
|
1888
1855
|
<fo:block>
|
1889
|
-
<xsl:
|
1890
|
-
<xsl:if test="iso:docidentifier">
|
1891
|
-
<xsl:choose>
|
1892
|
-
<xsl:when test="iso:docidentifier/@type = 'metanorma'"/>
|
1893
|
-
<xsl:otherwise><xsl:value-of select="iso:docidentifier"/></xsl:otherwise>
|
1894
|
-
</xsl:choose>
|
1895
|
-
</xsl:if>
|
1896
|
-
</xsl:variable>
|
1897
|
-
<xsl:value-of select="$docidentifier"/>
|
1898
|
-
<xsl:apply-templates select="iso:note"/>
|
1899
|
-
<xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
|
1900
|
-
<xsl:choose>
|
1901
|
-
<xsl:when test="iso:title[@type = 'main' and @language = $lang]">
|
1902
|
-
<xsl:apply-templates select="iso:title[@type = 'main' and @language = $lang]"/>
|
1903
|
-
</xsl:when>
|
1904
|
-
<xsl:when test="iso:title[@type = 'main' and @language = 'en']">
|
1905
|
-
<xsl:apply-templates select="iso:title[@type = 'main' and @language = 'en']"/>
|
1906
|
-
</xsl:when>
|
1907
|
-
<xsl:otherwise>
|
1908
|
-
<xsl:apply-templates select="iso:title"/>
|
1909
|
-
</xsl:otherwise>
|
1910
|
-
</xsl:choose>
|
1911
|
-
<xsl:apply-templates select="iso:formattedref"/>
|
1856
|
+
<xsl:call-template name="processBibitem"/>
|
1912
1857
|
</fo:block>
|
1913
1858
|
</fo:list-item-body>
|
1914
1859
|
</fo:list-item>
|
1915
1860
|
</fo:list-block>
|
1916
1861
|
</xsl:template>
|
1917
1862
|
|
1918
|
-
<!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem" mode="contents"/> -->
|
1919
|
-
<xsl:template match="iso:references
|
1863
|
+
<!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem" mode="contents"/> [not(@normative='true')] -->
|
1864
|
+
<xsl:template match="iso:references/iso:bibitem" mode="contents"/>
|
1920
1865
|
|
1921
|
-
<!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem/iso:title"> -->
|
1922
|
-
<xsl:template match="iso:
|
1866
|
+
<!-- <xsl:template match="iso:references[@id = '_bibliography']/iso:bibitem/iso:title"> iso:references[not(@normative='true')]/ -->
|
1867
|
+
<xsl:template match="iso:bibitem/iso:title">
|
1923
1868
|
<fo:inline font-style="italic">
|
1924
1869
|
<xsl:apply-templates/>
|
1925
1870
|
</fo:inline>
|
@@ -1963,319 +1908,68 @@
|
|
1963
1908
|
</fo:block>
|
1964
1909
|
</xsl:template>
|
1965
1910
|
|
1911
|
+
|
1912
|
+
<!-- For express listings PDF attachments -->
|
1913
|
+
<xsl:template match="*[local-name() = 'eref'][contains(@bibitemid, '.exp')]" priority="2">
|
1914
|
+
<fo:inline xsl:use-attribute-sets="eref-style">
|
1915
|
+
<xsl:variable name="url" select="concat('url(embedded-file:', @bibitemid, ')')"/>
|
1916
|
+
<fo:basic-link external-destination="{$url}" fox:alt-text="{@citeas}">
|
1917
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
1918
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
1919
|
+
</xsl:if>
|
1920
|
+
<xsl:apply-templates/>
|
1921
|
+
</fo:basic-link>
|
1922
|
+
</fo:inline>
|
1923
|
+
</xsl:template>
|
1924
|
+
|
1925
|
+
|
1966
1926
|
<!-- =================== -->
|
1967
|
-
<!--
|
1927
|
+
<!-- Index processing -->
|
1968
1928
|
<!-- =================== -->
|
1969
|
-
|
1970
|
-
<xsl:template match="
|
1971
|
-
|
1972
|
-
|
1973
|
-
<
|
1974
|
-
<xsl:
|
1975
|
-
|
1976
|
-
|
1977
|
-
|
1978
|
-
|
1979
|
-
|
1980
|
-
|
1981
|
-
|
1982
|
-
|
1983
|
-
|
1984
|
-
|
1985
|
-
<xsl:
|
1986
|
-
</xsl:
|
1987
|
-
|
1988
|
-
|
1989
|
-
|
1990
|
-
|
1991
|
-
<fo:block>
|
1992
|
-
<xsl:variable name="width" select="@width"/>
|
1993
|
-
<xsl:variable name="height" select="@height"/>
|
1994
|
-
|
1995
|
-
<xsl:variable name="scale_x">
|
1996
|
-
<xsl:choose>
|
1997
|
-
<xsl:when test="$width > $width_effective_px">
|
1998
|
-
<xsl:value-of select="$width_effective_px div $width"/>
|
1999
|
-
</xsl:when>
|
2000
|
-
<xsl:otherwise>1</xsl:otherwise>
|
2001
|
-
</xsl:choose>
|
2002
|
-
</xsl:variable>
|
2003
|
-
|
2004
|
-
<xsl:variable name="scale_y">
|
2005
|
-
<xsl:choose>
|
2006
|
-
<xsl:when test="$height * $scale_x > $height_effective_px">
|
2007
|
-
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
2008
|
-
</xsl:when>
|
2009
|
-
<xsl:otherwise>1</xsl:otherwise>
|
2010
|
-
</xsl:choose>
|
2011
|
-
</xsl:variable>
|
2012
|
-
|
2013
|
-
<xsl:variable name="scale">
|
2014
|
-
<xsl:choose>
|
2015
|
-
<xsl:when test="$scale_y != 1">
|
2016
|
-
<xsl:value-of select="$scale_x * $scale_y"/>
|
2017
|
-
</xsl:when>
|
2018
|
-
<xsl:otherwise>
|
2019
|
-
<xsl:value-of select="$scale_x"/>
|
2020
|
-
</xsl:otherwise>
|
2021
|
-
</xsl:choose>
|
2022
|
-
</xsl:variable>
|
2023
|
-
|
2024
|
-
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
2025
|
-
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
2026
|
-
|
2027
|
-
<fo:table table-layout="fixed" width="100%">
|
2028
|
-
<fo:table-column column-width="proportional-column-width(1)"/>
|
2029
|
-
<fo:table-column column-width="{$width_scale}px"/>
|
2030
|
-
<fo:table-column column-width="proportional-column-width(1)"/>
|
2031
|
-
<fo:table-body>
|
2032
|
-
<fo:table-row>
|
2033
|
-
<fo:table-cell column-number="2">
|
2034
|
-
<fo:block>
|
2035
|
-
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
2036
|
-
<xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
2037
|
-
<fo:block line-height="0" font-size="0">
|
2038
|
-
<xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
2039
|
-
<xsl:call-template name="bookmark"/>
|
2040
|
-
</xsl:for-each>
|
2041
|
-
</fo:block>
|
2042
|
-
</xsl:if>
|
2043
|
-
<fo:block text-depth="0" line-height="0" font-size="0">
|
2044
|
-
|
2045
|
-
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
2046
|
-
<xsl:attribute name="width">100%</xsl:attribute>
|
2047
|
-
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2048
|
-
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
2049
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2050
|
-
|
2051
|
-
<xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
|
2052
|
-
</fo:instream-foreign-object>
|
2053
|
-
</fo:block>
|
2054
|
-
|
2055
|
-
<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">
|
2056
|
-
<xsl:with-param name="scale" select="$scale"/>
|
2057
|
-
</xsl:apply-templates>
|
2058
|
-
</fo:block-container>
|
2059
|
-
</fo:block>
|
2060
|
-
</fo:table-cell>
|
2061
|
-
</fo:table-row>
|
2062
|
-
</fo:table-body>
|
2063
|
-
</fo:table>
|
1929
|
+
|
1930
|
+
<xsl:template match="iso:indexsect"/>
|
1931
|
+
<xsl:template match="iso:indexsect" mode="index">
|
1932
|
+
|
1933
|
+
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
1934
|
+
<xsl:variable name="header-title">
|
1935
|
+
<xsl:choose>
|
1936
|
+
<xsl:when test="./iso:title[1]/*[local-name() = 'tab']">
|
1937
|
+
<xsl:apply-templates select="./iso:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
1938
|
+
</xsl:when>
|
1939
|
+
<xsl:otherwise>
|
1940
|
+
<xsl:apply-templates select="./iso:title[1]" mode="header"/>
|
1941
|
+
</xsl:otherwise>
|
1942
|
+
</xsl:choose>
|
1943
|
+
</xsl:variable>
|
1944
|
+
<xsl:call-template name="insertHeaderFooter">
|
1945
|
+
<xsl:with-param name="header-title" select="$header-title"/>
|
1946
|
+
</xsl:call-template>
|
1947
|
+
|
1948
|
+
<fo:flow flow-name="xsl-region-body">
|
1949
|
+
<fo:block id="{@id}" span="all">
|
1950
|
+
<xsl:apply-templates select="iso:title"/>
|
2064
1951
|
</fo:block>
|
2065
|
-
|
2066
|
-
|
2067
|
-
<xsl:otherwise>
|
2068
|
-
<fo:block xsl:use-attribute-sets="image-style">
|
2069
|
-
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
2070
|
-
<xsl:attribute name="width">100%</xsl:attribute>
|
2071
|
-
<xsl:attribute name="content-height">100%</xsl:attribute>
|
2072
|
-
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
2073
|
-
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
2074
|
-
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
2075
|
-
<!-- effective height / width = 1.48, 1.4 - with title -->
|
2076
|
-
<xsl:if test="@height > (@width * 1.4)"> <!-- for images with big height -->
|
2077
|
-
<xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
|
2078
|
-
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
2079
|
-
</xsl:if>
|
2080
|
-
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
2081
|
-
<xsl:copy-of select="$svg_content"/>
|
2082
|
-
</fo:instream-foreign-object>
|
1952
|
+
<fo:block>
|
1953
|
+
<xsl:apply-templates select="*[not(local-name() = 'title')]"/>
|
2083
1954
|
</fo:block>
|
2084
|
-
</
|
2085
|
-
</
|
1955
|
+
</fo:flow>
|
1956
|
+
</fo:page-sequence>
|
2086
1957
|
</xsl:template>
|
2087
1958
|
|
2088
|
-
<xsl:template match="
|
2089
|
-
|
2090
|
-
|
2091
|
-
|
2092
|
-
|
2093
|
-
|
2094
|
-
|
2095
|
-
|
2096
|
-
|
2097
|
-
|
2098
|
-
|
2099
|
-
|
2100
|
-
|
2101
|
-
|
2102
|
-
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
2103
|
-
<xsl:for-each select="xalan:nodeset($svg_content)/node()">
|
2104
|
-
<xsl:call-template name="image_svg">
|
2105
|
-
<xsl:with-param name="name" select="$name"/>
|
2106
|
-
</xsl:call-template>
|
2107
|
-
</xsl:for-each>
|
2108
|
-
</xsl:template>
|
2109
|
-
|
2110
|
-
<xsl:template match="@*|node()" mode="svg_remove_a">
|
2111
|
-
<xsl:copy>
|
2112
|
-
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
2113
|
-
</xsl:copy>
|
2114
|
-
</xsl:template>
|
2115
|
-
|
2116
|
-
<xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
2117
|
-
<xsl:apply-templates mode="svg_remove_a"/>
|
2118
|
-
</xsl:template>
|
2119
|
-
|
2120
|
-
<xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
2121
|
-
<xsl:param name="scale"/>
|
2122
|
-
<xsl:variable name="dest">
|
2123
|
-
<xsl:choose>
|
2124
|
-
<xsl:when test="starts-with(@href, '#')">
|
2125
|
-
<xsl:value-of select="substring-after(@href, '#')"/>
|
2126
|
-
</xsl:when>
|
2127
|
-
<xsl:otherwise>
|
2128
|
-
<xsl:value-of select="@href"/>
|
2129
|
-
</xsl:otherwise>
|
2130
|
-
</xsl:choose>
|
2131
|
-
</xsl:variable>
|
2132
|
-
<xsl:for-each select="./*[local-name() = 'rect']">
|
2133
|
-
<xsl:call-template name="insertSVGMapLink">
|
2134
|
-
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
2135
|
-
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
2136
|
-
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
2137
|
-
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
2138
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2139
|
-
</xsl:call-template>
|
2140
|
-
</xsl:for-each>
|
2141
|
-
|
2142
|
-
<xsl:for-each select="./*[local-name() = 'polygon']">
|
2143
|
-
<xsl:variable name="points">
|
2144
|
-
<xsl:call-template name="split">
|
2145
|
-
<xsl:with-param name="pText" select="@points"/>
|
2146
|
-
</xsl:call-template>
|
2147
|
-
</xsl:variable>
|
2148
|
-
<xsl:variable name="x_coords">
|
2149
|
-
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
2150
|
-
<xsl:sort select="." data-type="number"/>
|
2151
|
-
<x><xsl:value-of select="."/></x>
|
2152
|
-
</xsl:for-each>
|
2153
|
-
</xsl:variable>
|
2154
|
-
<xsl:variable name="y_coords">
|
2155
|
-
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
2156
|
-
<xsl:sort select="." data-type="number"/>
|
2157
|
-
<y><xsl:value-of select="."/></y>
|
2158
|
-
</xsl:for-each>
|
2159
|
-
</xsl:variable>
|
2160
|
-
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
2161
|
-
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
2162
|
-
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
2163
|
-
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
2164
|
-
<xsl:call-template name="insertSVGMapLink">
|
2165
|
-
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
2166
|
-
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
2167
|
-
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
2168
|
-
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
2169
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2170
|
-
</xsl:call-template>
|
2171
|
-
</xsl:for-each>
|
2172
|
-
|
2173
|
-
<xsl:for-each select="./*[local-name() = 'circle']">
|
2174
|
-
<xsl:call-template name="insertSVGMapLink">
|
2175
|
-
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
2176
|
-
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
2177
|
-
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
2178
|
-
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
2179
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2180
|
-
</xsl:call-template>
|
2181
|
-
</xsl:for-each>
|
2182
|
-
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
2183
|
-
<xsl:call-template name="insertSVGMapLink">
|
2184
|
-
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
2185
|
-
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
2186
|
-
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
2187
|
-
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
2188
|
-
<xsl:with-param name="dest" select="$dest"/>
|
2189
|
-
</xsl:call-template>
|
2190
|
-
</xsl:for-each>
|
2191
|
-
</xsl:template>
|
2192
|
-
|
2193
|
-
<xsl:template name="insertSVGMapLink">
|
2194
|
-
<xsl:param name="left"/>
|
2195
|
-
<xsl:param name="top"/>
|
2196
|
-
<xsl:param name="width"/>
|
2197
|
-
<xsl:param name="height"/>
|
2198
|
-
<xsl:param name="dest"/>
|
2199
|
-
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
2200
|
-
<fo:block font-size="1pt">
|
2201
|
-
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
2202
|
-
<fo:inline-container inline-progression-dimension="100%">
|
2203
|
-
<fo:block-container height="{$height - 1}px" width="100%">
|
2204
|
-
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
2205
|
-
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
2206
|
-
</xsl:if> -->
|
2207
|
-
<fo:block> </fo:block></fo:block-container>
|
2208
|
-
</fo:inline-container>
|
2209
|
-
</fo:basic-link>
|
2210
|
-
</fo:block>
|
2211
|
-
</fo:block-container>
|
2212
|
-
</xsl:template>
|
2213
|
-
|
2214
|
-
<!-- =================== -->
|
2215
|
-
<!-- End SVG images processing -->
|
2216
|
-
<!-- =================== -->
|
2217
|
-
|
2218
|
-
<!-- For express listings PDF attachments -->
|
2219
|
-
<xsl:template match="*[local-name() = 'eref'][contains(@bibitemid, '.exp')]" priority="2">
|
2220
|
-
<fo:inline xsl:use-attribute-sets="eref-style">
|
2221
|
-
<xsl:variable name="url" select="concat('url(embedded-file:', @bibitemid, ')')"/>
|
2222
|
-
<fo:basic-link external-destination="{$url}" fox:alt-text="{@citeas}">
|
2223
|
-
<xsl:if test="normalize-space(@citeas) = ''">
|
2224
|
-
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
2225
|
-
</xsl:if>
|
2226
|
-
<xsl:apply-templates/>
|
2227
|
-
</fo:basic-link>
|
2228
|
-
</fo:inline>
|
2229
|
-
</xsl:template>
|
2230
|
-
|
2231
|
-
|
2232
|
-
<!-- =================== -->
|
2233
|
-
<!-- Index processing -->
|
2234
|
-
<!-- =================== -->
|
2235
|
-
|
2236
|
-
<xsl:template match="iso:indexsect"/>
|
2237
|
-
<xsl:template match="iso:indexsect" mode="index">
|
2238
|
-
|
2239
|
-
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
2240
|
-
<xsl:variable name="header-title">
|
2241
|
-
<xsl:choose>
|
2242
|
-
<xsl:when test="./iso:title[1]/*[local-name() = 'tab']">
|
2243
|
-
<xsl:apply-templates select="./iso:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
2244
|
-
</xsl:when>
|
2245
|
-
<xsl:otherwise>
|
2246
|
-
<xsl:apply-templates select="./iso:title[1]" mode="header"/>
|
2247
|
-
</xsl:otherwise>
|
2248
|
-
</xsl:choose>
|
2249
|
-
</xsl:variable>
|
2250
|
-
<xsl:call-template name="insertHeaderFooter">
|
2251
|
-
<xsl:with-param name="header-title" select="$header-title"/>
|
2252
|
-
</xsl:call-template>
|
2253
|
-
|
2254
|
-
<fo:flow flow-name="xsl-region-body">
|
2255
|
-
<fo:block id="{@id}" span="all">
|
2256
|
-
<xsl:apply-templates select="iso:title"/>
|
2257
|
-
</fo:block>
|
2258
|
-
<fo:block>
|
2259
|
-
<xsl:apply-templates select="*[not(local-name() = 'title')]"/>
|
2260
|
-
</fo:block>
|
2261
|
-
</fo:flow>
|
2262
|
-
</fo:page-sequence>
|
2263
|
-
</xsl:template>
|
2264
|
-
|
2265
|
-
<!-- <xsl:template match="iso:clause[@type = 'index']/iso:title" priority="4"> -->
|
2266
|
-
<xsl:template match="iso:indexsect/iso:title" priority="4">
|
2267
|
-
<fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt">
|
2268
|
-
<!-- Index -->
|
2269
|
-
<xsl:apply-templates/>
|
2270
|
-
</fo:block>
|
2271
|
-
</xsl:template>
|
2272
|
-
|
2273
|
-
<!-- <xsl:template match="iso:clause[@type = 'index']/iso:clause/iso:title" priority="4"> -->
|
2274
|
-
<xsl:template match="iso:indexsect/iso:clause/iso:title" priority="4">
|
2275
|
-
<!-- Letter A, B, C, ... -->
|
2276
|
-
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
2277
|
-
<xsl:apply-templates/>
|
2278
|
-
</fo:block>
|
1959
|
+
<!-- <xsl:template match="iso:clause[@type = 'index']/iso:title" priority="4"> -->
|
1960
|
+
<xsl:template match="iso:indexsect/iso:title" priority="4">
|
1961
|
+
<fo:block font-size="16pt" font-weight="bold" margin-bottom="84pt">
|
1962
|
+
<!-- Index -->
|
1963
|
+
<xsl:apply-templates/>
|
1964
|
+
</fo:block>
|
1965
|
+
</xsl:template>
|
1966
|
+
|
1967
|
+
<!-- <xsl:template match="iso:clause[@type = 'index']/iso:clause/iso:title" priority="4"> -->
|
1968
|
+
<xsl:template match="iso:indexsect/iso:clause/iso:title" priority="4">
|
1969
|
+
<!-- Letter A, B, C, ... -->
|
1970
|
+
<fo:block font-size="10pt" font-weight="bold" margin-bottom="3pt" keep-with-next="always">
|
1971
|
+
<xsl:apply-templates/>
|
1972
|
+
</fo:block>
|
2279
1973
|
</xsl:template>
|
2280
1974
|
|
2281
1975
|
<xsl:template match="iso:indexsect//iso:li/text()">
|
@@ -2673,6 +2367,9 @@
|
|
2673
2367
|
<title-continued lang="en">(continued)</title-continued>
|
2674
2368
|
<title-continued lang="fr">(continué)</title-continued>
|
2675
2369
|
|
2370
|
+
</xsl:variable><xsl:variable name="bibdata">
|
2371
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
|
2372
|
+
<xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
|
2676
2373
|
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
|
2677
2374
|
<xsl:param name="name"/>
|
2678
2375
|
<xsl:param name="lang"/>
|
@@ -2701,11 +2398,13 @@
|
|
2701
2398
|
|
2702
2399
|
</xsl:attribute-set><xsl:attribute-set name="link-style">
|
2703
2400
|
|
2401
|
+
|
2704
2402
|
<xsl:attribute name="color">blue</xsl:attribute>
|
2705
2403
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
2706
2404
|
|
2707
2405
|
|
2708
2406
|
|
2407
|
+
|
2709
2408
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-style">
|
2710
2409
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
2711
2410
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
@@ -2755,7 +2454,7 @@
|
|
2755
2454
|
|
2756
2455
|
|
2757
2456
|
|
2758
|
-
|
2457
|
+
|
2759
2458
|
</xsl:attribute-set><xsl:attribute-set name="example-style">
|
2760
2459
|
|
2761
2460
|
|
@@ -2772,6 +2471,7 @@
|
|
2772
2471
|
|
2773
2472
|
|
2774
2473
|
|
2474
|
+
|
2775
2475
|
</xsl:attribute-set><xsl:attribute-set name="example-body-style">
|
2776
2476
|
|
2777
2477
|
|
@@ -2791,9 +2491,7 @@
|
|
2791
2491
|
|
2792
2492
|
|
2793
2493
|
|
2794
|
-
|
2795
|
-
|
2796
|
-
|
2494
|
+
|
2797
2495
|
|
2798
2496
|
|
2799
2497
|
|
@@ -2826,8 +2524,10 @@
|
|
2826
2524
|
<xsl:attribute name="padding-right">5mm</xsl:attribute>
|
2827
2525
|
|
2828
2526
|
|
2527
|
+
|
2829
2528
|
</xsl:attribute-set><xsl:attribute-set name="table-name-style">
|
2830
2529
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2530
|
+
|
2831
2531
|
|
2832
2532
|
|
2833
2533
|
|
@@ -2846,6 +2546,9 @@
|
|
2846
2546
|
|
2847
2547
|
|
2848
2548
|
|
2549
|
+
|
2550
|
+
</xsl:attribute-set><xsl:attribute-set name="table-footer-cell-style">
|
2551
|
+
|
2849
2552
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
2850
2553
|
|
2851
2554
|
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
@@ -2866,19 +2569,24 @@
|
|
2866
2569
|
</xsl:attribute-set><xsl:attribute-set name="xref-style">
|
2867
2570
|
|
2868
2571
|
|
2572
|
+
|
2869
2573
|
<xsl:attribute name="color">blue</xsl:attribute>
|
2870
2574
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
2871
2575
|
|
2872
2576
|
|
2577
|
+
|
2873
2578
|
</xsl:attribute-set><xsl:attribute-set name="eref-style">
|
2874
2579
|
|
2875
2580
|
|
2876
2581
|
|
2877
2582
|
|
2583
|
+
|
2584
|
+
|
2878
2585
|
</xsl:attribute-set><xsl:attribute-set name="note-style">
|
2879
2586
|
|
2880
2587
|
|
2881
2588
|
|
2589
|
+
|
2882
2590
|
|
2883
2591
|
|
2884
2592
|
|
@@ -2895,6 +2603,7 @@
|
|
2895
2603
|
|
2896
2604
|
|
2897
2605
|
|
2606
|
+
|
2898
2607
|
</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">
|
2899
2608
|
|
2900
2609
|
|
@@ -2902,6 +2611,7 @@
|
|
2902
2611
|
|
2903
2612
|
|
2904
2613
|
|
2614
|
+
|
2905
2615
|
<xsl:attribute name="padding-right">6mm</xsl:attribute>
|
2906
2616
|
|
2907
2617
|
|
@@ -2931,6 +2641,7 @@
|
|
2931
2641
|
|
2932
2642
|
|
2933
2643
|
|
2644
|
+
|
2934
2645
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2935
2646
|
<xsl:attribute name="margin-top">8pt</xsl:attribute>
|
2936
2647
|
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
@@ -2938,9 +2649,12 @@
|
|
2938
2649
|
|
2939
2650
|
|
2940
2651
|
|
2652
|
+
|
2941
2653
|
</xsl:attribute-set><xsl:attribute-set name="termnote-name-style">
|
2654
|
+
|
2942
2655
|
|
2943
2656
|
|
2657
|
+
|
2944
2658
|
</xsl:attribute-set><xsl:attribute-set name="quote-style">
|
2945
2659
|
|
2946
2660
|
|
@@ -2965,18 +2679,22 @@
|
|
2965
2679
|
|
2966
2680
|
|
2967
2681
|
|
2682
|
+
|
2968
2683
|
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
2969
2684
|
|
2685
|
+
|
2970
2686
|
</xsl:attribute-set><xsl:attribute-set name="origin-style">
|
2971
2687
|
|
2972
2688
|
|
2973
2689
|
|
2690
|
+
|
2974
2691
|
</xsl:attribute-set><xsl:attribute-set name="term-style">
|
2975
2692
|
|
2976
2693
|
<xsl:attribute name="margin-bottom">10pt</xsl:attribute>
|
2977
2694
|
|
2978
2695
|
</xsl:attribute-set><xsl:attribute-set name="figure-name-style">
|
2979
2696
|
|
2697
|
+
|
2980
2698
|
|
2981
2699
|
|
2982
2700
|
|
@@ -2996,6 +2714,7 @@
|
|
2996
2714
|
|
2997
2715
|
|
2998
2716
|
|
2717
|
+
|
2999
2718
|
|
3000
2719
|
|
3001
2720
|
|
@@ -3009,10 +2728,12 @@
|
|
3009
2728
|
|
3010
2729
|
|
3011
2730
|
|
2731
|
+
|
3012
2732
|
</xsl:attribute-set><xsl:attribute-set name="figure-pseudocode-p-style">
|
3013
2733
|
|
3014
2734
|
</xsl:attribute-set><xsl:attribute-set name="image-graphic-style">
|
3015
2735
|
|
2736
|
+
|
3016
2737
|
<xsl:attribute name="width">100%</xsl:attribute>
|
3017
2738
|
<xsl:attribute name="content-height">scale-to-fit</xsl:attribute>
|
3018
2739
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
@@ -3039,13 +2760,16 @@
|
|
3039
2760
|
</xsl:attribute-set><xsl:attribute-set name="admitted-style">
|
3040
2761
|
|
3041
2762
|
|
2763
|
+
|
3042
2764
|
</xsl:attribute-set><xsl:attribute-set name="deprecates-style">
|
3043
2765
|
|
2766
|
+
|
3044
2767
|
</xsl:attribute-set><xsl:attribute-set name="definition-style">
|
3045
2768
|
|
3046
2769
|
|
3047
2770
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
3048
2771
|
|
2772
|
+
|
3049
2773
|
</xsl:attribute-set><xsl:variable name="color-added-text">
|
3050
2774
|
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
3051
2775
|
</xsl:variable><xsl:attribute-set name="add-style">
|
@@ -3066,6 +2790,8 @@
|
|
3066
2790
|
<xsl:attribute name="font-family">Cambria Math</xsl:attribute>
|
3067
2791
|
|
3068
2792
|
|
2793
|
+
</xsl:attribute-set><xsl:attribute-set name="list-style">
|
2794
|
+
|
3069
2795
|
</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">
|
3070
2796
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
3071
2797
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
@@ -3076,14 +2802,15 @@
|
|
3076
2802
|
<xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
|
3077
2803
|
|
3078
2804
|
<!-- Normative references -->
|
3079
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
|
2805
|
+
<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"/>
|
3080
2806
|
<!-- Terms and definitions -->
|
3081
2807
|
<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"/>
|
3082
2808
|
<!-- Another main sections -->
|
3083
2809
|
<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"/>
|
3084
2810
|
<xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
|
3085
2811
|
<!-- Bibliography -->
|
3086
|
-
<xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
|
2812
|
+
<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"/>
|
2813
|
+
|
3087
2814
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3088
2815
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
|
3089
2816
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
|
@@ -3119,11 +2846,11 @@
|
|
3119
2846
|
<xsl:variable name="table">
|
3120
2847
|
|
3121
2848
|
<xsl:variable name="simple-table">
|
3122
|
-
<xsl:call-template name="getSimpleTable"/>
|
2849
|
+
<xsl:call-template name="getSimpleTable"/>
|
3123
2850
|
</xsl:variable>
|
3124
2851
|
|
3125
2852
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
3126
|
-
<fo:block> </fo:block>
|
2853
|
+
<fo:block> </fo:block>
|
3127
2854
|
</xsl:if> -->
|
3128
2855
|
|
3129
2856
|
<!-- $namespace = 'iso' or -->
|
@@ -3181,6 +2908,7 @@
|
|
3181
2908
|
|
3182
2909
|
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
3183
2910
|
|
2911
|
+
|
3184
2912
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
3185
2913
|
|
3186
2914
|
|
@@ -3192,6 +2920,7 @@
|
|
3192
2920
|
|
3193
2921
|
|
3194
2922
|
|
2923
|
+
|
3195
2924
|
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
3196
2925
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
3197
2926
|
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
@@ -3201,6 +2930,7 @@
|
|
3201
2930
|
|
3202
2931
|
|
3203
2932
|
|
2933
|
+
|
3204
2934
|
<xsl:variable name="table_width">
|
3205
2935
|
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
3206
2936
|
100%
|
@@ -3214,6 +2944,7 @@
|
|
3214
2944
|
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
3215
2945
|
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
3216
2946
|
|
2947
|
+
|
3217
2948
|
<attribute name="border">1.5pt solid black</attribute>
|
3218
2949
|
<xsl:if test="*[local-name()='thead']">
|
3219
2950
|
<attribute name="border-top">1pt solid black</attribute>
|
@@ -3237,6 +2968,7 @@
|
|
3237
2968
|
|
3238
2969
|
|
3239
2970
|
|
2971
|
+
|
3240
2972
|
</xsl:variable>
|
3241
2973
|
|
3242
2974
|
|
@@ -3373,13 +3105,29 @@
|
|
3373
3105
|
</xsl:choose>
|
3374
3106
|
|
3375
3107
|
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name() = 'name']"/><xsl:template match="*[local-name()='table']/*[local-name() = 'name']" mode="presentation">
|
3108
|
+
<xsl:param name="continued"/>
|
3376
3109
|
<xsl:if test="normalize-space() != ''">
|
3377
3110
|
<fo:block xsl:use-attribute-sets="table-name-style">
|
3378
3111
|
|
3379
3112
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
3380
3113
|
|
3381
3114
|
|
3382
|
-
|
3115
|
+
|
3116
|
+
|
3117
|
+
|
3118
|
+
<xsl:choose>
|
3119
|
+
<xsl:when test="$continued = 'true'">
|
3120
|
+
<!-- <xsl:if test="$namespace = 'bsi'"></xsl:if> -->
|
3121
|
+
|
3122
|
+
<xsl:apply-templates/>
|
3123
|
+
|
3124
|
+
</xsl:when>
|
3125
|
+
<xsl:otherwise>
|
3126
|
+
<xsl:apply-templates/>
|
3127
|
+
</xsl:otherwise>
|
3128
|
+
</xsl:choose>
|
3129
|
+
|
3130
|
+
|
3383
3131
|
</fo:block>
|
3384
3132
|
</xsl:if>
|
3385
3133
|
</xsl:template><xsl:template name="calculate-columns-numbers">
|
@@ -3520,21 +3268,27 @@
|
|
3520
3268
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3521
3269
|
</xsl:call-template>
|
3522
3270
|
|
3271
|
+
|
3523
3272
|
<xsl:apply-templates/>
|
3524
3273
|
</fo:table-header>
|
3525
3274
|
</xsl:template><xsl:template name="table-header-title">
|
3526
|
-
<xsl:param name="cols-count"/>
|
3275
|
+
<xsl:param name="cols-count"/>
|
3527
3276
|
<!-- row for title -->
|
3528
3277
|
<fo:table-row>
|
3529
3278
|
<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">
|
3530
|
-
|
3279
|
+
|
3280
|
+
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
|
3281
|
+
<xsl:with-param name="continued">true</xsl:with-param>
|
3282
|
+
</xsl:apply-templates>
|
3531
3283
|
<xsl:for-each select="ancestor::*[local-name()='table'][1]">
|
3532
3284
|
<xsl:call-template name="fn_name_display"/>
|
3533
|
-
</xsl:for-each>
|
3534
|
-
|
3535
|
-
<
|
3536
|
-
|
3537
|
-
|
3285
|
+
</xsl:for-each>
|
3286
|
+
|
3287
|
+
<fo:block text-align="right" font-style="italic">
|
3288
|
+
<xsl:text> </xsl:text>
|
3289
|
+
<fo:retrieve-table-marker retrieve-class-name="table_continued"/>
|
3290
|
+
</fo:block>
|
3291
|
+
|
3538
3292
|
</fo:table-cell>
|
3539
3293
|
</fo:table-row>
|
3540
3294
|
</xsl:template><xsl:template match="*[local-name()='thead']" mode="process_tbody">
|
@@ -3755,20 +3509,26 @@
|
|
3755
3509
|
<xsl:call-template name="getTitle">
|
3756
3510
|
<xsl:with-param name="name" select="'title-continued'"/>
|
3757
3511
|
</xsl:call-template>
|
3758
|
-
</xsl:variable>
|
3512
|
+
</xsl:variable>
|
3513
|
+
|
3514
|
+
<xsl:variable name="title_start" select="ancestor::*[local-name()='table'][1]/*[local-name()='name']/node()[1][self::text()]"/>
|
3515
|
+
<xsl:variable name="table_number" select="substring-before($title_start, '—')"/>
|
3516
|
+
|
3759
3517
|
<fo:table-row height="0" keep-with-next.within-page="always">
|
3760
3518
|
<fo:table-cell>
|
3761
|
-
|
3519
|
+
|
3520
|
+
|
3521
|
+
<fo:marker marker-class-name="table_continued"/>
|
3522
|
+
|
3762
3523
|
<fo:block/>
|
3763
3524
|
</fo:table-cell>
|
3764
3525
|
</fo:table-row>
|
3765
3526
|
<fo:table-row height="0" keep-with-next.within-page="always">
|
3766
3527
|
<fo:table-cell>
|
3767
|
-
|
3768
|
-
|
3769
|
-
|
3770
|
-
|
3771
|
-
</fo:marker>
|
3528
|
+
|
3529
|
+
<fo:marker marker-class-name="table_continued">
|
3530
|
+
<xsl:value-of select="$title_continued"/>
|
3531
|
+
</fo:marker>
|
3772
3532
|
<fo:block/>
|
3773
3533
|
</fo:table-cell>
|
3774
3534
|
</fo:table-row>
|
@@ -3805,6 +3565,7 @@
|
|
3805
3565
|
|
3806
3566
|
|
3807
3567
|
|
3568
|
+
|
3808
3569
|
</xsl:if>
|
3809
3570
|
<xsl:if test="$parent-name = 'tfoot'">
|
3810
3571
|
|
@@ -3818,6 +3579,10 @@
|
|
3818
3579
|
|
3819
3580
|
|
3820
3581
|
|
3582
|
+
|
3583
|
+
|
3584
|
+
|
3585
|
+
|
3821
3586
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
3822
3587
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
3823
3588
|
</xsl:if> -->
|
@@ -3836,6 +3601,7 @@
|
|
3836
3601
|
</xsl:choose>
|
3837
3602
|
</xsl:attribute>
|
3838
3603
|
|
3604
|
+
|
3839
3605
|
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
3840
3606
|
|
3841
3607
|
|
@@ -3848,6 +3614,7 @@
|
|
3848
3614
|
|
3849
3615
|
|
3850
3616
|
|
3617
|
+
|
3851
3618
|
<xsl:if test="$lang = 'ar'">
|
3852
3619
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3853
3620
|
</xsl:if>
|
@@ -3896,6 +3663,8 @@
|
|
3896
3663
|
|
3897
3664
|
|
3898
3665
|
|
3666
|
+
|
3667
|
+
|
3899
3668
|
<xsl:if test="ancestor::*[local-name() = 'tfoot']">
|
3900
3669
|
<xsl:attribute name="border">solid black 0</xsl:attribute>
|
3901
3670
|
</xsl:if>
|
@@ -3908,6 +3677,9 @@
|
|
3908
3677
|
|
3909
3678
|
|
3910
3679
|
|
3680
|
+
|
3681
|
+
|
3682
|
+
|
3911
3683
|
<xsl:if test=".//*[local-name() = 'table']">
|
3912
3684
|
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3913
3685
|
</xsl:if>
|
@@ -3940,6 +3712,7 @@
|
|
3940
3712
|
|
3941
3713
|
|
3942
3714
|
|
3715
|
+
|
3943
3716
|
<fo:inline padding-right="2mm">
|
3944
3717
|
|
3945
3718
|
|
@@ -3986,6 +3759,7 @@
|
|
3986
3759
|
|
3987
3760
|
|
3988
3761
|
|
3762
|
+
|
3989
3763
|
<xsl:value-of select="@reference"/>
|
3990
3764
|
|
3991
3765
|
|
@@ -4124,6 +3898,8 @@
|
|
4124
3898
|
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
4125
3899
|
<fo:inline font-size="80%" keep-with-previous.within-line="always">
|
4126
3900
|
|
3901
|
+
|
3902
|
+
|
4127
3903
|
<xsl:if test="ancestor::*[local-name()='td']">
|
4128
3904
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
4129
3905
|
<!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
|
@@ -4135,6 +3911,8 @@
|
|
4135
3911
|
|
4136
3912
|
|
4137
3913
|
|
3914
|
+
|
3915
|
+
|
4138
3916
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
4139
3917
|
|
4140
3918
|
|
@@ -4235,6 +4013,7 @@
|
|
4235
4013
|
|
4236
4014
|
|
4237
4015
|
|
4016
|
+
|
4238
4017
|
<xsl:variable name="title-key">
|
4239
4018
|
|
4240
4019
|
<xsl:call-template name="getLocalizedString">
|
@@ -4450,6 +4229,7 @@
|
|
4450
4229
|
|
4451
4230
|
<fo:table-row>
|
4452
4231
|
|
4232
|
+
|
4453
4233
|
<fo:table-cell>
|
4454
4234
|
|
4455
4235
|
<fo:block margin-top="6pt">
|
@@ -4467,6 +4247,7 @@
|
|
4467
4247
|
|
4468
4248
|
|
4469
4249
|
|
4250
|
+
|
4470
4251
|
<xsl:apply-templates/>
|
4471
4252
|
<!-- <xsl:if test="$namespace = 'gb'">
|
4472
4253
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -4523,6 +4304,8 @@
|
|
4523
4304
|
|
4524
4305
|
<xsl:apply-templates/>
|
4525
4306
|
</fo:inline>
|
4307
|
+
</xsl:template><xsl:template match="*[local-name()='padding']">
|
4308
|
+
<fo:inline padding-right="{@value}"> </fo:inline>
|
4526
4309
|
</xsl:template><xsl:template match="*[local-name()='sup']">
|
4527
4310
|
<fo:inline font-size="80%" vertical-align="super">
|
4528
4311
|
<xsl:apply-templates/>
|
@@ -4548,6 +4331,7 @@
|
|
4548
4331
|
|
4549
4332
|
|
4550
4333
|
|
4334
|
+
|
4551
4335
|
|
4552
4336
|
</xsl:variable>
|
4553
4337
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -4929,11 +4713,15 @@
|
|
4929
4713
|
</xsl:apply-templates>
|
4930
4714
|
</xsl:template><xsl:template name="getLang">
|
4931
4715
|
<xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
4716
|
+
<xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
|
4932
4717
|
<xsl:variable name="language">
|
4933
4718
|
<xsl:choose>
|
4934
4719
|
<xsl:when test="$language_current != ''">
|
4935
4720
|
<xsl:value-of select="$language_current"/>
|
4936
4721
|
</xsl:when>
|
4722
|
+
<xsl:when test="$language_current_2 != ''">
|
4723
|
+
<xsl:value-of select="$language_current_2"/>
|
4724
|
+
</xsl:when>
|
4937
4725
|
<xsl:otherwise>
|
4938
4726
|
<xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
|
4939
4727
|
</xsl:otherwise>
|
@@ -5014,9 +4802,27 @@
|
|
5014
4802
|
<xsl:copy>
|
5015
4803
|
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
5016
4804
|
</xsl:copy>
|
5017
|
-
<
|
4805
|
+
<xsl:choose>
|
4806
|
+
<!-- if in msub, then don't add space -->
|
4807
|
+
<xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
|
4808
|
+
<!-- if next char in digit, don't add space -->
|
4809
|
+
<xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
|
4810
|
+
<xsl:otherwise>
|
4811
|
+
<mathml:mspace width="0.5ex"/>
|
4812
|
+
</xsl:otherwise>
|
4813
|
+
</xsl:choose>
|
5018
4814
|
</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">
|
5019
4815
|
<xsl:variable name="target">
|
4816
|
+
<xsl:choose>
|
4817
|
+
<xsl:when test="@updatetype = 'true'">
|
4818
|
+
<xsl:value-of select="concat(normalize-space(@target), '.pdf')"/>
|
4819
|
+
</xsl:when>
|
4820
|
+
<xsl:otherwise>
|
4821
|
+
<xsl:value-of select="normalize-space(@target)"/>
|
4822
|
+
</xsl:otherwise>
|
4823
|
+
</xsl:choose>
|
4824
|
+
</xsl:variable>
|
4825
|
+
<xsl:variable name="target_text">
|
5020
4826
|
<xsl:choose>
|
5021
4827
|
<xsl:when test="starts-with(normalize-space(@target), 'mailto:')">
|
5022
4828
|
<xsl:value-of select="normalize-space(substring-after(@target, 'mailto:'))"/>
|
@@ -5028,20 +4834,22 @@
|
|
5028
4834
|
</xsl:variable>
|
5029
4835
|
<fo:inline xsl:use-attribute-sets="link-style">
|
5030
4836
|
|
4837
|
+
|
4838
|
+
|
5031
4839
|
<xsl:choose>
|
5032
|
-
<xsl:when test="$
|
4840
|
+
<xsl:when test="$target_text = ''">
|
5033
4841
|
<xsl:apply-templates/>
|
5034
4842
|
</xsl:when>
|
5035
4843
|
<xsl:otherwise>
|
5036
|
-
<fo:basic-link external-destination="{
|
4844
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
5037
4845
|
<xsl:choose>
|
5038
4846
|
<xsl:when test="normalize-space(.) = ''">
|
5039
|
-
<!-- <xsl:value-of select="$target"/> -->
|
5040
4847
|
<xsl:call-template name="add-zero-spaces-link-java">
|
5041
|
-
<xsl:with-param name="text" select="$
|
4848
|
+
<xsl:with-param name="text" select="$target_text"/>
|
5042
4849
|
</xsl:call-template>
|
5043
4850
|
</xsl:when>
|
5044
4851
|
<xsl:otherwise>
|
4852
|
+
<!-- output text from <link>text</link> -->
|
5045
4853
|
<xsl:apply-templates/>
|
5046
4854
|
</xsl:otherwise>
|
5047
4855
|
</xsl:choose>
|
@@ -5153,6 +4961,7 @@
|
|
5153
4961
|
|
5154
4962
|
|
5155
4963
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
4964
|
+
|
5156
4965
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
5157
4966
|
</fo:inline>
|
5158
4967
|
<xsl:apply-templates/>
|
@@ -5178,7 +4987,9 @@
|
|
5178
4987
|
</xsl:choose>
|
5179
4988
|
</xsl:template><xsl:template match="*[local-name() = 'termnote']">
|
5180
4989
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
4990
|
+
|
5181
4991
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
4992
|
+
|
5182
4993
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
5183
4994
|
</fo:inline>
|
5184
4995
|
<xsl:apply-templates/>
|
@@ -5252,13 +5063,17 @@
|
|
5252
5063
|
</xsl:call-template>
|
5253
5064
|
|
5254
5065
|
<fo:block>
|
5066
|
+
|
5255
5067
|
<xsl:apply-templates/>
|
5256
5068
|
</fo:block>
|
5257
5069
|
<xsl:call-template name="fn_display_figure"/>
|
5258
5070
|
<xsl:for-each select="*[local-name() = 'note']">
|
5259
5071
|
<xsl:call-template name="note"/>
|
5260
5072
|
</xsl:for-each>
|
5261
|
-
|
5073
|
+
|
5074
|
+
|
5075
|
+
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
5076
|
+
|
5262
5077
|
</fo:block-container>
|
5263
5078
|
</xsl:template><xsl:template match="*[local-name() = 'figure'][@class = 'pseudocode']">
|
5264
5079
|
<fo:block id="{@id}">
|
@@ -5371,21 +5186,249 @@
|
|
5371
5186
|
<xsl:param name="height"/>
|
5372
5187
|
<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; "/>
|
5373
5188
|
<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; "/>
|
5189
|
+
</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">
|
5190
|
+
<xsl:param name="name"/>
|
5191
|
+
|
5192
|
+
<xsl:variable name="svg_content">
|
5193
|
+
<xsl:apply-templates select="." mode="svg_update"/>
|
5194
|
+
</xsl:variable>
|
5195
|
+
|
5196
|
+
<xsl:variable name="alt-text">
|
5197
|
+
<xsl:choose>
|
5198
|
+
<xsl:when test="normalize-space(../*[local-name() = 'name']) != ''">
|
5199
|
+
<xsl:value-of select="../*[local-name() = 'name']"/>
|
5200
|
+
</xsl:when>
|
5201
|
+
<xsl:when test="normalize-space($name) != ''">
|
5202
|
+
<xsl:value-of select="$name"/>
|
5203
|
+
</xsl:when>
|
5204
|
+
<xsl:otherwise>Figure</xsl:otherwise>
|
5205
|
+
</xsl:choose>
|
5206
|
+
</xsl:variable>
|
5207
|
+
|
5208
|
+
<xsl:choose>
|
5209
|
+
<xsl:when test=".//*[local-name() = 'a'][*[local-name() = 'rect'] or *[local-name() = 'polygon'] or *[local-name() = 'circle'] or *[local-name() = 'ellipse']]">
|
5210
|
+
<fo:block>
|
5211
|
+
<xsl:variable name="width" select="@width"/>
|
5212
|
+
<xsl:variable name="height" select="@height"/>
|
5213
|
+
|
5214
|
+
<xsl:variable name="scale_x">
|
5215
|
+
<xsl:choose>
|
5216
|
+
<xsl:when test="$width > $width_effective_px">
|
5217
|
+
<xsl:value-of select="$width_effective_px div $width"/>
|
5218
|
+
</xsl:when>
|
5219
|
+
<xsl:otherwise>1</xsl:otherwise>
|
5220
|
+
</xsl:choose>
|
5221
|
+
</xsl:variable>
|
5222
|
+
|
5223
|
+
<xsl:variable name="scale_y">
|
5224
|
+
<xsl:choose>
|
5225
|
+
<xsl:when test="$height * $scale_x > $height_effective_px">
|
5226
|
+
<xsl:value-of select="$height_effective_px div ($height * $scale_x)"/>
|
5227
|
+
</xsl:when>
|
5228
|
+
<xsl:otherwise>1</xsl:otherwise>
|
5229
|
+
</xsl:choose>
|
5230
|
+
</xsl:variable>
|
5231
|
+
|
5232
|
+
<xsl:variable name="scale">
|
5233
|
+
<xsl:choose>
|
5234
|
+
<xsl:when test="$scale_y != 1">
|
5235
|
+
<xsl:value-of select="$scale_x * $scale_y"/>
|
5236
|
+
</xsl:when>
|
5237
|
+
<xsl:otherwise>
|
5238
|
+
<xsl:value-of select="$scale_x"/>
|
5239
|
+
</xsl:otherwise>
|
5240
|
+
</xsl:choose>
|
5241
|
+
</xsl:variable>
|
5242
|
+
|
5243
|
+
<xsl:variable name="width_scale" select="round($width * $scale)"/>
|
5244
|
+
<xsl:variable name="height_scale" select="round($height * $scale)"/>
|
5245
|
+
|
5246
|
+
<fo:table table-layout="fixed" width="100%">
|
5247
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
5248
|
+
<fo:table-column column-width="{$width_scale}px"/>
|
5249
|
+
<fo:table-column column-width="proportional-column-width(1)"/>
|
5250
|
+
<fo:table-body>
|
5251
|
+
<fo:table-row>
|
5252
|
+
<fo:table-cell column-number="2">
|
5253
|
+
<fo:block>
|
5254
|
+
<fo:block-container width="{$width_scale}px" height="{$height_scale}px">
|
5255
|
+
<xsl:if test="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
5256
|
+
<fo:block line-height="0" font-size="0">
|
5257
|
+
<xsl:for-each select="../*[local-name() = 'name']/*[local-name() = 'bookmark']">
|
5258
|
+
<xsl:call-template name="bookmark"/>
|
5259
|
+
</xsl:for-each>
|
5260
|
+
</fo:block>
|
5261
|
+
</xsl:if>
|
5262
|
+
<fo:block text-depth="0" line-height="0" font-size="0">
|
5263
|
+
|
5264
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
5265
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
5266
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
5267
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
5268
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
5269
|
+
|
5270
|
+
<xsl:apply-templates select="xalan:nodeset($svg_content)" mode="svg_remove_a"/>
|
5271
|
+
</fo:instream-foreign-object>
|
5272
|
+
</fo:block>
|
5273
|
+
|
5274
|
+
<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">
|
5275
|
+
<xsl:with-param name="scale" select="$scale"/>
|
5276
|
+
</xsl:apply-templates>
|
5277
|
+
</fo:block-container>
|
5278
|
+
</fo:block>
|
5279
|
+
</fo:table-cell>
|
5280
|
+
</fo:table-row>
|
5281
|
+
</fo:table-body>
|
5282
|
+
</fo:table>
|
5283
|
+
</fo:block>
|
5284
|
+
|
5285
|
+
</xsl:when>
|
5286
|
+
<xsl:otherwise>
|
5287
|
+
<fo:block xsl:use-attribute-sets="image-style">
|
5288
|
+
<fo:instream-foreign-object fox:alt-text="{$alt-text}">
|
5289
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
5290
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
5291
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
5292
|
+
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
5293
|
+
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
5294
|
+
<!-- effective height / width = 1.48, 1.4 - with title -->
|
5295
|
+
<xsl:if test="@height > (@width * 1.4)"> <!-- for images with big height -->
|
5296
|
+
<xsl:variable name="width" select="((@width * 1.4) div @height) * 100"/>
|
5297
|
+
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
5298
|
+
</xsl:if>
|
5299
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
5300
|
+
<xsl:copy-of select="$svg_content"/>
|
5301
|
+
</fo:instream-foreign-object>
|
5302
|
+
</fo:block>
|
5303
|
+
</xsl:otherwise>
|
5304
|
+
</xsl:choose>
|
5305
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_update">
|
5306
|
+
<xsl:copy>
|
5307
|
+
<xsl:apply-templates select="@*|node()" mode="svg_update"/>
|
5308
|
+
</xsl:copy>
|
5309
|
+
</xsl:template><xsl:template match="*[local-name() = 'image']/@href" mode="svg_update">
|
5310
|
+
<xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
|
5311
|
+
<xsl:value-of select="."/>
|
5312
|
+
</xsl:attribute>
|
5313
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
|
5314
|
+
<xsl:variable name="svg_content" select="document(@src)"/>
|
5315
|
+
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
5316
|
+
<xsl:for-each select="xalan:nodeset($svg_content)/node()">
|
5317
|
+
<xsl:call-template name="image_svg">
|
5318
|
+
<xsl:with-param name="name" select="$name"/>
|
5319
|
+
</xsl:call-template>
|
5320
|
+
</xsl:for-each>
|
5321
|
+
</xsl:template><xsl:template match="@*|node()" mode="svg_remove_a">
|
5322
|
+
<xsl:copy>
|
5323
|
+
<xsl:apply-templates select="@*|node()" mode="svg_remove_a"/>
|
5324
|
+
</xsl:copy>
|
5325
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_remove_a">
|
5326
|
+
<xsl:apply-templates mode="svg_remove_a"/>
|
5327
|
+
</xsl:template><xsl:template match="*[local-name() = 'a']" mode="svg_imagemap_links">
|
5328
|
+
<xsl:param name="scale"/>
|
5329
|
+
<xsl:variable name="dest">
|
5330
|
+
<xsl:choose>
|
5331
|
+
<xsl:when test="starts-with(@href, '#')">
|
5332
|
+
<xsl:value-of select="substring-after(@href, '#')"/>
|
5333
|
+
</xsl:when>
|
5334
|
+
<xsl:otherwise>
|
5335
|
+
<xsl:value-of select="@href"/>
|
5336
|
+
</xsl:otherwise>
|
5337
|
+
</xsl:choose>
|
5338
|
+
</xsl:variable>
|
5339
|
+
<xsl:for-each select="./*[local-name() = 'rect']">
|
5340
|
+
<xsl:call-template name="insertSVGMapLink">
|
5341
|
+
<xsl:with-param name="left" select="floor(@x * $scale)"/>
|
5342
|
+
<xsl:with-param name="top" select="floor(@y * $scale)"/>
|
5343
|
+
<xsl:with-param name="width" select="floor(@width * $scale)"/>
|
5344
|
+
<xsl:with-param name="height" select="floor(@height * $scale)"/>
|
5345
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5346
|
+
</xsl:call-template>
|
5347
|
+
</xsl:for-each>
|
5348
|
+
|
5349
|
+
<xsl:for-each select="./*[local-name() = 'polygon']">
|
5350
|
+
<xsl:variable name="points">
|
5351
|
+
<xsl:call-template name="split">
|
5352
|
+
<xsl:with-param name="pText" select="@points"/>
|
5353
|
+
</xsl:call-template>
|
5354
|
+
</xsl:variable>
|
5355
|
+
<xsl:variable name="x_coords">
|
5356
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 1]">
|
5357
|
+
<xsl:sort select="." data-type="number"/>
|
5358
|
+
<x><xsl:value-of select="."/></x>
|
5359
|
+
</xsl:for-each>
|
5360
|
+
</xsl:variable>
|
5361
|
+
<xsl:variable name="y_coords">
|
5362
|
+
<xsl:for-each select="xalan:nodeset($points)//item[position() mod 2 = 0]">
|
5363
|
+
<xsl:sort select="." data-type="number"/>
|
5364
|
+
<y><xsl:value-of select="."/></y>
|
5365
|
+
</xsl:for-each>
|
5366
|
+
</xsl:variable>
|
5367
|
+
<xsl:variable name="x" select="xalan:nodeset($x_coords)//x[1]"/>
|
5368
|
+
<xsl:variable name="y" select="xalan:nodeset($y_coords)//y[1]"/>
|
5369
|
+
<xsl:variable name="width" select="xalan:nodeset($x_coords)//x[last()] - $x"/>
|
5370
|
+
<xsl:variable name="height" select="xalan:nodeset($y_coords)//y[last()] - $y"/>
|
5371
|
+
<xsl:call-template name="insertSVGMapLink">
|
5372
|
+
<xsl:with-param name="left" select="floor($x * $scale)"/>
|
5373
|
+
<xsl:with-param name="top" select="floor($y * $scale)"/>
|
5374
|
+
<xsl:with-param name="width" select="floor($width * $scale)"/>
|
5375
|
+
<xsl:with-param name="height" select="floor($height * $scale)"/>
|
5376
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5377
|
+
</xsl:call-template>
|
5378
|
+
</xsl:for-each>
|
5379
|
+
|
5380
|
+
<xsl:for-each select="./*[local-name() = 'circle']">
|
5381
|
+
<xsl:call-template name="insertSVGMapLink">
|
5382
|
+
<xsl:with-param name="left" select="floor((@cx - @r) * $scale)"/>
|
5383
|
+
<xsl:with-param name="top" select="floor((@cy - @r) * $scale)"/>
|
5384
|
+
<xsl:with-param name="width" select="floor(@r * 2 * $scale)"/>
|
5385
|
+
<xsl:with-param name="height" select="floor(@r * 2 * $scale)"/>
|
5386
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5387
|
+
</xsl:call-template>
|
5388
|
+
</xsl:for-each>
|
5389
|
+
<xsl:for-each select="./*[local-name() = 'ellipse']">
|
5390
|
+
<xsl:call-template name="insertSVGMapLink">
|
5391
|
+
<xsl:with-param name="left" select="floor((@cx - @rx) * $scale)"/>
|
5392
|
+
<xsl:with-param name="top" select="floor((@cy - @ry) * $scale)"/>
|
5393
|
+
<xsl:with-param name="width" select="floor(@rx * 2 * $scale)"/>
|
5394
|
+
<xsl:with-param name="height" select="floor(@ry * 2 * $scale)"/>
|
5395
|
+
<xsl:with-param name="dest" select="$dest"/>
|
5396
|
+
</xsl:call-template>
|
5397
|
+
</xsl:for-each>
|
5398
|
+
</xsl:template><xsl:template name="insertSVGMapLink">
|
5399
|
+
<xsl:param name="left"/>
|
5400
|
+
<xsl:param name="top"/>
|
5401
|
+
<xsl:param name="width"/>
|
5402
|
+
<xsl:param name="height"/>
|
5403
|
+
<xsl:param name="dest"/>
|
5404
|
+
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
5405
|
+
<fo:block font-size="1pt">
|
5406
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
5407
|
+
<fo:inline-container inline-progression-dimension="100%">
|
5408
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
5409
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
5410
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
5411
|
+
</xsl:if> -->
|
5412
|
+
<fo:block> </fo:block></fo:block-container>
|
5413
|
+
</fo:inline-container>
|
5414
|
+
</fo:basic-link>
|
5415
|
+
</fo:block>
|
5416
|
+
</fo:block-container>
|
5374
5417
|
</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">
|
5375
5418
|
<xsl:apply-templates mode="contents"/>
|
5376
5419
|
<xsl:text> </xsl:text>
|
5377
5420
|
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="bookmarks">
|
5378
5421
|
<xsl:apply-templates mode="bookmarks"/>
|
5379
5422
|
<xsl:text> </xsl:text>
|
5380
|
-
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
|
5423
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
|
5381
5424
|
<xsl:value-of select="."/>
|
5382
|
-
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
|
5425
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
|
5383
5426
|
<xsl:value-of select="."/>
|
5384
5427
|
</xsl:template><xsl:template match="node()" mode="contents">
|
5385
5428
|
<xsl:apply-templates mode="contents"/>
|
5386
5429
|
</xsl:template><xsl:template match="node()" mode="bookmarks">
|
5387
5430
|
<xsl:apply-templates mode="bookmarks"/>
|
5388
|
-
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
|
5431
|
+
</xsl:template><xsl:template match="*[local-name() = 'title' or local-name() = 'name']//*[local-name() = 'stem']" mode="contents">
|
5389
5432
|
<xsl:apply-templates select="."/>
|
5390
5433
|
</xsl:template><xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
5391
5434
|
<xsl:apply-templates mode="bookmarks"/>
|
@@ -5399,28 +5442,39 @@
|
|
5399
5442
|
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
5400
5443
|
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
5401
5444
|
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
5445
|
+
<xsl:if test="@bundle = 'true'">
|
5446
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
|
5447
|
+
</xsl:if>
|
5402
5448
|
<fo:bookmark-title>
|
5403
|
-
<xsl:variable name="bookmark-title_">
|
5404
|
-
<xsl:call-template name="getLangVersion">
|
5405
|
-
<xsl:with-param name="lang" select="@lang"/>
|
5406
|
-
<xsl:with-param name="doctype" select="@doctype"/>
|
5407
|
-
<xsl:with-param name="title" select="@title-part"/>
|
5408
|
-
</xsl:call-template>
|
5409
|
-
</xsl:variable>
|
5410
5449
|
<xsl:choose>
|
5411
|
-
<xsl:when test="normalize-space(
|
5412
|
-
<xsl:
|
5413
|
-
|
5414
|
-
|
5450
|
+
<xsl:when test="not(normalize-space(@bundle) = 'true')"> <!-- 'bundle' means several different documents (not language versions) in one xml -->
|
5451
|
+
<xsl:variable name="bookmark-title_">
|
5452
|
+
<xsl:call-template name="getLangVersion">
|
5453
|
+
<xsl:with-param name="lang" select="@lang"/>
|
5454
|
+
<xsl:with-param name="doctype" select="@doctype"/>
|
5455
|
+
<xsl:with-param name="title" select="@title-part"/>
|
5456
|
+
</xsl:call-template>
|
5457
|
+
</xsl:variable>
|
5415
5458
|
<xsl:choose>
|
5416
|
-
<xsl:when test="
|
5417
|
-
|
5418
|
-
|
5419
|
-
<xsl:otherwise
|
5459
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
5460
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
5461
|
+
</xsl:when>
|
5462
|
+
<xsl:otherwise>
|
5463
|
+
<xsl:choose>
|
5464
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
5465
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
5466
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
5467
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
5468
|
+
</xsl:choose>
|
5469
|
+
</xsl:otherwise>
|
5420
5470
|
</xsl:choose>
|
5471
|
+
</xsl:when>
|
5472
|
+
<xsl:otherwise>
|
5473
|
+
<xsl:value-of select="@title-part"/>
|
5421
5474
|
</xsl:otherwise>
|
5422
5475
|
</xsl:choose>
|
5423
5476
|
</fo:bookmark-title>
|
5477
|
+
|
5424
5478
|
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
5425
5479
|
|
5426
5480
|
<xsl:call-template name="insertFigureBookmarks">
|
@@ -5519,20 +5573,28 @@
|
|
5519
5573
|
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
5520
5574
|
</xsl:choose>
|
5521
5575
|
</xsl:template><xsl:template match="item" mode="bookmark">
|
5522
|
-
<
|
5523
|
-
|
5524
|
-
|
5525
|
-
|
5526
|
-
<xsl:
|
5527
|
-
|
5528
|
-
|
5529
|
-
|
5530
|
-
|
5531
|
-
|
5576
|
+
<xsl:choose>
|
5577
|
+
<xsl:when test="@id != ''">
|
5578
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
5579
|
+
<fo:bookmark-title>
|
5580
|
+
<xsl:if test="@section != ''">
|
5581
|
+
<xsl:value-of select="@section"/>
|
5582
|
+
<xsl:text> </xsl:text>
|
5583
|
+
</xsl:if>
|
5584
|
+
<xsl:value-of select="normalize-space(title)"/>
|
5585
|
+
</fo:bookmark-title>
|
5586
|
+
<xsl:apply-templates mode="bookmark"/>
|
5587
|
+
</fo:bookmark>
|
5588
|
+
</xsl:when>
|
5589
|
+
<xsl:otherwise>
|
5590
|
+
<xsl:apply-templates mode="bookmark"/>
|
5591
|
+
</xsl:otherwise>
|
5592
|
+
</xsl:choose>
|
5532
5593
|
</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">
|
5533
5594
|
<xsl:if test="normalize-space() != ''">
|
5534
5595
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
5535
5596
|
|
5597
|
+
|
5536
5598
|
<xsl:apply-templates/>
|
5537
5599
|
</fo:block>
|
5538
5600
|
</xsl:if>
|
@@ -5584,6 +5646,8 @@
|
|
5584
5646
|
</fo:list-item-body>
|
5585
5647
|
</fo:list-item>
|
5586
5648
|
</fo:list-block>
|
5649
|
+
</xsl:template><xsl:template name="extractSection">
|
5650
|
+
<xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
5587
5651
|
</xsl:template><xsl:template name="extractTitle">
|
5588
5652
|
<xsl:choose>
|
5589
5653
|
<xsl:when test="*[local-name() = 'tab']">
|
@@ -5610,6 +5674,8 @@
|
|
5610
5674
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
5611
5675
|
|
5612
5676
|
<fo:block-container margin-left="0mm">
|
5677
|
+
<xsl:copy-of select="@id"/>
|
5678
|
+
|
5613
5679
|
<xsl:if test="parent::*[local-name() = 'note']">
|
5614
5680
|
<xsl:attribute name="margin-left">
|
5615
5681
|
<xsl:choose>
|
@@ -5620,7 +5686,9 @@
|
|
5620
5686
|
|
5621
5687
|
</xsl:if>
|
5622
5688
|
<fo:block-container margin-left="0mm">
|
5623
|
-
|
5689
|
+
|
5690
|
+
|
5691
|
+
|
5624
5692
|
<fo:block xsl:use-attribute-sets="sourcecode-style">
|
5625
5693
|
<xsl:variable name="_font-size">
|
5626
5694
|
|
@@ -5631,6 +5699,7 @@
|
|
5631
5699
|
9
|
5632
5700
|
|
5633
5701
|
|
5702
|
+
|
5634
5703
|
|
5635
5704
|
|
5636
5705
|
|
@@ -5648,10 +5717,14 @@
|
|
5648
5717
|
</xsl:choose>
|
5649
5718
|
</xsl:attribute>
|
5650
5719
|
</xsl:if>
|
5651
|
-
|
5652
|
-
|
5720
|
+
|
5721
|
+
<xsl:apply-templates/>
|
5722
|
+
</fo:block>
|
5723
|
+
|
5724
|
+
|
5653
5725
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
5654
5726
|
|
5727
|
+
|
5655
5728
|
</fo:block-container>
|
5656
5729
|
</fo:block-container>
|
5657
5730
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
|
@@ -5886,6 +5959,7 @@
|
|
5886
5959
|
</xsl:template><xsl:template match="*[local-name() = 'example']">
|
5887
5960
|
<fo:block id="{@id}" xsl:use-attribute-sets="example-style">
|
5888
5961
|
|
5962
|
+
|
5889
5963
|
<xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
|
5890
5964
|
|
5891
5965
|
<xsl:variable name="element">
|
@@ -5958,7 +6032,7 @@
|
|
5958
6032
|
</fo:inline>
|
5959
6033
|
</xsl:otherwise>
|
5960
6034
|
</xsl:choose>
|
5961
|
-
</xsl:template><xsl:template match="*[local-name() = 'termsource']">
|
6035
|
+
</xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
|
5962
6036
|
<fo:block xsl:use-attribute-sets="termsource-style">
|
5963
6037
|
<!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
|
5964
6038
|
<xsl:variable name="termsource_text">
|
@@ -5967,13 +6041,15 @@
|
|
5967
6041
|
|
5968
6042
|
<xsl:choose>
|
5969
6043
|
<xsl:when test="starts-with(normalize-space($termsource_text), '[')">
|
5970
|
-
<xsl:apply-templates/>
|
6044
|
+
<!-- <xsl:apply-templates /> -->
|
6045
|
+
<xsl:copy-of select="$termsource_text"/>
|
5971
6046
|
</xsl:when>
|
5972
6047
|
<xsl:otherwise>
|
5973
6048
|
|
5974
6049
|
<xsl:text>[</xsl:text>
|
5975
6050
|
|
5976
|
-
<xsl:apply-templates/>
|
6051
|
+
<!-- <xsl:apply-templates /> -->
|
6052
|
+
<xsl:copy-of select="$termsource_text"/>
|
5977
6053
|
|
5978
6054
|
<xsl:text>]</xsl:text>
|
5979
6055
|
|
@@ -5984,20 +6060,27 @@
|
|
5984
6060
|
<xsl:if test="normalize-space() != ''">
|
5985
6061
|
<xsl:value-of select="."/>
|
5986
6062
|
</xsl:if>
|
5987
|
-
</xsl:template><xsl:
|
6063
|
+
</xsl:template><xsl:variable name="localized.source">
|
6064
|
+
<xsl:call-template name="getLocalizedString">
|
6065
|
+
<xsl:with-param name="key">source</xsl:with-param>
|
6066
|
+
</xsl:call-template>
|
6067
|
+
</xsl:variable><xsl:template match="*[local-name() = 'origin']">
|
5988
6068
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
6069
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
6070
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
6071
|
+
</xsl:if>
|
5989
6072
|
|
5990
6073
|
<fo:inline>
|
5991
6074
|
|
5992
6075
|
|
5993
6076
|
|
5994
|
-
|
5995
|
-
|
5996
|
-
</xsl:
|
6077
|
+
|
6078
|
+
<xsl:value-of select="$localized.source"/>
|
6079
|
+
<xsl:text>: </xsl:text>
|
6080
|
+
|
5997
6081
|
|
5998
6082
|
|
5999
6083
|
|
6000
|
-
<xsl:text>: </xsl:text>
|
6001
6084
|
</fo:inline>
|
6002
6085
|
|
6003
6086
|
<fo:inline xsl:use-attribute-sets="origin-style">
|
@@ -6070,6 +6153,7 @@
|
|
6070
6153
|
</xsl:if>
|
6071
6154
|
|
6072
6155
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
6156
|
+
|
6073
6157
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6074
6158
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
6075
6159
|
</xsl:if>
|
@@ -6103,6 +6187,7 @@
|
|
6103
6187
|
|
6104
6188
|
|
6105
6189
|
|
6190
|
+
|
6106
6191
|
<xsl:choose>
|
6107
6192
|
<xsl:when test="$depth = 2">3</xsl:when>
|
6108
6193
|
<xsl:otherwise>4</xsl:otherwise>
|
@@ -6205,7 +6290,6 @@
|
|
6205
6290
|
|
6206
6291
|
|
6207
6292
|
|
6208
|
-
|
6209
6293
|
<xsl:apply-templates/>
|
6210
6294
|
</fo:block>
|
6211
6295
|
|
@@ -6222,6 +6306,7 @@
|
|
6222
6306
|
<xsl:call-template name="setId"/>
|
6223
6307
|
|
6224
6308
|
|
6309
|
+
|
6225
6310
|
<xsl:apply-templates/>
|
6226
6311
|
</fo:block>
|
6227
6312
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -6248,7 +6333,7 @@
|
|
6248
6333
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
6249
6334
|
</xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
6250
6335
|
<xsl:choose>
|
6251
|
-
<xsl:when test="parent::*[local-name() = 'note']">
|
6336
|
+
<xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
|
6252
6337
|
<fo:block-container>
|
6253
6338
|
<xsl:attribute name="margin-left">
|
6254
6339
|
<xsl:choose>
|
@@ -6258,6 +6343,7 @@
|
|
6258
6343
|
</xsl:attribute>
|
6259
6344
|
|
6260
6345
|
|
6346
|
+
|
6261
6347
|
<fo:block-container margin-left="0mm">
|
6262
6348
|
<fo:block>
|
6263
6349
|
<xsl:apply-templates select="." mode="ul_ol"/>
|
@@ -6459,21 +6545,51 @@
|
|
6459
6545
|
|
6460
6546
|
|
6461
6547
|
|
6548
|
+
|
6549
|
+
|
6550
|
+
<!-- start ISO bibtem processing -->
|
6551
|
+
<xsl:variable name="docidentifier">
|
6552
|
+
<xsl:if test="*[local-name() = 'docidentifier']">
|
6553
|
+
<xsl:choose>
|
6554
|
+
<xsl:when test="*[local-name() = 'docidentifier']/@type = 'metanorma'"/>
|
6555
|
+
<xsl:otherwise><xsl:value-of select="*[local-name() = 'docidentifier']"/></xsl:otherwise>
|
6556
|
+
</xsl:choose>
|
6557
|
+
</xsl:if>
|
6558
|
+
</xsl:variable>
|
6559
|
+
<xsl:value-of select="$docidentifier"/>
|
6560
|
+
<xsl:apply-templates select="*[local-name() = 'note']"/>
|
6561
|
+
<xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
|
6562
|
+
<xsl:choose>
|
6563
|
+
<xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = $lang]">
|
6564
|
+
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = $lang]"/>
|
6565
|
+
</xsl:when>
|
6566
|
+
<xsl:when test="*[local-name() = 'title'][@type = 'main' and @language = 'en']">
|
6567
|
+
<xsl:apply-templates select="*[local-name() = 'title'][@type = 'main' and @language = 'en']"/>
|
6568
|
+
</xsl:when>
|
6569
|
+
<xsl:otherwise>
|
6570
|
+
<xsl:apply-templates select="*[local-name() = 'title']"/>
|
6571
|
+
</xsl:otherwise>
|
6572
|
+
</xsl:choose>
|
6573
|
+
<xsl:apply-templates select="*[local-name() = 'formattedref']"/>
|
6574
|
+
<!-- end ISO bibitem processing -->
|
6575
|
+
|
6576
|
+
|
6577
|
+
|
6462
6578
|
</xsl:template><xsl:template name="processBibitemDocId">
|
6463
6579
|
<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')]"/>
|
6464
6580
|
<xsl:choose>
|
6465
6581
|
<xsl:when test="normalize-space($_doc_ident) != ''">
|
6466
|
-
<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"/>
|
6582
|
+
<!-- <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"/>
|
6467
6583
|
<xsl:if test="$type != '' and not(contains($_doc_ident, $type))">
|
6468
6584
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
6469
|
-
</xsl:if>
|
6585
|
+
</xsl:if> -->
|
6470
6586
|
<xsl:value-of select="$_doc_ident"/>
|
6471
6587
|
</xsl:when>
|
6472
6588
|
<xsl:otherwise>
|
6473
|
-
<xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
6589
|
+
<!-- <xsl:variable name="type" select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]/@type"/>
|
6474
6590
|
<xsl:if test="$type != ''">
|
6475
6591
|
<xsl:value-of select="$type"/><xsl:text> </xsl:text>
|
6476
|
-
</xsl:if>
|
6592
|
+
</xsl:if> -->
|
6477
6593
|
<xsl:value-of select="*[local-name() = 'docidentifier'][not(@type = 'metanorma')]"/>
|
6478
6594
|
</xsl:otherwise>
|
6479
6595
|
</xsl:choose>
|
@@ -6515,6 +6631,70 @@
|
|
6515
6631
|
<xsl:value-of select="substring(.,1,1)"/>
|
6516
6632
|
</xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
|
6517
6633
|
<fo:inline><xsl:apply-templates/></fo:inline>
|
6634
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']">
|
6635
|
+
<fo:block>
|
6636
|
+
<xsl:apply-templates/>
|
6637
|
+
</fo:block>
|
6638
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'label']">
|
6639
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
6640
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'input'][@type = 'text' or @type = 'date' or @type = 'file' or @type = 'password']">
|
6641
|
+
<fo:inline>
|
6642
|
+
<xsl:call-template name="text_input"/>
|
6643
|
+
</fo:inline>
|
6644
|
+
</xsl:template><xsl:template name="text_input">
|
6645
|
+
<xsl:variable name="count">
|
6646
|
+
<xsl:choose>
|
6647
|
+
<xsl:when test="normalize-space(@maxlength) != ''"><xsl:value-of select="@maxlength"/></xsl:when>
|
6648
|
+
<xsl:when test="normalize-space(@size) != ''"><xsl:value-of select="@size"/></xsl:when>
|
6649
|
+
<xsl:otherwise>10</xsl:otherwise>
|
6650
|
+
</xsl:choose>
|
6651
|
+
</xsl:variable>
|
6652
|
+
<xsl:call-template name="repeat">
|
6653
|
+
<xsl:with-param name="char" select="'_'"/>
|
6654
|
+
<xsl:with-param name="count" select="$count"/>
|
6655
|
+
</xsl:call-template>
|
6656
|
+
<xsl:text> </xsl:text>
|
6657
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'input'][@type = 'button']">
|
6658
|
+
<xsl:variable name="caption">
|
6659
|
+
<xsl:choose>
|
6660
|
+
<xsl:when test="normalize-space(@value) != ''"><xsl:value-of select="@value"/></xsl:when>
|
6661
|
+
<xsl:otherwise>BUTTON</xsl:otherwise>
|
6662
|
+
</xsl:choose>
|
6663
|
+
</xsl:variable>
|
6664
|
+
<fo:inline>[<xsl:value-of select="$caption"/>]</fo:inline>
|
6665
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'input'][@type = 'checkbox']">
|
6666
|
+
<fo:inline padding-right="1mm">
|
6667
|
+
<fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%">
|
6668
|
+
<xsl:attribute name="height">3.5mm</xsl:attribute>
|
6669
|
+
<xsl:attribute name="content-width">100%</xsl:attribute>
|
6670
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
6671
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
6672
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80">
|
6673
|
+
<polyline points="0,0 80,0 80,80 0,80 0,0" stroke="black" stroke-width="5" fill="white"/>
|
6674
|
+
</svg>
|
6675
|
+
</fo:instream-foreign-object>
|
6676
|
+
</fo:inline>
|
6677
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'input'][@type = 'radio']">
|
6678
|
+
<fo:inline padding-right="1mm">
|
6679
|
+
<fo:instream-foreign-object fox:alt-text="Box" baseline-shift="-10%">
|
6680
|
+
<xsl:attribute name="height">3.5mm</xsl:attribute>
|
6681
|
+
<xsl:attribute name="content-width">100%</xsl:attribute>
|
6682
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
6683
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
6684
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80">
|
6685
|
+
<circle cx="40" cy="40" r="30" stroke="black" stroke-width="5" fill="white"/>
|
6686
|
+
<circle cx="40" cy="40" r="15" stroke="black" stroke-width="5" fill="white"/>
|
6687
|
+
</svg>
|
6688
|
+
</fo:instream-foreign-object>
|
6689
|
+
</fo:inline>
|
6690
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'select']">
|
6691
|
+
<fo:inline>
|
6692
|
+
<xsl:call-template name="text_input"/>
|
6693
|
+
</fo:inline>
|
6694
|
+
</xsl:template><xsl:template match="*[local-name() = 'form']//*[local-name() = 'textarea']">
|
6695
|
+
<fo:block-container border="1pt solid black" width="50%">
|
6696
|
+
<fo:block> </fo:block>
|
6697
|
+
</fo:block-container>
|
6518
6698
|
</xsl:template><xsl:template name="convertDate">
|
6519
6699
|
<xsl:param name="date"/>
|
6520
6700
|
<xsl:param name="format" select="'short'"/>
|
@@ -6722,6 +6902,9 @@
|
|
6722
6902
|
<xsl:when test="parent::*[local-name() = 'preface']">
|
6723
6903
|
<xsl:value-of select="$level_total - 1"/>
|
6724
6904
|
</xsl:when>
|
6905
|
+
<xsl:when test="ancestor::*[local-name() = 'preface'] and not(ancestor::*[local-name() = 'foreword']) and not(ancestor::*[local-name() = 'introduction'])"> <!-- for preface/clause -->
|
6906
|
+
<xsl:value-of select="$level_total - 1"/>
|
6907
|
+
</xsl:when>
|
6725
6908
|
<xsl:when test="ancestor::*[local-name() = 'preface']">
|
6726
6909
|
<xsl:value-of select="$level_total - 2"/>
|
6727
6910
|
</xsl:when>
|
@@ -6777,6 +6960,7 @@
|
|
6777
6960
|
<xsl:variable name="documentNS" select="namespace-uri(/*)"/>
|
6778
6961
|
<xsl:variable name="XSLNS">
|
6779
6962
|
|
6963
|
+
|
6780
6964
|
<xsl:value-of select="document('')//*/namespace::iso"/>
|
6781
6965
|
|
6782
6966
|
|
@@ -6846,17 +7030,29 @@
|
|
6846
7030
|
</xsl:call-template>
|
6847
7031
|
</xsl:if>
|
6848
7032
|
</xsl:template><xsl:template name="getLocalizedString">
|
6849
|
-
<xsl:param name="key"/>
|
7033
|
+
<xsl:param name="key"/>
|
6850
7034
|
|
6851
7035
|
<xsl:variable name="curr_lang">
|
6852
7036
|
<xsl:call-template name="getLang"/>
|
6853
7037
|
</xsl:variable>
|
6854
7038
|
|
7039
|
+
<xsl:variable name="data_value" select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
|
7040
|
+
|
6855
7041
|
<xsl:choose>
|
7042
|
+
<xsl:when test="$data_value != ''">
|
7043
|
+
<xsl:value-of select="$data_value"/>
|
7044
|
+
</xsl:when>
|
6856
7045
|
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
6857
7046
|
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
6858
7047
|
</xsl:when>
|
6859
|
-
<xsl:otherwise
|
7048
|
+
<xsl:otherwise>
|
7049
|
+
<xsl:variable name="key_">
|
7050
|
+
<xsl:call-template name="capitalize">
|
7051
|
+
<xsl:with-param name="str" select="translate($key, '_', ' ')"/>
|
7052
|
+
</xsl:call-template>
|
7053
|
+
</xsl:variable>
|
7054
|
+
<xsl:value-of select="$key_"/>
|
7055
|
+
</xsl:otherwise>
|
6860
7056
|
</xsl:choose>
|
6861
7057
|
|
6862
7058
|
</xsl:template><xsl:template name="setTrackChangesStyles">
|
@@ -6899,4 +7095,14 @@
|
|
6899
7095
|
<xsl:value-of select="$align"/>
|
6900
7096
|
</xsl:when>
|
6901
7097
|
</xsl:choose>
|
7098
|
+
</xsl:template><xsl:template name="setTextAlignment">
|
7099
|
+
<xsl:param name="default">left</xsl:param>
|
7100
|
+
<xsl:attribute name="text-align">
|
7101
|
+
<xsl:choose>
|
7102
|
+
<xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
|
7103
|
+
<xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
|
7104
|
+
<xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
|
7105
|
+
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
7106
|
+
</xsl:choose>
|
7107
|
+
</xsl:attribute>
|
6902
7108
|
</xsl:template></xsl:stylesheet>
|