metanorma-ogc 2.3.12 → 2.3.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -2538,6 +2538,7 @@
2538
2538
  </xsl:attribute-set>
2539
2539
 
2540
2540
  <xsl:attribute-set name="figure-block-style">
2541
+ <xsl:attribute name="role">SKIP</xsl:attribute>
2541
2542
 
2542
2543
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2543
2544
 
@@ -2548,6 +2549,7 @@
2548
2549
  </xsl:attribute-set>
2549
2550
 
2550
2551
  <xsl:attribute-set name="figure-name-style">
2552
+ <xsl:attribute name="role">Caption</xsl:attribute>
2551
2553
 
2552
2554
  <xsl:attribute name="color"><xsl:value-of select="$color_blue"/></xsl:attribute>
2553
2555
  <!-- <xsl:attribute name="margin-top">12pt</xsl:attribute> -->
@@ -2596,6 +2598,7 @@
2596
2598
  </xsl:template>
2597
2599
 
2598
2600
  <xsl:attribute-set name="image-style">
2601
+ <xsl:attribute name="role">SKIP</xsl:attribute>
2599
2602
  <xsl:attribute name="text-align">center</xsl:attribute>
2600
2603
 
2601
2604
  <xsl:attribute name="space-before">12pt</xsl:attribute>
@@ -2890,6 +2893,11 @@
2890
2893
 
2891
2894
  </xsl:attribute-set> <!-- bibitem-non-normative-list-style -->
2892
2895
 
2896
+ <xsl:attribute-set name="bibitem-non-normative-list-item-style">
2897
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2898
+
2899
+ </xsl:attribute-set>
2900
+
2893
2901
  <!-- bibitem in bibliography section (references/@normative="false"), list body -->
2894
2902
  <xsl:attribute-set name="bibitem-normative-list-body-style">
2895
2903
 
@@ -3283,14 +3291,14 @@
3283
3291
  <xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
3284
3292
  </xsl:when>
3285
3293
  <xsl:otherwise>
3286
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
3294
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
3287
3295
  </xsl:otherwise>
3288
3296
  </xsl:choose>
3289
3297
  </xsl:for-each>
3290
3298
  </xsl:when>
3291
3299
 
3292
3300
  <xsl:otherwise>
3293
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
3301
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
3294
3302
  </xsl:otherwise>
3295
3303
 
3296
3304
  </xsl:choose>
@@ -3300,7 +3308,7 @@
3300
3308
  <!-- Preface boilerplate sections processing -->
3301
3309
  <!-- ================================= -->
3302
3310
  <xsl:template match="*[local-name()='copyright-statement']">
3303
- <fo:block xsl:use-attribute-sets="copyright-statement-style">
3311
+ <fo:block xsl:use-attribute-sets="copyright-statement-style" role="SKIP">
3304
3312
  <xsl:apply-templates/>
3305
3313
  </fo:block>
3306
3314
  </xsl:template> <!-- copyright-statement -->
@@ -3483,7 +3491,7 @@
3483
3491
  </xsl:choose>
3484
3492
  </xsl:variable>
3485
3493
 
3486
- <fo:block-container xsl:use-attribute-sets="table-container-style">
3494
+ <fo:block-container xsl:use-attribute-sets="table-container-style" role="SKIP">
3487
3495
 
3488
3496
  <xsl:call-template name="refine_table-container-style">
3489
3497
  <xsl:with-param name="margin-side" select="$margin-side"/>
@@ -4519,7 +4527,7 @@
4519
4527
  </xsl:choose>
4520
4528
  </xsl:variable>
4521
4529
  <xsl:variable name="footnote_inline">
4522
- <fo:inline>
4530
+ <fo:inline role="Reference">
4523
4531
 
4524
4532
  <xsl:variable name="fn_styles">
4525
4533
  <xsl:choose>
@@ -4542,7 +4550,7 @@
4542
4550
 
