metanorma-un 0.10.11 → 0.10.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -1797,6 +1797,7 @@
1797
1797
  </xsl:attribute-set>
1798
1798
 
1799
1799
  <xsl:attribute-set name="figure-block-style">
1800
+ <xsl:attribute name="role">SKIP</xsl:attribute>
1800
1801
 
1801
1802
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1802
1803
 
@@ -1807,6 +1808,7 @@
1807
1808
  </xsl:attribute-set>
1808
1809
 
1809
1810
  <xsl:attribute-set name="figure-name-style">
1811
+ <xsl:attribute name="role">Caption</xsl:attribute>
1810
1812
 
1811
1813
  <xsl:attribute name="text-align">center</xsl:attribute>
1812
1814
  <xsl:attribute name="font-size">9pt</xsl:attribute>
@@ -1856,6 +1858,7 @@
1856
1858
  </xsl:template>
1857
1859
 
1858
1860
  <xsl:attribute-set name="image-style">
1861
+ <xsl:attribute name="role">SKIP</xsl:attribute>
1859
1862
  <xsl:attribute name="text-align">center</xsl:attribute>
1860
1863
 
1861
1864
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -2134,6 +2137,11 @@
2134
2137
 
2135
2138
  </xsl:attribute-set> <!-- bibitem-non-normative-list-style -->
2136
2139
 
2140
+ <xsl:attribute-set name="bibitem-non-normative-list-item-style">
2141
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2142
+
2143
+ </xsl:attribute-set>
2144
+
2137
2145
  <!-- bibitem in bibliography section (references/@normative="false"), list body -->
2138
2146
  <xsl:attribute-set name="bibitem-normative-list-body-style">
2139
2147
 
@@ -2525,14 +2533,14 @@
2525
2533
  <xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
2526
2534
  </xsl:when>
2527
2535
  <xsl:otherwise>
2528
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
2536
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
2529
2537
  </xsl:otherwise>
2530
2538
  </xsl:choose>
2531
2539
  </xsl:for-each>
2532
2540
  </xsl:when>
2533
2541
 
2534
2542
  <xsl:otherwise>
2535
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
2543
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
2536
2544
  </xsl:otherwise>
2537
2545
 
2538
2546
  </xsl:choose>
@@ -2542,7 +2550,7 @@
2542
2550
  <!-- Preface boilerplate sections processing -->
2543
2551
  <!-- ================================= -->
2544
2552
  <xsl:template match="*[local-name()='copyright-statement']">
2545
- <fo:block xsl:use-attribute-sets="copyright-statement-style">
2553
+ <fo:block xsl:use-attribute-sets="copyright-statement-style" role="SKIP">
2546
2554
  <xsl:apply-templates/>
2547
2555
  </fo:block>
2548
2556
  </xsl:template> <!-- copyright-statement -->
@@ -2712,7 +2720,7 @@
2712
2720
  </xsl:choose>
2713
2721
  </xsl:variable>
2714
2722
 
2715
- <fo:block-container xsl:use-attribute-sets="table-container-style">
2723
+ <fo:block-container xsl:use-attribute-sets="table-container-style" role="SKIP">
2716
2724
 
2717
2725
  <xsl:call-template name="refine_table-container-style">
2718
2726
  <xsl:with-param name="margin-side" select="$margin-side"/>
@@ -3748,7 +3756,7 @@
3748
3756
  </xsl:choose>
3749
3757
  </xsl:variable>
3750
3758
  <xsl:variable name="footnote_inline">
3751
- <fo:inline>
3759
+ <fo:inline role="Reference">
3752
3760
 
3753
3761
  <xsl:variable name="fn_styles">
3754
3762
  <xsl:choose>
@@ -3771,7 +3779,7 @@
3771
3779
 
3772
3780
  <xsl:call-template name="insert_basic_link">
3773
3781
  <xsl:with-param name="element">
