metanorma-ogc 2.3.11 → 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> -->
@@ -2591,7 +2593,12 @@
2591
2593
  </xsl:attribute-set> <!-- formula-stem-number-style -->
2592
2594
  <!-- End Formula's styles -->
2593
2595
 
2596
+ <xsl:template name="refine_formula-stem-number-style">
2597
+
2598
+ </xsl:template>
2599
+
2594
2600
  <xsl:attribute-set name="image-style">
2601
+ <xsl:attribute name="role">SKIP</xsl:attribute>
2595
2602
  <xsl:attribute name="text-align">center</xsl:attribute>
2596
2603
 
2597
2604
  <xsl:attribute name="space-before">12pt</xsl:attribute>
@@ -2886,6 +2893,11 @@
2886
2893
 
2887
2894
  </xsl:attribute-set> <!-- bibitem-non-normative-list-style -->
2888
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
+
2889
2901
  <!-- bibitem in bibliography section (references/@normative="false"), list body -->
2890
2902
  <xsl:attribute-set name="bibitem-normative-list-body-style">
2891
2903
 
@@ -3104,13 +3116,13 @@
3104
3116
 
3105
3117
  <xsl:template name="processPrefaceSectionsDefault_Contents">
3106
3118
  <xsl:variable name="nodes_preface_">
3107
- <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
3119
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or @type = 'toc')]">
3108
3120
  <node id="{@id}"/>
3109
3121
  </xsl:for-each>
3110
3122
  </xsl:variable>
3111
3123
  <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
3112
3124
 
3113
- <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
3125
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or @type = 'toc')]">
3114
3126
  <xsl:sort select="@displayorder" data-type="number"/>
3115
3127
 
3116
3128
  <!-- process Section's title -->
@@ -3144,12 +3156,12 @@
3144
3156
  <xsl:apply-templates select="." mode="contents"/>
3145
3157
  </xsl:for-each>
3146
3158
 
3147
- <xsl:for-each select="/*/*[local-name()='annex']">
3159
+ <!-- <xsl:for-each select="/*/*[local-name()='annex']">
3148
3160
  <xsl:sort select="@displayorder" data-type="number"/>
3149
3161
  <xsl:apply-templates select="." mode="contents"/>
3150
- </xsl:for-each>
3162
+ </xsl:for-each> -->
3151
3163
 
3152
- <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true') and not(*[local-name()='references'][@normative='true'])][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0]">
3164
+ <xsl:for-each select="/*/*[local-name()='annex'] | /*/*[local-name()='bibliography']/*[not(@normative='true') and not(*[local-name()='references'][@normative='true'])][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]][count(.//*[local-name() = 'bibitem'][not(@hidden) = 'true']) &gt; 0]">
3153
3165
  <xsl:sort select="@displayorder" data-type="number"/>
3154
3166
  <xsl:apply-templates select="." mode="contents"/>
3155
3167
  </xsl:for-each>
@@ -3279,14 +3291,14 @@
3279
3291
  <xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
3280
3292
  </xsl:when>
3281
3293
  <xsl:otherwise>
3282
- <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>
3283
3295
  </xsl:otherwise>
3284
3296
  </xsl:choose>
3285
3297
  </xsl:for-each>
3286
3298
  </xsl:when>
3287
3299
 
3288
3300
  <xsl:otherwise>
3289
- <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>
3290
3302
  </xsl:otherwise>
3291
3303
 
3292
3304
  </xsl:choose>
@@ -3296,7 +3308,7 @@
3296
3308
  <!-- Preface boilerplate sections processing -->
3297
3309
  <!-- ================================= -->
3298
3310
  <xsl:template match="*[local-name()='copyright-statement']">
3299
- <fo:block xsl:use-attribute-sets="copyright-statement-style">
3311
+ <fo:block xsl:use-attribute-sets="copyright-statement-style" role="SKIP">
3300
3312
  <xsl:apply-templates/>
3301
3313
  </fo:block>
3302
3314
  </xsl:template> <!-- copyright-statement -->
@@ -3479,7 +3491,7 @@
3479
3491
  </xsl:choose>
3480
3492
  </xsl:variable>
3481
3493
 
3482
- <fo:block-container xsl:use-attribute-sets="table-container-style">
3494
+ <fo:block-container xsl:use-attribute-sets="table-container-style" role="SKIP">
3483
3495
 
3484
3496
  <xsl:call-template name="refine_table-container-style">
3485
3497
  <xsl:with-param name="margin-side" select="$margin-side"/>
@@ -3663,7 +3675,7 @@
3663
3675
  <xsl:param name="continued"/>
3664
3676
  <xsl:if test="normalize-space() != ''">
3665
3677
 
3666
- <fo:block xsl:use-attribute-sets="table-name-style">
3678
+ <fo:block xsl:use-attribute-sets="table-name-style" role="SKIP">
3667
3679
 