4543
4551
  <xsl:call-template name="insert_basic_link">
4544
4552
  <xsl:with-param name="element">
4545
- <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
4553
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl">
4546
4554
  <xsl:copy-of select="$current_fn_number_text"/>
4547
4555
  </fo:basic-link>
4548
4556
  </xsl:with-param>
@@ -4555,17 +4563,17 @@
4555
4563
  <xsl:copy-of select="$footnote_inline"/>
4556
4564
  </xsl:when>
4557
4565
  <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
4558
- <fo:footnote xsl:use-attribute-sets="fn-style">
4566
+ <fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
4559
4567
  <xsl:copy-of select="$footnote_inline"/>
4560
- <fo:footnote-body>
4568
+ <fo:footnote-body role="Note">
4561
4569
 
4562
- <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
4570
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
4563
4571
 
4564
- <fo:block xsl:use-attribute-sets="fn-body-style">
4572
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
4565
4573
 
4566
4574
  <xsl:call-template name="refine_fn-body-style"/>
4567
4575
 
4568
- <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
4576
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
4569
4577
 
4570
4578
  <xsl:call-template name="refine_fn-body-num-style"/>
4571
4579
 
@@ -4838,11 +4846,11 @@
4838
4846
  </xsl:template>
4839
4847
 
4840
4848
  <xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
4841
- <fo:inline><xsl:value-of select="."/></fo:inline>
4849
+ <fo:inline role="SKIP"><xsl:value-of select="."/></fo:inline>
4842
4850
  </xsl:template>
4843
4851
 
4844
4852
  <xsl:template match="*[local-name()='fn']//*[local-name()='p']">
4845
- <fo:inline>
4853
+ <fo:inline role="P">
4846
4854
  <xsl:apply-templates/>
4847
4855
  </fo:inline>
4848
4856
  </xsl:template>
@@ -4857,7 +4865,7 @@
4857
4865
  <xsl:variable name="isAdded" select="@added"/>
4858
4866
  <xsl:variable name="isDeleted" select="@deleted"/>
4859
4867
  <!-- <dl><xsl:copy-of select="."/></dl> -->
4860
- <fo:block-container xsl:use-attribute-sets="dl-block-style">
4868
+ <fo:block-container xsl:use-attribute-sets="dl-block-style" role="SKIP">
4861
4869
 
4862
4870
  <xsl:call-template name="setBlockSpanAll"/>
4863
4871
 
@@ -4892,7 +4900,7 @@
4892
4900
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4893
4901
  </xsl:call-template>
4894
4902
 
4895
- <fo:block-container margin-left="0mm">
4903
+ <fo:block-container margin-left="0mm" role="SKIP">
4896
4904
 
4897
4905
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
4898
4906
 
@@ -4957,7 +4965,7 @@
4957
4965
 
4958
4966
  <!-- a few components -->
4959
4967
  <xsl:if test="$onlyOneComponent = 'false'">
4960
- <fo:block>
4968
+ <fo:block role="SKIP">
4961
4969
 
4962
4970
  <xsl:call-template name="refine_multicomponent_style"/>
4963
4971
 
@@ -4965,7 +4973,7 @@
4965
4973
  <xsl:attribute name="margin-top">0</xsl:attribute>
4966
4974
  </xsl:if>
4967
4975
 
4968
- <fo:block>
4976
+ <fo:block role="SKIP">
4969
4977
 
4970
4978
  <xsl:call-template name="refine_multicomponent_block_style"/>
4971
4979
 
@@ -5567,6 +5575,9 @@
5567
5575
 
5568
5576
  <xsl:template name="refine_strong_style">
5569
5577
 
5578
+ <xsl:if test="ancestor::*['preferred']">
5579
+ <xsl:attribute name="role">SKIP</xsl:attribute>
5580
+ </xsl:if>
5570
5581
  </xsl:template>
5571
5582
 
