metanorma-bipm 2.2.12 → 2.2.13

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32e20a550433c8b8a0d0e7fde6e13f352674d19d9449837f5a6c98e997dd88c2
4
- data.tar.gz: d76e96ea6028bcac17b1b43dcf248594ba493c1fd8ea0746da68693bf05ceaf0
3
+ metadata.gz: d51662c5bd5119a4ac8a1e1f289b5d713e65ceaf9bdbe9d870d6363838719727
4
+ data.tar.gz: ba913e8a28ed139b406155bebdc99bbcf013875f76b8bcc9cbd006655993e88f
5
5
  SHA512:
6
- metadata.gz: 7f544fedd6edd84af707119fbbab99fa954e37019574a1ae603b3ed51a0b13fb5d89b81d21a5f6f38c3c4f1861807b54208144d54cd326c96a9e8d5d0bb7d899
7
- data.tar.gz: 307a5eaa0848d94dcd88ec5822f69eddbd16e348e18576e4eeec114feeb5d6c87bf53e42889c1107f4f77d38a95f22977b5b1f8ffa33a11928ccb2cd2a0d7822
6
+ metadata.gz: d22d21e9523931d1e0872fe339d5f76fb51c5e2ac6e04c9c3ca1fcdf8a94d44097dd2810b5ef24d225945c4ea96882db10e12b037e218a12ddd65b2c34d8715d
7
+ data.tar.gz: 81a50f67292600ced23fe851d5baf3e3fe9d128c1f57ac56c051c9b60ac3560d557c8d7352e38e62daadbcf5cf5561864fab136e3d3fcda311f9f36c35372148
@@ -4854,6 +4854,7 @@
4854
4854
  </xsl:attribute-set>
4855
4855
 
4856
4856
  <xsl:attribute-set name="figure-block-style">
4857
+ <xsl:attribute name="role">SKIP</xsl:attribute>
4857
4858
 
4858
4859
  </xsl:attribute-set>
4859
4860
 
@@ -4862,6 +4863,7 @@
4862
4863
  </xsl:attribute-set>
4863
4864
 
4864
4865
  <xsl:attribute-set name="figure-name-style">
4866
+ <xsl:attribute name="role">Caption</xsl:attribute>
4865
4867
 
4866
4868
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
4867
4869
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -4908,6 +4910,7 @@
4908
4910
  </xsl:template>
4909
4911
 
4910
4912
  <xsl:attribute-set name="image-style">
4913
+ <xsl:attribute name="role">SKIP</xsl:attribute>
4911
4914
  <xsl:attribute name="text-align">center</xsl:attribute>
4912
4915
 
4913
4916
  </xsl:attribute-set>
@@ -5183,6 +5186,11 @@
5183
5186
 
5184
5187
  </xsl:attribute-set> <!-- bibitem-non-normative-list-style -->
5185
5188
 
5189
+ <xsl:attribute-set name="bibitem-non-normative-list-item-style">
5190
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
5191
+
5192
+ </xsl:attribute-set>
5193
+
5186
5194
  <!-- bibitem in bibliography section (references/@normative="false"), list body -->
5187
5195
  <xsl:attribute-set name="bibitem-normative-list-body-style">
5188
5196
 
@@ -5585,14 +5593,14 @@
5585
5593
  <xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
5586
5594
  </xsl:when>
5587
5595
  <xsl:otherwise>
5588
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
5596
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
5589
5597
  </xsl:otherwise>
5590
5598
  </xsl:choose>
5591
5599
  </xsl:for-each>
5592
5600
  </xsl:when>
5593
5601
 
5594
5602
  <xsl:otherwise>
5595
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
5603
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
5596
5604
  </xsl:otherwise>
5597
5605
 
5598
5606
  </xsl:choose>
@@ -5602,7 +5610,7 @@
5602
5610
  <!-- Preface boilerplate sections processing -->
5603
5611
  <!-- ================================= -->
5604
5612
  <xsl:template match="*[local-name()='copyright-statement']">