3774
- <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3782
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl">
3775
3783
  <xsl:copy-of select="$current_fn_number_text"/>
3776
3784
  </fo:basic-link>
3777
3785
  </xsl:with-param>
@@ -3784,17 +3792,17 @@
3784
3792
  <xsl:copy-of select="$footnote_inline"/>
3785
3793
  </xsl:when>
3786
3794
  <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
3787
- <fo:footnote xsl:use-attribute-sets="fn-style">
3795
+ <fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
3788
3796
  <xsl:copy-of select="$footnote_inline"/>
3789
- <fo:footnote-body>
3797
+ <fo:footnote-body role="Note">
3790
3798
 
3791
- <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3799
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
3792
3800
 
3793
- <fo:block xsl:use-attribute-sets="fn-body-style">
3801
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
3794
3802
 
3795
3803
  <xsl:call-template name="refine_fn-body-style"/>
3796
3804
 
3797
- <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3805
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
3798
3806
 
3799
3807
  <xsl:call-template name="refine_fn-body-num-style"/>
3800
3808
 
@@ -4056,11 +4064,11 @@
4056
4064
  </xsl:template>
4057
4065
 
4058
4066
  <xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
4059
- <fo:inline><xsl:value-of select="."/></fo:inline>
4067
+ <fo:inline role="SKIP"><xsl:value-of select="."/></fo:inline>
4060
4068
  </xsl:template>
4061
4069
 
4062
4070
  <xsl:template match="*[local-name()='fn']//*[local-name()='p']">
4063
- <fo:inline>
4071
+ <fo:inline role="P">
4064
4072
  <xsl:apply-templates/>
4065
4073
  </fo:inline>
4066
4074
  </xsl:template>
@@ -4075,7 +4083,7 @@
4075
4083
  <xsl:variable name="isAdded" select="@added"/>
4076
4084
  <xsl:variable name="isDeleted" select="@deleted"/>
4077
4085
  <!-- <dl><xsl:copy-of select="."/></dl> -->
4078
- <fo:block-container xsl:use-attribute-sets="dl-block-style">
4086
+ <fo:block-container xsl:use-attribute-sets="dl-block-style" role="SKIP">
4079
4087
 
4080
4088
  <xsl:call-template name="setBlockSpanAll"/>
4081
4089
 
@@ -4110,7 +4118,7 @@
4110
4118
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4111
4119
  </xsl:call-template>
4112
4120
 
4113
- <fo:block-container margin-left="0mm">
4121
+ <fo:block-container margin-left="0mm" role="SKIP">
4114
4122
 
4115
4123
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
4116
4124
 
@@ -4175,7 +4183,7 @@
4175
4183
 
4176
4184
  <!-- a few components -->
4177
4185
  <xsl:if test="$onlyOneComponent = 'false'">
4178
- <fo:block>
4186
+ <fo:block role="SKIP">
4179
4187
 
4180
4188
  <xsl:call-template name="refine_multicomponent_style"/>
4181
4189
 
@@ -4183,7 +4191,7 @@
4183
4191
  <xsl:attribute name="margin-top">0</xsl:attribute>
4184
4192
  </xsl:if>
4185
4193
 
4186
- <fo:block>
4194
+ <fo:block role="SKIP">
4187
4195
 
4188
4196
  <xsl:call-template name="refine_multicomponent_block_style"/>
4189
4197
 
@@ -4778,6 +4786,9 @@
4778
4786
 
4779
4787
  <xsl:template name="refine_strong_style">
4780
4788
 
4789
+ <xsl:if test="ancestor::*['preferred']">
4790
+ <xsl:attribute name="role">SKIP</xsl:attribute>
4791
+ </xsl:if>
4781
4792
  </xsl:template>
4782
4793
 
4783
4794
  <xsl:template match="*[local-name()='padding']">
@@ -5709,6 +5720,18 @@
5709
5720
  </xsl:copy>