5572
5583
  <xsl:template match="*[local-name()='padding']">
@@ -6503,6 +6514,18 @@
6503
6514
  </xsl:copy>
6504
6515
  </xsl:template>
6505
6516
 
6517
+ <xsl:variable name="font_main_root_style">
6518
+ <root-style xsl:use-attribute-sets="root-style">
6519
+ </root-style>
6520
+ </xsl:variable>
6521
+ <xsl:variable name="font_main_root_style_font_family" select="xalan:nodeset($font_main_root_style)/root-style/@font-family"/>
6522
+ <xsl:variable name="font_main">
6523
+ <xsl:choose>
6524
+ <xsl:when test="contains($font_main_root_style_font_family, ',')"><xsl:value-of select="substring-before($font_main_root_style_font_family, ',')"/></xsl:when>
6525
+ <xsl:otherwise><xsl:value-of select="$font_main_root_style_font_family"/></xsl:otherwise>
6526
+ </xsl:choose>
6527
+ </xsl:variable>
6528
+
6506
6529
  <xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
6507
6530
  <xsl:param name="id"/>
6508
6531
  <xsl:copy>
@@ -6541,6 +6564,33 @@
6541
6564
 
6542
6565
  <!-- td_text='<xsl:copy-of select="$td_text"/>' -->
6543
6566
 
6567
+ <xsl:variable name="words_with_width">
6568
+ <!-- calculate width for 'word' which contain text only (without formatting tags inside) -->
6569
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][not(*)]">
6570
+ <xsl:copy>
6571
+ <xsl:copy-of select="@*"/>
6572
+ <xsl:attribute name="width">
6573
+ <xsl:value-of select="java:org.metanorma.fop.Util.getStringWidth(., $font_main)"/> <!-- Example: 'Times New Roman' -->
6574
+ </xsl:attribute>
6575
+ <xsl:copy-of select="node()"/>
6576
+ </xsl:copy>
6577
+ </xsl:for-each>
6578
+ </xsl:variable>
6579
+
6580
+ <xsl:variable name="words_with_width_sorted">
6581
+ <xsl:for-each select="xalan:nodeset($words_with_width)//*[local-name() = 'word']">
6582
+ <xsl:sort select="@width" data-type="number" order="descending"/>
6583
+ <!-- select word maximal width only -->
6584
+ <xsl:if test="position() = 1">
6585
+ <xsl:copy-of select="."/>
6586
+ </xsl:if>
6587
+ </xsl:for-each>
6588
+ <!-- add 'word' with formatting tags inside -->
6589
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][*]">
6590
+ <xsl:copy-of select="."/>
6591
+ </xsl:for-each>
6592
+ </xsl:variable>
6593
+
6544
6594
  <xsl:variable name="words">
6545
6595
  <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
6546
6596
  <word>
@@ -6548,9 +6598,12 @@
6548
6598
  </word>
6549
6599
  </xsl:for-each>
6550
6600
 
6551
- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
6601
+ <xsl:for-each select="xalan:nodeset($words_with_width_sorted)//*[local-name() = 'word'][normalize-space() != '']">
6552
6602
  <xsl:copy-of select="."/>
6553
6603
  </xsl:for-each>
6604
+ <!-- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
6605
+ <xsl:copy-of select="."/>
6606
+ </xsl:for-each> -->
6554
6607
 
6555
6608
  </xsl:variable>
6556
6609
 
@@ -7011,10 +7064,10 @@
7011
7064
  <xsl:copy>
7012
7065
  <xsl:apply-templates select="@*" mode="mathml"/>
7013
7066
  <xsl:if test="not(@lspace)">
7014
- <xsl:attribute name="lspace">0.4em</xsl:attribute>
7067
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
7015
7068
  </xsl:if>