5605
- <fo:block xsl:use-attribute-sets="copyright-statement-style">
5613
+ <fo:block xsl:use-attribute-sets="copyright-statement-style" role="SKIP">
5606
5614
  <xsl:apply-templates/>
5607
5615
  </fo:block>
5608
5616
  </xsl:template> <!-- copyright-statement -->
@@ -5778,7 +5786,7 @@
5778
5786
  </xsl:choose>
5779
5787
  </xsl:variable>
5780
5788
 
5781
- <fo:block-container xsl:use-attribute-sets="table-container-style">
5789
+ <fo:block-container xsl:use-attribute-sets="table-container-style" role="SKIP">
5782
5790
 
5783
5791
  <xsl:call-template name="refine_table-container-style">
5784
5792
  <xsl:with-param name="margin-side" select="$margin-side"/>
@@ -6860,7 +6868,7 @@
6860
6868
  </xsl:choose>
6861
6869
  </xsl:variable>
6862
6870
  <xsl:variable name="footnote_inline">
6863
- <fo:inline>
6871
+ <fo:inline role="Reference">
6864
6872
 
6865
6873
  <xsl:variable name="fn_styles">
6866
6874
  <xsl:choose>
@@ -6883,7 +6891,7 @@
6883
6891
 
6884
6892
  <xsl:call-template name="insert_basic_link">
6885
6893
  <xsl:with-param name="element">
6886
- <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
6894
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl">
6887
6895
  <xsl:copy-of select="$current_fn_number_text"/>
6888
6896
  </fo:basic-link>
6889
6897
  </xsl:with-param>
@@ -6896,17 +6904,17 @@
6896
6904
  <xsl:copy-of select="$footnote_inline"/>
6897
6905
  </xsl:when>
6898
6906
  <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
6899
- <fo:footnote xsl:use-attribute-sets="fn-style">
6907
+ <fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
6900
6908
  <xsl:copy-of select="$footnote_inline"/>
6901
- <fo:footnote-body>
6909
+ <fo:footnote-body role="Note">
6902
6910
 
6903
- <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
6911
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
6904
6912
 
6905
- <fo:block xsl:use-attribute-sets="fn-body-style">
6913
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
6906
6914
 
6907
6915
  <xsl:call-template name="refine_fn-body-style"/>
6908
6916
 
6909
- <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
6917
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
6910
6918
 
6911
6919
  <xsl:call-template name="refine_fn-body-num-style"/>
6912
6920
 
@@ -7176,11 +7184,11 @@
7176
7184
  </xsl:template>
7177
7185
 
7178
7186
  <xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
7179
- <fo:inline><xsl:value-of select="."/></fo:inline>
7187
+ <fo:inline role="SKIP"><xsl:value-of select="."/></fo:inline>
7180
7188
  </xsl:template>
7181
7189
 
7182
7190
  <xsl:template match="*[local-name()='fn']//*[local-name()='p']">
7183
- <fo:inline>
7191
+ <fo:inline role="P">
7184
7192
  <xsl:apply-templates/>
7185
7193
  </fo:inline>
7186
7194
  </xsl:template>
@@ -7195,7 +7203,7 @@
7195
7203
  <xsl:variable name="isAdded" select="@added"/>
7196
7204
  <xsl:variable name="isDeleted" select="@deleted"/>
7197
7205
  <!-- <dl><xsl:copy-of select="."/></dl> -->
7198
- <fo:block-container xsl:use-attribute-sets="dl-block-style">
7206
+ <fo:block-container xsl:use-attribute-sets="dl-block-style" role="SKIP">
7199
7207
 
7200
7208
  <xsl:call-template name="setBlockSpanAll"/>
7201
7209
 
@@ -7233,7 +7241,7 @@
7233
7241
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
7234
7242
  </xsl:call-template>
7235
7243
 
7236
- <fo:block-container margin-left="0mm">
7244
+ <fo:block-container margin-left="0mm" role="SKIP">
7237
7245
 
7238
7246
  <xsl:variable name="parent" select="local-name(..)"/>
7239
7247
 
@@ -7296,7 +7304,7 @@
7296
7304
 
7297
7305
  <!-- a few components -->
