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.
@@ -1664,6 +1664,7 @@
1664
1664
  </xsl:attribute-set>
1665
1665
 
1666
1666
  <xsl:attribute-set name="figure-block-style">
1667
+ <xsl:attribute name="role">SKIP</xsl:attribute>
1667
1668
 
1668
1669
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1669
1670
 
@@ -1674,6 +1675,7 @@
1674
1675
  </xsl:attribute-set>
1675
1676
 
1676
1677
  <xsl:attribute-set name="figure-name-style">
1678
+ <xsl:attribute name="role">Caption</xsl:attribute>
1677
1679
 
1678
1680
  <xsl:attribute name="font-size">11pt</xsl:attribute>
1679
1681
  <xsl:attribute name="text-align">left</xsl:attribute>
@@ -1719,7 +1721,12 @@
1719
1721
  </xsl:attribute-set> <!-- formula-stem-number-style -->
1720
1722
  <!-- End Formula's styles -->
1721
1723
 
1724
+ <xsl:template name="refine_formula-stem-number-style">
1725
+
1726
+ </xsl:template>
1727
+
1722
1728
  <xsl:attribute-set name="image-style">
1729
+ <xsl:attribute name="role">SKIP</xsl:attribute>
1723
1730
  <xsl:attribute name="text-align">center</xsl:attribute>
1724
1731
 
1725
1732
  <xsl:attribute name="space-before">12pt</xsl:attribute>
@@ -2005,6 +2012,11 @@
2005
2012
 
2006
2013
  </xsl:attribute-set> <!-- bibitem-non-normative-list-style -->
2007
2014
 
2015
+ <xsl:attribute-set name="bibitem-non-normative-list-item-style">
2016
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
2017
+
2018
+ </xsl:attribute-set>
2019
+
2008
2020
  <!-- bibitem in bibliography section (references/@normative="false"), list body -->
2009
2021
  <xsl:attribute-set name="bibitem-normative-list-body-style">
2010
2022
 
@@ -2223,13 +2235,13 @@
2223
2235
 
2224
2236
  <xsl:template name="processPrefaceSectionsDefault_Contents">
2225
2237
  <xsl:variable name="nodes_preface_">
2226
- <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
2238
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or @type = 'toc')]">
2227
2239
  <node id="{@id}"/>
2228
2240
  </xsl:for-each>
2229
2241
  </xsl:variable>
2230
2242
  <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
2231
2243
 
2232
- <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition')]">
2244
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or @type = 'toc')]">
2233
2245
  <xsl:sort select="@displayorder" data-type="number"/>
2234
2246
 
2235
2247
  <!-- process Section's title -->
@@ -2263,12 +2275,12 @@
2263
2275
  <xsl:apply-templates select="." mode="contents"/>
2264
2276
  </xsl:for-each>
2265
2277
 
2266
- <xsl:for-each select="/*/*[local-name()='annex']">
2278
+ <!-- <xsl:for-each select="/*/*[local-name()='annex']">
2267
2279
  <xsl:sort select="@displayorder" data-type="number"/>
2268
2280
  <xsl:apply-templates select="." mode="contents"/>
2269
- </xsl:for-each>
2281
+ </xsl:for-each> -->
2270
2282
 
2271
- <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]">
2283
+ <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]">
2272
2284
  <xsl:sort select="@displayorder" data-type="number"/>
2273
2285
  <xsl:apply-templates select="." mode="contents"/>
2274
2286
  </xsl:for-each>
@@ -2398,14 +2410,14 @@
2398
2410
  <xsl:value-of select="$sep"/><xsl:value-of select="$zero_width_space"/>
2399
2411
  </xsl:when>
2400
2412
  <xsl:otherwise>
2401
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
2413
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
2402
2414
  </xsl:otherwise>
2403
2415
  </xsl:choose>
2404
2416
  </xsl:for-each>
2405
2417
  </xsl:when>
2406
2418
 
2407
2419
  <xsl:otherwise>
2408
- <fo:inline keep-together.within-line="always"><xsl:apply-templates/></fo:inline>
2420
+ <fo:inline keep-together.within-line="always" role="SKIP"><xsl:apply-templates/></fo:inline>
2409
2421
  </xsl:otherwise>
2410
2422
 
2411
2423
  </xsl:choose>
@@ -2415,7 +2427,7 @@
2415
2427
  <!-- Preface boilerplate sections processing -->
2416
2428
  <!-- ================================= -->
2417
2429
  <xsl:template match="*[local-name()='copyright-statement']">
2418
- <fo:block xsl:use-attribute-sets="copyright-statement-style">
2430
+ <fo:block xsl:use-attribute-sets="copyright-statement-style" role="SKIP">
2419
2431
  <xsl:apply-templates/>
2420
2432
  </fo:block>
2421
2433
  </xsl:template> <!-- copyright-statement -->
@@ -2617,7 +2629,7 @@
2617
2629
  </xsl:choose>
2618
2630
  </xsl:variable>
2619
2631
 
2620
- <fo:block-container xsl:use-attribute-sets="table-container-style">
2632
+ <fo:block-container xsl:use-attribute-sets="table-container-style" role="SKIP">
2621
2633
 
2622
2634
  <xsl:call-template name="refine_table-container-style">
2623
2635
  <xsl:with-param name="margin-side" select="$margin-side"/>
@@ -2803,7 +2815,7 @@
2803
2815
  <xsl:param name="continued"/>
2804
2816
  <xsl:if test="normalize-space() != ''">
2805
2817
 
2806
- <fo:block xsl:use-attribute-sets="table-name-style">
2818
+ <fo:block xsl:use-attribute-sets="table-name-style" role="SKIP">
2807
2819
 
2808
2820
  <xsl:call-template name="refine_table-name-style">
2809
2821
  <xsl:with-param name="continued" select="$continued"/>
@@ -3188,8 +3200,8 @@
3188
3200
  <xsl:template name="table-header-title">
3189
3201
  <xsl:param name="cols-count"/>
3190
3202
  <!-- row for title -->
3191
- <fo:table-row>
3192
- <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">
3203
+ <fo:table-row role="SKIP">
3204
+ <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">
3193
3205
 
