metanorma-bipm 2.1.1 → 2.1.2
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/lib/isodoc/bipm/base_convert.rb +3 -1
- data/lib/isodoc/bipm/bipm.brochure.xsl +226 -171
- data/lib/isodoc/bipm/bipm.guide.xsl +226 -171
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +226 -171
- data/lib/isodoc/bipm/bipm.rapport.xsl +226 -171
- data/lib/isodoc/bipm/html/htmlstyle.css +6 -0
- data/lib/isodoc/bipm/html/htmlstyle.scss +1 -0
- data/lib/isodoc/bipm/jcgm.standard.xsl +228 -157
- data/lib/metanorma/bipm/biblio.rng +32 -34
- data/lib/metanorma/bipm/bipm.rng +3 -0
- data/lib/metanorma/bipm/converter.rb +6 -3
- data/lib/metanorma/bipm/isodoc.rng +9 -0
- data/lib/metanorma/bipm/version.rb +1 -1
- metadata +3 -3
@@ -440,7 +440,7 @@
|
|
440
440
|
</xsl:for-each>
|
441
441
|
<xsl:for-each select="//*[contains(local-name(), '-standard')]">
|
442
442
|
<fo:block break-after="page"/>
|
443
|
-
<xsl:apply-templates select="./*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
|
443
|
+
<xsl:apply-templates select="./*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements' and local-name() != 'note' and local-name() != 'admonition']"/>
|
444
444
|
</xsl:for-each>
|
445
445
|
<xsl:for-each select="//*[contains(local-name(), '-standard')]">
|
446
446
|
<fo:block break-after="page"/>
|
@@ -1724,14 +1724,41 @@
|
|
1724
1724
|
</fo:block-container>
|
1725
1725
|
</xsl:template>
|
1726
1726
|
|
1727
|
-
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:
|
1727
|
+
<xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:param name="add_math_as_text">true</xsl:param><xsl:param name="table_if">false</xsl:param><xsl:param name="table_widths"/><xsl:variable name="table_widths_from_if" select="xalan:nodeset($table_widths)"/><xsl:variable name="table_widths_from_if_calculated_">
|
1728
|
+
<xsl:for-each select="$table_widths_from_if//table">
|
1729
|
+
<xsl:copy>
|
1730
|
+
<xsl:copy-of select="@*"/>
|
1731
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm"/>
|
1732
|
+
</xsl:copy>
|
1733
|
+
</xsl:for-each>
|
1734
|
+
</xsl:variable><xsl:variable name="table_widths_from_if_calculated" select="xalan:nodeset($table_widths_from_if_calculated_)"/><xsl:param name="table_if_debug">false</xsl:param><xsl:variable name="isGenerateTableIF_">
|
1728
1735
|
false
|
1729
1736
|
</xsl:variable><xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/><xsl:variable name="lang">
|
1730
1737
|
<xsl:call-template name="getLang"/>
|
1731
|
-
</xsl:variable><xsl:variable name="
|
1732
|
-
|
1738
|
+
</xsl:variable><xsl:variable name="papersize" select="java:toLowerCase(java:java.lang.String.new(normalize-space(//*[contains(local-name(), '-standard')]/*[local-name() = 'misc-container']/*[local-name() = 'presentation-metadata']/*[local-name() = 'papersize'])))"/><xsl:variable name="papersize_width_">
|
1739
|
+
<xsl:choose>
|
1740
|
+
<xsl:when test="$papersize = 'letter'">215.9</xsl:when>
|
1741
|
+
<xsl:when test="$papersize = 'a4'">210</xsl:when>
|
1742
|
+
</xsl:choose>
|
1743
|
+
</xsl:variable><xsl:variable name="papersize_width" select="normalize-space($papersize_width_)"/><xsl:variable name="papersize_height_">
|
1744
|
+
<xsl:choose>
|
1745
|
+
<xsl:when test="$papersize = 'letter'">279.4</xsl:when>
|
1746
|
+
<xsl:when test="$papersize = 'a4'">297</xsl:when>
|
1747
|
+
</xsl:choose>
|
1748
|
+
</xsl:variable><xsl:variable name="papersize_height" select="normalize-space($papersize_height_)"/><xsl:variable name="pageWidth_">
|
1749
|
+
<xsl:choose>
|
1750
|
+
<xsl:when test="$papersize_width != ''"><xsl:value-of select="$papersize_width"/></xsl:when>
|
1751
|
+
<xsl:otherwise>
|
1752
|
+
210
|
1753
|
+
</xsl:otherwise>
|
1754
|
+
</xsl:choose>
|
1733
1755
|
</xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
|
1734
|
-
|
1756
|
+
<xsl:choose>
|
1757
|
+
<xsl:when test="$papersize_height != ''"><xsl:value-of select="$papersize_height"/></xsl:when>
|
1758
|
+
<xsl:otherwise>
|
1759
|
+
297
|
1760
|
+
</xsl:otherwise>
|
1761
|
+
</xsl:choose>
|
1735
1762
|
</xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
|
1736
1763
|
25
|
1737
1764
|
</xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
|
@@ -2323,6 +2350,25 @@
|
|
2323
2350
|
|
2324
2351
|
|
2325
2352
|
|
2353
|
+
</xsl:attribute-set><xsl:attribute-set name="dl-name-style">
|
2354
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2355
|
+
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
2356
|
+
|
2357
|
+
|
2358
|
+
|
2359
|
+
|
2360
|
+
|
2361
|
+
|
2362
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2363
|
+
|
2364
|
+
|
2365
|
+
|
2366
|
+
|
2367
|
+
|
2368
|
+
|
2369
|
+
|
2370
|
+
|
2371
|
+
|
2326
2372
|
</xsl:attribute-set><xsl:attribute-set name="dd-cell-style">
|
2327
2373
|
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
2328
2374
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
@@ -2654,6 +2700,25 @@
|
|
2654
2700
|
|
2655
2701
|
|
2656
2702
|
|
2703
|
+
</xsl:attribute-set><xsl:attribute-set name="list-name-style">
|
2704
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2705
|
+
|
2706
|
+
|
2707
|
+
|
2708
|
+
|
2709
|
+
|
2710
|
+
|
2711
|
+
<xsl:attribute name="margin-top">8pt</xsl:attribute>
|
2712
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
2713
|
+
|
2714
|
+
|
2715
|
+
|
2716
|
+
|
2717
|
+
|
2718
|
+
|
2719
|
+
|
2720
|
+
|
2721
|
+
|
2657
2722
|
</xsl:attribute-set><xsl:attribute-set name="list-item-style">
|
2658
2723
|
|
2659
2724
|
|
@@ -3050,13 +3115,13 @@
|
|
3050
3115
|
|
3051
3116
|
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
3052
3117
|
<xsl:variable name="nodes_preface_">
|
3053
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3118
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3054
3119
|
<node id="{@id}"/>
|
3055
3120
|
</xsl:for-each>
|
3056
3121
|
</xsl:variable>
|
3057
3122
|
<xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
|
3058
3123
|
|
3059
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3124
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3060
3125
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3061
3126
|
|
3062
3127
|
<!-- process Section's title -->
|
@@ -3122,7 +3187,7 @@
|
|
3122
3187
|
</xsl:for-each>
|
3123
3188
|
</figures>
|
3124
3189
|
</xsl:template><xsl:template name="processPrefaceSectionsDefault">
|
3125
|
-
<xsl:for-each select="/*/*[local-name()='preface']/*">
|
3190
|
+
<xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
|
3126
3191
|
<xsl:sort select="@displayorder" data-type="number"/>
|
3127
3192
|
<xsl:apply-templates select="."/>
|
3128
3193
|
</xsl:for-each>
|
@@ -3729,8 +3794,9 @@
|
|
3729
3794
|
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
3730
3795
|
</xsl:if>
|
3731
3796
|
</xsl:template><xsl:template name="calculate-column-widths-autolayout-algorithm">
|
3732
|
-
<xsl:param name="
|
3733
|
-
|
3797
|
+
<xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
|
3798
|
+
|
3799
|
+
<!-- via intermediate format -->
|
3734
3800
|
|
3735
3801
|
<!-- The algorithm uses two passes through the table data and scales linearly with the size of the table -->
|
3736
3802
|
|
@@ -3741,9 +3807,8 @@
|
|
3741
3807
|
<!-- get current table id -->
|
3742
3808
|
<xsl:variable name="table_id" select="@id"/>
|
3743
3809
|
<!-- find table by id in the file 'table_widths' -->
|
3744
|
-
|
3745
|
-
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/>
|
3746
|
-
|
3810
|
+
<!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
|
3811
|
+
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
|
3747
3812
|
|
3748
3813
|
<!-- table='<xsl:copy-of select="$table"/>' -->
|
3749
3814
|
<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
|
@@ -3751,24 +3816,13 @@
|
|
3751
3816
|
<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
|
3752
3817
|
|
3753
3818
|
<xsl:variable name="table_with_cell_widths_">
|
3754
|
-
<xsl:
|
3755
|
-
<xsl:when test="$if = 'true' and normalize-space($table-if) != ''"> <!-- if we read column's width from IF and there is table in IF -->
|
3756
|
-
|
3757
|
-
<!-- Example: <column>10</column>
|
3758
|
-
<column>11</column>
|
3759
|
-
-->
|
3760
|
-
<xsl:apply-templates select="$table-if" mode="determine_cell_widths-if"/>
|
3761
|
-
</xsl:when>
|
3762
|
-
<xsl:otherwise>
|
3763
|
-
<xsl:apply-templates select="xalan:nodeset($table)" mode="determine_cell_widths"/>
|
3764
|
-
</xsl:otherwise>
|
3765
|
-
</xsl:choose>
|
3819
|
+
<xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
|
3766
3820
|
</xsl:variable>
|
3767
3821
|
<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
|
3768
3822
|
|
3769
|
-
<xsl:if test="$table_if_debug = 'true'">
|
3823
|
+
<!-- <xsl:if test="$table_if_debug = 'true'">
|
3770
3824
|
<xsl:copy-of select="$table_with_cell_widths"/>
|
3771
|
-
</xsl:if>
|
3825
|
+
</xsl:if> -->
|
3772
3826
|
|
3773
3827
|
|
3774
3828
|
<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
|
@@ -3814,8 +3868,12 @@
|
|
3814
3868
|
|
3815
3869
|
<xsl:variable name="page_width">
|
3816
3870
|
<xsl:choose>
|
3817
|
-
<xsl:when test="$
|
3818
|
-
|
3871
|
+
<xsl:when test="$parent_table_page-width != ''">
|
3872
|
+
<xsl:value-of select="$parent_table_page-width"/>
|
3873
|
+
</xsl:when>
|
3874
|
+
<xsl:otherwise>
|
3875
|
+
<xsl:value-of select="@page-width"/>
|
3876
|
+
</xsl:otherwise>
|
3819
3877
|
</xsl:choose>
|
3820
3878
|
</xsl:variable>
|
3821
3879
|
|
@@ -3823,9 +3881,6 @@
|
|
3823
3881
|
<table_width>
|
3824
3882
|
<xsl:copy-of select="$table_widths"/>
|
3825
3883
|
</table_width>
|
3826
|
-
<!-- <debug>$table_widths/@width_min=<xsl:value-of select="$table_widths/table/@width_min"/></debug>
|
3827
|
-
<debug>$table_widths/@width_max=<xsl:value-of select="$table_widths/table/@width_max"/></debug>
|
3828
|
-
-->
|
3829
3884
|
<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
|
3830
3885
|
</xsl:if>
|
3831
3886
|
|
@@ -3836,11 +3891,11 @@
|
|
3836
3891
|
<xsl:when test="$table_widths/table/@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
|
3837
3892
|
<!-- call old algorithm -->
|
3838
3893
|
<case1/>
|
3839
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
3894
|
+
<!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
3840
3895
|
<xsl:call-template name="calculate-column-widths-proportional">
|
3841
3896
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3842
3897
|
<xsl:with-param name="table" select="$table"/>
|
3843
|
-
</xsl:call-template>
|
3898
|
+
</xsl:call-template> -->
|
3844
3899
|
</xsl:when>
|
3845
3900
|
<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
|
3846
3901
|
<xsl:when test="$table_widths/table/@width_max <= $page_width">
|
@@ -3884,95 +3939,49 @@
|
|
3884
3939
|
<xsl:otherwise><unknown_case/></xsl:otherwise>
|
3885
3940
|
</xsl:choose>
|
3886
3941
|
|
3942
|
+
</xsl:template><xsl:template name="get-calculated-column-widths-autolayout-algorithm">
|
3887
3943
|
|
3888
|
-
|
3889
|
-
<xsl:
|
3890
|
-
|
3891
|
-
</xsl:copy>
|
3892
|
-
</xsl:template><xsl:template match="td | th" mode="determine_cell_widths">
|
3893
|
-
<xsl:copy>
|
3894
|
-
<xsl:copy-of select="@*"/>
|
3944
|
+
<!-- if nested 'dl' or 'table' -->
|
3945
|
+
<xsl:variable name="parent_table_id" select="normalize-space(ancestor::*[local-name() = 'table' or local-name() = 'dl'][1]/@id)"/>
|
3946
|
+
<parent_table_id><xsl:value-of select="$parent_table_id"/></parent_table_id>
|
3895
3947
|
|
3896
|
-
|
3897
|
-
<xsl:variable name="widths_max">
|
3898
|
-
<xsl:for-each select=".//*[local-name() = 'p']">
|
3899
|
-
<xsl:call-template name="add_width"/>
|
3900
|
-
</xsl:for-each>
|
3901
|
-
<xsl:if test="not(*[local-name() = 'p'])">
|
3902
|
-
<xsl:call-template name="add_width"/>
|
3903
|
-
</xsl:if>
|
3904
|
-
</xsl:variable>
|
3905
|
-
<xsl:variable name="width_max">
|
3906
|
-
<xsl:for-each select="xalan:nodeset($widths_max)//width">
|
3907
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
3908
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
3909
|
-
</xsl:for-each>
|
3910
|
-
</xsl:variable>
|
3911
|
-
<xsl:attribute name="width_max">
|
3912
|
-
<xsl:value-of select="$width_max"/>
|
3913
|
-
</xsl:attribute>
|
3948
|
+
<parent_element><xsl:value-of select="local-name(..)"/></parent_element>
|
3914
3949
|
|
3915
|
-
|
3916
|
-
|
3917
|
-
|
3918
|
-
<xsl:
|
3919
|
-
|
3920
|
-
|
3921
|
-
|
3922
|
-
|
3923
|
-
|
3924
|
-
</xsl:
|
3950
|
+
<xsl:variable name="parent_table_page-width_">
|
3951
|
+
<xsl:if test="$parent_table_id != ''">
|
3952
|
+
<!-- determine column number in the parent table -->
|
3953
|
+
<xsl:variable name="parent_table_column_number">
|
3954
|
+
<xsl:choose>
|
3955
|
+
<xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
|
3956
|
+
<xsl:otherwise> <!-- parent is table -->
|
3957
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
|
3958
|
+
</xsl:otherwise>
|
3959
|
+
</xsl:choose>
|
3925
3960
|
</xsl:variable>
|
3926
|
-
|
3927
|
-
|
3928
|
-
</xsl:call-template>
|
3929
|
-
</xsl:variable>
|
3930
|
-
|
3931
|
-
<xsl:variable name="max_word_length">
|
3932
|
-
<xsl:call-template name="max_length">
|
3933
|
-
<xsl:with-param name="words" select="xalan:nodeset($words)"/>
|
3934
|
-
</xsl:call-template>
|
3935
|
-
</xsl:variable>
|
3936
|
-
<xsl:variable name="width_min">
|
3937
|
-
<xsl:value-of select="$max_word_length"/>
|
3938
|
-
</xsl:variable>
|
3939
|
-
<xsl:attribute name="width_min">
|
3940
|
-
<xsl:value-of select="$width_min"/>
|
3941
|
-
</xsl:attribute>
|
3942
|
-
<!-- width_max="1" width_min="1.5"> --> <!-- see 'tokenize' template, multiply 1.5 for all latin capitals -->
|
3943
|
-
<xsl:if test="$width_min > $width_max">
|
3944
|
-
<xsl:attribute name="width_max">
|
3945
|
-
<xsl:value-of select="$width_min"/>
|
3946
|
-
</xsl:attribute>
|
3961
|
+
<!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
|
3962
|
+
<xsl:value-of select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
|
3947
3963
|
</xsl:if>
|
3948
|
-
<xsl:if test="$width_min = 0">
|
3949
|
-
<xsl:attribute name="width_min">1</xsl:attribute>
|
3950
|
-
</xsl:if>
|
3951
|
-
|
3952
|
-
<xsl:apply-templates select="node()" mode="determine_cell_widths"/>
|
3953
|
-
|
3954
|
-
</xsl:copy>
|
3955
|
-
</xsl:template><xsl:template name="add_width">
|
3956
|
-
<xsl:variable name="p_text"><xsl:apply-templates select="." mode="td_text"/></xsl:variable>
|
3957
|
-
<xsl:variable name="p_text_len_" select="string-length(normalize-space($p_text))"/>
|
3958
|
-
|
3959
|
-
<xsl:variable name="p_text_len">
|
3960
|
-
<xsl:choose>
|
3961
|
-
<xsl:when test="normalize-space(translate($p_text, concat($upper,'0123456789'), '')) = ''"> <!-- english word in CAPITAL letters -->
|
3962
|
-
<xsl:value-of select="$p_text_len_ * 1.5"/>
|
3963
|
-
</xsl:when>
|
3964
|
-
<xsl:otherwise><xsl:value-of select="$p_text_len_"/></xsl:otherwise>
|
3965
|
-
</xsl:choose>
|
3966
3964
|
</xsl:variable>
|
3965
|
+
<xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
|
3967
3966
|
|
3968
|
-
|
3969
|
-
|
3970
|
-
|
3971
|
-
|
3972
|
-
|
3973
|
-
|
3967
|
+
<!-- get current table id -->
|
3968
|
+
<xsl:variable name="table_id" select="@id"/>
|
3969
|
+
|
3970
|
+
<xsl:choose>
|
3971
|
+
<xsl:when test="$parent_table_id = '' or $parent_table_page-width = ''">
|
3972
|
+
<!-- find table by id in the file 'table_widths' and get all `<column>...</column> -->
|
3973
|
+
<xsl:copy-of select="$table_widths_from_if_calculated//table[@id = $table_id]/node()"/>
|
3974
|
+
</xsl:when>
|
3975
|
+
<xsl:otherwise>
|
3976
|
+
<!-- recalculate columns width based on parent table width -->
|
3977
|
+
<xsl:for-each select="$table_widths_from_if//table[@id = $table_id]">
|
3978
|
+
<xsl:call-template name="calculate-column-widths-autolayout-algorithm">
|
3979
|
+
<xsl:with-param name="parent_table_page-width" select="$parent_table_page-width"/> <!-- padding-left = 2mm = 50000-->
|
3980
|
+
</xsl:call-template>
|
3981
|
+
</xsl:for-each>
|
3982
|
+
</xsl:otherwise>
|
3983
|
+
</xsl:choose>
|
3974
3984
|
|
3975
|
-
<width><xsl:value-of select="$p_text_len + $math_addon_length"/></width>
|
3976
3985
|
</xsl:template><xsl:template match="@*|node()" mode="determine_cell_widths-if">
|
3977
3986
|
<xsl:copy>
|
3978
3987
|
<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
|
@@ -4845,11 +4854,19 @@
|
|
4845
4854
|
|
4846
4855
|
|
4847
4856
|
|
4857
|
+
|
4858
|
+
<xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
|
4859
|
+
<xsl:attribute name="margin-top">0</xsl:attribute>
|
4860
|
+
</xsl:if>
|
4861
|
+
|
4848
4862
|
<fo:block>
|
4849
4863
|
|
4850
4864
|
|
4851
4865
|
|
4852
4866
|
|
4867
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
4868
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
4869
|
+
</xsl:apply-templates>
|
4853
4870
|
|
4854
4871
|
<xsl:if test="$isGenerateTableIF = 'true'">
|
4855
4872
|
<!-- to determine start of table -->
|
@@ -4872,6 +4889,7 @@
|
|
4872
4889
|
</xsl:choose>
|
4873
4890
|
|
4874
4891
|
|
4892
|
+
|
4875
4893
|
<xsl:choose>
|
4876
4894
|
<xsl:when test="$isGenerateTableIF = 'true'">
|
4877
4895
|
<!-- generate IF for table widths -->
|
@@ -5000,6 +5018,18 @@
|
|
5000
5018
|
</xsl:if> <!-- END: a few components -->
|
5001
5019
|
</fo:block-container>
|
5002
5020
|
</fo:block-container>
|
5021
|
+
|
5022
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <!-- process nested 'dl' -->
|
5023
|
+
<xsl:apply-templates select="*[local-name() = 'dd']/*[local-name() = 'dl']"/>
|
5024
|
+
</xsl:if>
|
5025
|
+
|
5026
|
+
</xsl:template><xsl:template match="*[local-name() = 'dl']/*[local-name() = 'name']">
|
5027
|
+
<xsl:param name="process">false</xsl:param>
|
5028
|
+
<xsl:if test="$process = 'true'">
|
5029
|
+
<fo:block xsl:use-attribute-sets="dl-name-style">
|
5030
|
+
<xsl:apply-templates/>
|
5031
|
+
</fo:block>
|
5032
|
+
</xsl:if>
|
5003
5033
|
</xsl:template><xsl:template name="setColumnWidth_dl">
|
5004
5034
|
<xsl:param name="colwidths"/>
|
5005
5035
|
<xsl:param name="maxlength_dt"/>
|
@@ -5008,6 +5038,11 @@
|
|
5008
5038
|
<!-- <colwidths><xsl:copy-of select="$colwidths"/></colwidths> -->
|
5009
5039
|
|
5010
5040
|
<xsl:choose>
|
5041
|
+
<xsl:when test="xalan:nodeset($colwidths)/autolayout">
|
5042
|
+
<xsl:call-template name="insertTableColumnWidth">
|
5043
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
5044
|
+
</xsl:call-template>
|
5045
|
+
</xsl:when>
|
5011
5046
|
<xsl:when test="ancestor::*[local-name()='dl']"><!-- second level, i.e. inlined table -->
|
5012
5047
|
<fo:table-column column-width="50%"/>
|
5013
5048
|
<fo:table-column column-width="50%"/>
|
@@ -5260,12 +5295,24 @@
|
|
5260
5295
|
</td>
|
5261
5296
|
<td>
|
5262
5297
|
|
5263
|
-
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()"/>
|
5298
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
|
5299
|
+
|
5300
|
+
<!-- get paragraphs from nested 'dl' -->
|
5301
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
5302
|
+
|
5264
5303
|
|
5265
5304
|
</td>
|
5266
5305
|
</tr>
|
5267
5306
|
|
5268
|
-
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='
|
5307
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if"/><xsl:template match="*[local-name()='dl']" mode="dl_if_nested">
|
5308
|
+
<xsl:for-each select="*[local-name() = 'dt']">
|
5309
|
+
<p>
|
5310
|
+
<xsl:copy-of select="node()"/>
|
5311
|
+
<xsl:text> </xsl:text>
|
5312
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'p']/node()"/>
|
5313
|
+
</p>
|
5314
|
+
</xsl:for-each>
|
5315
|
+
</xsl:template><xsl:template match="*[local-name()='dd']" mode="dl_if_nested"/><xsl:template match="*[local-name()='em']">
|
5269
5316
|
<fo:inline font-style="italic">
|
5270
5317
|
<xsl:apply-templates/>
|
5271
5318
|
</fo:inline>
|
@@ -5296,7 +5343,7 @@
|
|
5296
5343
|
|
5297
5344
|
|
5298
5345
|
|
5299
|
-
|
5346
|
+
<!-- 10 -->
|
5300
5347
|
|
5301
5348
|
10
|
5302
5349
|
|
@@ -7325,7 +7372,7 @@
|
|
7325
7372
|
|
7326
7373
|
|
7327
7374
|
|
7328
|
-
|
7375
|
+
<!-- 9 -->
|
7329
7376
|
|
7330
7377
|
9
|
7331
7378
|
|
@@ -7409,7 +7456,7 @@
|
|
7409
7456
|
<xsl:for-each select="xalan:nodeset($text_step4)/node()">
|
7410
7457
|
<xsl:choose>
|
7411
7458
|
<xsl:when test="local-name() = 'interspers'"> <!-- word with length more than 30 will be interspersed with zero-width space -->
|
7412
|
-
<xsl:call-template name="interspers">
|
7459
|
+
<xsl:call-template name="interspers-java">
|
7413
7460
|
<xsl:with-param name="str" select="."/>
|
7414
7461
|
</xsl:call-template>
|
7415
7462
|
</xsl:when>
|
@@ -7459,6 +7506,10 @@
|
|
7459
7506
|
<xsl:with-param name="char" select="$char"/>
|
7460
7507
|
</xsl:call-template>
|
7461
7508
|
</xsl:if>
|
7509
|
+
</xsl:template><xsl:template name="interspers-java">
|
7510
|
+
<xsl:param name="str"/>
|
7511
|
+
<xsl:param name="char" select="$zero_width_space"/>
|
7512
|
+
<xsl:value-of select="java:replaceAll(java:java.lang.String.new($str),'([^ -.:=_—])',concat('$1', $char))"/> <!-- insert $char after each char excep space, - . : = _ etc. -->
|
7462
7513
|
</xsl:template><xsl:template match="*" mode="syntax_highlight">
|
7463
7514
|
<xsl:apply-templates mode="syntax_highlight"/>
|
7464
7515
|
</xsl:template><xsl:variable name="syntax_highlight_styles_">
|
@@ -8428,6 +8479,11 @@
|
|
8428
8479
|
</xsl:otherwise>
|
8429
8480
|
</xsl:choose>
|
8430
8481
|
</xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
|
8482
|
+
|
8483
|
+
<xsl:apply-templates select="*[local-name() = 'name']">
|
8484
|
+
<xsl:with-param name="process">true</xsl:with-param>
|
8485
|
+
</xsl:apply-templates>
|
8486
|
+
|
8431
8487
|
<fo:list-block xsl:use-attribute-sets="list-style">
|
8432
8488
|
|
8433
8489
|
|
@@ -8438,12 +8494,23 @@
|
|
8438
8494
|
|
8439
8495
|
|
8440
8496
|
|
8497
|
+
<xsl:if test="*[local-name() = 'name']">
|
8498
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
8499
|
+
</xsl:if>
|
8500
|
+
|
8441
8501
|
<xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
|
8442
8502
|
</fo:list-block>
|
8443
8503
|
<!-- <xsl:for-each select="./iho:note">
|
8444
8504
|
<xsl:call-template name="note"/>
|
8445
8505
|
</xsl:for-each> -->
|
8446
8506
|
<xsl:apply-templates select="./*[local-name() = 'note']"/>
|
8507
|
+
</xsl:template><xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
|
8508
|
+
<xsl:param name="process">false</xsl:param>
|
8509
|
+
<xsl:if test="$process = 'true'">
|
8510
|
+
<fo:block xsl:use-attribute-sets="list-name-style">
|
8511
|
+
<xsl:apply-templates/>
|
8512
|
+
</fo:block>
|
8513
|
+
</xsl:if>
|
8447
8514
|
</xsl:template><xsl:template match="*[local-name()='li']">
|
8448
8515
|
<fo:list-item xsl:use-attribute-sets="list-item-style">
|
8449
8516
|
<xsl:copy-of select="@id"/>
|
@@ -8747,32 +8814,14 @@
|
|
8747
8814
|
<xsl:variable name="docidentifier">
|
8748
8815
|
<xsl:choose>
|
8749
8816
|
<xsl:when test="*[local-name()='docidentifier']/@type = 'metanorma'"/>
|
8750
|
-
<xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal')]"/></xsl:otherwise>
|
8817
|
+
<xsl:otherwise><xsl:value-of select="*[local-name()='docidentifier'][not(@type = 'metanorma-ordinal') and not(@type = 'BIPM')]"/></xsl:otherwise>
|
8751
8818
|
</xsl:choose>
|
8752
8819
|
</xsl:variable>
|
8753
8820
|
<xsl:value-of select="$docidentifier"/>
|
8754
8821
|
|
8755
|
-
<xsl:
|
8756
|
-
|
8757
|
-
|
8758
|
-
<xsl:apply-templates select="*[local-name()='formattedref']"/>
|
8759
|
-
</xsl:when>
|
8760
|
-
<xsl:otherwise>
|
8761
|
-
<xsl:apply-templates select="*[local-name()='note']"/>
|
8762
|
-
<xsl:if test="normalize-space($docidentifier) != ''">, </xsl:if>
|
8763
|
-
<xsl:choose>
|
8764
|
-
<xsl:when test="*[local-name()='title'][@type = 'main' and @language = $lang]">
|
8765
|
-
<xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = $lang]"/>
|
8766
|
-
</xsl:when>
|
8767
|
-
<xsl:when test="*[local-name()='title'][@type = 'main' and @language = 'en']">
|
8768
|
-
<xsl:apply-templates select="*[local-name()='title'][@type = 'main' and @language = 'en']"/>
|
8769
|
-
</xsl:when>
|
8770
|
-
<xsl:otherwise>
|
8771
|
-
<xsl:apply-templates select="*[local-name()='title']"/>
|
8772
|
-
</xsl:otherwise>
|
8773
|
-
</xsl:choose>
|
8774
|
-
</xsl:otherwise>
|
8775
|
-
</xsl:choose>
|
8822
|
+
<xsl:if test="*[local-name()='formattedref'] and normalize-space($docidentifier) != ''">, </xsl:if>
|
8823
|
+
<xsl:apply-templates select="*[local-name()='formattedref']"/>
|
8824
|
+
|
8776
8825
|
<!-- end JCGM bibitem processing -->
|
8777
8826
|
|
8778
8827
|
</xsl:template><xsl:template name="processBibitemDocId">
|
@@ -9078,36 +9127,58 @@
|
|
9078
9127
|
|
9079
9128
|
|
9080
9129
|
|
9130
|
+
<xsl:if test="@type = 'editorial'">
|
9131
|
+
<xsl:attribute name="color">green</xsl:attribute>
|
9132
|
+
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
9133
|
+
|
9134
|
+
<!-- <xsl:variable name="note-style">
|
9135
|
+
<style xsl:use-attribute-sets="note-style"></style>
|
9136
|
+
</xsl:variable>
|
9137
|
+
<xsl:for-each select="xalan:nodeset($note-style)//style/@*">
|
9138
|
+
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
|
9139
|
+
</xsl:for-each> -->
|
9140
|
+
</xsl:if>
|
9141
|
+
|
9142
|
+
|
9143
|
+
|
9081
9144
|
|
9082
9145
|
|
9083
9146
|
|
9084
|
-
<xsl:call-template name="displayAdmonitionName"
|
9085
|
-
|
9147
|
+
<xsl:call-template name="displayAdmonitionName">
|
9148
|
+
<xsl:with-param name="sep"> — </xsl:with-param>
|
9149
|
+
</xsl:call-template>
|
9086
9150
|
|
9087
9151
|
|
9088
9152
|
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
9089
9153
|
</fo:block>
|
9090
9154
|
|
9091
9155
|
</xsl:template><xsl:template name="displayAdmonitionName">
|
9092
|
-
|
9156
|
+
<xsl:param name="sep"/> <!-- Example: ' - ' -->
|
9157
|
+
<!-- <xsl:choose>
|
9158
|
+
<xsl:when test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
|
9159
|
+
<xsl:choose>
|
9160
|
+
<xsl:when test="@type='important'"><xsl:apply-templates select="@type"/></xsl:when>
|
9161
|
+
<xsl:otherwise>
|
9162
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
9163
|
+
</xsl:otherwise>
|
9164
|
+
</xsl:choose>
|
9165
|
+
</xsl:when>
|
9166
|
+
<xsl:otherwise>
|
9093
9167
|
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
9094
9168
|
<xsl:if test="not(*[local-name() = 'name'])">
|
9095
9169
|
<xsl:apply-templates select="@type"/>
|
9096
9170
|
</xsl:if>
|
9097
|
-
|
9098
|
-
|
9099
|
-
<xsl:
|
9100
|
-
|
9101
|
-
<xsl:variable name="admonition_type_">
|
9102
|
-
<xsl:call-template name="getLocalizedString">
|
9103
|
-
<xsl:with-param name="key">admonition.<xsl:value-of select="."/></xsl:with-param>
|
9104
|
-
</xsl:call-template>
|
9171
|
+
</xsl:otherwise>
|
9172
|
+
</xsl:choose> -->
|
9173
|
+
<xsl:variable name="name">
|
9174
|
+
<xsl:apply-templates select="*[local-name() = 'name']"/>
|
9105
9175
|
</xsl:variable>
|
9106
|
-
<xsl:
|
9107
|
-
<xsl:
|
9108
|
-
|
9109
|
-
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(.))"/>
|
9176
|
+
<xsl:copy-of select="$name"/>
|
9177
|
+
<xsl:if test="normalize-space($name) != ''">
|
9178
|
+
<xsl:value-of select="$sep"/>
|
9110
9179
|
</xsl:if>
|
9180
|
+
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'name']">
|
9181
|
+
<xsl:apply-templates/>
|
9111
9182
|
</xsl:template><xsl:template match="*[local-name() = 'admonition']/*[local-name() = 'p']">
|
9112
9183
|
|
9113
9184
|
<fo:block xsl:use-attribute-sets="admonition-p-style">
|