7298
7306
  <xsl:if test="$onlyOneComponent = 'false'">
7299
- <fo:block>
7307
+ <fo:block role="SKIP">
7300
7308
 
7301
7309
  <xsl:call-template name="refine_multicomponent_style"/>
7302
7310
 
@@ -7304,7 +7312,7 @@
7304
7312
  <xsl:attribute name="margin-top">0</xsl:attribute>
7305
7313
  </xsl:if>
7306
7314
 
7307
- <fo:block>
7315
+ <fo:block role="SKIP">
7308
7316
 
7309
7317
  <xsl:call-template name="refine_multicomponent_block_style"/>
7310
7318
 
@@ -7899,6 +7907,9 @@
7899
7907
 
7900
7908
  <xsl:template name="refine_strong_style">
7901
7909
 
7910
+ <xsl:if test="ancestor::*['preferred']">
7911
+ <xsl:attribute name="role">SKIP</xsl:attribute>
7912
+ </xsl:if>
7902
7913
  </xsl:template>
7903
7914
 
7904
7915
  <xsl:template match="*[local-name()='padding']">
@@ -8830,6 +8841,18 @@
8830
8841
  </xsl:copy>
8831
8842
  </xsl:template>
8832
8843
 
8844
+ <xsl:variable name="font_main_root_style">
8845
+ <root-style xsl:use-attribute-sets="root-style">
8846
+ </root-style>
8847
+ </xsl:variable>
8848
+ <xsl:variable name="font_main_root_style_font_family" select="xalan:nodeset($font_main_root_style)/root-style/@font-family"/>
8849
+ <xsl:variable name="font_main">
8850
+ <xsl:choose>
8851
+ <xsl:when test="contains($font_main_root_style_font_family, ',')"><xsl:value-of select="substring-before($font_main_root_style_font_family, ',')"/></xsl:when>
8852
+ <xsl:otherwise><xsl:value-of select="$font_main_root_style_font_family"/></xsl:otherwise>
8853
+ </xsl:choose>
8854
+ </xsl:variable>
8855
+
8833
8856
  <xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
8834
8857
  <xsl:param name="id"/>
8835
8858
  <xsl:copy>
@@ -8868,6 +8891,33 @@
8868
8891
 
8869
8892
  <!-- td_text='<xsl:copy-of select="$td_text"/>' -->
8870
8893
 
8894
+ <xsl:variable name="words_with_width">
8895
+ <!-- calculate width for 'word' which contain text only (without formatting tags inside) -->
8896
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][not(*)]">
8897
+ <xsl:copy>
8898
+ <xsl:copy-of select="@*"/>
8899
+ <xsl:attribute name="width">
8900
+ <xsl:value-of select="java:org.metanorma.fop.Util.getStringWidth(., $font_main)"/> <!-- Example: 'Times New Roman' -->
8901
+ </xsl:attribute>
8902
+ <xsl:copy-of select="node()"/>
8903
+ </xsl:copy>
8904
+ </xsl:for-each>
8905
+ </xsl:variable>
8906
+
8907
+ <xsl:variable name="words_with_width_sorted">
8908
+ <xsl:for-each select="xalan:nodeset($words_with_width)//*[local-name() = 'word']">
8909
+ <xsl:sort select="@width" data-type="number" order="descending"/>
8910
+ <!-- select word maximal width only -->
8911
+ <xsl:if test="position() = 1">
8912
+ <xsl:copy-of select="."/>
8913
+ </xsl:if>
8914
+ </xsl:for-each>
8915
+ <!-- add 'word' with formatting tags inside -->
8916
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][*]">
8917
+ <xsl:copy-of select="."/>
8918
+ </xsl:for-each>
8919
+ </xsl:variable>
8920
+
8871
8921
  <xsl:variable name="words">
8872
8922
  <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
8873
8923
  <word>
@@ -8875,9 +8925,12 @@
8875
8925
  </word>
8876
8926
  </xsl:for-each>
8877
8927
 