3194
3206
  <xsl:call-template name="refine_table-header-title-style"/>
3195
3207
 
@@ -3198,7 +3210,7 @@
3198
3210
  </xsl:apply-templates>
3199
3211
 
3200
3212
  <xsl:if test="not(ancestor::*[local-name()='table']/*[local-name()='name'])"> <!-- to prevent empty fo:table-cell in case of missing table's name -->
3201
- <fo:block/>
3213
+ <fo:block role="SKIP"/>
3202
3214
  </xsl:if>
3203
3215
 
3204
3216
  </fo:table-cell>
@@ -3509,7 +3521,7 @@
3509
3521
 
3510
3522
  <xsl:call-template name="refine_table-header-cell-style"/>
3511
3523
 
3512
- <fo:block>
3524
+ <fo:block role="SKIP">
3513
3525
  <xsl:apply-templates/>
3514
3526
  </fo:block>
3515
3527
  </fo:table-cell>
@@ -3562,7 +3574,7 @@
3562
3574
  <xsl:attribute name="text-align">left</xsl:attribute>
3563
3575
  </xsl:if>
3564
3576
 
3565
- <fo:block>
3577
+ <fo:block role="SKIP">
3566
3578
 
3567
3579
  <xsl:if test="$isGenerateTableIF = 'true'">
3568
3580
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
@@ -3655,7 +3667,7 @@
3655
3667
  </xsl:choose>
3656
3668
  </xsl:variable>
3657
3669
  <xsl:variable name="footnote_inline">
3658
- <fo:inline>
3670
+ <fo:inline role="Reference">
3659
3671
 
3660
3672
  <xsl:variable name="fn_styles">
3661
3673
  <xsl:choose>
@@ -3678,7 +3690,7 @@
3678
3690
 
3679
3691
  <xsl:call-template name="insert_basic_link">
3680
3692
  <xsl:with-param name="element">
3681
- <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3693
+ <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl">
3682
3694
  <xsl:copy-of select="$current_fn_number_text"/>
3683
3695
  </fo:basic-link>
3684
3696
  </xsl:with-param>
@@ -3691,17 +3703,17 @@
3691
3703
  <xsl:copy-of select="$footnote_inline"/>
3692
3704
  </xsl:when>
3693
3705
  <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
3694
- <fo:footnote xsl:use-attribute-sets="fn-style">
3706
+ <fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
3695
3707
  <xsl:copy-of select="$footnote_inline"/>
3696
- <fo:footnote-body>
3708
+ <fo:footnote-body role="Note">
3697
3709
 
3698
- <fo:block-container xsl:use-attribute-sets="fn-container-body-style">
3710
+ <fo:block-container xsl:use-attribute-sets="fn-container-body-style" role="SKIP">
3699
3711
 
3700
- <fo:block xsl:use-attribute-sets="fn-body-style">
3712
+ <fo:block xsl:use-attribute-sets="fn-body-style" role="SKIP">
3701
3713
 
3702
3714
  <xsl:call-template name="refine_fn-body-style"/>
3703
3715
 
3704
- <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3716
+ <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style" role="Lbl">
3705
3717
 
3706
3718
  <xsl:call-template name="refine_fn-body-num-style"/>
3707
3719
 
@@ -3974,11 +3986,11 @@
3974
3986
  </xsl:template>
3975
3987
 
3976
3988
  <xsl:template match="*[local-name()='fn']/text()[normalize-space() != '']">
3977
- <fo:inline><xsl:value-of select="."/></fo:inline>
3989
+ <fo:inline role="SKIP"><xsl:value-of select="."/></fo:inline>
3978
3990
  </xsl:template>
3979
3991
 
3980
3992
  <xsl:template match="*[local-name()='fn']//*[local-name()='p']">
3981
- <fo:inline>
3993
+ <fo:inline role="P">
3982
3994
  <xsl:apply-templates/>
3983
3995
  </fo:inline>
3984
3996
  </xsl:template>
@@ -3993,7 +4005,7 @@
3993
4005
  <xsl:variable name="isAdded" select="@added"/>
3994
4006
  <xsl:variable name="isDeleted" select="@deleted"/>
3995
4007
  <!-- <dl><xsl:copy-of select="."/></dl> -->
3996
- <fo:block-container xsl:use-attribute-sets="dl-block-style">
4008
+ <fo:block-container xsl:use-attribute-sets="dl-block-style" role="SKIP">
3997
4009
 
3998
4010
  <xsl:call-template name="setBlockSpanAll"/>
3999
4011
 
@@ -4028,7 +4040,7 @@
4028
4040
  <xsl:with-param name="isDeleted" select="$isDeleted"/>
4029
4041
  </xsl:call-template>
4030
4042
 
4031
- <fo:block-container margin-left="0mm">
4043
+ <fo:block-container margin-left="0mm" role="SKIP">
4032
4044
 
4033
4045
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
4034
4046
 
@@ -4093,7 +4105,7 @@
4093
4105
 
4094
4106
  <!-- a few components -->
4095
4107
  <xsl:if test="$onlyOneComponent = 'false'">
4096
- <fo:block>
4108
+ <fo:block role="SKIP">
4097
4109
 
4098
4110
  <xsl:call-template name="refine_multicomponent_style"/>
4099
4111
 
@@ -4101,7 +4113,7 @@
4101
4113
  <xsl:attribute name="margin-top">0</xsl:attribute>
4102
4114
  </xsl:if>
4103
4115
 
4104
- <fo:block>
4116
+ <fo:block role="SKIP">
4105
4117
 
4106
4118
  <xsl:call-template name="refine_multicomponent_block_style"/>
4107
4119
 
@@ -4436,7 +4448,7 @@
4436
4448
  -->
4437
4449
  <fo:table-row>
4438
4450
  <fo:table-cell number-columns-spanned="2">
4439
- <fo:block>
4451
+ <fo:block role="SKIP">
4440
4452
  <xsl:call-template name="note"/>
4441
4453
  </fo:block>
4442
4454
  </fo:table-cell>
@@ -4501,7 +4513,7 @@
4501
4513
 
4502
4514
  <xsl:call-template name="refine_dt-cell-style"/>
4503
4515
 