3668
3680
  <xsl:call-template name="refine_table-name-style">
3669
3681
  <xsl:with-param name="continued" select="$continued"/>
@@ -4048,8 +4060,8 @@
4048
4060
  <xsl:template name="table-header-title">
4049
4061
  <xsl:param name="cols-count"/>
4050
4062
  <!-- row for title -->
4051
- <fo:table-row>
4052
- <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
4063
+ <fo:table-row role="SKIP">
4064
+ <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black" role="SKIP">
4053
4065
 
4054
4066
  <xsl:call-template name="refine_table-header-title-style"/>
4055
4067
 
@@ -4058,7 +4070,7 @@
4058
4070
  </xsl:apply-templates>
4059
4071
 
4060
4072
  <xsl:if test="not(ancestor::*[local-name()='table']/*[local-name()='name'])"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
4061
- <fo:block/>
4073
+ <fo:block role="SKIP"/>
4062
4074
  </xsl:if>
4063
4075
 
4064
4076
  </fo:table-cell>
@@ -4369,7 +4381,7 @@
4369
4381
 
4370
4382
  <xsl:call-template name="refine_table-header-cell-style"/>
4371
4383
 
4372
- <fo:block>
4384
+ <fo:block role="SKIP">
4373
4385
  <xsl:apply-templates/>
4374
4386
  </fo:block>
4375
4387
  </fo:table-cell>
@@ -4422,7 +4434,7 @@
4422
4434
  <xsl:attribute name="text-align">left</xsl:attribute>
4423
4435
  </xsl:if>
4424
4436
 
4425
- <fo:block>
4437
+ <fo:block role="SKIP">
4426
4438
 
4427
4439
  <xsl:if test="$isGenerateTableIF = 'true'">
4428
4440
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
@@ -4515,7 +4527,7 @@
4515
4527
  </xsl:choose>
4516
4528
  </xsl:variable>
4517
4529
  <xsl:variable name="footnote_inline">
4518
- <fo:inline>
4530
+ <fo:inline role="Reference">
4519
4531
 
4520
4532
  <xsl:variable name="fn_styles">
4521
4533
  <xsl:choose>
@@ -4538,7 +4550,7 @@
4538
4550
 
4539
4551
  <xsl:call-template name="insert_basic_link">
4540
4552
  <xsl:with-param name="element">
4541
- <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">
4542
4554
  <xsl:copy-of select="$current_fn_number_text"/>
4543
4555
  </fo:basic-link>
4544
4556
  </xsl:with-param>
@@ -4551,17 +4563,17 @@
4551
4563
  <xsl:copy-of select="$footnote_inline"/>
4552
4564
  </xsl:when>
4553
4565
  <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
4554
- <fo:footnote xsl:use-attribute-sets="fn-style">
4566
+ <fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
4555
4567
  <xsl:copy-of select="$footnote_inline"/>
4556
- <fo:footnote-body>
4568
+ <fo:footnote-body role="Note">
4557
4569
 
4558
- <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">
4559
4571
 
4560
- <fo:block xsl:use-attribute-sets="fn-body-style">
4572
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
4561
4573
 
4562
4574
  <xsl:call-template name="refine_fn-body-style"/>
4563
4575
 
4564
- <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">
4565
4577
 
4566
4578
  <xsl:call-template name="refine_fn-body-num-style"/>
4567
4579
 
@@ -4834,11 +4846,11 @@
4834
4846
  </xsl:template>
4835
4847
 
4836
4848
  <xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
4837
- <fo:inline><xsl:value-of select="."/></fo:inline>
4849
+ <fo:inline role="SKIP"><xsl:value-of select="."/></fo:inline>
4838
4850
  </xsl:template>
4839
4851
 
4840
4852
  <xsl:template match="*[local-name()='fn']//*[local-name()='p']">
4841
- <fo:inline>
4853
+ <fo:inline role="P">
4842
4854
  <xsl:apply-templates/>
4843
4855
  </fo:inline>
4844
4856
  </xsl:template>
@@ -4853,7 +4865,7 @@
4853
4865
  <xsl:variable name="isAdded" select="@added"/>
4854
4866
  <xsl:variable name="isDeleted" select="@deleted"/>
4855
4867
  <!-- <dl><xsl:copy-of select="."/></dl> -->
4856
- <fo:block-container xsl:use-attribute-sets="dl-block-style">
4868
+ <fo:block-container xsl:use-attribute-sets="dl-block-style" role="SKIP">
4857
4869
 
4858
4870
  <xsl:call-template name="setBlockSpanAll"/>
4859
4871
 
@@ -4888,7 +4900,7 @@
4888
4900
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4889
4901
  </xsl:call-template>
4890
4902
 
4891
- <fo:block-container margin-left="0mm">
4903
+ <fo:block-container margin-left="0mm" role="SKIP">
4892
4904
 