5710
5721
  </xsl:template>
5711
5722
 
5723
+ <xsl:variable name="font_main_root_style">
5724
+ <root-style xsl:use-attribute-sets="root-style">
5725
+ </root-style>
5726
+ </xsl:variable>
5727
+ <xsl:variable name="font_main_root_style_font_family" select="xalan:nodeset($font_main_root_style)/root-style/@font-family"/>
5728
+ <xsl:variable name="font_main">
5729
+ <xsl:choose>
5730
+ <xsl:when test="contains($font_main_root_style_font_family, ',')"><xsl:value-of select="substring-before($font_main_root_style_font_family, ',')"/></xsl:when>
5731
+ <xsl:otherwise><xsl:value-of select="$font_main_root_style_font_family"/></xsl:otherwise>
5732
+ </xsl:choose>
5733
+ </xsl:variable>
5734
+
5712
5735
  <xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
5713
5736
  <xsl:param name="id"/>
5714
5737
  <xsl:copy>
@@ -5747,6 +5770,33 @@
5747
5770
 
5748
5771
  <!-- td_text='<xsl:copy-of select="$td_text"/>' -->
5749
5772
 
5773
+ <xsl:variable name="words_with_width">
5774
+ <!-- calculate width for 'word' which contain text only (without formatting tags inside) -->
5775
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][not(*)]">
5776
+ <xsl:copy>
5777
+ <xsl:copy-of select="@*"/>
5778
+ <xsl:attribute name="width">
5779
+ <xsl:value-of select="java:org.metanorma.fop.Util.getStringWidth(., $font_main)"/> <!-- Example: 'Times New Roman' -->
5780
+ </xsl:attribute>
5781
+ <xsl:copy-of select="node()"/>
5782
+ </xsl:copy>
5783
+ </xsl:for-each>
5784
+ </xsl:variable>
5785
+
5786
+ <xsl:variable name="words_with_width_sorted">
5787
+ <xsl:for-each select="xalan:nodeset($words_with_width)//*[local-name() = 'word']">
5788
+ <xsl:sort select="@width" data-type="number" order="descending"/>
5789
+ <!-- select word maximal width only -->
5790
+ <xsl:if test="position() = 1">
5791
+ <xsl:copy-of select="."/>
5792
+ </xsl:if>
5793
+ </xsl:for-each>
5794
+ <!-- add 'word' with formatting tags inside -->
5795
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][*]">
5796
+ <xsl:copy-of select="."/>
5797
+ </xsl:for-each>
5798
+ </xsl:variable>
5799
+
5750
5800
  <xsl:variable name="words">
5751
5801
  <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
5752
5802
  <word>
@@ -5754,9 +5804,12 @@
5754
5804
  </word>
5755
5805
  </xsl:for-each>
5756
5806
 
5757
- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
5807
+ <xsl:for-each select="xalan:nodeset($words_with_width_sorted)//*[local-name() = 'word'][normalize-space() != '']">
5758
5808
  <xsl:copy-of select="."/>
5759
5809
  </xsl:for-each>
5810
+ <!-- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
5811
+ <xsl:copy-of select="."/>
5812
+ </xsl:for-each> -->
5760
5813
 
5761
5814
  </xsl:variable>
5762
5815
 
@@ -6217,10 +6270,10 @@
6217
6270
  <xsl:copy>
6218
6271
  <xsl:apply-templates select="@*" mode="mathml"/>
6219
6272
  <xsl:if test="not(@lspace)">
6220
- <xsl:attribute name="lspace">0.4em</xsl:attribute>
6273
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6221
6274
  </xsl:if>
6222
- <xsl:if test="not(@rspace)">
6223
- <xsl:attribute name="rspace">0.4em</xsl:attribute>
6275
+ <xsl:if test="not(@rspace) and not(following-sibling::*[1][self::mathml:mo and normalize-space(text()) = '|'])">
6276
+ <xsl:attribute name="rspace">0.2em</xsl:attribute>
6224
6277
  </xsl:if>