4504
- <fo:block xsl:use-attribute-sets="dt-block-style">
4516
+ <fo:block xsl:use-attribute-sets="dt-block-style" role="SKIP">
4505
4517
  <xsl:copy-of select="@id"/>
4506
4518
 
4507
4519
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -4531,7 +4543,7 @@
4531
4543
 
4532
4544
  <xsl:call-template name="refine_dd-cell-style"/>
4533
4545
 
4534
- <fo:block>
4546
+ <fo:block role="SKIP">
4535
4547
 
4536
4548
  <xsl:if test="$isGenerateTableIF = 'true'">
4537
4549
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
@@ -4673,10 +4685,15 @@
4673
4685
  <!-- ========================= -->
4674
4686
  <xsl:template match="*[local-name()='em']">
4675
4687
  <fo:inline font-style="italic">
4688
+ <xsl:call-template name="refine_italic_style"/>
4676
4689
  <xsl:apply-templates/>
4677
4690
  </fo:inline>
4678
4691
  </xsl:template>
4679
4692
 
4693
+ <xsl:template name="refine_italic_style">
4694
+
4695
+ </xsl:template>
4696
+
4680
4697
  <xsl:template match="*[local-name()='strong'] | *[local-name()='b']">
4681
4698
  <xsl:param name="split_keep-within-line"/>
4682
4699
  <fo:inline font-weight="bold">
@@ -4691,6 +4708,9 @@
4691
4708
 
4692
4709
  <xsl:template name="refine_strong_style">
4693
4710
 
4711
+ <xsl:if test="ancestor::*['preferred']">
4712
+ <xsl:attribute name="role">SKIP</xsl:attribute>
4713
+ </xsl:if>
4694
4714
  </xsl:template>
4695
4715
 
4696
4716
  <xsl:template match="*[local-name()='padding']">
@@ -4904,11 +4924,41 @@
4904
4924
 
4905
4925
  <xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
4906
4926
  <xsl:variable name="text" select="normalize-space(.)"/>
4907
- <fo:inline font-size="75%">
4927
+ <fo:inline font-size="75%" role="SKIP">
4908
4928
  <xsl:if test="string-length($text) &gt; 0">
4909
- <xsl:call-template name="recursiveSmallCaps">
4910
- <xsl:with-param name="text" select="$text"/>
4911
- </xsl:call-template>
4929
+ <xsl:variable name="smallCapsText">
4930
+ <xsl:call-template name="recursiveSmallCaps">
4931
+ <xsl:with-param name="text" select="$text"/>
4932
+ </xsl:call-template>
4933
+ </xsl:variable>
4934
+ <!-- merge neighboring fo:inline -->
4935
+ <xsl:for-each select="xalan:nodeset($smallCapsText)/node()">
4936
+ <xsl:choose>
4937
+ <xsl:when test="self::fo:inline and preceding-sibling::node()[1][self::fo:inline]"><!-- <xsl:copy-of select="."/> --></xsl:when>
4938
+ <xsl:when test="self::fo:inline and @font-size">
4939
+ <xsl:variable name="curr_pos" select="count(preceding-sibling::node()) + 1"/>
4940
+ <!-- <curr_pos><xsl:value-of select="$curr_pos"/></curr_pos> -->
4941
+ <xsl:variable name="next_text_" select="count(following-sibling::node()[not(local-name() = 'inline')][1]/preceding-sibling::node())"/>
4942
+ <xsl:variable name="next_text">
4943
+ <xsl:choose>
4944
+ <xsl:when test="$next_text_ = 0">99999999</xsl:when>
4945
+ <xsl:otherwise><xsl:value-of select="$next_text_ + 1"/></xsl:otherwise>
4946
+ </xsl:choose>
4947
+ </xsl:variable>
4948
+ <!-- <next_text><xsl:value-of select="$next_text"/></next_text> -->
4949
+ <fo:inline>
4950
+ <xsl:copy-of select="@*"/>
4951
+ <xsl:copy-of select="./node()"/>
4952
+ <xsl:for-each select="following-sibling::node()[position() &lt; $next_text - $curr_pos]"> <!-- [self::fo:inline] -->
4953
+ <xsl:copy-of select="./node()"/>
4954
+ </xsl:for-each>
4955
+ </fo:inline>
4956
+ </xsl:when>
4957
+ <xsl:otherwise>
4958
+ <xsl:copy-of select="."/>
4959
+ </xsl:otherwise>
4960
+ </xsl:choose>
4961
+ </xsl:for-each>
4912
4962
  </xsl:if>
4913
4963
  </fo:inline>
4914
4964
  </xsl:template>
@@ -4920,7 +4970,7 @@
4920
4970
  <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
4921
4971
  <xsl:choose>
4922
4972
  <xsl:when test="$char=$upperCase">
4923
- <fo:inline font-size="{100 div 0.75}%">
4973
+ <fo:inline font-size="{100 div 0.75}%" role="SKIP">
4924
4974
  <xsl:value-of select="$upperCase"/>
4925
4975
  </fo:inline>
4926
4976
  </xsl:when>
@@ -5082,6 +5132,10 @@
5082
5132
 
5083
5133
  <xsl:when test="not(contains($text, $separator))">
5084
5134
  <word>
5135
+ <xsl:if test="ancestor::*[local-name() = 'p'][@from_dl = 'true']">
5136
+ <xsl:text>
5137
+  </xsl:text> <!-- to add distance between dt and dd -->
5138
+ </xsl:if>
5085
5139
  <xsl:call-template name="enclose_text_in_tags">
5086
5140
  <xsl:with-param name="text" select="normalize-space($text)"/>
5087
5141
  <xsl:with-param name="tags" select="$tags"/>
@@ -5090,6 +5144,10 @@
5090
5144
  </xsl:when>
5091
5145
  <xsl:otherwise>
5092
5146
  <word>
5147
+ <xsl:if test="ancestor::*[local-name() = 'p'][@from_dl = 'true']">
5148
+ <xsl:text>
5149
+  </xsl:text> <!-- to add distance between dt and dd -->
5150
+ </xsl:if>
5093
5151
  <xsl:call-template name="enclose_text_in_tags">
5094
5152
  <xsl:with-param name="text" select="normalize-space(substring-before($text, $separator))"/>