4893
4905
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
4894
4906
 
@@ -4953,7 +4965,7 @@
4953
4965
 
4954
4966
  <!-- a few components -->
4955
4967
  <xsl:if test="$onlyOneComponent = 'false'">
4956
- <fo:block>
4968
+ <fo:block role="SKIP">
4957
4969
 
4958
4970
  <xsl:call-template name="refine_multicomponent_style"/>
4959
4971
 
@@ -4961,7 +4973,7 @@
4961
4973
  <xsl:attribute name="margin-top">0</xsl:attribute>
4962
4974
  </xsl:if>
4963
4975
 
4964
- <fo:block>
4976
+ <fo:block role="SKIP">
4965
4977
 
4966
4978
  <xsl:call-template name="refine_multicomponent_block_style"/>
4967
4979
 
@@ -5296,7 +5308,7 @@
5296
5308
  -->
5297
5309
  <fo:table-row>
5298
5310
  <fo:table-cell number-columns-spanned="2">
5299
- <fo:block>
5311
+ <fo:block role="SKIP">
5300
5312
  <xsl:call-template name="note"/>
5301
5313
  </fo:block>
5302
5314
  </fo:table-cell>
@@ -5368,7 +5380,7 @@
5368
5380
 
5369
5381
  <xsl:call-template name="refine_dt-cell-style"/>
5370
5382
 
5371
- <fo:block xsl:use-attribute-sets="dt-block-style">
5383
+ <fo:block xsl:use-attribute-sets="dt-block-style" role="SKIP">
5372
5384
  <xsl:copy-of select="@id"/>
5373
5385
 
5374
5386
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -5398,7 +5410,7 @@
5398
5410
 
5399
5411
  <xsl:call-template name="refine_dd-cell-style"/>
5400
5412
 
5401
- <fo:block>
5413
+ <fo:block role="SKIP">
5402
5414
 
5403
5415
  <xsl:if test="$isGenerateTableIF = 'true'">
5404
5416
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
@@ -5540,10 +5552,15 @@
5540
5552
  <!-- ========================= -->
5541
5553
  <xsl:template match="*[local-name()='em']">
5542
5554
  <fo:inline font-style="italic">
5555
+ <xsl:call-template name="refine_italic_style"/>
5543
5556
  <xsl:apply-templates/>
5544
5557
  </fo:inline>
5545
5558
  </xsl:template>
5546
5559
 
5560
+ <xsl:template name="refine_italic_style">
5561
+
5562
+ </xsl:template>
5563
+
5547
5564
  <xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
5548
5565
  <xsl:param name="split_keep-within-line"/>
5549
5566
  <fo:inline font-weight="bold">
@@ -5558,6 +5575,9 @@
5558
5575
 
5559
5576
  <xsl:template name="refine_strong_style">
5560
5577
 
5578
+ <xsl:if test="ancestor::*['preferred']">
5579
+ <xsl:attribute name="role">SKIP</xsl:attribute>
5580
+ </xsl:if>
5561
5581
  </xsl:template>
5562
5582
 
5563
5583
  <xsl:template match="*[local-name()='padding']">
@@ -5771,11 +5791,41 @@
5771
5791
 
5772
5792
  <xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
5773
5793
  <xsl:variable name="text" select="normalize-space(.)"/>
5774
- <fo:inline font-size="75%">
5794
+ <fo:inline font-size="75%" role="SKIP">
5775
5795
  <xsl:if test="string-length($text) &gt; 0">
5776
- <xsl:call-template name="recursiveSmallCaps">
5777
- <xsl:with-param name="text" select="$text"/>
5778
- </xsl:call-template>
5796
+ <xsl:variable name="smallCapsText">
5797
+ <xsl:call-template name="recursiveSmallCaps">
5798
+ <xsl:with-param name="text" select="$text"/>
5799
+ </xsl:call-template>
5800
+ </xsl:variable>
5801
+ <!-- merge neighboring fo:inline -->
5802
+ <xsl:for-each select="xalan:nodeset($smallCapsText)/node()">
5803
+ <xsl:choose>
5804
+ <xsl:when test="self::fo:inline and preceding-sibling::node()[1][self::fo:inline]"><!-- <xsl:copy-of select="."/> --></xsl:when>
5805
+ <xsl:when test="self::fo:inline and @font-size">
5806
+ <xsl:variable name="curr_pos" select="count(preceding-sibling::node()) + 1"/>
5807
+ <!-- <curr_pos><xsl:value-of select="$curr_pos"/></curr_pos> -->
5808
+ <xsl:variable name="next_text_" select="count(following-sibling::node()[not(local-name() = 'inline')][1]/preceding-sibling::node())"/>
5809
+ <xsl:variable name="next_text">
5810
+ <xsl:choose>
5811
+ <xsl:when test="$next_text_ = 0">99999999</xsl:when>
5812
+ <xsl:otherwise><xsl:value-of select="$next_text_ + 1"/></xsl:otherwise>
5813
+ </xsl:choose>
5814
+ </xsl:variable>
5815
+ <!-- <next_text><xsl:value-of select="$next_text"/></next_text> -->
5816
+ <fo:inline>
5817
+ <xsl:copy-of select="@*"/>
5818
+ <xsl:copy-of select="./node()"/>
5819
+ <xsl:for-each select="following-sibling::node()[position() &lt; $next_text - $curr_pos]"> <!-- [self::fo:inline] -->
5820
+ <xsl:copy-of select="./node()"/>
5821
+ </xsl:for-each>
5822
+ </fo:inline>
5823
+ </xsl:when>
5824
+ <xsl:otherwise>
5825
+ <xsl:copy-of select="."/>
5826
+ </xsl:otherwise>
5827
+ </xsl:choose>
5828
+ </xsl:for-each>
5779
5829
  </xsl:if>