8878
- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
8928
+ <xsl:for-each select="xalan:nodeset($words_with_width_sorted)//*[local-name() = 'word'][normalize-space() != '']">
8879
8929
  <xsl:copy-of select="."/>
8880
8930
  </xsl:for-each>
8931
+ <!-- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
8932
+ <xsl:copy-of select="."/>
8933
+ </xsl:for-each> -->
8881
8934
 
8882
8935
  </xsl:variable>
8883
8936
 
@@ -9370,10 +9423,10 @@
9370
9423
  <xsl:copy>
9371
9424
  <xsl:apply-templates select="@*" mode="mathml"/>
9372
9425
  <xsl:if test="not(@lspace)">
9373
- <xsl:attribute name="lspace">0.4em</xsl:attribute>
9426
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
9374
9427
  </xsl:if>
9375
- <xsl:if test="not(@rspace)">
9376
- <xsl:attribute name="rspace">0.4em</xsl:attribute>
9428
+ <xsl:if test="not(@rspace) and not(following-sibling::*[1][self::mathml:mo and normalize-space(text()) = '|'])">
9429
+ <xsl:attribute name="rspace">0.2em</xsl:attribute>
9377
9430
  </xsl:if>
9378
9431
  <xsl:apply-templates mode="mathml"/>
9379
9432
  </xsl:copy>
@@ -9390,6 +9443,27 @@
9390
9443
  </xsl:copy>
9391
9444
  </xsl:template>
9392
9445
 
9446
+ <!-- increase space before '(' -->
9447
+ <xsl:template match="mathml:mo[normalize-space(text()) = '(']" mode="mathml">
9448
+ <xsl:copy>
9449
+ <xsl:apply-templates select="@*" mode="mathml"/>
9450
+ <xsl:if test="(preceding-sibling::* and not(preceding-sibling::*[1][self::mathml:mo])) or (../preceding-sibling::* and not(../preceding-sibling::*[1][self::mathml:mo]))">
9451
+ <xsl:if test="not(@lspace)">
9452
+ <xsl:attribute name="lspace">0.4em</xsl:attribute>
9453
+ <xsl:choose>
9454
+ <xsl:when test="preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
9455
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
9456
+ </xsl:when>
9457
+ <xsl:when test="../preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
9458
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
9459
+ </xsl:when>
9460
+ </xsl:choose>
9461
+ </xsl:if>
9462
+ </xsl:if>
9463
+ <xsl:apply-templates mode="mathml"/>
9464
+ </xsl:copy>
9465
+ </xsl:template>
9466
+
9393
9467
  <!-- Examples:
9394
9468
  <stem type="AsciiMath">x = 1</stem>
9395
9469
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -9549,7 +9623,7 @@
9549
9623
  <!-- formula -->
9550
9624
  <!-- ====== -->
9551
9625
  <xsl:template match="*[local-name() = 'formula']" name="formula">
9552
- <fo:block-container margin-left="0mm">
9626
+ <fo:block-container margin-left="0mm" role="SKIP">
9553
9627
  <xsl:if test="parent::*[local-name() = 'note']">
9554
9628
  <xsl:attribute name="margin-left">
9555
9629
  <xsl:choose>
@@ -9559,7 +9633,7 @@
9559
9633
  </xsl:attribute>
9560
9634
 
9561
9635
  </xsl:if>
9562
- <fo:block-container margin-left="0mm">
9636
+ <fo:block-container margin-left="0mm" role="SKIP">
9563
9637
  <fo:block id="{@id}">
9564
9638
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
9565
9639
  </fo:block>
@@ -9639,13 +9713,13 @@
9639
9713
 
9640
9714
  <xsl:template match="*[local-name() = 'note']" name="note">
9641
9715
 
9642
- <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
9716
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
9643
9717
 
9644
9718
  <xsl:call-template name="setBlockSpanAll"/>
9645
9719
 
9646
9720
  <xsl:call-template name="refine_note-style"/>
9647
9721
 
9648
- <fo:block-container margin-left="0mm" margin-right="0mm">
9722
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9649
9723
 
9650
9724
  <fo:block>
9651
9725
 