6225
6278
  <xsl:apply-templates mode="mathml"/>
6226
6279
  </xsl:copy>
@@ -6237,6 +6290,27 @@
6237
6290
  </xsl:copy>
6238
6291
  </xsl:template>
6239
6292
 
6293
+ <!-- increase space before '(' -->
6294
+ <xsl:template match="mathml:mo[normalize-space(text()) = '(']" mode="mathml">
6295
+ <xsl:copy>
6296
+ <xsl:apply-templates select="@*" mode="mathml"/>
6297
+ <xsl:if test="(preceding-sibling::* and not(preceding-sibling::*[1][self::mathml:mo])) or (../preceding-sibling::* and not(../preceding-sibling::*[1][self::mathml:mo]))">
6298
+ <xsl:if test="not(@lspace)">
6299
+ <xsl:attribute name="lspace">0.4em</xsl:attribute>
6300
+ <xsl:choose>
6301
+ <xsl:when test="preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
6302
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6303
+ </xsl:when>
6304
+ <xsl:when test="../preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
6305
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6306
+ </xsl:when>
6307
+ </xsl:choose>
6308
+ </xsl:if>
6309
+ </xsl:if>
6310
+ <xsl:apply-templates mode="mathml"/>
6311
+ </xsl:copy>
6312
+ </xsl:template>
6313
+
6240
6314
  <!-- Examples:
6241
6315
  <stem type="AsciiMath">x = 1</stem>
6242
6316
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -6396,7 +6470,7 @@
6396
6470
  <!-- formula -->
6397
6471
  <!-- ====== -->
6398
6472
  <xsl:template match="*[local-name() = 'formula']" name="formula">
6399
- <fo:block-container margin-left="0mm">
6473
+ <fo:block-container margin-left="0mm" role="SKIP">
6400
6474
  <xsl:if test="parent::*[local-name() = 'note']">
6401
6475
  <xsl:attribute name="margin-left">
6402
6476
  <xsl:choose>
@@ -6406,7 +6480,7 @@
6406
6480
  </xsl:attribute>
6407
6481
 
6408
6482
  </xsl:if>
6409
- <fo:block-container margin-left="0mm">
6483
+ <fo:block-container margin-left="0mm" role="SKIP">
6410
6484
  <fo:block id="{@id}">
6411
6485
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
6412
6486
  </fo:block>
@@ -6486,13 +6560,13 @@
6486
6560
 
6487
6561
  <xsl:template match="*[local-name() = 'note']" name="note">
6488
6562
 
6489
- <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
6563
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
6490
6564
 
6491
6565
  <xsl:call-template name="setBlockSpanAll"/>
6492
6566
 
6493
6567
  <xsl:call-template name="refine_note-style"/>
6494
6568
 
6495
- <fo:block-container margin-left="0mm" margin-right="0mm">
6569
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
6496
6570
 
6497
6571
  <fo:block>
6498
6572
 
@@ -6667,12 +6741,13 @@
6667
6741
 
6668
6742
  <xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
6669
6743
  <xsl:if test="normalize-space() != ''">
6670
- <xsl:variable name="level">
6744
+ <!-- <xsl:variable name="level">
6671
6745
  <xsl:call-template name="getLevelTermName"/>
6672
6746
  </xsl:variable>
6673
6747
  <fo:inline role="H{$level}">
6674
- <xsl:apply-templates/>
6675
- </fo:inline>
6748
+ <xsl:apply-templates />
6749
+ </fo:inline> -->
6750
+ <xsl:apply-templates/>
6676
6751
  </xsl:if>
6677
6752
  </xsl:template>
6678
6753
  <!-- ====== -->
@@ -6696,7 +6771,7 @@
6696
6771
  <!-- Example: Dimensions in millimeters -->
6697
6772
  <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