5780
5830
  </fo:inline>
5781
5831
  </xsl:template>
@@ -5787,7 +5837,7 @@
5787
5837
  <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
5788
5838
  <xsl:choose>
5789
5839
  <xsl:when test="$char=$upperCase">
5790
- <fo:inline font-size="{100 div 0.75}%">
5840
+ <fo:inline font-size="{100 div 0.75}%" role="SKIP">
5791
5841
  <xsl:value-of select="$upperCase"/>
5792
5842
  </fo:inline>
5793
5843
  </xsl:when>
@@ -5949,6 +5999,10 @@
5949
5999
 
5950
6000
  <xsl:when test="not(contains($text, $separator))">
5951
6001
  <word>
6002
+ <xsl:if test="ancestor::*[local-name() = 'p'][@from_dl = 'true']">
6003
+ <xsl:text>
6004
+  </xsl:text> <!-- to add distance between dt and dd -->
6005
+ </xsl:if>
5952
6006
  <xsl:call-template name="enclose_text_in_tags">
5953
6007
  <xsl:with-param name="text" select="normalize-space($text)"/>
5954
6008
  <xsl:with-param name="tags" select="$tags"/>
@@ -5957,6 +6011,10 @@
5957
6011
  </xsl:when>
5958
6012
  <xsl:otherwise>
5959
6013
  <word>
6014
+ <xsl:if test="ancestor::*[local-name() = 'p'][@from_dl = 'true']">
6015
+ <xsl:text>
6016
+  </xsl:text> <!-- to add distance between dt and dd -->
6017
+ </xsl:if>
5960
6018
  <xsl:call-template name="enclose_text_in_tags">
5961
6019
  <xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/>
5962
6020
  <xsl:with-param name="tags" select="$tags"/>
@@ -6140,6 +6198,10 @@
6140
6198
  <xsl:template name="getSimpleTable">
6141
6199
  <xsl:param name="id"/>
6142
6200
 
6201
+ <!-- <test0>
6202
+ <xsl:copy-of select="."/>
6203
+ </test0> -->
6204
+
6143
6205
  <xsl:variable name="simple-table">
6144
6206
 
6145
6207
  <!-- Step 0. replace <br/> to <p>...</p> -->
@@ -6452,6 +6514,18 @@
6452
6514
  </xsl:copy>
6453
6515
  </xsl:template>
6454
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
+
6455
6529
  <xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
6456
6530
  <xsl:param name="id"/>
6457
6531
  <xsl:copy>
@@ -6490,6 +6564,33 @@
6490
6564
 
6491
6565
  <!-- td_text='<xsl:copy-of select="$td_text"/>' -->
6492
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
+
6493
6594
  <xsl:variable name="words">
6494
6595
  <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
6495
6596
  <word>
@@ -6497,9 +6598,12 @@
6497
6598
  </word>
6498
6599
  </xsl:for-each>
6499
6600
 
6500
- <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() != '']">
6501
6602
  <xsl:copy-of select="."/>
6502
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> -->
6503
6607
 
6504
6608
  </xsl:variable>
6505
6609
 
@@ -6960,10 +7064,10 @@
6960
7064
  <xsl:copy>
6961
7065
  <xsl:apply-templates select="@*" mode="mathml"/>
6962
7066
  <xsl:if test="not(@lspace)">
6963
- <xsl:attribute name="lspace">0.4em</xsl:attribute>
7067
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6964
7068
  </xsl:if>
6965
- <xsl:if test="not(@rspace)">
6966
- <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>
6967
7071
  </xsl:if>
6968
7072
  <xsl:apply-templates mode="mathml"/>
6969
7073
  </xsl:copy>
@@ -6980,6 +7084,27 @@
6980
7084
  </xsl:copy>
6981
7085
  </xsl:template>
6982
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
+
6983
7108
  <!-- Examples:
6984
7109
  <stem type="AsciiMath">x = 1</stem>