@@ -9828,12 +9902,13 @@
9828
9902
 
9829
9903
  <xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
9830
9904
  <xsl:if test="normalize-space() != ''">
9831
- <xsl:variable name="level">
9905
+ <!-- <xsl:variable name="level">
9832
9906
  <xsl:call-template name="getLevelTermName"/>
9833
9907
  </xsl:variable>
9834
9908
  <fo:inline role="H{$level}">
9835
- <xsl:apply-templates/>
9836
- </fo:inline>
9909
+ <xsl:apply-templates />
9910
+ </fo:inline> -->
9911
+ <xsl:apply-templates/>
9837
9912
  </xsl:if>
9838
9913
  </xsl:template>
9839
9914
  <!-- ====== -->
@@ -9861,7 +9936,7 @@
9861
9936
  <!-- Example: Dimensions in millimeters -->
9862
9937
  <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
9863
9938
 
9864
- <fo:block xsl:use-attribute-sets="figure-style">
9939
+ <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
9865
9940
  <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
9866
9941
  </fo:block>
9867
9942
  <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
@@ -11008,7 +11083,7 @@
11008
11083
  </xsl:when>
11009
11084
 
11010
11085
  <xsl:otherwise>
11011
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
11086
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style" role="SKIP">
11012
11087
 
11013
11088
  <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
11014
11089
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
@@ -11029,7 +11104,7 @@
11029
11104
  </xsl:attribute>
11030
11105
 
11031
11106
  </xsl:if>
11032
- <fo:block-container margin-left="0mm">
11107
+ <fo:block-container margin-left="0mm" role="SKIP">
11033
11108
 
11034
11109
  <fo:block xsl:use-attribute-sets="sourcecode-style">
11035
11110
 
@@ -11575,11 +11650,11 @@
11575
11650
  <!-- requirement, recommendation, permission table -->
11576
11651
  <!-- ========== -->
11577
11652
  <xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
11578
- <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
11653
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt" role="SKIP">
11579
11654
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
11580
11655
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
11581
11656
  </xsl:if>
11582
- <fo:block-container margin-left="0mm" margin-right="0mm">
11657
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
11583
11658
  <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
11584
11659
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
11585
11660
  <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
@@ -11741,7 +11816,7 @@
11741
11816
  -->
11742
11817
  <xsl:template match="*[local-name() = 'example']">
11743
11818
 
11744
- <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style">
11819
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
11745
11820
 
11746
11821
  <xsl:call-template name="setBlockSpanAll"/>
11747
11822
 
@@ -11752,7 +11827,7 @@
11752
11827
  block
11753
11828
  </xsl:variable>
11754
11829
 
11755
- <fo:block-container margin-left="0mm">
11830
+ <fo:block-container margin-left="0mm" role="SKIP">
11756
11831
 
11757
11832
  <xsl:choose>
11758
11833
 
@@ -11765,8 +11840,8 @@
11765
11840
  </xsl:apply-templates>
11766
11841
  </fo:block>
11767
11842
 
11768
- <fo:block-container xsl:use-attribute-sets="example-body-style">
11769
- <fo:block-container margin-left="0mm" margin-right="0mm">
11843
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
11844
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
11770
11845
  <xsl:apply-templates select="node()[not(local-name() = 'name')]">
11771
11846
  <xsl:with-param name="fo_element" select="$fo_element"/>
11772
11847
  </xsl:apply-templates>
@@ -11819,8 +11894,8 @@
11819
11894
 
11820
11895
  <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
11821
11896
  <!-- display further elements in blocks -->
11822
- <fo:block-container xsl:use-attribute-sets="example-body-style">
11823
- <fo:block-container margin-left="0mm" margin-right="0mm">
11897
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
11898
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
11824
11899
  <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
11825
11900
  <xsl:with-param name="fo_element" select="'block'"/>
11826
11901
  </xsl:apply-templates>
@@ -11873,7 +11948,7 @@
11873
11948
  </xsl:variable>
11874
11949
  <xsl:choose>
11875
11950
  <xsl:when test="starts-with(normalize-space($element), 'block')">