5095
5153
  <xsl:with-param name="tags" select="$tags"/>
@@ -5273,6 +5331,10 @@
5273
5331
  <xsl:template name="getSimpleTable">
5274
5332
  <xsl:param name="id"/>
5275
5333
 
5334
+ <!-- <test0>
5335
+ <xsl:copy-of select="."/>
5336
+ </test0> -->
5337
+
5276
5338
  <xsl:variable name="simple-table">
5277
5339
 
5278
5340
  <!-- Step 0. replace <br/> to <p>...</p> -->
@@ -5585,6 +5647,18 @@
5585
5647
  </xsl:copy>
5586
5648
  </xsl:template>
5587
5649
 
5650
+ <xsl:variable name="font_main_root_style">
5651
+ <root-style xsl:use-attribute-sets="root-style">
5652
+ </root-style>
5653
+ </xsl:variable>
5654
+ <xsl:variable name="font_main_root_style_font_family" select="xalan:nodeset($font_main_root_style)/root-style/@font-family"/>
5655
+ <xsl:variable name="font_main">
5656
+ <xsl:choose>
5657
+ <xsl:when test="contains($font_main_root_style_font_family, ',')"><xsl:value-of select="substring-before($font_main_root_style_font_family, ',')"/></xsl:when>
5658
+ <xsl:otherwise><xsl:value-of select="$font_main_root_style_font_family"/></xsl:otherwise>
5659
+ </xsl:choose>
5660
+ </xsl:variable>
5661
+
5588
5662
  <xsl:template match="*[local-name()='th' or local-name()='td']" mode="simple-table-id">
5589
5663
  <xsl:param name="id"/>
5590
5664
  <xsl:copy>
@@ -5623,6 +5697,33 @@
5623
5697
 
5624
5698
  <!-- td_text='<xsl:copy-of select="$td_text"/>' -->
5625
5699
 
5700
+ <xsl:variable name="words_with_width">
5701
+ <!-- calculate width for 'word' which contain text only (without formatting tags inside) -->
5702
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][not(*)]">
5703
+ <xsl:copy>
5704
+ <xsl:copy-of select="@*"/>
5705
+ <xsl:attribute name="width">
5706
+ <xsl:value-of select="java:org.metanorma.fop.Util.getStringWidth(., $font_main)"/> <!-- Example: 'Times New Roman' -->
5707
+ </xsl:attribute>
5708
+ <xsl:copy-of select="node()"/>
5709
+ </xsl:copy>
5710
+ </xsl:for-each>
5711
+ </xsl:variable>
5712
+
5713
+ <xsl:variable name="words_with_width_sorted">
5714
+ <xsl:for-each select="xalan:nodeset($words_with_width)//*[local-name() = 'word']">
5715
+ <xsl:sort select="@width" data-type="number" order="descending"/>
5716
+ <!-- select word maximal width only -->
5717
+ <xsl:if test="position() = 1">
5718
+ <xsl:copy-of select="."/>
5719
+ </xsl:if>
5720
+ </xsl:for-each>
5721
+ <!-- add 'word' with formatting tags inside -->
5722
+ <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != ''][*]">
5723
+ <xsl:copy-of select="."/>
5724
+ </xsl:for-each>
5725
+ </xsl:variable>
5726
+
5626
5727
  <xsl:variable name="words">
5627
5728
  <xsl:for-each select=".//*[local-name() = 'image' or local-name() = 'stem']">
5628
5729
  <word>
@@ -5630,9 +5731,12 @@
5630
5731
  </word>
5631
5732
  </xsl:for-each>
5632
5733
 
5633
- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
5734
+ <xsl:for-each select="xalan:nodeset($words_with_width_sorted)//*[local-name() = 'word'][normalize-space() != '']">
5634
5735
  <xsl:copy-of select="."/>
5635
5736
  </xsl:for-each>
5737
+ <!-- <xsl:for-each select="xalan:nodeset($td_text)//*[local-name() = 'word'][normalize-space() != '']">
5738
+ <xsl:copy-of select="."/>
5739
+ </xsl:for-each> -->
5636
5740
 
5637
5741
  </xsl:variable>
5638
5742
 
@@ -6093,10 +6197,10 @@
6093
6197
  <xsl:copy>
6094
6198
  <xsl:apply-templates select="@*" mode="mathml"/>
6095
6199
  <xsl:if test="not(@lspace)">
6096
- <xsl:attribute name="lspace">0.4em</xsl:attribute>
6200
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6097
6201
  </xsl:if>
6098
- <xsl:if test="not(@rspace)">
6099
- <xsl:attribute name="rspace">0.4em</xsl:attribute>
6202
+ <xsl:if test="not(@rspace) and not(following-sibling::*[1][self::mathml:mo and normalize-space(text()) = '|'])">
6203
+ <xsl:attribute name="rspace">0.2em</xsl:attribute>
6100
6204
  </xsl:if>
6101
6205
  <xsl:apply-templates mode="mathml"/>
6102
6206
  </xsl:copy>
@@ -6113,6 +6217,27 @@
6113
6217
  </xsl:copy>
6114
6218
  </xsl:template>
6115
6219
 
6220
+ <!-- increase space before '(' -->
6221
+ <xsl:template match="mathml:mo[normalize-space(text()) = '(']" mode="mathml">
6222
+ <xsl:copy>
6223
+ <xsl:apply-templates select="@*" mode="mathml"/>
6224
+ <xsl:if test="(preceding-sibling::* and not(preceding-sibling::*[1][self::mathml:mo])) or (../preceding-sibling::* and not(../preceding-sibling::*[1][self::mathml:mo]))">
6225
+ <xsl:if test="not(@lspace)">
6226
+ <xsl:attribute name="lspace">0.4em</xsl:attribute>
6227
+ <xsl:choose>
6228
+ <xsl:when test="preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
6229
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6230
+ </xsl:when>
6231
+ <xsl:when test="../preceding-sibling::*[1][self::mathml:mi or self::mathml:mstyle]">
6232
+ <xsl:attribute name="lspace">0.2em</xsl:attribute>
6233
+ </xsl:when>
6234
+ </xsl:choose>
6235
+ </xsl:if>
6236
+ </xsl:if>
6237
+ <xsl:apply-templates mode="mathml"/>
6238
+ </xsl:copy>
6239
+ </xsl:template>
6240
+
6116
6241
  <!-- Examples:
6117
6242
  <stem type="AsciiMath">x = 1</stem>
6118
6243
  <stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
@@ -6272,7 +6397,7 @@
6272
6397
  <!-- formula -->
6273
6398
  <!-- ====== -->
6274
6399
  <xsl:template match="*[local-name() = 'formula']" name="formula">
6275
- <fo:block-container margin-left="0mm">
6400
+ <fo:block-container margin-left="0mm" role="SKIP">
6276
6401
  <xsl:if test="parent::*[local-name() = 'note']">
6277
6402
  <xsl:attribute name="margin-left">
6278
6403
  <xsl:choose>
@@ -6282,7 +6407,7 @@
6282
6407
  </xsl:attribute>
6283
6408
 
6284
6409
  </xsl:if>
6285
- <fo:block-container margin-left="0mm">
6410
+ <fo:block-container margin-left="0mm" role="SKIP">
6286
6411
  <fo:block id="{@id}">
6287
6412
  <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
6288
6413
  </fo:block>
@@ -6318,7 +6443,7 @@
6318
6443
  <fo:table-body>
6319
6444
  <fo:table-row>
6320
6445
  <fo:table-cell display-align="center">
6321
- <fo:block xsl:use-attribute-sets="formula-stem-block-style">
6446
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style" role="SKIP">
6322
6447
 
6323
6448
  <xsl:call-template name="refine_formula-stem-block-style"/>
6324
6449
 
@@ -6326,7 +6451,10 @@
6326
6451
  </fo:block>
6327
6452
  </fo:table-cell>
6328
6453
  <fo:table-cell display-align="center">
6329
- <fo:block xsl:use-attribute-sets="formula-stem-number-style">
6454
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style" role="SKIP">
6455
+
6456
+ <xsl:call-template name="refine_formula-stem-number-style"/>
6457
+
6330
6458
  <xsl:apply-templates select="../*[local-name() = 'name']"/>
6331
6459
  </fo:block>
6332
6460
  </fo:table-cell>
@@ -6359,13 +6487,13 @@
6359
6487
 
6360
6488
  <xsl:template match="*[local-name() = 'note']" name="note">
6361
6489
 
6362
- <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
6490
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style" role="SKIP">
6363
6491
 
6364
6492
  <xsl:call-template name="setBlockSpanAll"/>
6365
6493
 
6366
6494
  <xsl:call-template name="refine_note-style"/>
6367
6495
 
6368
- <fo:block-container margin-left="0mm" margin-right="0mm">
6496
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
6369
6497
 
6370
6498
  <fo:block>
6371
6499
 
@@ -6529,12 +6657,13 @@
6529
6657
 
6530
6658
  <xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']">
6531
6659
  <xsl:if test="normalize-space() != ''">
6532
- <xsl:variable name="level">
6660
+ <!-- <xsl:variable name="level">
6533
6661
  <xsl:call-template name="getLevelTermName"/>
6534
6662
  </xsl:variable>
6535
6663
  <fo:inline role="H{$level}">
6536
- <xsl:apply-templates/>
6537
- </fo:inline>
6664
+ <xsl:apply-templates />
6665
+ </fo:inline> -->
6666
+ <xsl:apply-templates/>
6538
6667
  </xsl:if>
6539
6668
  </xsl:template>
6540
6669
  <!-- ====== -->
@@ -6558,7 +6687,7 @@
6558
6687
  <!-- Example: Dimensions in millimeters -->
6559
6688
  <xsl:apply-templates select="*[local-name() = 'note'][@type = 'units']"/>
6560
6689
 
6561
- <fo:block xsl:use-attribute-sets="figure-style">
6690
+ <fo:block xsl:use-attribute-sets="figure-style" role="SKIP">
6562
6691
  <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note' and @type = 'units')]"/>
6563
6692
  </fo:block>
6564
6693
  <xsl:for-each select="*[local-name() = 'note'][not(@type = 'units')]">
@@ -7691,7 +7820,7 @@
7691
7820
  </xsl:when>
7692
7821
 
7693
7822
  <xsl:otherwise>
7694
- <fo:block-container xsl:use-attribute-sets="sourcecode-container-style">
7823
+ <fo:block-container xsl:use-attribute-sets="sourcecode-container-style" role="SKIP">
7695
7824
 
7696
7825
  <xsl:if test="not(ancestor::*[local-name() = 'li']) or ancestor::*[local-name() = 'example']">
7697
7826
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
@@ -7712,7 +7841,7 @@
7712
7841
  </xsl:attribute>
7713
7842
 
7714
7843
  </xsl:if>
7715
- <fo:block-container margin-left="0mm">
7844
+ <fo:block-container margin-left="0mm" role="SKIP">
7716
7845
 
7717
7846
  <fo:block xsl:use-attribute-sets="sourcecode-style">
7718
7847
 
@@ -7836,7 +7965,7 @@
7836
7965
  <!-- second td with sourcecode -->
7837
7966
  <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'] -->
7838
7967
  <fo:table-cell>
7839
- <fo:block>
7968
+ <fo:block role="SKIP">
7840
7969
  <xsl:apply-templates/>
7841
7970
  </fo:block>
7842
7971
  </fo:table-cell>
@@ -8266,11 +8395,11 @@
8266
8395
  <!-- requirement, recommendation, permission table -->
8267
8396
  <!-- ========== -->
8268
8397
  <xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
8269
- <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
8398
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt" role="SKIP">
8270
8399
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
8271
8400
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
8272
8401
  </xsl:if>
8273
- <fo:block-container margin-left="0mm" margin-right="0mm">
8402
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8274
8403
  <fo:table id="{@id}" table-layout="fixed" width="100%"> <!-- border="1pt solid black" -->
8275
8404
  <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
8276
8405
  <!-- <xsl:attribute name="border">0.5pt solid black</xsl:attribute> -->
@@ -8342,7 +8471,7 @@
8342
8471
 
8343
8472
  <xsl:call-template name="setTableCellAttributes"/>