6985
7110
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -7143,7 +7268,7 @@
7143
7268
  <!-- formula -->
7144
7269
  <!-- ====== -->
7145
7270
  <xsl:template match="*[local-name() = 'formula']" name="formula">
7146
- <fo:block-container margin-left="0mm">
7271
+ <fo:block-container margin-left="0mm" role="SKIP">
7147
7272
  <xsl:if test="parent::*[local-name() = 'note']">
7148
7273
  <xsl:attribute name="margin-left">
7149
7274
  <xsl:choose>
@@ -7153,7 +7278,7 @@
7153
7278
  </xsl:attribute>
7154
7279
 
7155
7280
  </xsl:if>
7156
- <fo:block-container margin-left="0mm">
7281
+ <fo:block-container margin-left="0mm" role="SKIP">
7157
7282
  <fo:block id="{@id}">
7158
7283
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
7159
7284
  </fo:block>
@@ -7189,7 +7314,7 @@
7189
7314
  <fo:table-body>
7190
7315
  <fo:table-row>
7191
7316
  <fo:table-cell display-align="center">
7192
- <fo:block xsl:use-attribute-sets="formula-stem-block-style">
7317
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style" role="SKIP">
7193
7318
 
7194
7319
  <xsl:call-template name="refine_formula-stem-block-style"/>
7195
7320
 
@@ -7197,7 +7322,10 @@
7197
7322
  </fo:block>
7198
7323
  </fo:table-cell>
7199
7324
  <fo:table-cell display-align="center">
7200
- <fo:block xsl:use-attribute-sets="formula-stem-number-style">
7325
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style" role="SKIP">
7326
+
7327
+ <xsl:call-template name="refine_formula-stem-number-style"/>
7328
+
7201
7329
  <xsl:apply-templates select="../*[local-name() = 'name']"/>
7202
7330
  </fo:block>
7203
7331
  </fo:table-cell>
@@ -7230,13 +7358,13 @@
7230
7358
 
7231
7359
  <xsl:template match="*[local-name() = 'note']" name="note">
7232
7360
 
7233
- <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">
7234
7362
 
7235
7363
  <xsl:call-template name="setBlockSpanAll"/>
7236
7364
 
7237
7365
  <xsl:call-template name="refine_note-style"/>
7238
7366
 
7239
- <fo:block-container margin-left="0mm" margin-right="0mm">
7367
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
7240
7368
 
7241
7369
  <fo:block>
7242
7370
 
@@ -7402,12 +7530,13 @@
7402
7530
 
7403
7531
  <xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
7404
7532
  <xsl:if test="normalize-space() != ''">
7405
- <xsl:variable name="level">
7533
+ <!-- <xsl:variable name="level">
7406
7534
  <xsl:call-template name="getLevelTermName"/>
7407
7535
  </xsl:variable>
7408
7536
  <fo:inline role="H{$level}">
7409
- <xsl:apply-templates/>
7410
- </fo:inline>
7537
+ <xsl:apply-templates />
7538
+ </fo:inline> -->
7539
+ <xsl:apply-templates/>
7411
7540
  </xsl:if>
7412
7541
  </xsl:template>
7413
7542
  <!-- ====== -->
@@ -7431,7 +7560,7 @@
7431
7560
  <!-- Example: Dimensions in millimeters -->
7432
7561
  <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
7433
7562
 
7434
- <fo:block xsl:use-attribute-sets="figure-style">
7563
+ <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
7435
7564
  <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
7436
7565
  </fo:block>
7437
7566
  <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
@@ -8587,7 +8716,7 @@
8587
8716
  </xsl:when>
8588
8717
 
8589
8718
  <xsl:otherwise>
8590
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
8719
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style" role="SKIP">
8591
8720
 
8592
8721
  <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
8593
8722
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
@@ -8608,7 +8737,7 @@
8608
8737
  </xsl:attribute>
8609
8738
 
8610
8739
  </xsl:if>
8611
- <fo:block-container margin-left="0mm">
8740
+ <fo:block-container margin-left="0mm" role="SKIP">
8612
8741
 
8613
8742
  <xsl:if test="parent::*[local-name() = 'example']">
8614
8743
  <fo:block font-size="1pt" line-height="10%" space-after="4pt"> </fo:block>
@@ -8740,7 +8869,7 @@
8740
8869
  <!-- second td with sourcecode -->
8741
8870
  <xsl:template match="*[local-name() = 'sourcecode'][@linenums = 'true']/*[local-name()='table']//*[local-name()='tr']/*[local-name()='td'][preceding-sibling::*]" priority="2"> <!-- *[local-name()='table'][@type = 'sourcecode'] -->
8742
8871
  <fo:table-cell>
8743
- <fo:block>
8872
+ <fo:block role="SKIP">
8744
8873
  <xsl:apply-templates/>
8745
8874
  </fo:block>