6698
6773
 
6699
- <fo:block xsl:use-attribute-sets="figure-style">
6774
+ <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
6700
6775
  <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
6701
6776
  </fo:block>
6702
6777
  <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
@@ -7830,7 +7905,7 @@
7830
7905
  </xsl:when>
7831
7906
 
7832
7907
  <xsl:otherwise>
7833
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
7908
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style" role="SKIP">
7834
7909
 
7835
7910
  <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
7836
7911
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
@@ -7851,7 +7926,7 @@
7851
7926
  </xsl:attribute>
7852
7927
 
7853
7928
  </xsl:if>
7854
- <fo:block-container margin-left="0mm">
7929
+ <fo:block-container margin-left="0mm" role="SKIP">
7855
7930
 
7856
7931
  <fo:block xsl:use-attribute-sets="sourcecode-style">
7857
7932
 
@@ -8397,11 +8472,11 @@
8397
8472
  <!-- requirement, recommendation, permission table -->
8398
8473
  <!-- ========== -->
8399
8474
  <xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
8400
- <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
8475
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt" role="SKIP">
8401
8476
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
8402
8477
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
8403
8478
  </xsl:if>
8404
- <fo:block-container margin-left="0mm" margin-right="0mm">
8479
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8405
8480
  <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
8406
8481
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
8407
8482
  <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
@@ -8563,7 +8638,7 @@
8563
8638
  -->
8564
8639
  <xsl:template match="*[local-name() = 'example']">
8565
8640
 
8566
- <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style">
8641
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
8567
8642
 
8568
8643
  <xsl:call-template name="setBlockSpanAll"/>
8569
8644
 
@@ -8574,7 +8649,7 @@
8574
8649
  block
8575
8650
  </xsl:variable>
8576
8651
 
8577
- <fo:block-container margin-left="0mm">
8652
+ <fo:block-container margin-left="0mm" role="SKIP">
8578
8653
 
8579
8654
  <xsl:choose>
8580
8655
 
@@ -8587,8 +8662,8 @@
8587
8662
  </xsl:apply-templates>
8588
8663
  </fo:block>
8589
8664
 
8590
- <fo:block-container xsl:use-attribute-sets="example-body-style">
8591
- <fo:block-container margin-left="0mm" margin-right="0mm">
8665
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
8666
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8592
8667
  <xsl:apply-templates select="node()[not(local-name() = 'name')]">
8593
8668
  <xsl:with-param name="fo_element" select="$fo_element"/>
8594
8669
  </xsl:apply-templates>
@@ -8641,8 +8716,8 @@
8641
8716
 
8642
8717
  <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
8643
8718
  <!-- display further elements in blocks -->
8644
- <fo:block-container xsl:use-attribute-sets="example-body-style">
8645
- <fo:block-container margin-left="0mm" margin-right="0mm">
8719
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
8720
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8646
8721
  <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
8647
8722
  <xsl:with-param name="fo_element" select="'block'"/>
8648
8723
  </xsl:apply-templates>
@@ -8695,7 +8770,7 @@
8695
8770
  </xsl:variable>
8696
8771
  <xsl:choose>
8697
8772
  <xsl:when test="starts-with(normalize-space($element), 'block')">
8698
- <fo:block-container>
8773
+ <fo:block-container role="SKIP">
8699
8774
  <xsl:if test="ancestor::*[local-name() = 'li'] and contains(normalize-space($fo_element), 'block')">
8700
8775
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
8701
8776
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -8836,7 +8911,7 @@
8836
8911
  <!-- author -->
8837
8912
  <!-- ====== -->
8838
8913
  <xsl:template match="*[local-name() = 'quote']">
8839
- <fo:block-container margin-left="0mm">
8914
+ <fo:block-container margin-left="0mm" role="SKIP">
8840
8915
 
8841
8916
  <xsl:call-template name="setBlockSpanAll"/>