8344
8473
 
8345
- <fo:block>
8474
+ <fo:block role="SKIP">
8346
8475
  <xsl:apply-templates/>
8347
8476
  </fo:block>
8348
8477
  </fo:table-cell>
@@ -8364,7 +8493,7 @@
8364
8493
 
8365
8494
  <xsl:call-template name="setTableCellAttributes"/>
8366
8495
 
8367
- <fo:block>
8496
+ <fo:block role="SKIP">
8368
8497
  <xsl:apply-templates/>
8369
8498
  </fo:block>
8370
8499
  </fo:table-cell>
@@ -8446,7 +8575,7 @@
8446
8575
  -->
8447
8576
  <xsl:template match="*[local-name() = 'example']">
8448
8577
 
8449
- <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style">
8578
+ <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
8450
8579
 
8451
8580
  <xsl:call-template name="setBlockSpanAll"/>
8452
8581
 
@@ -8457,7 +8586,7 @@
8457
8586
  block
8458
8587
  </xsl:variable>
8459
8588
 
8460
- <fo:block-container margin-left="0mm">
8589
+ <fo:block-container margin-left="0mm" role="SKIP">
8461
8590
 
8462
8591
  <xsl:choose>
8463
8592
 
@@ -8470,8 +8599,8 @@
8470
8599
  </xsl:apply-templates>
8471
8600
  </fo:block>
8472
8601
 
8473
- <fo:block-container xsl:use-attribute-sets="example-body-style">
8474
- <fo:block-container margin-left="0mm" margin-right="0mm">
8602
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
8603
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8475
8604
  <xsl:apply-templates select="node()[not(local-name() = 'name')]">
8476
8605
  <xsl:with-param name="fo_element" select="$fo_element"/>
8477
8606
  </xsl:apply-templates>
@@ -8524,8 +8653,8 @@
8524
8653
 
8525
8654
  <xsl:if test="*[not(local-name() = 'name')][position() &gt; 1]">
8526
8655
  <!-- display further elements in blocks -->
8527
- <fo:block-container xsl:use-attribute-sets="example-body-style">
8528
- <fo:block-container margin-left="0mm" margin-right="0mm">
8656
+ <fo:block-container xsl:use-attribute-sets="example-body-style" role="SKIP">
8657
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8529
8658
  <xsl:apply-templates select="*[not(local-name() = 'name')][position() &gt; 1]">
8530
8659
  <xsl:with-param name="fo_element" select="'block'"/>
8531
8660
  </xsl:apply-templates>
@@ -8578,7 +8707,7 @@
8578
8707
  </xsl:variable>
8579
8708
  <xsl:choose>
8580
8709
  <xsl:when test="starts-with(normalize-space($element), 'block')">
8581
- <fo:block-container>
8710
+ <fo:block-container role="SKIP">
8582
8711
  <xsl:if test="ancestor::*[local-name() = 'li'] and contains(normalize-space($fo_element), 'block')">
8583
8712
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
8584
8713
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
@@ -8719,7 +8848,7 @@
8719
8848
  <!-- author -->
8720
8849
  <!-- ====== -->
8721
8850
  <xsl:template match="*[local-name() = 'quote']">
8722
- <fo:block-container margin-left="0mm">
8851
+ <fo:block-container margin-left="0mm" role="SKIP">
8723
8852
 
8724
8853
  <xsl:call-template name="setBlockSpanAll"/>
8725
8854
 
@@ -8729,12 +8858,12 @@
8729
8858
  </xsl:if>
8730
8859
  </xsl:if>
8731
8860
 
8732
- <fo:block-container margin-left="0mm">
8733
- <fo:block-container xsl:use-attribute-sets="quote-style">
8861
+ <fo:block-container margin-left="0mm" role="SKIP">
8862
+ <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
8734
8863
 
8735
8864
  <xsl:call-template name="refine_quote-style"/>
8736
8865
 
8737
- <fo:block-container margin-left="0mm" margin-right="0mm">
8866
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
8738
8867
  <fo:block role="BlockQuote">
8739
8868
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
8740
8869
  </fo:block>
@@ -8898,10 +9027,10 @@
8898
9027
 
8899
9028
  <xsl:choose>
8900
9029
  <xsl:when test="$lang = 'zh'">
8901
- <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
9030
+ <fo:inline role="SKIP"><xsl:value-of select="$tab_zh"/></fo:inline>
8902
9031
  </xsl:when>
8903
9032
  <xsl:when test="../../@inline-header = 'true'">
8904
- <fo:inline font-size="90%">
9033
+ <fo:inline font-size="90%" role="SKIP">
8905
9034
  <xsl:call-template name="insertNonBreakSpaces">
8906
9035
  <xsl:with-param name="count" select="$padding-right"/>
8907
9036
  </xsl:call-template>
@@ -8909,7 +9038,7 @@
8909
9038
  </xsl:when>
8910
9039
  <xsl:otherwise>
8911
9040
  <xsl:variable name="direction"><xsl:if test="$lang = 'ar'"><xsl:value-of select="$RLM"/></xsl:if></xsl:variable>
8912
- <fo:inline padding-right="{$padding-right}mm"><xsl:value-of select="$direction"/>​</fo:inline>
9041
+ <fo:inline padding-right="{$padding-right}mm" role="SKIP"><xsl:value-of select="$direction"/>​</fo:inline>
8913
9042
  </xsl:otherwise>
8914
9043
  </xsl:choose>
8915
9044
 
@@ -8944,12 +9073,12 @@
8944
9073
  <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
8945
9074
 
8946
9075
  <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
8947
- <fo:block xsl:use-attribute-sets="term-name-style">
9076
+ <fo:block xsl:use-attribute-sets="term-name-style" role="SKIP">
8948
9077
  <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
8949
9078
  </fo:block>
8950
9079
  </xsl:if>
8951
9080
 
8952
- <fo:block xsl:use-attribute-sets="preferred-term-style">
9081
+ <fo:block xsl:use-attribute-sets="preferred-term-style" role="SKIP">
8953
9082
  <xsl:call-template name="setStyle_preferred"/>
8954
9083
  <xsl:apply-templates/>
8955
9084
  </fo:block>