11876
- <fo:block-container>
11951
+ <fo:block-container role="SKIP">
11877
11952
  <xsl:if test="ancestor::*[local-name() = 'li'] and contains(normalize-space($fo_element), 'block')">
11878
11953
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
11879
11954
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -12014,7 +12089,7 @@
12014
12089
  <!-- author -->
12015
12090
  <!-- ====== -->
12016
12091
  <xsl:template match="*[local-name() = 'quote']">
12017
- <fo:block-container margin-left="0mm">
12092
+ <fo:block-container margin-left="0mm" role="SKIP">
12018
12093
 
12019
12094
  <xsl:call-template name="setBlockSpanAll"/>
12020
12095
 
@@ -12024,12 +12099,12 @@
12024
12099
  </xsl:if>
12025
12100
  </xsl:if>
12026
12101
 
12027
- <fo:block-container margin-left="0mm">
12028
- <fo:block-container xsl:use-attribute-sets="quote-style">
12102
+ <fo:block-container margin-left="0mm" role="SKIP">
12103
+ <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
12029
12104
 
12030
12105
  <xsl:call-template name="refine_quote-style"/>
12031
12106
 
12032
- <fo:block-container margin-left="0mm" margin-right="0mm">
12107
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
12033
12108
  <fo:block role="BlockQuote">
12034
12109
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
12035
12110
  </fo:block>
@@ -12194,10 +12269,10 @@
12194
12269
 
12195
12270
  <xsl:choose>
12196
12271
  <xsl:when test="$lang = 'zh'">
12197
- <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
12272
+ <fo:inline role="SKIP"><xsl:value-of select="$tab_zh"/></fo:inline>
12198
12273
  </xsl:when>
12199
12274
  <xsl:when test="../../@inline-header = 'true'">
12200
- <fo:inline font-size="90%">
12275
+ <fo:inline font-size="90%" role="SKIP">
12201
12276
  <xsl:call-template name="insertNonBreakSpaces">
12202
12277
  <xsl:with-param name="count" select="$padding-right"/>
12203
12278
  </xsl:call-template>
@@ -12205,7 +12280,7 @@
12205
12280
  </xsl:when>
12206
12281
  <xsl:otherwise>
12207
12282
  <xsl:variable name="direction"><xsl:if test="$lang = 'ar'"><xsl:value-of select="$RLM"/></xsl:if></xsl:variable>
12208
- <fo:inline padding-right="{$padding-right}mm"><xsl:value-of select="$direction"/>​</fo:inline>
12283
+ <fo:inline padding-right="{$padding-right}mm" role="SKIP"><xsl:value-of select="$direction"/>​</fo:inline>
12209
12284
  </xsl:otherwise>
12210
12285
  </xsl:choose>
12211
12286
 
@@ -12235,12 +12310,12 @@
12235
12310
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
12236
12311
 
12237
12312
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
12238
- <fo:block xsl:use-attribute-sets="term-name-style">
12313
+ <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
12239
12314
  <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
12240
12315
  </fo:block>
12241
12316
  </xsl:if>
12242
12317
 
12243
- <fo:block xsl:use-attribute-sets="preferred-term-style">
12318
+ <fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
12244
12319
  <xsl:call-template name="setStyle_preferred"/>
12245
12320
  <xsl:apply-templates/>
12246
12321
  </fo:block>
@@ -12281,7 +12356,7 @@
12281
12356
  <!-- definition -->
12282
12357
  <!-- ========== -->
12283
12358
  <xsl:template match="*[local-name() = 'definition']">
12284
- <fo:block xsl:use-attribute-sets="definition-style">
12359
+ <fo:block xsl:use-attribute-sets="definition-style" role="SKIP">
12285
12360
  <xsl:apply-templates/>
12286
12361
  </fo:block>
12287
12362
  </xsl:template>
@@ -12324,6 +12399,10 @@
12324
12399
 
12325
12400
  <xsl:template match="*[local-name() = 'clause']">
12326
12401
  <fo:block>