7016
- <xsl:if test="not(@rspace)">
7017
- <xsl:attribute name="rspace">0.4em</xsl:attribute>
7069
+ <xsl:if test="not(@rspace) and not(following-sibling::*[1][self::mathml:mo and normalize-space(text()) = '|'])">
7070
+ <xsl:attribute name="rspace">0.2em</xsl:attribute>
7018
7071
  </xsl:if>
7019
7072
  <xsl:apply-templates mode="mathml"/>
7020
7073
  </xsl:copy>
@@ -7031,6 +7084,27 @@
7031
7084
  </xsl:copy>
7032
7085
  </xsl:template>
7033
7086
 
7087
+ <!-- increase space before '(' -->
7088
+ <xsl:template match="mathml:mo[normalize-space(text()) = '(']" mode="mathml">
7089
+ <xsl:copy>
7090
+ <xsl:apply-templates select="@*" mode="mathml"/>
7091
+ <xsl:if test="(preceding-sibling::* and not(preceding-sibling::*[1][self::mathml:mo])) or (../preceding-sibling::* and not(../preceding-sibling::*[1][self::mathml:mo]))">
7092
+ <xsl:if test="not(@lspace)">
7093
+ <xsl:attribute name="lspace">0.4em</xsl:attribute>
7094
+ <xsl:choose>
7095
+ <xsl:when test="preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
7096
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
7097
+ </xsl:when>
7098
+ <xsl:when test="../preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
7099
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
7100
+ </xsl:when>
7101
+ </xsl:choose>
7102
+ </xsl:if>
7103
+ </xsl:if>
7104
+ <xsl:apply-templates mode="mathml"/>
7105
+ </xsl:copy>
7106
+ </xsl:template>
7107
+
7034
7108
  <!-- Examples:
7035
7109
  <stem type="AsciiMath">x = 1</stem>
7036
7110
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -7194,7 +7268,7 @@
7194
7268
  <!-- formula -->
7195
7269
  <!-- ====== -->
7196
7270
  <xsl:template match="*[local-name() = 'formula']" name="formula">
7197
- <fo:block-container margin-left="0mm">
7271
+ <fo:block-container margin-left="0mm" role="SKIP">
7198
7272
  <xsl:if test="parent::*[local-name() = 'note']">
7199
7273
  <xsl:attribute name="margin-left">
7200
7274
  <xsl:choose>
@@ -7204,7 +7278,7 @@
7204
7278
  </xsl:attribute>
7205
7279
 
7206
7280
  </xsl:if>
7207
- <fo:block-container margin-left="0mm">
7281
+ <fo:block-container margin-left="0mm" role="SKIP">
7208
7282
  <fo:block id="{@id}">
7209
7283
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
7210
7284
  </fo:block>
@@ -7284,13 +7358,13 @@
7284
7358
 
7285
7359
  <xsl:template match="*[local-name() = 'note']" name="note">
7286
7360
 
7287
- <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
7361
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
7288
7362
 
7289
7363
  <xsl:call-template name="setBlockSpanAll"/>
7290
7364
 
7291
7365
  <xsl:call-template name="refine_note-style"/>
7292
7366
 
7293
- <fo:block-container margin-left="0mm" margin-right="0mm">
7367
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
7294
7368
 
7295
7369
  <fo:block>
7296
7370
 
@@ -7456,12 +7530,13 @@
7456
7530
 
7457
7531
  <xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
7458
7532
  <xsl:if test="normalize-space() != ''">
7459
- <xsl:variable name="level">
7533
+ <!-- <xsl:variable name="level">
7460
7534
  <xsl:call-template name="getLevelTermName"/>
7461
7535
  </xsl:variable>
7462
7536
  <fo:inline role="H{$level}">
7463
- <xsl:apply-templates/>
7464
- </fo:inline>
7537
+ <xsl:apply-templates />
7538
+ </fo:inline> -->
7539
+ <xsl:apply-templates/>
7465
7540
  </xsl:if>