@@ -8990,7 +9119,7 @@
8990
9119
  <!-- definition -->
8991
9120
  <!-- ========== -->
8992
9121
  <xsl:template match="*[local-name() = 'definition']">
8993
- <fo:block xsl:use-attribute-sets="definition-style">
9122
+ <fo:block xsl:use-attribute-sets="definition-style" role="SKIP">
8994
9123
  <xsl:apply-templates/>
8995
9124
  </fo:block>
8996
9125
  </xsl:template>
@@ -9038,6 +9167,10 @@
9038
9167
 
9039
9168
  <xsl:template match="*[local-name() = 'clause']">
9040
9169
  <fo:block>
9170
+ <xsl:if test="parent::*[local-name() = 'copyright-statement']">
9171
+ <xsl:attribute name="role">SKIP</xsl:attribute>
9172
+ </xsl:if>
9173
+
9041
9174
  <xsl:call-template name="setId"/>
9042
9175
 
9043
9176
  <xsl:call-template name="setBlockSpanAll"/>
@@ -9151,7 +9284,48 @@
9151
9284
  </xsl:choose>
9152
9285
  </xsl:when>
9153
9286
  <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
9154
- <xsl:value-of select="@label"/>
9287
+
9288
+ <xsl:variable name="label">
9289
+
9290
+ <xsl:variable name="type" select="../@type"/>
9291
+
9292
+ <xsl:variable name="style_prefix_">
9293
+ <xsl:if test="$type = 'roman'">
9294
+ <!-- Example: (i) -->
9295
+ </xsl:if>
9296
+ </xsl:variable>
9297
+ <xsl:variable name="style_prefix" select="normalize-space($style_prefix_)"/>
9298
+
9299
+ <xsl:variable name="style_suffix_">
9300
+ <xsl:choose>
9301
+ <xsl:when test="$type = 'arabic'">
9302
+ )
9303
+ </xsl:when>
9304
+ <xsl:when test="$type = 'alphabet' or $type = 'alphabetic'">
9305
+ )
9306
+ </xsl:when>
9307
+ <xsl:when test="$type = 'alphabet_upper' or $type = 'alphabetic_upper'">
9308
+ )
9309
+ </xsl:when>
9310
+ <xsl:when test="$type = 'roman'">
9311
+ )
9312
+ </xsl:when>
9313
+ <xsl:when test="$type = 'roman_upper'">.</xsl:when> <!-- Example: I. -->
9314
+ </xsl:choose>
9315
+ </xsl:variable>
9316
+ <xsl:variable name="style_suffix" select="normalize-space($style_suffix_)"/>
9317
+
9318
+ <xsl:if test="$style_prefix != '' and not(starts-with(@label, $style_prefix))">
9319
+ <xsl:value-of select="$style_prefix"/>
9320
+ </xsl:if>
9321
+ <xsl:value-of select="@label"/>
9322
+ <xsl:if test="not(java:endsWith(java:java.lang.String.new(@label),$style_suffix))">
9323
+ <xsl:value-of select="$style_suffix"/>
9324
+ </xsl:if>
9325
+ </xsl:variable>
9326
+
9327
+ <xsl:value-of select="normalize-space($label)"/>
9328
+
9155
9329
  </xsl:when>
9156
9330
  <xsl:otherwise> <!-- for ordered lists 'ol' -->
9157
9331
 
@@ -9233,7 +9407,7 @@
9233
9407
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
9234
9408
  <xsl:choose>
9235
9409
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
9236
- <fo:block-container>
9410
+ <fo:block-container role="SKIP">
9237
9411
  <xsl:attribute name="margin-left">
9238
9412
  <xsl:choose>
9239
9413
  <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
@@ -9243,7 +9417,7 @@
9243
9417
 
9244
9418
  <xsl:call-template name="refine_list_container_style"/>
9245
9419
 
9246
- <fo:block-container margin-left="0mm">
9420
+ <fo:block-container margin-left="0mm" role="SKIP">
9247
9421
  <fo:block>
9248
9422
  <xsl:apply-templates select="." mode="list"/>
9249
9423
  </fo:block>
@@ -9252,7 +9426,7 @@
9252
9426
  </xsl:when>
9253
9427
  <xsl:otherwise>
9254
9428
 
9255
- <fo:block>
9429
+ <fo:block role="SKIP">
9256
9430
  <xsl:apply-templates select="." mode="list"/>
9257
9431
  </fo:block>
9258
9432
 
@@ -9344,7 +9518,7 @@
9344
9518
  <xsl:call-template name="refine_list-item-style"/>
9345
9519
 
9346
9520
  <fo:list-item-label end-indent="label-end()">
9347
- <fo:block xsl:use-attribute-sets="list-item-label-style">
9521
+ <fo:block xsl:use-attribute-sets="list-item-label-style" role="SKIP">
9348
9522
 
9349
9523
  <xsl:call-template name="refine_list-item-label-style"/>
9350
9524
 
@@ -9358,7 +9532,7 @@
9358
9532
  </fo:block>
9359
9533
  </fo:list-item-label>
9360
9534
  <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
9361
- <fo:block>
9535
+ <fo:block role="SKIP">
9362
9536
 
9363
9537
  <xsl:call-template name="refine_list-item-body-style"/>
9364
9538
 
@@ -9637,10 +9811,10 @@
9637
9811
  <fo:table-body>
9638
9812
  <fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
9639
9813
 
9640
- <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
9641
- <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
9642
- <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
9643
- <fo:table-cell border="1pt solid black"><fo:block>Pages</fo:block></fo:table-cell>
9814
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Date</fo:block></fo:table-cell>
9815
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Type</fo:block></fo:table-cell>
9816
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Change</fo:block></fo:table-cell>
9817
+ <fo:table-cell border="1pt solid black"><fo:block role="SKIP">Pages</fo:block></fo:table-cell>
9644
9818
  </fo:table-row>
9645
9819
  <xsl:apply-templates/>
9646
9820
  </fo:table-body>
@@ -9655,7 +9829,7 @@
9655
9829
 
9656
9830
  <xsl:template match="*[local-name() = 'errata']/*[local-name() = 'row']/*">