8746
8875
  </fo:table-cell>
@@ -9170,11 +9299,11 @@
9170
9299
  <!-- requirement, recommendation, permission table -->
9171
9300
  <!-- ========== -->
9172
9301
  <xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
9173
- <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">
9174
9303
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
9175
9304
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
9176
9305
  </xsl:if>
9177
- <fo:block-container margin-left="0mm" margin-right="0mm">
9306
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9178
9307
  <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
9179
9308
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
9180
9309
  <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
@@ -9246,7 +9375,7 @@
9246
9375
 
9247
9376
  <xsl:call-template name="setTableCellAttributes"/>
9248
9377
 
9249
- <fo:block>
9378
+ <fo:block role="SKIP">
9250
9379
  <xsl:apply-templates/>
9251
9380
  </fo:block>
9252
9381
  </fo:table-cell>
@@ -9268,7 +9397,7 @@
9268
9397
 
9269
9398
  <xsl:call-template name="setTableCellAttributes"/>
9270
9399
 
9271
- <fo:block>
9400
+ <fo:block role="SKIP">
9272
9401
  <xsl:apply-templates/>
9273
9402
  </fo:block>
9274
9403
  </fo:table-cell>
@@ -9350,7 +9479,7 @@
9350
9479
  -->
9351
9480
  <xsl:template match="*[local-name() = 'example']">
9352
9481
 
9353
- <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">
9354
9483
 
9355
9484
  <xsl:call-template name="setBlockSpanAll"/>
9356
9485
 
@@ -9361,7 +9490,7 @@
9361
9490
  inline
9362
9491
  </xsl:variable>
9363
9492
 
9364
- <fo:block-container margin-left="0mm">
9493
+ <fo:block-container margin-left="0mm" role="SKIP">
9365
9494
 
9366
9495
  <xsl:choose>
9367
9496
 
@@ -9374,8 +9503,8 @@
9374
9503
  </xsl:apply-templates>
9375
9504
  </fo:block>
9376
9505
 
9377
- <fo:block-container xsl:use-attribute-sets="example-body-style">
9378
- <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">
9379
9508
  <xsl:apply-templates select="node()[not(local-name() = 'name')]">
9380
9509
  <xsl:with-param name="fo_element" select="$fo_element"/>
9381
9510
  </xsl:apply-templates>
@@ -9428,8 +9557,8 @@
9428
9557
 
9429
9558
  <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
9430
9559
  <!-- display further elements in blocks -->
9431
- <fo:block-container xsl:use-attribute-sets="example-body-style">
9432
- <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">
9433
9562
  <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
9434
9563
  <xsl:with-param name="fo_element" select="'block'"/>
9435
9564
  </xsl:apply-templates>
@@ -9482,7 +9611,7 @@
9482
9611
  </xsl:variable>
9483
9612
  <xsl:choose>
9484
9613
  <xsl:when test="starts-with(normalize-space($element), 'block')">
9485
- <fo:block-container>
9614
+ <fo:block-container role="SKIP">
9486
9615
  <xsl:if test="ancestor::*[local-name() = 'li'] and contains(normalize-space($fo_element), 'block')">
9487
9616
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
9488
9617
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -9623,7 +9752,7 @@
9623
9752
  <!-- author -->
9624
9753
  <!-- ====== -->
9625
9754
  <xsl:template match="*[local-name() = 'quote']">
9626
- <fo:block-container margin-left="0mm">
9755
+ <fo:block-container margin-left="0mm" role="SKIP">
9627
9756
 
9628
9757
  <xsl:call-template name="setBlockSpanAll"/>
9629
9758
 
@@ -9633,12 +9762,12 @@
9633
9762
  </xsl:if>
9634
9763
  </xsl:if>
9635
9764
 
9636
- <fo:block-container margin-left="0mm">
9637
- <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">
9638
9767
 
9639
9768
  <xsl:call-template name="refine_quote-style"/>
9640
9769
 
9641
- <fo:block-container margin-left="0mm" margin-right="0mm">
9770
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9642
9771
  <fo:block role="BlockQuote">
9643
9772
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
9644
9773
  </fo:block>
@@ -9795,10 +9924,10 @@
9795
9924
 
9796
9925
  <xsl:choose>
9797
9926
  <xsl:when test="$lang = 'zh'">
9798
- <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
9927
+ <fo:inline role="SKIP"><xsl:value-of select="$tab_zh"/></fo:inline>
9799
9928
  </xsl:when>
9800
9929
  <xsl:when test="../../@inline-header = 'true'">
9801
- <fo:inline font-size="90%">
9930
+ <fo:inline font-size="90%" role="SKIP">
9802
9931
  <xsl:call-template name="insertNonBreakSpaces">
9803
9932
  <xsl:with-param name="count" select="$padding-right"/>
9804
9933
  </xsl:call-template>