7466
7541
  </xsl:template>
7467
7542
  <!-- ====== -->
@@ -7485,7 +7560,7 @@
7485
7560
  <!-- Example: Dimensions in millimeters -->
7486
7561
  <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
7487
7562
 
7488
- <fo:block xsl:use-attribute-sets="figure-style">
7563
+ <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
7489
7564
  <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
7490
7565
  </fo:block>
7491
7566
  <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
@@ -8641,7 +8716,7 @@
8641
8716
  </xsl:when>
8642
8717
 
8643
8718
  <xsl:otherwise>
8644
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
8719
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style" role="SKIP">
8645
8720
 
8646
8721
  <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
8647
8722
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
@@ -8662,7 +8737,7 @@
8662
8737
  </xsl:attribute>
8663
8738
 
8664
8739
  </xsl:if>
8665
- <fo:block-container margin-left="0mm">
8740
+ <fo:block-container margin-left="0mm" role="SKIP">
8666
8741
 
8667
8742
  <xsl:if test="parent::*[local-name() = 'example']">
8668
8743
  <fo:block font-size="1pt" line-height="10%" space-after="4pt"> </fo:block>
@@ -9224,11 +9299,11 @@
9224
9299
  <!-- requirement, recommendation, permission table -->
9225
9300
  <!-- ========== -->
9226
9301
  <xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
9227
- <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
9302
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt" role="SKIP">
9228
9303
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
9229
9304
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
9230
9305
  </xsl:if>
9231
- <fo:block-container margin-left="0mm" margin-right="0mm">
9306
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9232
9307
  <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
9233
9308
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
9234
9309
  <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
@@ -9404,7 +9479,7 @@
9404
9479
  -->
9405
9480
  <xsl:template match="*[local-name() = 'example']">
9406
9481
 
9407
- <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style">
9482
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
9408
9483
 
9409
9484
  <xsl:call-template name="setBlockSpanAll"/>
9410
9485
 
@@ -9415,7 +9490,7 @@
9415
9490
  inline
9416
9491
  </xsl:variable>
9417
9492
 
9418
- <fo:block-container margin-left="0mm">
9493
+ <fo:block-container margin-left="0mm" role="SKIP">
9419
9494
 
9420
9495
  <xsl:choose>
9421
9496
 
@@ -9428,8 +9503,8 @@
9428
9503
  </xsl:apply-templates>
9429
9504
  </fo:block>
9430
9505
 
9431
- <fo:block-container xsl:use-attribute-sets="example-body-style">
9432
- <fo:block-container margin-left="0mm" margin-right="0mm">
9506
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9507
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9433
9508
  <xsl:apply-templates select="node()[not(local-name() = 'name')]">
9434
9509
  <xsl:with-param name="fo_element" select="$fo_element"/>
9435
9510
  </xsl:apply-templates>
@@ -9482,8 +9557,8 @@
9482
9557
 
9483
9558
  <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
9484
9559
  <!-- display further elements in blocks -->
9485
- <fo:block-container xsl:use-attribute-sets="example-body-style">
9486
- <fo:block-container margin-left="0mm" margin-right="0mm">
9560
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
9561
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9487
9562
  <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
9488
9563
  <xsl:with-param name="fo_element" select="'block'"/>
9489
9564
  </xsl:apply-templates>
@@ -9536,7 +9611,7 @@
9536
9611
  </xsl:variable>
9537
9612
  <xsl:choose>
9538
9613
  <xsl:when test="starts-with(normalize-space($element), 'block')">
9539
- <fo:block-container>
9614
+ <fo:block-container role="SKIP">
9540
9615
  <xsl:if test="ancestor::*[local-name() = 'li'] and contains(normalize-space($fo_element), 'block')">
9541
9616
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
9542
9617
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -9677,7 +9752,7 @@
9677
9752
  <!-- author -->
9678
9753
  <!-- ====== -->
