metanorma-ogc 2.3.11 → 2.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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"/>