@@ -9806,7 +9935,7 @@
9806
9935
  </xsl:when>
9807
9936
  <xsl:otherwise>
9808
9937
  <xsl:variable name="direction"><xsl:if test="$lang = 'ar'"><xsl:value-of select="$RLM"/></xsl:if></xsl:variable>
9809
- <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>
9810
9939
  </xsl:otherwise>
9811
9940
  </xsl:choose>
9812
9941
 
@@ -9836,12 +9965,12 @@
9836
9965
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
9837
9966
 
9838
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 -->
9839
- <fo:block xsl:use-attribute-sets="term-name-style">
9968
+ <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
9840
9969
  <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
9841
9970
  </fo:block>
9842
9971
  </xsl:if>
9843
9972
 
9844
- <fo:block xsl:use-attribute-sets="preferred-term-style">
9973
+ <fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
9845
9974
  <xsl:call-template name="setStyle_preferred"/>
9846
9975
  <xsl:apply-templates/>
9847
9976
  </fo:block>
@@ -9882,7 +10011,7 @@
9882
10011
  <!-- definition -->
9883
10012
  <!-- ========== -->
9884
10013
  <xsl:template match="*[local-name() = 'definition']">
9885
- <fo:block xsl:use-attribute-sets="definition-style">
10014
+ <fo:block xsl:use-attribute-sets="definition-style" role="SKIP">
9886
10015
  <xsl:apply-templates/>
9887
10016
  </fo:block>
9888
10017
  </xsl:template>
@@ -9930,6 +10059,10 @@
9930
10059
 
9931
10060
  <xsl:template match="*[local-name() = 'clause']">
9932
10061
  <fo:block>
10062
+ <xsl:if test="parent::*[local-name() = 'copyright-statement']">
10063
+ <xsl:attribute name="role">SKIP</xsl:attribute>
10064
+ </xsl:if>
10065
+
9933
10066
  <xsl:call-template name="setId"/>
9934
10067
 
9935
10068
  <xsl:call-template name="setBlockSpanAll"/>
@@ -10043,7 +10176,48 @@
10043
10176
  </xsl:choose>
10044
10177
  </xsl:when>
10045
10178
  <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10046
- <xsl:value-of select="@label"/>
10179
+
10180
+ <xsl:variable name="label">
10181
+
10182
+ <xsl:variable name="type" select="../@type"/>
10183
+
10184
+ <xsl:variable name="style_prefix_">
10185
+ <xsl:if test="$type = 'roman'">
10186
+ <!-- Example: (i) -->
10187
+ </xsl:if>
10188
+ </xsl:variable>
10189
+ <xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
10190
+
10191
+ <xsl:variable name="style_suffix_">
10192
+ <xsl:choose>
10193
+ <xsl:when test="$type = 'arabic'">
10194
+ .
10195
+ </xsl:when>
10196
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
10197
+ )
10198
+ </xsl:when>
10199
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
10200
+ )
10201
+ </xsl:when>
10202
+ <xsl:when test="$type = 'roman'">
10203
+ )
10204
+ </xsl:when>
10205
+ <xsl:when test="$type = 'roman_upper'">.</xsl:when> <!-- Example: I. -->
10206
+ </xsl:choose>
10207
+ </xsl:variable>
10208
+ <xsl:variable name="style_suffix" select="normalize-space($style_suffix_)"/>
10209
+
10210
+ <xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
10211
+ <xsl:value-of select="$style_prefix"/>
10212
+ </xsl:if>
10213
+ <xsl:value-of select="@label"/>
10214
+ <xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
10215
+ <xsl:value-of select="$style_suffix"/>
10216
+ </xsl:if>
10217
+ </xsl:variable>
10218
+
10219
+ <xsl:value-of select="normalize-space($label)"/>
10220
+
10047
10221
  </xsl:when>
10048
10222
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
10049
10223
 
@@ -10125,7 +10299,7 @@
10125
10299
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
10126
10300
  <xsl:choose>
10127
10301
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
10128
- <fo:block-container>
10302
+ <fo:block-container role="SKIP">
10129
10303
  <xsl:attribute name="margin-left">
10130
10304
  <xsl:choose>
10131
10305
  <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
@@ -10135,7 +10309,7 @@
10135
10309
 
10136
10310
  <xsl:call-template name="refine_list_container_style"/>
10137
10311
 
10138
- <fo:block-container margin-left="0mm">
10312
+ <fo:block-container margin-left="0mm" role="SKIP">
10139
10313
  <fo:block>
10140
10314
  <xsl:apply-templates select="." mode="list"/>
10141
10315
  </fo:block>
@@ -10144,7 +10318,7 @@
10144
10318
  </xsl:when>
10145
10319
  <xsl:otherwise>
10146
10320
 
10147
- <fo:block>
10321
+ <fo:block role="SKIP">
10148
10322
  <xsl:apply-templates select="." mode="list"/>