8842
8917
 
@@ -8846,12 +8921,12 @@
8846
8921
  </xsl:if>
8847
8922
  </xsl:if>
8848
8923
 
8849
- <fo:block-container margin-left="0mm">
8850
- <fo:block-container xsl:use-attribute-sets="quote-style">
8924
+ <fo:block-container margin-left="0mm" role="SKIP">
8925
+ <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
8851
8926
 
8852
8927
  <xsl:call-template name="refine_quote-style"/>
8853
8928
 
8854
- <fo:block-container margin-left="0mm" margin-right="0mm">
8929
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8855
8930
  <fo:block role="BlockQuote">
8856
8931
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
8857
8932
  </fo:block>
@@ -9007,10 +9082,10 @@
9007
9082
 
9008
9083
  <xsl:choose>
9009
9084
  <xsl:when test="$lang = 'zh'">
9010
- <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
9085
+ <fo:inline role="SKIP"><xsl:value-of select="$tab_zh"/></fo:inline>
9011
9086
  </xsl:when>
9012
9087
  <xsl:when test="../../@inline-header = 'true'">
9013
- <fo:inline font-size="90%">
9088
+ <fo:inline font-size="90%" role="SKIP">
9014
9089
  <xsl:call-template name="insertNonBreakSpaces">
9015
9090
  <xsl:with-param name="count" select="$padding-right"/>
9016
9091
  </xsl:call-template>
@@ -9018,7 +9093,7 @@
9018
9093
  </xsl:when>
9019
9094
  <xsl:otherwise>
9020
9095
  <xsl:variable name="direction"><xsl:if test="$lang = 'ar'"><xsl:value-of select="$RLM"/></xsl:if></xsl:variable>
9021
- <fo:inline padding-right="{$padding-right}mm"><xsl:value-of select="$direction"/>​</fo:inline>
9096
+ <fo:inline padding-right="{$padding-right}mm" role="SKIP"><xsl:value-of select="$direction"/>​</fo:inline>
9022
9097
  </xsl:otherwise>
9023
9098
  </xsl:choose>
9024
9099
 
@@ -9048,12 +9123,12 @@
9048
9123
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
9049
9124
 
9050
9125
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
9051
- <fo:block xsl:use-attribute-sets="term-name-style">
9126
+ <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
9052
9127
  <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
9053
9128
  </fo:block>
9054
9129
  </xsl:if>
9055
9130
 
9056
- <fo:block xsl:use-attribute-sets="preferred-term-style">
9131
+ <fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
9057
9132
  <xsl:call-template name="setStyle_preferred"/>
9058
9133
  <xsl:apply-templates/>
9059
9134
  </fo:block>
@@ -9094,7 +9169,7 @@
9094
9169
  <!-- definition -->
9095
9170
  <!-- ========== -->
9096
9171
  <xsl:template match="*[local-name() = 'definition']">
9097
- <fo:block xsl:use-attribute-sets="definition-style">
9172
+ <fo:block xsl:use-attribute-sets="definition-style" role="SKIP">
9098
9173
  <xsl:apply-templates/>
9099
9174
  </fo:block>
9100
9175
  </xsl:template>
@@ -9144,6 +9219,10 @@
9144
9219
 
9145
9220
  <xsl:template match="*[local-name() = 'clause']">
9146
9221
  <fo:block>
9222
+ <xsl:if test="parent::*[local-name() = 'copyright-statement']">
9223
+ <xsl:attribute name="role">SKIP</xsl:attribute>
9224
+ </xsl:if>
9225
+
9147
9226
  <xsl:call-template name="setId"/>
9148
9227
 
9149
9228
  <xsl:call-template name="setBlockSpanAll"/>
@@ -9385,7 +9464,7 @@
9385
9464
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
9386
9465
  <xsl:choose>
9387
9466
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
9388
- <fo:block-container>
9467
+ <fo:block-container role="SKIP">
9389
9468
  <xsl:attribute name="margin-left">