9679
9754
  <xsl:template match="*[local-name() = 'quote']">
9680
- <fo:block-container margin-left="0mm">
9755
+ <fo:block-container margin-left="0mm" role="SKIP">
9681
9756
 
9682
9757
  <xsl:call-template name="setBlockSpanAll"/>
9683
9758
 
@@ -9687,12 +9762,12 @@
9687
9762
  </xsl:if>
9688
9763
  </xsl:if>
9689
9764
 
9690
- <fo:block-container margin-left="0mm">
9691
- <fo:block-container xsl:use-attribute-sets="quote-style">
9765
+ <fo:block-container margin-left="0mm" role="SKIP">
9766
+ <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
9692
9767
 
9693
9768
  <xsl:call-template name="refine_quote-style"/>
9694
9769
 
9695
- <fo:block-container margin-left="0mm" margin-right="0mm">
9770
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9696
9771
  <fo:block role="BlockQuote">
9697
9772
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
9698
9773
  </fo:block>
@@ -9849,10 +9924,10 @@
9849
9924
 
9850
9925
  <xsl:choose>
9851
9926
  <xsl:when test="$lang = 'zh'">
9852
- <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
9927
+ <fo:inline role="SKIP"><xsl:value-of select="$tab_zh"/></fo:inline>
9853
9928
  </xsl:when>
9854
9929
  <xsl:when test="../../@inline-header = 'true'">
9855
- <fo:inline font-size="90%">
9930
+ <fo:inline font-size="90%" role="SKIP">
9856
9931
  <xsl:call-template name="insertNonBreakSpaces">
9857
9932
  <xsl:with-param name="count" select="$padding-right"/>
9858
9933
  </xsl:call-template>
@@ -9860,7 +9935,7 @@
9860
9935
  </xsl:when>
9861
9936
  <xsl:otherwise>
9862
9937
  <xsl:variable name="direction"><xsl:if test="$lang = 'ar'"><xsl:value-of select="$RLM"/></xsl:if></xsl:variable>
9863
- <fo:inline padding-right="{$padding-right}mm"><xsl:value-of select="$direction"/>​</fo:inline>
9938
+ <fo:inline padding-right="{$padding-right}mm" role="SKIP"><xsl:value-of select="$direction"/>​</fo:inline>
9864
9939
  </xsl:otherwise>
9865
9940
  </xsl:choose>
9866
9941
 
@@ -9890,12 +9965,12 @@
9890
9965
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
9891
9966
 
9892
9967
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
9893
- <fo:block xsl:use-attribute-sets="term-name-style">
9968
+ <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
9894
9969
  <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
9895
9970
  </fo:block>
9896
9971
  </xsl:if>
9897
9972
 
9898
- <fo:block xsl:use-attribute-sets="preferred-term-style">
9973
+ <fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
9899
9974
  <xsl:call-template name="setStyle_preferred"/>
9900
9975
  <xsl:apply-templates/>
9901
9976
  </fo:block>
@@ -9936,7 +10011,7 @@
9936
10011
  <!-- definition -->
9937
10012
  <!-- ========== -->
9938
10013
  <xsl:template match="*[local-name() = 'definition']">
9939
- <fo:block xsl:use-attribute-sets="definition-style">
10014
+ <fo:block xsl:use-attribute-sets="definition-style" role="SKIP">
9940
10015
  <xsl:apply-templates/>
9941
10016
  </fo:block>
9942
10017
  </xsl:template>
@@ -9984,6 +10059,10 @@
9984
10059
 
9985
10060
  <xsl:template match="*[local-name() = 'clause']">
9986
10061
  <fo:block>
10062
+ <xsl:if test="parent::*[local-name() = 'copyright-statement']">
10063
+ <xsl:attribute name="role">SKIP</xsl:attribute>
10064
+ </xsl:if>
10065
+
9987
10066
  <xsl:call-template name="setId"/>
