metanorma-iso 2.1.6 → 2.1.9
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 -1
- data/.github/workflows/release.yml +24 -0
- data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -2
- data/lib/isodoc/iso/html/style-human.css +34 -2
- data/lib/isodoc/iso/html/style-human.scss +35 -1
- data/lib/isodoc/iso/html/style-iso.css +34 -2
- data/lib/isodoc/iso/html/style-iso.scss +36 -1
- data/lib/isodoc/iso/i18n-en.yaml +4 -0
- data/lib/isodoc/iso/i18n-fr.yaml +5 -0
- data/lib/isodoc/iso/i18n-ru.yaml +4 -0
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +5 -0
- data/lib/isodoc/iso/init.rb +4 -0
- data/lib/isodoc/iso/iso.amendment.xsl +195 -197
- data/lib/isodoc/iso/iso.international-standard.xsl +195 -197
- data/lib/isodoc/iso/presentation_xml_convert.rb +22 -6
- data/lib/isodoc/iso/xref.rb +35 -4
- data/lib/metanorma/iso/base.rb +4 -0
- data/lib/metanorma/iso/biblio.rng +8 -5
- data/lib/metanorma/iso/cleanup.rb +5 -1
- data/lib/metanorma/iso/front_id.rb +63 -38
- data/lib/metanorma/iso/section.rb +5 -0
- data/lib/metanorma/iso/validate.rb +3 -2
- data/lib/metanorma/iso/version.rb +1 -1
- data/lib/metanorma/requirements/modspec.rb +60 -0
- data/lib/metanorma/requirements/requirements.rb +16 -0
- data/lib/metanorma-iso.rb +2 -1
- data/metanorma-iso.gemspec +1 -1
- data/spec/assets/iso.adoc +10 -0
- data/spec/examples/rice_img/1000-1_ed2amd3fig1a.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3fig1b.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3fig2.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3fig3.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3fig4.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3fig5_f.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3figA.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3figA1.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3figA2.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3figTab1.png +0 -0
- data/spec/examples/rice_img/1000-1_ed2amd3figTab2.png +0 -0
- data/spec/examples/rice_img/1001_ed2amd3fig1.png +0 -0
- data/spec/examples/rice_img/ISO_1213_1.png +0 -0
- data/spec/examples/rice_img/SL1000-1_ed2amd3fig1.png +0 -0
- data/spec/isodoc/ref_spec.rb +129 -82
- data/spec/metanorma/amd_spec.rb +0 -10
- data/spec/metanorma/base_spec.rb +15 -12
- data/spec/metanorma/cleanup_spec.rb +136 -0
- data/spec/metanorma/macros_spec.rb +99 -0
- data/spec/metanorma/processor_spec.rb +86 -86
- data/spec/metanorma/section_spec.rb +2 -2
- data/spec/metanorma/validate_spec.rb +41 -40
- data/spec/requirements/requirements_spec.rb +1299 -0
- data/spec/requirements/xref_spec.rb +1205 -0
- data/spec/vcr_cassettes/docrels.yml +385 -0
- data/spec/vcr_cassettes/withdrawn_iso.yml +21 -21
- metadata +40 -18
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
<xsl:variable name="debug">false</xsl:variable>
|
12
12
|
|
13
|
-
<xsl:variable name="docidentifierISO_undated" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-undated'])"
|
13
|
+
<xsl:variable name="docidentifierISO_undated"><xsl:if test="not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM')"><xsl:value-of select="normalize-space(/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-undated'])"/></xsl:if></xsl:variable>
|
14
14
|
<xsl:variable name="docidentifierISO_">
|
15
15
|
<xsl:value-of select="$docidentifierISO_undated"/>
|
16
16
|
<xsl:if test="$docidentifierISO_undated = ''">
|
@@ -120,8 +120,8 @@
|
|
120
120
|
|
121
121
|
<xsl:variable name="stagename-header-coverpage">
|
122
122
|
<xsl:choose>
|
123
|
-
<xsl:when test="$stage-abbreviation = 'DIS'">DRAFT</xsl:when>
|
124
|
-
<xsl:when test="$stage-abbreviation = 'FDIS'">FINAL DRAFT</xsl:when>
|
123
|
+
<xsl:when test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">DRAFT</xsl:when>
|
124
|
+
<xsl:when test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'">FINAL DRAFT</xsl:when>
|
125
125
|
<xsl:when test="$stage-abbreviation = 'PRF'"/>
|
126
126
|
<xsl:when test="$stage-abbreviation = 'IS'"/>
|
127
127
|
<xsl:otherwise>
|
@@ -453,14 +453,17 @@
|
|
453
453
|
<fo:table-body>
|
454
454
|
<fo:table-row>
|
455
455
|
<fo:table-cell font-size="6.5pt" text-align="justify" display-align="after" padding-bottom="8mm">
|
456
|
+
<xsl:if test="$stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
|
457
|
+
<xsl:attribute name="font-size">7pt</xsl:attribute>
|
458
|
+
</xsl:if>
|
456
459
|
<!-- margin-top="-30mm" -->
|
457
460
|
<fo:block> <!-- margin-top="-100mm" -->
|
458
|
-
<xsl:if test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
|
461
|
+
<xsl:if test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
|
459
462
|
<fo:block margin-bottom="1.5mm">
|
460
463
|
<xsl:text>THIS DOCUMENT IS A DRAFT CIRCULATED FOR COMMENT AND APPROVAL. IT IS THEREFORE SUBJECT TO CHANGE AND MAY NOT BE REFERRED TO AS AN INTERNATIONAL STANDARD UNTIL PUBLISHED AS SUCH.</xsl:text>
|
461
464
|
</fo:block>
|
462
465
|
</xsl:if>
|
463
|
-
<xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
|
466
|
+
<xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM' or $stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD'">
|
464
467
|
<fo:block margin-bottom="1.5mm">
|
465
468
|
<xsl:text>RECIPIENTS OF THIS DRAFT ARE INVITED TO
|
466
469
|
SUBMIT, WITH THEIR COMMENTS, NOTIFICATION
|
@@ -494,7 +497,7 @@
|
|
494
497
|
</xsl:if>
|
495
498
|
|
496
499
|
<fo:block>
|
497
|
-
<xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDIS'">
|
500
|
+
<xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
|
498
501
|
<xsl:variable name="text">
|
499
502
|
<xsl:for-each select="/iso:iso-standard/iso:preface/iso:note[@coverpage='true']/iso:p">
|
500
503
|
<fo:block>
|
@@ -610,7 +613,7 @@
|
|
610
613
|
|
611
614
|
<xsl:choose>
|
612
615
|
<!-- COVER PAGE for DIS document only -->
|
613
|
-
<xsl:when test="$stage-abbreviation = 'DIS'">
|
616
|
+
<xsl:when test="$stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
|
614
617
|
<fo:flow flow-name="xsl-region-body">
|
615
618
|
<fo:block-container>
|
616
619
|
<fo:block margin-top="-1mm" font-size="20pt" text-align="right">
|
@@ -635,7 +638,7 @@
|
|
635
638
|
</fo:block>
|
636
639
|
</fo:table-cell>
|
637
640
|
<fo:table-cell>
|
638
|
-
<fo:block>
|
641
|
+
<fo:block margin-bottom="3mm">
|
639
642
|
<xsl:copy-of select="$secretariat"/>
|
640
643
|
</fo:block>
|
641
644
|
</fo:table-cell>
|
@@ -730,10 +733,10 @@
|
|
730
733
|
</fo:block-container>
|
731
734
|
</fo:flow>
|
732
735
|
|
733
|
-
</xsl:when> <!-- END: $stage-abbreviation = 'DIS' -->
|
736
|
+
</xsl:when> <!-- END: $stage-abbreviation = 'DIS' 'DAmd' 'DAM'-->
|
734
737
|
<xsl:otherwise>
|
735
738
|
|
736
|
-
<!-- COVER PAGE for all documents except DIS -->
|
739
|
+
<!-- COVER PAGE for all documents except DIS, DAmd and DAM -->
|
737
740
|
<fo:flow flow-name="xsl-region-body">
|
738
741
|
<fo:block-container>
|
739
742
|
<fo:table table-layout="fixed" width="100%" font-size="24pt" line-height="1"> <!-- margin-bottom="35mm" -->
|
@@ -769,6 +772,7 @@
|
|
769
772
|
<fo:table-cell>
|
770
773
|
<fo:block text-align="left">
|
771
774
|
<xsl:choose>
|
775
|
+
<xsl:when test="$stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'"><xsl:value-of select="$doctype_uppercased"/></xsl:when>
|
772
776
|
<xsl:when test="$doctype = 'amendment'">
|
773
777
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type,'-',' ')))"/>
|
774
778
|
</xsl:when>
|
@@ -817,7 +821,7 @@
|
|
817
821
|
</fo:block>
|
818
822
|
<!-- <xsl:value-of select="$linebreak"/>
|
819
823
|
<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
|
820
|
-
<xsl:if test="$doctype = 'amendment'">
|
824
|
+
<xsl:if test="$doctype = 'amendment' and not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
|
821
825
|
<fo:block text-align="right" margin-right="0.5mm">
|
822
826
|
<fo:block font-weight="bold" margin-top="4pt" role="H1">
|
823
827
|
<xsl:value-of select="$doctype_uppercased"/>
|
@@ -875,11 +879,11 @@
|
|
875
879
|
<fo:table-row> <!-- border="1pt solid black" height="150mm" -->
|
876
880
|
<fo:table-cell font-size="11pt">
|
877
881
|
<fo:block>
|
878
|
-
<xsl:if test="$stage-abbreviation = 'FDIS'">
|
882
|
+
<xsl:if test="$stage-abbreviation = 'FDIS' or $stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM'">
|
879
883
|
<fo:block-container border="0.5mm solid black" width="51mm">
|
880
884
|
<fo:block margin="2mm">
|
881
885
|
<fo:block margin-bottom="8pt"><xsl:copy-of select="$editorialgroup"/></fo:block>
|
882
|
-
<fo:block margin-bottom="6pt"><xsl:
|
886
|
+
<fo:block margin-bottom="6pt"><xsl:copy-of select="$secretariat"/></fo:block>
|
883
887
|
<fo:block margin-bottom="6pt">Voting begins on:<xsl:value-of select="$linebreak"/>
|
884
888
|
<fo:inline font-weight="bold">
|
885
889
|
<xsl:choose>
|
@@ -911,7 +915,7 @@
|
|
911
915
|
<fo:table-cell>
|
912
916
|
<xsl:call-template name="insertTripleLine"/>
|
913
917
|
<fo:block-container line-height="1.1">
|
914
|
-
<fo:block margin-right="5mm">
|
918
|
+
<fo:block margin-right="3.5mm">
|
915
919
|
<fo:block font-size="18pt" font-weight="bold" margin-top="12pt" role="H1">
|
916
920
|
|
917
921
|
<xsl:apply-templates select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-intro']"/>
|
@@ -928,27 +932,29 @@
|
|
928
932
|
|
929
933
|
</fo:block>
|
930
934
|
|
931
|
-
<xsl:
|
932
|
-
<xsl:
|
935
|
+
<xsl:if test="not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
|
936
|
+
<xsl:for-each select="xalan:nodeset($lang_other)/lang">
|
937
|
+
<xsl:variable name="lang_other" select="."/>
|
933
938
|
|
934
|
-
|
935
|
-
|
939
|
+
<fo:block font-size="12pt"><xsl:value-of select="$linebreak"/></fo:block>
|
940
|
+
<fo:block font-size="11pt" font-style="italic" line-height="1.1" role="H1">
|
936
941
|
|
937
|
-
|
938
|
-
|
942
|
+
<!-- Example: title-intro fr -->
|
943
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-intro']"/>
|
939
944
|
|
940
|
-
|
945
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-main']"/>
|
941
946
|
|
942
|
-
|
943
|
-
|
944
|
-
|
947
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-part']">
|
948
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
949
|
+
</xsl:apply-templates>
|
945
950
|
|
946
|
-
|
947
|
-
|
948
|
-
|
951
|
+
<xsl:apply-templates select="$XML/iso:iso-standard/iso:bibdata/iso:title[@language = $lang_other and @type = 'title-amd']">
|
952
|
+
<xsl:with-param name="curr_lang" select="$lang_other"/>
|
953
|
+
</xsl:apply-templates>
|
949
954
|
|
950
|
-
|
951
|
-
|
955
|
+
</fo:block>
|
956
|
+
</xsl:for-each>
|
957
|
+
</xsl:if>
|
952
958
|
|
953
959
|
<xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FDIS'">
|
954
960
|
<fo:block margin-top="10mm">
|
@@ -1591,13 +1597,19 @@
|
|
1591
1597
|
</xsl:if>
|
1592
1598
|
|
1593
1599
|
<fo:block font-weight="normal" line-height="1.1">
|
1594
|
-
<xsl:
|
1600
|
+
<xsl:choose>
|
1601
|
+
<xsl:when test="$isMainLang = 'false' and $curr_lang = 'fr'">AMENDEMENT</xsl:when>
|
1602
|
+
<xsl:otherwise><xsl:value-of select="$doctype_uppercased"/></xsl:otherwise>
|
1603
|
+
</xsl:choose>
|
1595
1604
|
<xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
|
1596
1605
|
<xsl:if test="normalize-space($amendment-number) != ''">
|
1597
1606
|
<xsl:text> </xsl:text><xsl:value-of select="$amendment-number"/>
|
1598
1607
|
</xsl:if>
|
1599
|
-
|
1600
|
-
<xsl:
|
1608
|
+
|
1609
|
+
<xsl:if test="not($stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM')">
|
1610
|
+
<xsl:text>: </xsl:text>
|
1611
|
+
<xsl:apply-templates/>
|
1612
|
+
</xsl:if>
|
1601
1613
|
</fo:block>
|
1602
1614
|
|
1603
1615
|
</fo:block>
|
@@ -2012,18 +2024,27 @@
|
|
2012
2024
|
</fo:table>
|
2013
2025
|
</fo:block-container>
|
2014
2026
|
</fo:static-content>
|
2015
|
-
<fo:static-content flow-name="header-first">
|
2016
|
-
<
|
2017
|
-
<
|
2027
|
+
<fo:static-content flow-name="header-first" role="artifact">
|
2028
|
+
<xsl:choose>
|
2029
|
+
<xsl:when test="$stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
|
2030
|
+
<fo:block-container height="24mm" display-align="before">
|
2031
|
+
<fo:block font-size="12pt" font-weight="bold" text-align="right" padding-top="12.5mm"><xsl:value-of select="$ISOname"/></fo:block>
|
2032
|
+
</fo:block-container>
|
2033
|
+
</xsl:when>
|
2034
|
+
<xsl:otherwise>
|
2035
|
+
<fo:block-container margin-top="13mm" height="9mm" width="172mm" border-top="0.5mm solid black" border-bottom="0.5mm solid black" display-align="center" background-color="white">
|
2036
|
+
<fo:block text-align-last="justify" font-size="12pt" font-weight="bold">
|
2018
2037
|
|
2019
|
-
|
2038
|
+
<xsl:value-of select="$stagename-header-firstpage"/>
|
2020
2039
|
|
2021
|
-
|
2022
|
-
|
2023
|
-
|
2024
|
-
|
2025
|
-
|
2026
|
-
|
2040
|
+
<fo:inline keep-together.within-line="always">
|
2041
|
+
<fo:leader leader-pattern="space"/>
|
2042
|
+
<fo:inline><xsl:value-of select="$ISOname"/></fo:inline>
|
2043
|
+
</fo:inline>
|
2044
|
+
</fo:block>
|
2045
|
+
</fo:block-container>
|
2046
|
+
</xsl:otherwise>
|
2047
|
+
</xsl:choose>
|
2027
2048
|
</fo:static-content>
|
2028
2049
|
<fo:static-content flow-name="header-odd" role="artifact">
|
2029
2050
|
<fo:block-container height="24mm" display-align="before">
|
@@ -2130,10 +2151,18 @@
|
|
2130
2151
|
|
2131
2152
|
<xsl:param name="table_if_debug">false</xsl:param> <!-- set 'true' to put debug width data before table or dl -->
|
2132
2153
|
|
2133
|
-
<xsl:variable name="
|
2154
|
+
<xsl:variable name="isApplyAutolayoutAlgorithm_">
|
2155
|
+
true
|
2156
|
+
</xsl:variable>
|
2157
|
+
<xsl:variable name="isApplyAutolayoutAlgorithm" select="normalize-space($isApplyAutolayoutAlgorithm_)"/>
|
2134
2158
|
|
2159
|
+
<xsl:variable name="isGenerateTableIF_">
|
2160
|
+
<xsl:choose>
|
2161
|
+
<xsl:when test="$isApplyAutolayoutAlgorithm = 'true'">
|
2135
2162
|
<xsl:value-of select="normalize-space($table_if) = 'true'"/>
|
2136
|
-
|
2163
|
+
</xsl:when>
|
2164
|
+
<xsl:otherwise>false</xsl:otherwise>
|
2165
|
+
</xsl:choose>
|
2137
2166
|
</xsl:variable>
|
2138
2167
|
<xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/>
|
2139
2168
|
|
@@ -2562,6 +2591,9 @@
|
|
2562
2591
|
<xsl:attribute-set name="import-style">
|
2563
2592
|
</xsl:attribute-set>
|
2564
2593
|
|
2594
|
+
<xsl:attribute-set name="component-style">
|
2595
|
+
</xsl:attribute-set>
|
2596
|
+
|
2565
2597
|
<xsl:attribute-set name="recommendation-style">
|
2566
2598
|
|
2567
2599
|
</xsl:attribute-set>
|
@@ -2778,9 +2810,7 @@
|
|
2778
2810
|
</xsl:attribute-set>
|
2779
2811
|
|
2780
2812
|
<xsl:attribute-set name="dt-block-style">
|
2781
|
-
<xsl:attribute name="margin-top">
|
2782
|
-
|
2783
|
-
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
2813
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
2784
2814
|
|
2785
2815
|
</xsl:attribute-set>
|
2786
2816
|
|
@@ -3749,6 +3779,7 @@
|
|
3749
3779
|
|
3750
3780
|
<xsl:variable name="margin-side">
|
3751
3781
|
<xsl:choose>
|
3782
|
+
<xsl:when test="$isApplyAutolayoutAlgorithm = 'true'">0</xsl:when>
|
3752
3783
|
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
3753
3784
|
<xsl:otherwise>0</xsl:otherwise>
|
3754
3785
|
</xsl:choose>
|
@@ -3819,6 +3850,7 @@
|
|
3819
3850
|
</td>
|
3820
3851
|
</tr>
|
3821
3852
|
-->
|
3853
|
+
<!-- Simple_table=<xsl:copy-of select="$simple-table"/> -->
|
3822
3854
|
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if"/>
|
3823
3855
|
|
3824
3856
|
</xsl:when>
|
@@ -3955,9 +3987,17 @@
|
|
3955
3987
|
<xsl:template name="calculate-column-widths">
|
3956
3988
|
<xsl:param name="table"/>
|
3957
3989
|
<xsl:param name="cols-count"/>
|
3958
|
-
|
3990
|
+
<xsl:choose>
|
3991
|
+
<xsl:when test="$isApplyAutolayoutAlgorithm = 'true'">
|
3959
3992
|
<xsl:call-template name="get-calculated-column-widths-autolayout-algorithm"/>
|
3960
|
-
|
3993
|
+
</xsl:when>
|
3994
|
+
<xsl:otherwise>
|
3995
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
3996
|
+
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3997
|
+
<xsl:with-param name="table" select="$table"/>
|
3998
|
+
</xsl:call-template>
|
3999
|
+
</xsl:otherwise>
|
4000
|
+
</xsl:choose>
|
3961
4001
|
</xsl:template>
|
3962
4002
|
|
3963
4003
|
<!-- ================================================== -->
|
@@ -4135,6 +4175,7 @@
|
|
4135
4175
|
<!-- (https://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.5.2) -->
|
4136
4176
|
<!-- ================================================== -->
|
4137
4177
|
|
4178
|
+
<!-- INPUT: table with columns widths, generated by table_if.xsl -->
|
4138
4179
|
<xsl:template name="calculate-column-widths-autolayout-algorithm">
|
4139
4180
|
<xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
|
4140
4181
|
|
@@ -4146,67 +4187,6 @@
|
|
4146
4187
|
|
4147
4188
|
<!-- Since line wrap has been disabled, paragraphs are treated as long lines unless broken by BR elements. -->
|
4148
4189
|
|
4149
|
-
<!-- get current table id -->
|
4150
|
-
<xsl:variable name="table_id" select="@id"/>
|
4151
|
-
<!-- find table by id in the file 'table_widths' -->
|
4152
|
-
<!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
|
4153
|
-
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
|
4154
|
-
|
4155
|
-
<!-- table='<xsl:copy-of select="$table"/>' -->
|
4156
|
-
<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
|
4157
|
-
<!-- table-if='<xsl:copy-of select="$table-if"/>' -->
|
4158
|
-
<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
|
4159
|
-
|
4160
|
-
<xsl:variable name="table_with_cell_widths_">
|
4161
|
-
<xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
|
4162
|
-
</xsl:variable>
|
4163
|
-
<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
|
4164
|
-
|
4165
|
-
<!-- <xsl:if test="$table_if_debug = 'true'">
|
4166
|
-
<xsl:copy-of select="$table_with_cell_widths"/>
|
4167
|
-
</xsl:if> -->
|
4168
|
-
|
4169
|
-
<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
|
4170
|
-
|
4171
|
-
<xsl:variable name="column_widths_">
|
4172
|
-
<!-- iteration of columns -->
|
4173
|
-
<xsl:for-each select="$table_with_cell_widths//tr[1]/td">
|
4174
|
-
<xsl:variable name="pos" select="position()"/>
|
4175
|
-
<column>
|
4176
|
-
<xsl:attribute name="width_max">
|
4177
|
-
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_max">
|
4178
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
4179
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4180
|
-
</xsl:for-each>
|
4181
|
-
</xsl:attribute>
|
4182
|
-
<xsl:attribute name="width_min">
|
4183
|
-
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_min">
|
4184
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
4185
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4186
|
-
</xsl:for-each>
|
4187
|
-
</xsl:attribute>
|
4188
|
-
</column>
|
4189
|
-
</xsl:for-each>
|
4190
|
-
</xsl:variable>
|
4191
|
-
<xsl:variable name="column_widths" select="xalan:nodeset($column_widths_)"/>
|
4192
|
-
|
4193
|
-
<!-- <column_widths>
|
4194
|
-
<xsl:copy-of select="$column_widths"/>
|
4195
|
-
</column_widths> -->
|
4196
|
-
|
4197
|
-
<!-- These in turn, are used to find the minimum and maximum width for the table. -->
|
4198
|
-
<xsl:variable name="table_widths_">
|
4199
|
-
<table>
|
4200
|
-
<xsl:attribute name="width_max">
|
4201
|
-
<xsl:value-of select="sum($column_widths/column/@width_max)"/>
|
4202
|
-
</xsl:attribute>
|
4203
|
-
<xsl:attribute name="width_min">
|
4204
|
-
<xsl:value-of select="sum($column_widths/column/@width_min)"/>
|
4205
|
-
</xsl:attribute>
|
4206
|
-
</table>
|
4207
|
-
</xsl:variable>
|
4208
|
-
<xsl:variable name="table_widths" select="xalan:nodeset($table_widths_)"/>
|
4209
|
-
|
4210
4190
|
<xsl:variable name="page_width">
|
4211
4191
|
<xsl:choose>
|
4212
4192
|
<xsl:when test="$parent_table_page-width != ''">
|
@@ -4219,16 +4199,13 @@
|
|
4219
4199
|
</xsl:variable>
|
4220
4200
|
|
4221
4201
|
<xsl:if test="$table_if_debug = 'true'">
|
4222
|
-
<
|
4223
|
-
<xsl:copy-of select="$table_widths"/>
|
4224
|
-
</table_width>
|
4225
|
-
<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
|
4202
|
+
<page_width><xsl:value-of select="$page_width"/></page_width>
|
4226
4203
|
</xsl:if>
|
4227
4204
|
|
4228
4205
|
<!-- There are three cases: -->
|
4229
4206
|
<xsl:choose>
|
4230
4207
|
<!-- 1. The minimum table width is equal to or wider than the available space -->
|
4231
|
-
<xsl:when test="
|
4208
|
+
<xsl:when test="@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
|
4232
4209
|
<!-- call old algorithm -->
|
4233
4210
|
<case1/>
|
4234
4211
|
<!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
@@ -4238,10 +4215,10 @@
|
|
4238
4215
|
</xsl:call-template> -->
|
4239
4216
|
</xsl:when>
|
4240
4217
|
<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
|
4241
|
-
<xsl:when test="
|
4218
|
+
<xsl:when test="@width_max <= $page_width">
|
4242
4219
|
<case2/>
|
4243
4220
|
<autolayout/>
|
4244
|
-
<xsl:for-each select="
|
4221
|
+
<xsl:for-each select="column/@width_max">
|
4245
4222
|
<column divider="100"><xsl:value-of select="."/></column>
|
4246
4223
|
</xsl:for-each>
|
4247
4224
|
</xsl:when>
|
@@ -4251,19 +4228,19 @@
|
|
4251
4228
|
For each column, let d be the difference between maximum and minimum width of that column.
|
4252
4229
|
Now set the column's width to the minimum width plus d times W over D.
|
4253
4230
|
This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
|
4254
|
-
<xsl:when test="(
|
4231
|
+
<xsl:when test="(@width_max > $page_width and @width_min < $page_width) or (@width_min >= $page_width)">
|
4255
4232
|
<!-- difference between the available space and the minimum table width -->
|
4256
|
-
<xsl:variable name="W" select="$page_width -
|
4233
|
+
<xsl:variable name="W" select="$page_width - @width_min"/>
|
4257
4234
|
<W><xsl:value-of select="$W"/></W>
|
4258
4235
|
<!-- difference between maximum and minimum width of the table -->
|
4259
|
-
<xsl:variable name="D" select="
|
4236
|
+
<xsl:variable name="D" select="@width_max - @width_min"/>
|
4260
4237
|
<D><xsl:value-of select="$D"/></D>
|
4261
4238
|
<case3/>
|
4262
4239
|
<autolayout/>
|
4263
|
-
<xsl:if test="
|
4240
|
+
<xsl:if test="@width_min >= $page_width">
|
4264
4241
|
<split_keep-within-line>true</split_keep-within-line>
|
4265
4242
|
</xsl:if>
|
4266
|
-
<xsl:for-each select="
|
4243
|
+
<xsl:for-each select="column">
|
4267
4244
|
<!-- difference between maximum and minimum width of that column. -->
|
4268
4245
|
<xsl:variable name="d" select="@width_max - @width_min"/>
|
4269
4246
|
<d><xsl:value-of select="$d"/></d>
|
@@ -4289,23 +4266,39 @@
|
|
4289
4266
|
|
4290
4267
|
<parent_element><xsl:value-of select="local-name(..)"/></parent_element>
|
4291
4268
|
|
4269
|
+
<ancestor_tree>
|
4270
|
+
<xsl:for-each select="ancestor::*">
|
4271
|
+
<ancestor><xsl:value-of select="local-name()"/></ancestor>
|
4272
|
+
</xsl:for-each>
|
4273
|
+
</ancestor_tree>
|
4274
|
+
|
4292
4275
|
<xsl:variable name="parent_table_page-width_">
|
4293
4276
|
<xsl:if test="$parent_table_id != ''">
|
4294
4277
|
<!-- determine column number in the parent table -->
|
4295
4278
|
<xsl:variable name="parent_table_column_number">
|
4296
4279
|
<xsl:choose>
|
4297
|
-
<xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
|
4280
|
+
<!-- <xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when> -->
|
4281
|
+
<xsl:when test="(ancestor::*[local-name() = 'dd' or local-name() = 'table' or local-name() = 'dl'])[last()][local-name() = 'dd' or local-name() = 'dl']">2</xsl:when>
|
4298
4282
|
<xsl:otherwise> <!-- parent is table -->
|
4299
4283
|
<xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
|
4300
4284
|
</xsl:otherwise>
|
4301
4285
|
</xsl:choose>
|
4302
4286
|
</xsl:variable>
|
4303
4287
|
<!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
|
4304
|
-
|
4288
|
+
|
4289
|
+
<xsl:variable name="parent_table_column_" select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
|
4290
|
+
<xsl:variable name="parent_table_column" select="xalan:nodeset($parent_table_column_)"/>
|
4291
|
+
<!-- <xsl:variable name="divider">
|
4292
|
+
<xsl:value-of select="$parent_table_column/@divider"/>
|
4293
|
+
<xsl:if test="not($parent_table_column/@divider)">1</xsl:if>
|
4294
|
+
</xsl:variable> -->
|
4295
|
+
<xsl:value-of select="$parent_table_column/text()"/> <!-- * 10 -->
|
4305
4296
|
</xsl:if>
|
4306
4297
|
</xsl:variable>
|
4307
4298
|
<xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
|
4308
4299
|
|
4300
|
+
<parent_table_page-width><xsl:value-of select="$parent_table_page-width"/></parent_table_page-width>
|
4301
|
+
|
4309
4302
|
<!-- get current table id -->
|
4310
4303
|
<xsl:variable name="table_id" select="@id"/>
|
4311
4304
|
|
@@ -4326,50 +4319,6 @@
|
|
4326
4319
|
|
4327
4320
|
</xsl:template> <!-- get-calculated-column-widths-autolayout-algorithm -->
|
4328
4321
|
|
4329
|
-
<!-- ============================= -->
|
4330
|
-
<!-- mode: determine_cell_widths-if -->
|
4331
|
-
<!-- ============================= -->
|
4332
|
-
<xsl:template match="@*|node()" mode="determine_cell_widths-if">
|
4333
|
-
<xsl:copy>
|
4334
|
-
<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
|
4335
|
-
</xsl:copy>
|
4336
|
-
</xsl:template>
|
4337
|
-
|
4338
|
-
<xsl:template match="td | th" mode="determine_cell_widths-if">
|
4339
|
-
<xsl:copy>
|
4340
|
-
<xsl:copy-of select="@*"/>
|
4341
|
-
|
4342
|
-
<!-- The maximum width is given by the widest line. -->
|
4343
|
-
<xsl:attribute name="width_max">
|
4344
|
-
<xsl:for-each select="p_len">
|
4345
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
4346
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4347
|
-
</xsl:for-each>
|
4348
|
-
</xsl:attribute>
|
4349
|
-
|
4350
|
-
<!-- The minimum width is given by the widest text element (word, image, etc.) -->
|
4351
|
-
<xsl:variable name="width_min">
|
4352
|
-
<xsl:for-each select="word_len">
|
4353
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
4354
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
4355
|
-
</xsl:for-each>
|
4356
|
-
</xsl:variable>
|
4357
|
-
<xsl:attribute name="width_min">
|
4358
|
-
<xsl:value-of select="$width_min"/>
|
4359
|
-
</xsl:attribute>
|
4360
|
-
|
4361
|
-
<xsl:if test="$width_min = 0">
|
4362
|
-
<xsl:attribute name="width_min">1</xsl:attribute>
|
4363
|
-
</xsl:if>
|
4364
|
-
|
4365
|
-
<xsl:apply-templates select="node()" mode="determine_cell_widths-if"/>
|
4366
|
-
|
4367
|
-
</xsl:copy>
|
4368
|
-
</xsl:template>
|
4369
|
-
<!-- ============================= -->
|
4370
|
-
<!-- END mode: determine_cell_widths-if -->
|
4371
|
-
<!-- ============================= -->
|
4372
|
-
|
4373
4322
|
<!-- ================================================== -->
|
4374
4323
|
<!-- Calculate column's width based on HTML4 algorithm -->
|
4375
4324
|
<!-- ================================================== -->
|
@@ -4614,6 +4563,7 @@
|
|
4614
4563
|
<xsl:when test="$table_or_dl = 'table'">
|
4615
4564
|
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']/*">
|
4616
4565
|
<fo:table-row number-columns-spanned="{$col_count}">
|
4566
|
+
<xsl:copy-of select="../@font-weight"/>
|
4617
4567
|
<!-- <test_table><xsl:copy-of select="."/></test_table> -->
|
4618
4568
|
<xsl:call-template name="td"/>
|
4619
4569
|
</fo:table-row>
|
@@ -4775,7 +4725,7 @@
|
|
4775
4725
|
|
4776
4726
|
<xsl:apply-templates/>
|
4777
4727
|
|
4778
|
-
<xsl:if test="$isGenerateTableIF = 'true'"
|
4728
|
+
<xsl:if test="$isGenerateTableIF = 'true'"> <fo:inline id="{@id}_end">end</fo:inline></xsl:if> <!-- to determine width of text --> <!-- <xsl:value-of select="$hair_space"/> -->
|
4779
4729
|
|
4780
4730
|
</fo:block>
|
4781
4731
|
</fo:table-cell>
|
@@ -5108,6 +5058,7 @@
|
|
5108
5058
|
<xsl:template match="*[local-name()='dl']">
|
5109
5059
|
<xsl:variable name="isAdded" select="@added"/>
|
5110
5060
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
5061
|
+
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
5111
5062
|
<fo:block-container>
|
5112
5063
|
|
5113
5064
|
<xsl:if test="not(ancestor::*[local-name() = 'quote'])">
|
@@ -5659,21 +5610,16 @@
|
|
5659
5610
|
<!-- virtual html table for dl/[dt and dd] for IF (Intermediate Format) -->
|
5660
5611
|
<xsl:template match="*[local-name()='dt']" mode="dl_if">
|
5661
5612
|
<xsl:param name="id"/>
|
5662
|
-
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
5663
5613
|
<tr>
|
5664
5614
|
<td>
|
5665
5615
|
<xsl:copy-of select="node()"/>
|
5666
5616
|
</td>
|
5667
5617
|
<td>
|
5668
|
-
|
5669
|
-
|
5670
|
-
|
5671
|
-
<!-- get paragraphs from nested 'dl' -->
|
5672
|
-
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
5673
|
-
|
5618
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
|
5619
|
+
<!-- get paragraphs from nested 'dl' -->
|
5620
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
5674
5621
|
</td>
|
5675
5622
|
</tr>
|
5676
|
-
|
5677
5623
|
</xsl:template>
|
5678
5624
|
<xsl:template match="*[local-name()='dd']" mode="dl_if"/>
|
5679
5625
|
|
@@ -6324,6 +6270,9 @@
|
|
6324
6270
|
<xsl:variable name="td">
|
6325
6271
|
<xsl:element name="td">
|
6326
6272
|
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
6273
|
+
<xsl:if test="local-name()='th'">
|
6274
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
6275
|
+
</xsl:if>
|
6327
6276
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
6328
6277
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
6329
6278
|
</xsl:element>
|
@@ -6336,6 +6285,9 @@
|
|
6336
6285
|
<xsl:otherwise>
|
6337
6286
|
<xsl:element name="td">
|
6338
6287
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
6288
|
+
<xsl:if test="local-name()='th'">
|
6289
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
6290
|
+
</xsl:if>
|
6339
6291
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
6340
6292
|
</xsl:element>
|
6341
6293
|
</xsl:otherwise>
|
@@ -6465,8 +6417,14 @@
|
|
6465
6417
|
<xsl:copy-of select="@*"/>
|
6466
6418
|
<xsl:variable name="row_number" select="count(../preceding-sibling::*) + 1"/>
|
6467
6419
|
<xsl:variable name="col_number" select="count(preceding-sibling::*) + 1"/>
|
6420
|
+
<xsl:variable name="divide">
|
6421
|
+
<xsl:choose>
|
6422
|
+
<xsl:when test="@divide"><xsl:value-of select="@divide"/></xsl:when>
|
6423
|
+
<xsl:otherwise>1</xsl:otherwise>
|
6424
|
+
</xsl:choose>
|
6425
|
+
</xsl:variable>
|
6468
6426
|
<xsl:attribute name="id">
|
6469
|
-
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number)"/>
|
6427
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_',$divide)"/>
|
6470
6428
|
</xsl:attribute>
|
6471
6429
|
|
6472
6430
|
<xsl:for-each select="*[local-name() = 'p']">
|
@@ -6474,10 +6432,12 @@
|
|
6474
6432
|
<xsl:copy-of select="@*"/>
|
6475
6433
|
<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
|
6476
6434
|
<xsl:attribute name="id">
|
6477
|
-
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num)"/>
|
6435
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num,'_',$divide)"/>
|
6478
6436
|
</xsl:attribute>
|
6479
6437
|
|
6480
|
-
<xsl:copy-of select="node()"/>
|
6438
|
+
<!-- <xsl:copy-of select="node()" /> -->
|
6439
|
+
<xsl:apply-templates mode="simple-table-noid"/>
|
6440
|
+
|
6481
6441
|
</xsl:copy>
|
6482
6442
|
</xsl:for-each>
|
6483
6443
|
|
@@ -6506,7 +6466,7 @@
|
|
6506
6466
|
<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
|
6507
6467
|
<xsl:copy>
|
6508
6468
|
<xsl:attribute name="id">
|
6509
|
-
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num)"/>
|
6469
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num,'_',$divide)"/>
|
6510
6470
|
</xsl:attribute>
|
6511
6471
|
<xsl:copy-of select="node()"/>
|
6512
6472
|
</xsl:copy>
|
@@ -6515,6 +6475,24 @@
|
|
6515
6475
|
</xsl:copy>
|
6516
6476
|
|
6517
6477
|
</xsl:template>
|
6478
|
+
|
6479
|
+
<xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'p']//*" mode="simple-table-noid">
|
6480
|
+
<xsl:copy>
|
6481
|
+
<xsl:choose>
|
6482
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
6483
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/> <!-- to prevent repeat id in colspan/rowspan cells -->
|
6484
|
+
<!-- <xsl:if test="local-name() = 'dl' or local-name() = 'table'">
|
6485
|
+
<xsl:copy-of select="@id"/>
|
6486
|
+
</xsl:if> -->
|
6487
|
+
</xsl:when>
|
6488
|
+
<xsl:otherwise>
|
6489
|
+
<xsl:copy-of select="@*"/>
|
6490
|
+
</xsl:otherwise>
|
6491
|
+
</xsl:choose>
|
6492
|
+
<xsl:apply-templates select="node()" mode="simple-table-noid"/>
|
6493
|
+
</xsl:copy>
|
6494
|
+
</xsl:template>
|
6495
|
+
|
6518
6496
|
<!-- End mode: simple-table-id -->
|
6519
6497
|
<!-- ===================== -->
|
6520
6498
|
<!-- ===================== -->
|
@@ -6524,7 +6502,7 @@
|
|
6524
6502
|
<!-- =============================== -->
|
6525
6503
|
<xsl:template match="@*|node()" mode="td_text_with_formatting">
|
6526
6504
|
<xsl:copy>
|
6527
|
-
|
6505
|
+
<xsl:apply-templates select="@*|node()" mode="td_text_with_formatting"/>
|
6528
6506
|
</xsl:copy>
|
6529
6507
|
</xsl:template>
|
6530
6508
|
|
@@ -6638,6 +6616,10 @@
|
|
6638
6616
|
|
6639
6617
|
<fo:inline xsl:use-attribute-sets="mathml-style">
|
6640
6618
|
|
6619
|
+
<xsl:if test="$isGenerateTableIF = 'true' and ancestor::*[local-name() = 'td' or local-name() = 'th' or local-name() = 'dl'] and not(following-sibling::node()[not(self::comment())][normalize-space() != ''])"> <!-- math in table cell, and math is last element -->
|
6620
|
+
<!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
|
6621
|
+
</xsl:if>
|
6622
|
+
|
6641
6623
|
<xsl:call-template name="setTrackChangesStyles">
|
6642
6624
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
6643
6625
|
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
@@ -6985,6 +6967,10 @@
|
|
6985
6967
|
|
6986
6968
|
<fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
|
6987
6969
|
|
6970
|
+
<xsl:if test="$doctype = 'amendment' and parent::*[local-name() = 'quote']">
|
6971
|
+
<xsl:attribute name="font-size">inherit</xsl:attribute>
|
6972
|
+
</xsl:if>
|
6973
|
+
|
6988
6974
|
<fo:block-container margin-left="0mm">
|
6989
6975
|
|
6990
6976
|
<fo:block>
|
@@ -7035,6 +7021,10 @@
|
|
7035
7021
|
<xsl:template match="*[local-name() = 'termnote']">
|
7036
7022
|
<fo:block id="{@id}" xsl:use-attribute-sets="termnote-style">
|
7037
7023
|
|
7024
|
+
<xsl:if test="$doctype = 'amendment' and parent::*[local-name() = 'quote']">
|
7025
|
+
<xsl:attribute name="font-size">inherit</xsl:attribute>
|
7026
|
+
</xsl:if>
|
7027
|
+
|
7038
7028
|
<fo:inline xsl:use-attribute-sets="termnote-name-style">
|
7039
7029
|
|
7040
7030
|
<xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
|
@@ -8525,41 +8515,47 @@
|
|
8525
8515
|
</fo:block>
|
8526
8516
|
</xsl:template>
|
8527
8517
|
|
8528
|
-
<xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
|
8518
|
+
<xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
|
8529
8519
|
<fo:block xsl:use-attribute-sets="inherit-style">
|
8530
8520
|
<xsl:text>Dependency </xsl:text><xsl:apply-templates/>
|
8531
8521
|
</fo:block>
|
8532
8522
|
</xsl:template>
|
8533
8523
|
|
8534
|
-
<xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
|
8524
|
+
<xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description'] | *[local-name() = 'div'][@type = 'requirement-description'] | *[local-name() = 'div'][@type = 'recommendation-description'] | *[local-name() = 'div'][@type = 'permission-description']">
|
8535
8525
|
<fo:block xsl:use-attribute-sets="description-style">
|
8536
8526
|
<xsl:apply-templates/>
|
8537
8527
|
</fo:block>
|
8538
8528
|
</xsl:template>
|
8539
8529
|
|
8540
|
-
<xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
|
8530
|
+
<xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification'] | *[local-name() = 'div'][@type = 'requirement-specification'] | *[local-name() = 'div'][@type = 'recommendation-specification'] | *[local-name() = 'div'][@type = 'permission-specification']">
|
8541
8531
|
<fo:block xsl:use-attribute-sets="specification-style">
|
8542
8532
|
<xsl:apply-templates/>
|
8543
8533
|
</fo:block>
|
8544
8534
|
</xsl:template>
|
8545
8535
|
|
8546
|
-
<xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
|
8536
|
+
<xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target'] | *[local-name() = 'div'][@type = 'requirement-measurement-target'] | *[local-name() = 'div'][@type = 'recommendation-measurement-target'] | *[local-name() = 'div'][@type = 'permission-measurement-target']">
|
8547
8537
|
<fo:block xsl:use-attribute-sets="measurement-target-style">
|
8548
8538
|
<xsl:apply-templates/>
|
8549
8539
|
</fo:block>
|
8550
8540
|
</xsl:template>
|
8551
8541
|
|
8552
|
-
<xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
|
8542
|
+
<xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification'] | *[local-name() = 'div'][@type = 'requirement-verification'] | *[local-name() = 'div'][@type = 'recommendation-verification'] | *[local-name() = 'div'][@type = 'permission-verification']">
|
8553
8543
|
<fo:block xsl:use-attribute-sets="verification-style">
|
8554
8544
|
<xsl:apply-templates/>
|
8555
8545
|
</fo:block>
|
8556
8546
|
</xsl:template>
|
8557
8547
|
|
8558
|
-
<xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
|
8548
|
+
<xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import'] | *[local-name() = 'div'][@type = 'requirement-import'] | *[local-name() = 'div'][@type = 'recommendation-import'] | *[local-name() = 'div'][@type = 'permission-import']">
|
8559
8549
|
<fo:block xsl:use-attribute-sets="import-style">
|
8560
8550
|
<xsl:apply-templates/>
|
8561
8551
|
</fo:block>
|
8562
8552
|
</xsl:template>
|
8553
|
+
|
8554
|
+
<xsl:template match="*[local-name() = 'div'][starts-with(@type, 'requirement-component')] | *[local-name() = 'div'][starts-with(@type, 'recommendation-component')] | *[local-name() = 'div'][starts-with(@type, 'permission-component')]">
|
8555
|
+
<fo:block xsl:use-attribute-sets="component-style">
|
8556
|
+
<xsl:apply-templates/>
|
8557
|
+
</fo:block>
|
8558
|
+
</xsl:template>
|
8563
8559
|
<!-- ========== -->
|
8564
8560
|
<!-- END -->
|
8565
8561
|
<!-- ========== -->
|
@@ -8615,15 +8611,12 @@
|
|
8615
8611
|
|
8616
8612
|
<xsl:template match="*[local-name()='tr']" mode="requirement">
|
8617
8613
|
<fo:table-row height="7mm" border-bottom="0.5pt solid grey">
|
8618
|
-
|
8619
|
-
|
8620
|
-
|
8621
|
-
|
8622
|
-
<xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
|
8623
|
-
</xsl:if>
|
8624
|
-
<xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
|
8625
|
-
<xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
|
8614
|
+
|
8615
|
+
<xsl:if test="parent::*[local-name()='thead'] or starts-with(*[local-name()='td' or local-name()='th'][1], 'Requirement ') or starts-with(*[local-name()='td' or local-name()='th'][1], 'Recommendation ')">
|
8616
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
8617
|
+
|
8626
8618
|
</xsl:if>
|
8619
|
+
|
8627
8620
|
<xsl:apply-templates mode="requirement"/>
|
8628
8621
|
</fo:table-row>
|
8629
8622
|
</xsl:template>
|
@@ -8969,6 +8962,11 @@
|
|
8969
8962
|
<fo:block-container margin-left="0mm">
|
8970
8963
|
<fo:block-container xsl:use-attribute-sets="quote-style">
|
8971
8964
|
|
8965
|
+
<xsl:if test="$doctype = 'amendment' and (*[local-name() = 'note'] or *[local-name() = 'termnote'])">
|
8966
|
+
<xsl:attribute name="margin-left">7mm</xsl:attribute>
|
8967
|
+
<xsl:attribute name="margin-right">0mm</xsl:attribute>
|
8968
|
+
</xsl:if>
|
8969
|
+
|
8972
8970
|
<fo:block-container margin-left="0mm" margin-right="0mm">
|
8973
8971
|
<fo:block role="BlockQuote">
|
8974
8972
|
<xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
|
@@ -10136,7 +10134,7 @@
|
|
10136
10134
|
</tbody>
|
10137
10135
|
</xsl:variable>
|
10138
10136
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($toc_table_simple)/*/tr[1]/td)"/>
|
10139
|
-
<xsl:call-template name="calculate-column-widths">
|
10137
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
10140
10138
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
10141
10139
|
<xsl:with-param name="table" select="$toc_table_simple"/>
|
10142
10140
|
</xsl:call-template>
|