9390
9469
  <xsl:choose>
9391
9470
  <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
@@ -9395,7 +9474,7 @@
9395
9474
 
9396
9475
  <xsl:call-template name="refine_list_container_style"/>
9397
9476
 
9398
- <fo:block-container margin-left="0mm">
9477
+ <fo:block-container margin-left="0mm" role="SKIP">
9399
9478
  <fo:block>
9400
9479
  <xsl:apply-templates select="." mode="list"/>
9401
9480
  </fo:block>
@@ -9404,7 +9483,7 @@
9404
9483
  </xsl:when>
9405
9484
  <xsl:otherwise>
9406
9485
 
9407
- <fo:block>
9486
+ <fo:block role="SKIP">
9408
9487
  <xsl:apply-templates select="." mode="list"/>
9409
9488
  </fo:block>
9410
9489
 
@@ -9826,7 +9905,10 @@
9826
9905
  <!-- Reference sections (Normative References and Bibliography) -->
9827
9906
  <!-- ========================================================== -->
9828
9907
  <xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/>
9829
- <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/>
9908
+ <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3">
9909
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/>
9910
+
9911
+ </xsl:template>
9830
9912
  <!-- don't display bibitem with @id starts with '_hidden', that was introduced for references integrity -->
9831
9913
  <xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/>
9832
9914
 
@@ -9873,6 +9955,7 @@
9873
9955
 
9874
9956
  <!-- Bibliography (non-normative references) -->
9875
9957
  <xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
9958
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
9876
9959
 
9877
9960
  <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-style">
9878
9961
  <xsl:call-template name="processBibitem"/>
@@ -9880,6 +9963,35 @@
9880
9963
 
9881
9964
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
9882
9965
 
9966
+ <xsl:template name="insertListItem_Bibitem">
9967
+ <xsl:choose>
9968
+ <xsl:when test="@hidden = 'true'"><!-- skip --></xsl:when>
9969
+ <xsl:otherwise>
9970
+ <fo:list-item id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-item-style">
9971
+ <fo:list-item-label end-indent="label-end()">
9972
+ <fo:block role="SKIP">
9973
+ <fo:inline role="SKIP">
9974
+ <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
9975
+ <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
9976
+ </xsl:apply-templates>
9977
+ </fo:inline>
9978
+ </fo:block>
9979
+ </fo:list-item-label>
9980
+ <fo:list-item-body start-indent="body-start()">
9981
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style" role="SKIP">
9982
+ <xsl:call-template name="processBibitem">
9983
+ <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
9984
+ </xsl:call-template>
9985
+ </fo:block>
9986
+ </fo:list-item-body>
9987
+ </fo:list-item>
9988
+ </xsl:otherwise>
9989
+ </xsl:choose>
9990
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'bibitem']">
9991
+ <xsl:with-param name="skip">false</xsl:with-param>
9992
+ </xsl:apply-templates>
9993
+ </xsl:template>
9994
+
9883
9995
  <xsl:template name="processBibitem">
9884
9996
  <xsl:param name="biblio_tag_part">both</xsl:param>
9885
9997
 
@@ -10221,9 +10333,9 @@
10221
10333
  <xsl:call-template name="displayAdmonitionName"/>
10222
10334
  </fo:block>
10223
10335
 
10224
- <fo:block-container xsl:use-attribute-sets="admonition-container-style">
10336
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style" role="SKIP">
10225
10337
 
10226
- <fo:block-container margin-left="0mm" margin-right="0mm">
10338
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
10227
10339
  <fo:block>
10228
10340
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
10229
10341
  </fo:block>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module UN
3
- VERSION = "0.10.11".freeze
3
+ VERSION = "0.10.12".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-un
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.11
4
+ version: 0.10.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-06-19 00:00:00.000000000 Z
11
+ date: 2023-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: iso-639