10149
10323
  </fo:block>
10150
10324
 
@@ -10236,7 +10410,7 @@
10236
10410
  <xsl:call-template name="refine_list-item-style"/>
10237
10411
 
10238
10412
  <fo:list-item-label end-indent="label-end()">
10239
- <fo:block xsl:use-attribute-sets="list-item-label-style">
10413
+ <fo:block xsl:use-attribute-sets="list-item-label-style" role="SKIP">
10240
10414
 
10241
10415
  <xsl:call-template name="refine_list-item-label-style"/>
10242
10416
 
@@ -10250,7 +10424,7 @@
10250
10424
  </fo:block>
10251
10425
  </fo:list-item-label>
10252
10426
  <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
10253
- <fo:block>
10427
+ <fo:block role="SKIP">
10254
10428
 
10255
10429
  <xsl:call-template name="refine_list-item-body-style"/>
10256
10430
 
@@ -10529,10 +10703,10 @@
10529
10703
  <fo:table-body>
10530
10704
  <fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
10531
10705
 
10532
- <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
10533
- <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
10534
- <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
10535
- <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
10706
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Date</fo:block></fo:table-cell>
10707
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Type</fo:block></fo:table-cell>
10708
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Change</fo:block></fo:table-cell>
10709
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Pages</fo:block></fo:table-cell>
10536
10710
  </fo:table-row>
10537
10711
  <xsl:apply-templates/>
10538
10712
  </fo:table-body>
@@ -10547,7 +10721,7 @@
10547
10721
 
10548
10722
  <xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
10549
10723
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
10550
- <fo:block><xsl:apply-templates/></fo:block>
10724
+ <fo:block role="SKIP"><xsl:apply-templates/></fo:block>
10551
10725
  </fo:table-cell>
10552
10726
  </xsl:template>
10553
10727
  <!-- ============ -->
@@ -10562,7 +10736,10 @@
10562
10736
  <!-- Reference sections (Normative References and Bibliography) -->
10563
10737
  <!-- ========================================================== -->
10564
10738
  <xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/>
10565
- <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>
10566
10743
  <!-- don't display bibitem with @id starts with '_hidden', that was introduced for references integrity -->
10567
10744
  <xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/>
10568
10745
 
@@ -10611,15 +10788,15 @@
10611
10788
 
10612
10789
  <!-- Bibliography (non-normative references) -->
10613
10790
  <xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
10614
-
10791
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
10615
10792
  <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
10616
10793
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
10617
10794
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
10618
10795
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
10619
10796
  <fo:list-item>
10620
10797
  <fo:list-item-label end-indent="label-end()">
10621
- <fo:block>
10622
- <fo:inline>
10798
+ <fo:block role="SKIP">
10799
+ <fo:inline role="SKIP">
10623
10800
 
10624
10801
  <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
10625
10802
  <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
@@ -10628,7 +10805,7 @@
10628
10805
  </fo:block>
10629
10806
  </fo:list-item-label>
10630
10807
  <fo:list-item-body start-indent="body-start()">
10631
- <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
10808
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style" role="SKIP">
10632
10809
  <xsl:call-template name="processBibitem">
10633
10810
  <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
10634
10811
  </xsl:call-template>
@@ -10639,6 +10816,35 @@
10639
10816
 
10640
10817
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
10641
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
+
10642
10848
  <xsl:template name="processBibitem">
10643
10849
  <xsl:param name="biblio_tag_part">both</xsl:param>
10644
10850
 
@@ -10850,7 +11056,7 @@
10850
11056
  <xsl:for-each select="*[local-name() = 'tab']">
10851
11057
  <xsl:variable name="current_id" select="generate-id()"/>
10852
11058
  <fo:table-cell>
10853
- <fo:block line-height-shift-adjustment="disregard-shifts">
11059
+ <fo:block line-height-shift-adjustment="disregard-shifts" role="SKIP">
10854
11060
  <xsl:call-template name="insert_basic_link">
10855
11061
  <xsl:with-param name="element">
10856
11062
  <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
@@ -10868,7 +11074,7 @@
10868
11074
  </xsl:for-each>
10869
11075
  <!-- last column - for page numbers -->
10870
11076
  <fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
10871
- <fo:block>
11077
+ <fo:block role="SKIP">
10872
11078
  <xsl:call-template name="insert_basic_link">
10873
11079
  <xsl:with-param name="element">
10874
11080
  <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
@@ -10972,7 +11178,7 @@
10972
11178
 
10973
11179
  <xsl:call-template name="setBlockSpanAll"/>
10974
11180
 
10975
- <fo:block-container xsl:use-attribute-sets="admonition-container-style">
11181
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style" role="SKIP">
10976
11182
 
10977
11183
  <fo:block xsl:use-attribute-sets="admonition-name-style">
10978
11184
  <xsl:call-template name="displayAdmonitionName"/>