12402
+ <xsl:if test="parent::*[local-name() = 'copyright-statement']">
12403
+ <xsl:attribute name="role">SKIP</xsl:attribute>
12404
+ </xsl:if>
12405
+
12327
12406
  <xsl:call-template name="setId"/>
12328
12407
 
12329
12408
  <xsl:call-template name="setBlockSpanAll"/>
@@ -12564,7 +12643,7 @@
12564
12643
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
12565
12644
  <xsl:choose>
12566
12645
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
12567
- <fo:block-container>
12646
+ <fo:block-container role="SKIP">
12568
12647
  <xsl:attribute name="margin-left">
12569
12648
  <xsl:choose>
12570
12649
  <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
@@ -12574,7 +12653,7 @@
12574
12653
 
12575
12654
  <xsl:call-template name="refine_list_container_style"/>
12576
12655
 
12577
- <fo:block-container margin-left="0mm">
12656
+ <fo:block-container margin-left="0mm" role="SKIP">
12578
12657
  <fo:block>
12579
12658
  <xsl:apply-templates select="." mode="list"/>
12580
12659
  </fo:block>
@@ -12583,7 +12662,7 @@
12583
12662
  </xsl:when>
12584
12663
  <xsl:otherwise>
12585
12664
 
12586
- <fo:block>
12665
+ <fo:block role="SKIP">
12587
12666
  <xsl:apply-templates select="." mode="list"/>
12588
12667
  </fo:block>
12589
12668
 
@@ -13003,7 +13082,10 @@
13003
13082
  <!-- Reference sections (Normative References and Bibliography) -->
13004
13083
  <!-- ========================================================== -->
13005
13084
  <xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/>
13006
- <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/>
13085
+ <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3">
13086
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/>
13087
+
13088
+ </xsl:template>
13007
13089
  <!-- don't display bibitem with @id starts with '_hidden', that was introduced for references integrity -->
13008
13090
  <xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/>
13009
13091
 
@@ -13052,6 +13134,7 @@
13052
13134
 
13053
13135
  <!-- Bibliography (non-normative references) -->
13054
13136
  <xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
13137
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
13055
13138
 
13056
13139
  <!-- start BIPM bibitem processing -->
13057
13140
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
@@ -13078,6 +13161,35 @@
13078
13161
 
13079
13162
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
13080
13163
 
13164
+ <xsl:template name="insertListItem_Bibitem">
13165
+ <xsl:choose>
13166
+ <xsl:when test="@hidden = 'true'"><!-- skip --></xsl:when>
13167
+ <xsl:otherwise>
13168
+ <fo:list-item id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-item-style">
13169
+ <fo:list-item-label end-indent="label-end()">
13170
+ <fo:block role="SKIP">
13171
+ <fo:inline role="SKIP">
13172
+ <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
13173
+ <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
13174
+ </xsl:apply-templates>
13175
+ </fo:inline>
13176
+ </fo:block>
13177
+ </fo:list-item-label>
13178
+ <fo:list-item-body start-indent="body-start()">
13179
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style" role="SKIP">
13180
+ <xsl:call-template name="processBibitem">
13181
+ <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
13182
+ </xsl:call-template>
13183
+ </fo:block>
13184
+ </fo:list-item-body>
13185
+ </fo:list-item>
13186
+ </xsl:otherwise>
13187
+ </xsl:choose>
13188
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'bibitem']">
13189
+ <xsl:with-param name="skip">false</xsl:with-param>
13190
+ </xsl:apply-templates>
13191
+ </xsl:template>
13192
+
13081
13193
  <xsl:template name="processBibitem">
13082
13194
  <xsl:param name="biblio_tag_part">both</xsl:param>
13083
13195
 
@@ -13411,7 +13523,7 @@
13411
13523
 
13412
13524
  <xsl:call-template name="setBlockSpanAll"/>
13413
13525
 
13414
- <fo:block-container xsl:use-attribute-sets="admonition-container-style">
13526
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style" role="SKIP">
13415
13527
 
13416
13528
  <fo:block xsl:use-attribute-sets="admonition-name-style">
13417
13529
  <xsl:call-template name="displayAdmonitionName"/>