metanorma-bipm 2.1.6 → 2.1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +1 -1
- data/.github/workflows/release.yml +24 -0
- data/lib/isodoc/bipm/bipm.brochure.xsl +118 -154
- data/lib/isodoc/bipm/bipm.guide.xsl +118 -154
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +118 -154
- data/lib/isodoc/bipm/bipm.rapport.xsl +118 -154
- data/lib/isodoc/bipm/jcgm.standard.xsl +117 -154
- data/lib/metanorma/bipm/biblio.rng +8 -5
- data/lib/metanorma/bipm/processor.rb +8 -5
- data/lib/metanorma/bipm/version.rb +1 -1
- data/lib/metanorma-bipm.rb +1 -1
- data/metanorma-bipm.gemspec +1 -1
- metadata +9 -8
@@ -3142,7 +3142,7 @@
|
|
3142
3142
|
</xsl:variable>
|
3143
3143
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($toc_table_simple)/*/tr[1]/td)"/>
|
3144
3144
|
<xsl:variable name="colwidths">
|
3145
|
-
<xsl:call-template name="calculate-column-widths">
|
3145
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
3146
3146
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
3147
3147
|
<xsl:with-param name="table" select="$toc_table_simple"/>
|
3148
3148
|
</xsl:call-template>
|
@@ -3787,8 +3787,18 @@
|
|
3787
3787
|
|
3788
3788
|
<xsl:param name="table_if_debug">false</xsl:param> <!-- set 'true' to put debug width data before table or dl -->
|
3789
3789
|
|
3790
|
+
<xsl:variable name="isApplyAutolayoutAlgorithm_">
|
3791
|
+
true
|
3792
|
+
</xsl:variable>
|
3793
|
+
<xsl:variable name="isApplyAutolayoutAlgorithm" select="normalize-space($isApplyAutolayoutAlgorithm_)"/>
|
3794
|
+
|
3790
3795
|
<xsl:variable name="isGenerateTableIF_">
|
3791
|
-
|
3796
|
+
<xsl:choose>
|
3797
|
+
<xsl:when test="$isApplyAutolayoutAlgorithm = 'true'">
|
3798
|
+
<xsl:value-of select="normalize-space($table_if) = 'true'"/>
|
3799
|
+
</xsl:when>
|
3800
|
+
<xsl:otherwise>false</xsl:otherwise>
|
3801
|
+
</xsl:choose>
|
3792
3802
|
</xsl:variable>
|
3793
3803
|
<xsl:variable name="isGenerateTableIF" select="normalize-space($isGenerateTableIF_)"/>
|
3794
3804
|
|
@@ -4212,6 +4222,9 @@
|
|
4212
4222
|
<xsl:attribute-set name="import-style">
|
4213
4223
|
</xsl:attribute-set>
|
4214
4224
|
|
4225
|
+
<xsl:attribute-set name="component-style">
|
4226
|
+
</xsl:attribute-set>
|
4227
|
+
|
4215
4228
|
<xsl:attribute-set name="recommendation-style">
|
4216
4229
|
|
4217
4230
|
</xsl:attribute-set>
|
@@ -4408,9 +4421,8 @@
|
|
4408
4421
|
</xsl:attribute-set>
|
4409
4422
|
|
4410
4423
|
<xsl:attribute-set name="dt-block-style">
|
4411
|
-
<xsl:attribute name="margin-top">
|
4424
|
+
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
4412
4425
|
|
4413
|
-
<xsl:attribute name="margin-top">0pt</xsl:attribute>
|
4414
4426
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
4415
4427
|
|
4416
4428
|
</xsl:attribute-set>
|
@@ -5373,6 +5385,7 @@
|
|
5373
5385
|
|
5374
5386
|
<xsl:variable name="margin-side">
|
5375
5387
|
<xsl:choose>
|
5388
|
+
<xsl:when test="$isApplyAutolayoutAlgorithm = 'true'">0</xsl:when>
|
5376
5389
|
<xsl:when test="sum(xalan:nodeset($colwidths)//column) > 75">15</xsl:when>
|
5377
5390
|
<xsl:otherwise>0</xsl:otherwise>
|
5378
5391
|
</xsl:choose>
|
@@ -5453,6 +5466,7 @@
|
|
5453
5466
|
</td>
|
5454
5467
|
</tr>
|
5455
5468
|
-->
|
5469
|
+
<!-- Simple_table=<xsl:copy-of select="$simple-table"/> -->
|
5456
5470
|
<xsl:apply-templates select="xalan:nodeset($simple-table)" mode="process_table-if"/>
|
5457
5471
|
|
5458
5472
|
</xsl:when>
|
@@ -5591,12 +5605,17 @@
|
|
5591
5605
|
<xsl:template name="calculate-column-widths">
|
5592
5606
|
<xsl:param name="table"/>
|
5593
5607
|
<xsl:param name="cols-count"/>
|
5594
|
-
|
5608
|
+
<xsl:choose>
|
5609
|
+
<xsl:when test="$isApplyAutolayoutAlgorithm = 'true'">
|
5610
|
+
<xsl:call-template name="get-calculated-column-widths-autolayout-algorithm"/>
|
5611
|
+
</xsl:when>
|
5612
|
+
<xsl:otherwise>
|
5595
5613
|
<xsl:call-template name="calculate-column-widths-proportional">
|
5596
5614
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
5597
5615
|
<xsl:with-param name="table" select="$table"/>
|
5598
5616
|
</xsl:call-template>
|
5599
|
-
|
5617
|
+
</xsl:otherwise>
|
5618
|
+
</xsl:choose>
|
5600
5619
|
</xsl:template>
|
5601
5620
|
|
5602
5621
|
<!-- ================================================== -->
|
@@ -5774,6 +5793,7 @@
|
|
5774
5793
|
<!-- (https://www.w3.org/TR/REC-html40/appendix/notes.html#h-B.5.2) -->
|
5775
5794
|
<!-- ================================================== -->
|
5776
5795
|
|
5796
|
+
<!-- INPUT: table with columns widths, generated by table_if.xsl -->
|
5777
5797
|
<xsl:template name="calculate-column-widths-autolayout-algorithm">
|
5778
5798
|
<xsl:param name="parent_table_page-width"/> <!-- for nested tables, in re-calculate step -->
|
5779
5799
|
|
@@ -5785,67 +5805,6 @@
|
|
5785
5805
|
|
5786
5806
|
<!-- Since line wrap has been disabled, paragraphs are treated as long lines unless broken by BR elements. -->
|
5787
5807
|
|
5788
|
-
<!-- get current table id -->
|
5789
|
-
<xsl:variable name="table_id" select="@id"/>
|
5790
|
-
<!-- find table by id in the file 'table_widths' -->
|
5791
|
-
<!-- <xsl:variable name="table-if_" select="$table_widths_from_if//table[@id = $table_id]"/>
|
5792
|
-
<xsl:variable name="table-if" select="xalan:nodeset($table-if_)"/> -->
|
5793
|
-
|
5794
|
-
<!-- table='<xsl:copy-of select="$table"/>' -->
|
5795
|
-
<!-- table_id='<xsl:value-of select="$table_id"/>\ -->
|
5796
|
-
<!-- table-if='<xsl:copy-of select="$table-if"/>' -->
|
5797
|
-
<!-- table_widths_from_if='<xsl:copy-of select="$table_widths_from_if"/>' -->
|
5798
|
-
|
5799
|
-
<xsl:variable name="table_with_cell_widths_">
|
5800
|
-
<xsl:apply-templates select="." mode="determine_cell_widths-if"/> <!-- read column's width from IF -->
|
5801
|
-
</xsl:variable>
|
5802
|
-
<xsl:variable name="table_with_cell_widths" select="xalan:nodeset($table_with_cell_widths_)"/>
|
5803
|
-
|
5804
|
-
<!-- <xsl:if test="$table_if_debug = 'true'">
|
5805
|
-
<xsl:copy-of select="$table_with_cell_widths"/>
|
5806
|
-
</xsl:if> -->
|
5807
|
-
|
5808
|
-
<!-- The minimum and maximum cell widths are then used to determine the corresponding minimum and maximum widths for the columns. -->
|
5809
|
-
|
5810
|
-
<xsl:variable name="column_widths_">
|
5811
|
-
<!-- iteration of columns -->
|
5812
|
-
<xsl:for-each select="$table_with_cell_widths//tr[1]/td">
|
5813
|
-
<xsl:variable name="pos" select="position()"/>
|
5814
|
-
<column>
|
5815
|
-
<xsl:attribute name="width_max">
|
5816
|
-
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_max">
|
5817
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
5818
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
5819
|
-
</xsl:for-each>
|
5820
|
-
</xsl:attribute>
|
5821
|
-
<xsl:attribute name="width_min">
|
5822
|
-
<xsl:for-each select="ancestor::tbody//tr/td[$pos]/@width_min">
|
5823
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
5824
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
5825
|
-
</xsl:for-each>
|
5826
|
-
</xsl:attribute>
|
5827
|
-
</column>
|
5828
|
-
</xsl:for-each>
|
5829
|
-
</xsl:variable>
|
5830
|
-
<xsl:variable name="column_widths" select="xalan:nodeset($column_widths_)"/>
|
5831
|
-
|
5832
|
-
<!-- <column_widths>
|
5833
|
-
<xsl:copy-of select="$column_widths"/>
|
5834
|
-
</column_widths> -->
|
5835
|
-
|
5836
|
-
<!-- These in turn, are used to find the minimum and maximum width for the table. -->
|
5837
|
-
<xsl:variable name="table_widths_">
|
5838
|
-
<table>
|
5839
|
-
<xsl:attribute name="width_max">
|
5840
|
-
<xsl:value-of select="sum($column_widths/column/@width_max)"/>
|
5841
|
-
</xsl:attribute>
|
5842
|
-
<xsl:attribute name="width_min">
|
5843
|
-
<xsl:value-of select="sum($column_widths/column/@width_min)"/>
|
5844
|
-
</xsl:attribute>
|
5845
|
-
</table>
|
5846
|
-
</xsl:variable>
|
5847
|
-
<xsl:variable name="table_widths" select="xalan:nodeset($table_widths_)"/>
|
5848
|
-
|
5849
5808
|
<xsl:variable name="page_width">
|
5850
5809
|
<xsl:choose>
|
5851
5810
|
<xsl:when test="$parent_table_page-width != ''">
|
@@ -5858,16 +5817,13 @@
|
|
5858
5817
|
</xsl:variable>
|
5859
5818
|
|
5860
5819
|
<xsl:if test="$table_if_debug = 'true'">
|
5861
|
-
<
|
5862
|
-
<xsl:copy-of select="$table_widths"/>
|
5863
|
-
</table_width>
|
5864
|
-
<debug>$page_width=<xsl:value-of select="$page_width"/></debug>
|
5820
|
+
<page_width><xsl:value-of select="$page_width"/></page_width>
|
5865
5821
|
</xsl:if>
|
5866
5822
|
|
5867
5823
|
<!-- There are three cases: -->
|
5868
5824
|
<xsl:choose>
|
5869
5825
|
<!-- 1. The minimum table width is equal to or wider than the available space -->
|
5870
|
-
<xsl:when test="
|
5826
|
+
<xsl:when test="@width_min >= $page_width and 1 = 2"> <!-- this condition isn't working see case 3 below -->
|
5871
5827
|
<!-- call old algorithm -->
|
5872
5828
|
<case1/>
|
5873
5829
|
<!-- <xsl:variable name="cols-count" select="count(xalan:nodeset($table)/*/tr[1]/td)"/>
|
@@ -5877,10 +5833,10 @@
|
|
5877
5833
|
</xsl:call-template> -->
|
5878
5834
|
</xsl:when>
|
5879
5835
|
<!-- 2. The maximum table width fits within the available space. In this case, set the columns to their maximum widths. -->
|
5880
|
-
<xsl:when test="
|
5836
|
+
<xsl:when test="@width_max <= $page_width">
|
5881
5837
|
<case2/>
|
5882
5838
|
<autolayout/>
|
5883
|
-
<xsl:for-each select="
|
5839
|
+
<xsl:for-each select="column/@width_max">
|
5884
5840
|
<column divider="100"><xsl:value-of select="."/></column>
|
5885
5841
|
</xsl:for-each>
|
5886
5842
|
</xsl:when>
|
@@ -5890,19 +5846,19 @@
|
|
5890
5846
|
For each column, let d be the difference between maximum and minimum width of that column.
|
5891
5847
|
Now set the column's width to the minimum width plus d times W over D.
|
5892
5848
|
This makes columns with large differences between minimum and maximum widths wider than columns with smaller differences. -->
|
5893
|
-
<xsl:when test="(
|
5849
|
+
<xsl:when test="(@width_max > $page_width and @width_min < $page_width) or (@width_min >= $page_width)">
|
5894
5850
|
<!-- difference between the available space and the minimum table width -->
|
5895
|
-
<xsl:variable name="W" select="$page_width -
|
5851
|
+
<xsl:variable name="W" select="$page_width - @width_min"/>
|
5896
5852
|
<W><xsl:value-of select="$W"/></W>
|
5897
5853
|
<!-- difference between maximum and minimum width of the table -->
|
5898
|
-
<xsl:variable name="D" select="
|
5854
|
+
<xsl:variable name="D" select="@width_max - @width_min"/>
|
5899
5855
|
<D><xsl:value-of select="$D"/></D>
|
5900
5856
|
<case3/>
|
5901
5857
|
<autolayout/>
|
5902
|
-
<xsl:if test="
|
5858
|
+
<xsl:if test="@width_min >= $page_width">
|
5903
5859
|
<split_keep-within-line>true</split_keep-within-line>
|
5904
5860
|
</xsl:if>
|
5905
|
-
<xsl:for-each select="
|
5861
|
+
<xsl:for-each select="column">
|
5906
5862
|
<!-- difference between maximum and minimum width of that column. -->
|
5907
5863
|
<xsl:variable name="d" select="@width_max - @width_min"/>
|
5908
5864
|
<d><xsl:value-of select="$d"/></d>
|
@@ -5928,23 +5884,39 @@
|
|
5928
5884
|
|
5929
5885
|
<parent_element><xsl:value-of select="local-name(..)"/></parent_element>
|
5930
5886
|
|
5887
|
+
<ancestor_tree>
|
5888
|
+
<xsl:for-each select="ancestor::*">
|
5889
|
+
<ancestor><xsl:value-of select="local-name()"/></ancestor>
|
5890
|
+
</xsl:for-each>
|
5891
|
+
</ancestor_tree>
|
5892
|
+
|
5931
5893
|
<xsl:variable name="parent_table_page-width_">
|
5932
5894
|
<xsl:if test="$parent_table_id != ''">
|
5933
5895
|
<!-- determine column number in the parent table -->
|
5934
5896
|
<xsl:variable name="parent_table_column_number">
|
5935
5897
|
<xsl:choose>
|
5936
|
-
<xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when>
|
5898
|
+
<!-- <xsl:when test="parent::*[local-name() = 'dd']">2</xsl:when> -->
|
5899
|
+
<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>
|
5937
5900
|
<xsl:otherwise> <!-- parent is table -->
|
5938
5901
|
<xsl:value-of select="count(ancestor::*[local-name() = 'td'][1]/preceding-sibling::*[local-name() = 'td']) + 1"/>
|
5939
5902
|
</xsl:otherwise>
|
5940
5903
|
</xsl:choose>
|
5941
5904
|
</xsl:variable>
|
5942
5905
|
<!-- find table by id in the file 'table_widths' and get all Nth `<column>...</column> -->
|
5943
|
-
|
5906
|
+
|
5907
|
+
<xsl:variable name="parent_table_column_" select="$table_widths_from_if_calculated//table[@id = $parent_table_id]/column[number($parent_table_column_number)]"/>
|
5908
|
+
<xsl:variable name="parent_table_column" select="xalan:nodeset($parent_table_column_)"/>
|
5909
|
+
<!-- <xsl:variable name="divider">
|
5910
|
+
<xsl:value-of select="$parent_table_column/@divider"/>
|
5911
|
+
<xsl:if test="not($parent_table_column/@divider)">1</xsl:if>
|
5912
|
+
</xsl:variable> -->
|
5913
|
+
<xsl:value-of select="$parent_table_column/text()"/> <!-- * 10 -->
|
5944
5914
|
</xsl:if>
|
5945
5915
|
</xsl:variable>
|
5946
5916
|
<xsl:variable name="parent_table_page-width" select="normalize-space($parent_table_page-width_)"/>
|
5947
5917
|
|
5918
|
+
<parent_table_page-width><xsl:value-of select="$parent_table_page-width"/></parent_table_page-width>
|
5919
|
+
|
5948
5920
|
<!-- get current table id -->
|
5949
5921
|
<xsl:variable name="table_id" select="@id"/>
|
5950
5922
|
|
@@ -5965,50 +5937,6 @@
|
|
5965
5937
|
|
5966
5938
|
</xsl:template> <!-- get-calculated-column-widths-autolayout-algorithm -->
|
5967
5939
|
|
5968
|
-
<!-- ============================= -->
|
5969
|
-
<!-- mode: determine_cell_widths-if -->
|
5970
|
-
<!-- ============================= -->
|
5971
|
-
<xsl:template match="@*|node()" mode="determine_cell_widths-if">
|
5972
|
-
<xsl:copy>
|
5973
|
-
<xsl:apply-templates select="@*|node()" mode="determine_cell_widths-if"/>
|
5974
|
-
</xsl:copy>
|
5975
|
-
</xsl:template>
|
5976
|
-
|
5977
|
-
<xsl:template match="td | th" mode="determine_cell_widths-if">
|
5978
|
-
<xsl:copy>
|
5979
|
-
<xsl:copy-of select="@*"/>
|
5980
|
-
|
5981
|
-
<!-- The maximum width is given by the widest line. -->
|
5982
|
-
<xsl:attribute name="width_max">
|
5983
|
-
<xsl:for-each select="p_len">
|
5984
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
5985
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
5986
|
-
</xsl:for-each>
|
5987
|
-
</xsl:attribute>
|
5988
|
-
|
5989
|
-
<!-- The minimum width is given by the widest text element (word, image, etc.) -->
|
5990
|
-
<xsl:variable name="width_min">
|
5991
|
-
<xsl:for-each select="word_len">
|
5992
|
-
<xsl:sort select="." data-type="number" order="descending"/>
|
5993
|
-
<xsl:if test="position() = 1"><xsl:value-of select="."/></xsl:if>
|
5994
|
-
</xsl:for-each>
|
5995
|
-
</xsl:variable>
|
5996
|
-
<xsl:attribute name="width_min">
|
5997
|
-
<xsl:value-of select="$width_min"/>
|
5998
|
-
</xsl:attribute>
|
5999
|
-
|
6000
|
-
<xsl:if test="$width_min = 0">
|
6001
|
-
<xsl:attribute name="width_min">1</xsl:attribute>
|
6002
|
-
</xsl:if>
|
6003
|
-
|
6004
|
-
<xsl:apply-templates select="node()" mode="determine_cell_widths-if"/>
|
6005
|
-
|
6006
|
-
</xsl:copy>
|
6007
|
-
</xsl:template>
|
6008
|
-
<!-- ============================= -->
|
6009
|
-
<!-- END mode: determine_cell_widths-if -->
|
6010
|
-
<!-- ============================= -->
|
6011
|
-
|
6012
5940
|
<!-- ================================================== -->
|
6013
5941
|
<!-- Calculate column's width based on HTML4 algorithm -->
|
6014
5942
|
<!-- ================================================== -->
|
@@ -6209,6 +6137,7 @@
|
|
6209
6137
|
<xsl:when test="$table_or_dl = 'table'">
|
6210
6138
|
<xsl:for-each select="*[local-name() = 'td' or local-name() = 'th']/*">
|
6211
6139
|
<fo:table-row number-columns-spanned="{$col_count}">
|
6140
|
+
<xsl:copy-of select="../@font-weight"/>
|
6212
6141
|
<!-- <test_table><xsl:copy-of select="."/></test_table> -->
|
6213
6142
|
<xsl:call-template name="td"/>
|
6214
6143
|
</fo:table-row>
|
@@ -6393,7 +6322,7 @@
|
|
6393
6322
|
|
6394
6323
|
<xsl:apply-templates/>
|
6395
6324
|
|
6396
|
-
<xsl:if test="$isGenerateTableIF = 'true'"
|
6325
|
+
<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"/> -->
|
6397
6326
|
|
6398
6327
|
</fo:block>
|
6399
6328
|
</fo:table-cell>
|
@@ -6740,6 +6669,7 @@
|
|
6740
6669
|
<xsl:template match="*[local-name()='dl']">
|
6741
6670
|
<xsl:variable name="isAdded" select="@added"/>
|
6742
6671
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
6672
|
+
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
6743
6673
|
<fo:block-container>
|
6744
6674
|
|
6745
6675
|
<xsl:if test="not(ancestor::*[local-name() = 'li'])">
|
@@ -7274,21 +7204,16 @@
|
|
7274
7204
|
<!-- virtual html table for dl/[dt and dd] for IF (Intermediate Format) -->
|
7275
7205
|
<xsl:template match="*[local-name()='dt']" mode="dl_if">
|
7276
7206
|
<xsl:param name="id"/>
|
7277
|
-
<xsl:variable name="row_number" select="count(preceding-sibling::*[local-name()='dt']) + 1"/>
|
7278
7207
|
<tr>
|
7279
7208
|
<td>
|
7280
7209
|
<xsl:copy-of select="node()"/>
|
7281
7210
|
</td>
|
7282
7211
|
<td>
|
7283
|
-
|
7284
|
-
|
7285
|
-
|
7286
|
-
<!-- get paragraphs from nested 'dl' -->
|
7287
|
-
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
7288
|
-
|
7212
|
+
<xsl:copy-of select="following-sibling::*[local-name()='dd'][1]/node()[not(local-name() = 'dl')]"/>
|
7213
|
+
<!-- get paragraphs from nested 'dl' -->
|
7214
|
+
<xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]/*[local-name() = 'dl']" mode="dl_if_nested"/>
|
7289
7215
|
</td>
|
7290
7216
|
</tr>
|
7291
|
-
|
7292
7217
|
</xsl:template>
|
7293
7218
|
<xsl:template match="*[local-name()='dd']" mode="dl_if"/>
|
7294
7219
|
|
@@ -7939,6 +7864,9 @@
|
|
7939
7864
|
<xsl:variable name="td">
|
7940
7865
|
<xsl:element name="td">
|
7941
7866
|
<xsl:attribute name="divide"><xsl:value-of select="@colspan"/></xsl:attribute>
|
7867
|
+
<xsl:if test="local-name()='th'">
|
7868
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
7869
|
+
</xsl:if>
|
7942
7870
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
7943
7871
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
7944
7872
|
</xsl:element>
|
@@ -7951,6 +7879,9 @@
|
|
7951
7879
|
<xsl:otherwise>
|
7952
7880
|
<xsl:element name="td">
|
7953
7881
|
<xsl:apply-templates select="@*" mode="simple-table-colspan"/>
|
7882
|
+
<xsl:if test="local-name()='th'">
|
7883
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
7884
|
+
</xsl:if>
|
7954
7885
|
<xsl:apply-templates mode="simple-table-colspan"/>
|
7955
7886
|
</xsl:element>
|
7956
7887
|
</xsl:otherwise>
|
@@ -8080,8 +8011,14 @@
|
|
8080
8011
|
<xsl:copy-of select="@*"/>
|
8081
8012
|
<xsl:variable name="row_number" select="count(../preceding-sibling::*) + 1"/>
|
8082
8013
|
<xsl:variable name="col_number" select="count(preceding-sibling::*) + 1"/>
|
8014
|
+
<xsl:variable name="divide">
|
8015
|
+
<xsl:choose>
|
8016
|
+
<xsl:when test="@divide"><xsl:value-of select="@divide"/></xsl:when>
|
8017
|
+
<xsl:otherwise>1</xsl:otherwise>
|
8018
|
+
</xsl:choose>
|
8019
|
+
</xsl:variable>
|
8083
8020
|
<xsl:attribute name="id">
|
8084
|
-
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number)"/>
|
8021
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_',$divide)"/>
|
8085
8022
|
</xsl:attribute>
|
8086
8023
|
|
8087
8024
|
<xsl:for-each select="*[local-name() = 'p']">
|
@@ -8089,10 +8026,12 @@
|
|
8089
8026
|
<xsl:copy-of select="@*"/>
|
8090
8027
|
<xsl:variable name="p_num" select="count(preceding-sibling::*[local-name() = 'p']) + 1"/>
|
8091
8028
|
<xsl:attribute name="id">
|
8092
|
-
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num)"/>
|
8029
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_p_',$p_num,'_',$divide)"/>
|
8093
8030
|
</xsl:attribute>
|
8094
8031
|
|
8095
|
-
<xsl:copy-of select="node()"/>
|
8032
|
+
<!-- <xsl:copy-of select="node()" /> -->
|
8033
|
+
<xsl:apply-templates mode="simple-table-noid"/>
|
8034
|
+
|
8096
8035
|
</xsl:copy>
|
8097
8036
|
</xsl:for-each>
|
8098
8037
|
|
@@ -8121,7 +8060,7 @@
|
|
8121
8060
|
<xsl:variable name="num" select="count(preceding-sibling::word) + 1"/>
|
8122
8061
|
<xsl:copy>
|
8123
8062
|
<xsl:attribute name="id">
|
8124
|
-
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num)"/>
|
8063
|
+
<xsl:value-of select="concat($id,'_',$row_number,'_',$col_number,'_word_',$num,'_',$divide)"/>
|
8125
8064
|
</xsl:attribute>
|
8126
8065
|
<xsl:copy-of select="node()"/>
|
8127
8066
|
</xsl:copy>
|
@@ -8130,6 +8069,24 @@
|
|
8130
8069
|
</xsl:copy>
|
8131
8070
|
|
8132
8071
|
</xsl:template>
|
8072
|
+
|
8073
|
+
<xsl:template match="*[local-name()='th' or local-name()='td']/*[local-name() = 'p']//*" mode="simple-table-noid">
|
8074
|
+
<xsl:copy>
|
8075
|
+
<xsl:choose>
|
8076
|
+
<xsl:when test="$isGenerateTableIF = 'true'">
|
8077
|
+
<xsl:copy-of select="@*[local-name() != 'id']"/> <!-- to prevent repeat id in colspan/rowspan cells -->
|
8078
|
+
<!-- <xsl:if test="local-name() = 'dl' or local-name() = 'table'">
|
8079
|
+
<xsl:copy-of select="@id"/>
|
8080
|
+
</xsl:if> -->
|
8081
|
+
</xsl:when>
|
8082
|
+
<xsl:otherwise>
|
8083
|
+
<xsl:copy-of select="@*"/>
|
8084
|
+
</xsl:otherwise>
|
8085
|
+
</xsl:choose>
|
8086
|
+
<xsl:apply-templates select="node()" mode="simple-table-noid"/>
|
8087
|
+
</xsl:copy>
|
8088
|
+
</xsl:template>
|
8089
|
+
|
8133
8090
|
<!-- End mode: simple-table-id -->
|
8134
8091
|
<!-- ===================== -->
|
8135
8092
|
<!-- ===================== -->
|
@@ -8139,7 +8096,7 @@
|
|
8139
8096
|
<!-- =============================== -->
|
8140
8097
|
<xsl:template match="@*|node()" mode="td_text_with_formatting">
|
8141
8098
|
<xsl:copy>
|
8142
|
-
|
8099
|
+
<xsl:apply-templates select="@*|node()" mode="td_text_with_formatting"/>
|
8143
8100
|
</xsl:copy>
|
8144
8101
|
</xsl:template>
|
8145
8102
|
|
@@ -8257,6 +8214,10 @@
|
|
8257
8214
|
<xsl:attribute name="font-size">95%</xsl:attribute> <!-- base font in table is 10pt -->
|
8258
8215
|
</xsl:if>
|
8259
8216
|
|
8217
|
+
<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 -->
|
8218
|
+
<!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
|
8219
|
+
</xsl:if>
|
8220
|
+
|
8260
8221
|
<xsl:call-template name="setTrackChangesStyles">
|
8261
8222
|
<xsl:with-param name="isAdded" select="$isAdded"/>
|
8262
8223
|
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
@@ -10196,41 +10157,47 @@
|
|
10196
10157
|
</fo:block>
|
10197
10158
|
</xsl:template>
|
10198
10159
|
|
10199
|
-
<xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit']">
|
10160
|
+
<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']">
|
10200
10161
|
<fo:block xsl:use-attribute-sets="inherit-style">
|
10201
10162
|
<xsl:text>Dependency </xsl:text><xsl:apply-templates/>
|
10202
10163
|
</fo:block>
|
10203
10164
|
</xsl:template>
|
10204
10165
|
|
10205
|
-
<xsl:template match="*[local-name() = 'description'] | *[local-name() = 'component'][@class = 'description']">
|
10166
|
+
<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']">
|
10206
10167
|
<fo:block xsl:use-attribute-sets="description-style">
|
10207
10168
|
<xsl:apply-templates/>
|
10208
10169
|
</fo:block>
|
10209
10170
|
</xsl:template>
|
10210
10171
|
|
10211
|
-
<xsl:template match="*[local-name() = 'specification'] | *[local-name() = 'component'][@class = 'specification']">
|
10172
|
+
<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']">
|
10212
10173
|
<fo:block xsl:use-attribute-sets="specification-style">
|
10213
10174
|
<xsl:apply-templates/>
|
10214
10175
|
</fo:block>
|
10215
10176
|
</xsl:template>
|
10216
10177
|
|
10217
|
-
<xsl:template match="*[local-name() = 'measurement-target'] | *[local-name() = 'component'][@class = 'measurement-target']">
|
10178
|
+
<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']">
|
10218
10179
|
<fo:block xsl:use-attribute-sets="measurement-target-style">
|
10219
10180
|
<xsl:apply-templates/>
|
10220
10181
|
</fo:block>
|
10221
10182
|
</xsl:template>
|
10222
10183
|
|
10223
|
-
<xsl:template match="*[local-name() = 'verification'] | *[local-name() = 'component'][@class = 'verification']">
|
10184
|
+
<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']">
|
10224
10185
|
<fo:block xsl:use-attribute-sets="verification-style">
|
10225
10186
|
<xsl:apply-templates/>
|
10226
10187
|
</fo:block>
|
10227
10188
|
</xsl:template>
|
10228
10189
|
|
10229
|
-
<xsl:template match="*[local-name() = 'import'] | *[local-name() = 'component'][@class = 'import']">
|
10190
|
+
<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']">
|
10230
10191
|
<fo:block xsl:use-attribute-sets="import-style">
|
10231
10192
|
<xsl:apply-templates/>
|
10232
10193
|
</fo:block>
|
10233
10194
|
</xsl:template>
|
10195
|
+
|
10196
|
+
<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')]">
|
10197
|
+
<fo:block xsl:use-attribute-sets="component-style">
|
10198
|
+
<xsl:apply-templates/>
|
10199
|
+
</fo:block>
|
10200
|
+
</xsl:template>
|
10234
10201
|
<!-- ========== -->
|
10235
10202
|
<!-- END -->
|
10236
10203
|
<!-- ========== -->
|
@@ -10286,15 +10253,12 @@
|
|
10286
10253
|
|
10287
10254
|
<xsl:template match="*[local-name()='tr']" mode="requirement">
|
10288
10255
|
<fo:table-row height="7mm" border-bottom="0.5pt solid grey">
|
10289
|
-
|
10290
|
-
|
10291
|
-
|
10292
|
-
|
10293
|
-
<xsl:attribute name="background-color">rgb(252, 246, 222)</xsl:attribute>
|
10294
|
-
</xsl:if>
|
10295
|
-
<xsl:if test="starts-with(*[local-name()='td'][1], 'Recommendation ')">
|
10296
|
-
<xsl:attribute name="background-color">rgb(233, 235, 239)</xsl:attribute>
|
10256
|
+
|
10257
|
+
<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 ')">
|
10258
|
+
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
10259
|
+
|
10297
10260
|
</xsl:if>
|
10261
|
+
|
10298
10262
|
<xsl:apply-templates mode="requirement"/>
|
10299
10263
|
</fo:table-row>
|
10300
10264
|
</xsl:template>
|
@@ -11816,7 +11780,7 @@
|
|
11816
11780
|
</tbody>
|
11817
11781
|
</xsl:variable>
|
11818
11782
|
<xsl:variable name="cols-count" select="count(xalan:nodeset($toc_table_simple)/*/tr[1]/td)"/>
|
11819
|
-
<xsl:call-template name="calculate-column-widths">
|
11783
|
+
<xsl:call-template name="calculate-column-widths-proportional">
|
11820
11784
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
11821
11785
|
<xsl:with-param name="table" select="$toc_table_simple"/>
|
11822
11786
|
</xsl:call-template>
|