9988
10067
 
9989
10068
  <xsl:call-template name="setBlockSpanAll"/>
@@ -10220,7 +10299,7 @@
10220
10299
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
10221
10300
  <xsl:choose>
10222
10301
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
10223
- <fo:block-container>
10302
+ <fo:block-container role="SKIP">
10224
10303
  <xsl:attribute name="margin-left">
10225
10304
  <xsl:choose>
10226
10305
  <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
@@ -10230,7 +10309,7 @@
10230
10309
 
10231
10310
  <xsl:call-template name="refine_list_container_style"/>
10232
10311
 
10233
- <fo:block-container margin-left="0mm">
10312
+ <fo:block-container margin-left="0mm" role="SKIP">
10234
10313
  <fo:block>
10235
10314
  <xsl:apply-templates select="." mode="list"/>
10236
10315
  </fo:block>
@@ -10239,7 +10318,7 @@
10239
10318
  </xsl:when>
10240
10319
  <xsl:otherwise>
10241
10320
 
10242
- <fo:block>
10321
+ <fo:block role="SKIP">
10243
10322
  <xsl:apply-templates select="." mode="list"/>
10244
10323
  </fo:block>
10245
10324
 
@@ -10657,7 +10736,10 @@
10657
10736
  <!-- Reference sections (Normative References and Bibliography) -->
10658
10737
  <!-- ========================================================== -->
10659
10738
  <xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/>
10660
- <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/>
10739
+ <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3">
10740
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/>
10741
+
10742
+ </xsl:template>
10661
10743
  <!-- don't display bibitem with @id starts with '_hidden', that was introduced for references integrity -->
10662
10744
  <xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/>
10663
10745
 
@@ -10706,7 +10788,7 @@
10706
10788
 
10707
10789
  <!-- Bibliography (non-normative references) -->
10708
10790
  <xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
10709
-
10791
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
10710
10792
  <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
10711
10793
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
10712
10794
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
@@ -10734,6 +10816,35 @@
10734
10816
 
10735
10817
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
10736
10818
 
10819
+ <xsl:template name="insertListItem_Bibitem">
10820
+ <xsl:choose>
10821
+ <xsl:when test="@hidden = 'true'"><!-- skip --></xsl:when>
10822
+ <xsl:otherwise>
10823
+ <fo:list-item id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-item-style">
10824
+ <fo:list-item-label end-indent="label-end()">
10825
+ <fo:block role="SKIP">
10826
+ <fo:inline role="SKIP">
10827
+ <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
10828
+ <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
10829
+ </xsl:apply-templates>
10830
+ </fo:inline>
10831
+ </fo:block>
10832
+ </fo:list-item-label>
10833
+ <fo:list-item-body start-indent="body-start()">
10834
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style" role="SKIP">
10835
+ <xsl:call-template name="processBibitem">
10836
+ <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
10837
+ </xsl:call-template>
10838
+ </fo:block>
10839
+ </fo:list-item-body>
10840
+ </fo:list-item>
10841
+ </xsl:otherwise>
10842
+ </xsl:choose>
10843
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'bibitem']">
10844
+ <xsl:with-param name="skip">false</xsl:with-param>
10845
+ </xsl:apply-templates>
10846
+ </xsl:template>
10847
+
10737
10848
  <xsl:template name="processBibitem">
10738
10849
  <xsl:param name="biblio_tag_part">both</xsl:param>
10739
10850
 
@@ -11067,7 +11178,7 @@
11067
11178
 
11068
11179
  <xsl:call-template name="setBlockSpanAll"/>
11069
11180
 
11070
- <fo:block-container xsl:use-attribute-sets="admonition-container-style">
11181
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style" role="SKIP">
11071
11182
 
11072
11183
  <fo:block xsl:use-attribute-sets="admonition-name-style">
11073
11184
  <xsl:call-template name="displayAdmonitionName"/>