9657
9831
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
9658
- <fo:block><xsl:apply-templates/></fo:block>
9832
+ <fo:block role="SKIP"><xsl:apply-templates/></fo:block>
9659
9833
  </fo:table-cell>
9660
9834
  </xsl:template>
9661
9835
  <!-- ============ -->
@@ -9670,7 +9844,10 @@
9670
9844
  <!-- Reference sections (Normative References and Bibliography) -->
9671
9845
  <!-- ========================================================== -->
9672
9846
  <xsl:template match="*[local-name() = 'references'][@hidden='true']" priority="3"/>
9673
- <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3"/>
9847
+ <xsl:template match="*[local-name() = 'bibitem'][@hidden='true']" priority="3">
9848
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/>
9849
+
9850
+ </xsl:template>
9674
9851
  <!-- don't display bibitem with @id starts with '_hidden', that was introduced for references integrity -->
9675
9852
  <xsl:template match="*[local-name() = 'bibitem'][starts-with(@id, 'hidden_bibitem_')]" priority="3"/>
9676
9853
 
@@ -9719,15 +9896,15 @@
9719
9896
 
9720
9897
  <!-- Bibliography (non-normative references) -->
9721
9898
  <xsl:template match="*[local-name() = 'references'][not(@normative='true')]/*[local-name() = 'bibitem']" name="bibitem_non_normative" priority="2">
9722
-
9899
+ <xsl:param name="skip" select="normalize-space(preceding-sibling::*[1][local-name() = 'bibitem'] and 1 = 1)"/> <!-- current bibiitem is non-first -->
9723
9900
  <!-- $namespace = 'csd' or $namespace = 'gb' or $namespace = 'iec' or $namespace = 'ieee' or $namespace = 'iso' or $namespace = 'jcgm' or $namespace = 'm3d' or
9724
9901
  $namespace = 'mpfd' or $namespace = 'ogc' or $namespace = 'ogc-white-paper' -->
9725
9902
  <!-- Example: [1] ISO 9:1995, Information and documentation – Transliteration of Cyrillic characters into Latin characters – Slavic and non-Slavic languages -->
9726
9903
  <fo:list-block id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-style">
9727
9904
  <fo:list-item>
9728
9905
  <fo:list-item-label end-indent="label-end()">
9729
- <fo:block>
9730
- <fo:inline>
9906
+ <fo:block role="SKIP">
9907
+ <fo:inline role="SKIP">
9731
9908
 
9732
9909
  <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
9733
9910
  <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
@@ -9736,7 +9913,7 @@
9736
9913
  </fo:block>
9737
9914
  </fo:list-item-label>
9738
9915
  <fo:list-item-body start-indent="body-start()">
9739
- <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style">
9916
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style" role="SKIP">
9740
9917
  <xsl:call-template name="processBibitem">
9741
9918
  <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
9742
9919
  </xsl:call-template>
@@ -9747,6 +9924,35 @@
9747
9924
 
9748
9925
  </xsl:template> <!-- references[not(@normative='true')]/bibitem -->
9749
9926
 
9927
+ <xsl:template name="insertListItem_Bibitem">
9928
+ <xsl:choose>
9929
+ <xsl:when test="@hidden = 'true'"><!-- skip --></xsl:when>
9930
+ <xsl:otherwise>
9931
+ <fo:list-item id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-item-style">
9932
+ <fo:list-item-label end-indent="label-end()">
9933
+ <fo:block role="SKIP">
9934
+ <fo:inline role="SKIP">
9935
+ <xsl:apply-templates select="*[local-name() = 'biblio-tag']">
9936
+ <xsl:with-param name="biblio_tag_part">first</xsl:with-param>
9937
+ </xsl:apply-templates>
9938
+ </fo:inline>
9939
+ </fo:block>
9940
+ </fo:list-item-label>
9941
+ <fo:list-item-body start-indent="body-start()">
9942
+ <fo:block xsl:use-attribute-sets="bibitem-non-normative-list-body-style" role="SKIP">
9943
+ <xsl:call-template name="processBibitem">
9944
+ <xsl:with-param name="biblio_tag_part">last</xsl:with-param>
9945
+ </xsl:call-template>
9946
+ </fo:block>
9947
+ </fo:list-item-body>
9948
+ </fo:list-item>
9949
+ </xsl:otherwise>
9950
+ </xsl:choose>
9951
+ <xsl:apply-templates select="following-sibling::*[1][local-name() = 'bibitem']">
9952
+ <xsl:with-param name="skip">false</xsl:with-param>
9953
+ </xsl:apply-templates>
9954
+ </xsl:template>
9955
+
9750
9956
  <xsl:template name="processBibitem">
9751
9957
  <xsl:param name="biblio_tag_part">both</xsl:param>
9752
9958
 
@@ -9958,7 +10164,7 @@
9958
10164
  <xsl:for-each select="*[local-name() = 'tab']">
9959
10165
  <xsl:variable name="current_id" select="generate-id()"/>
9960
10166
  <fo:table-cell>
9961
- <fo:block line-height-shift-adjustment="disregard-shifts">
10167
+ <fo:block line-height-shift-adjustment="disregard-shifts" role="SKIP">
9962
10168
  <xsl:call-template name="insert_basic_link">
9963
10169
  <xsl:with-param name="element">
9964
10170
  <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
@@ -9976,7 +10182,7 @@
9976
10182
  </xsl:for-each>
9977
10183
  <!-- last column - for page numbers -->
9978
10184
  <fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
9979
- <fo:block>
10185
+ <fo:block role="SKIP">
9980
10186
  <xsl:call-template name="insert_basic_link">
9981
10187
  <xsl:with-param name="element">
9982
10188
  <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
@@ -10080,7 +10286,7 @@
10080
10286
 
10081
10287
  <xsl:call-template name="setBlockSpanAll"/>
10082
10288
 
10083
- <fo:block-container xsl:use-attribute-sets="admonition-container-style">
10289
+ <fo:block-container xsl:use-attribute-sets="admonition-container-style" role="SKIP">
10084
10290
 
10085
10291
  <fo:block xsl:use-attribute-sets="admonition-name-style">
10086
10292
  <xsl:call-template name="displayAdmonitionName"/>