metanorma-iho 1.3.6 → 1.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eaa4ffd846496315d4a7327ac310bbabef36a1a6fbeec2664bdcc7ee97db3c33
4
- data.tar.gz: ebf1a1c807f151f763dd9926d52476335b0c54770d3023de8a495f55cd76068c
3
+ metadata.gz: 699ecaf6af88f3e45620bdd4ccf9f6595eb83fde99eb19250c6110dd25728efd
4
+ data.tar.gz: a1f93357ee69e9f7715fb0d62dffa5fe5dcd69b2a29bf4e86bb07ec5f654029a
5
5
  SHA512:
6
- metadata.gz: 7e649be816e1d3151097bca1a4351257eb03f2f40eea9d7eb69e9cd9a2a4b8376364a2c2bb2c418517ebf2a8cf7e37e096712b86df49e0375c1b87b26ed19f42
7
- data.tar.gz: 70b20e74cb6547d05b1cd2f92321710df3a33eb15b535b44bcd99c5665d15ba657a52157523256c00dc4e92e72c2e77a54c32e40a07dabd3c2f8dc7ca2358500
6
+ metadata.gz: 561888ca71758aa49b61d78e30d0ad8fc0465fa7ed8fd5d0ec4f5f6015bdbd1e4181f0e046890ffe623545dd9d3b700ee6de89384f43da66d87255579f59beaa
7
+ data.tar.gz: '039998c1132f430863caf171c2549883cfcf95eec4def1fd86139d79d0d67976df0f4d5125fb435053b2aed2911823cf4b1a2ecd3512318e4c50a8f448cff896'
data/.rubocop.yml CHANGED
@@ -3,8 +3,20 @@
3
3
  inherit_from:
4
4
  - https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
5
5
 
6
+ # Rubocop plugins enabled centrally so every metanorma-org gem picks them up
7
+ # on cimas sync — best practice belongs at the shared-template layer, not
8
+ # per-repo. Per ronaldtse feedback on metanorma/ci#332.
9
+ plugins:
10
+ - rubocop-rspec
11
+ - rubocop-performance
12
+ - rubocop-rake
13
+
6
14
  # local repo-specific modifications
7
15
  # ...
8
16
 
9
17
  AllCops:
10
- TargetRubyVersion: 3.4
18
+ # 3.3 matches the org-wide minimum being pushed via #274 (Raise minimum
19
+ # Ruby version to 3.3 due to EOL of 3.2 on 2026-03-31). Was 3.4 before
20
+ # this commit — 3.4 was above the org's stated minimum and would have
21
+ # applied Rubocop rules that fail-close on gems still targeting 3.3.
22
+ TargetRubyVersion: 3.3
@@ -589,7 +589,9 @@ main {
589
589
  background-color: #05164D;
590
590
  color: white !important;
591
591
  cursor: pointer;
592
- z-index: 100;
592
+ left: 0;
593
+ top: 0;
594
+ z-index: 103;
593
595
  }
594
596
  #toggle span {
595
597
  text-align: center;
@@ -908,6 +910,10 @@ h3, .h3 {
908
910
  font-weight: 100;
909
911
  }
910
912
 
913
+ span.TermNum {
914
+ font-weight: bold;
915
+ }
916
+
911
917
  h2.TermNum {
912
918
  margin-bottom: 0;
913
919
  }
@@ -256,6 +256,10 @@ h3, .h3 {
256
256
  font-weight: 100;
257
257
  }
258
258
 
259
+ span.TermNum {
260
+ font-weight: bold;
261
+ }
262
+
259
263
  h2.TermNum {
260
264
  margin-bottom: 0;
261
265
  }
@@ -778,6 +778,16 @@
778
778
  </xsl:if>
779
779
  <xsl:call-template name="insertListOf_Item"/>
780
780
  </xsl:for-each>
781
+
782
+ <!-- List of Examples -->
783
+ <xsl:for-each select="$contents//mnx:examples/mnx:example">
784
+ <xsl:if test="position() = 1">
785
+ <xsl:call-template name="insertListOf_Title">
786
+ <xsl:with-param name="title" select="$title-list-examples"/>
787
+ </xsl:call-template>
788
+ </xsl:if>
789
+ <xsl:call-template name="insertListOf_Item"/>
790
+ </xsl:for-each>
781
791
  </fo:block>
782
792
  </xsl:if>
783
793
  </fo:block>
@@ -785,6 +795,7 @@
785
795
 
786
796
  <xsl:template match="mn:preface//mn:clause[@type = 'toc']/mn:fmt-title" priority="3">
787
797
  <fo:block xsl:use-attribute-sets="toc-title-style">
798
+ <xsl:call-template name="refine_toc-title-style"/>
788
799
  <fo:block-container width="18.3mm" border-bottom="1.25pt solid black" role="SKIP">
789
800
  <fo:block line-height="75%">
790
801
  <!-- <xsl:call-template name="getLocalizedString">
@@ -1385,6 +1396,16 @@
1385
1396
  </xsl:if>
1386
1397
  </xsl:variable>
1387
1398
 
1399
+ <xsl:variable name="title-list-examples">
1400
+ <xsl:variable name="toc_example_title" select="//mn:metanorma/mn:metanorma-extension/mn:toc[@type='example']/mn:title"/>
1401
+ <xsl:value-of select="$toc_example_title"/>
1402
+ <xsl:if test="normalize-space($toc_example_title) = ''">
1403
+ <xsl:call-template name="getLocalizedString">
1404
+ <xsl:with-param name="key">toc_examples</xsl:with-param>
1405
+ </xsl:call-template>
1406
+ </xsl:if>
1407
+ </xsl:variable>
1408
+
1388
1409
  <xsl:variable name="title-list-recommendations">
1389
1410
  <xsl:variable name="toc_requirement_title" select="//mn:metanorma/mn:metanorma-extension/mn:toc[@type='requirement']/mn:title"/>
1390
1411
  <xsl:value-of select="$toc_requirement_title"/>
@@ -2267,6 +2288,14 @@
2267
2288
 
2268
2289
  <xsl:template match="@semx-id | @anchor" mode="update_xml_step1"/>
2269
2290
 
2291
+ <xsl:template match="mn:pagebreak" mode="update_xml_step1">
2292
+ <xsl:copy>
2293
+ <xsl:apply-templates select="@*" mode="update_xml_step1"/>
2294
+ <xsl:attribute name="from_source_xml">true</xsl:attribute>
2295
+ <xsl:apply-templates select="node()" mode="update_xml_step1"/>
2296
+ </xsl:copy>
2297
+ </xsl:template>
2298
+
2270
2299
  <!-- END: update new Presentation XML -->
2271
2300
 
2272
2301
  <!-- =========================================================================== -->
@@ -2304,6 +2333,7 @@
2304
2333
  <xsl:for-each select="ancestor-or-self::*[ancestor::mn:preface or ancestor::mn:sections or ancestor-or-self::mn:annex]">
2305
2334
  <xsl:if test="following-sibling::*">false</xsl:if>
2306
2335
  </xsl:for-each>
2336
+ <xsl:if test="@from_source_xml = 'true'">false</xsl:if>
2307
2337
  </xsl:variable>
2308
2338
 
2309
2339
  <xsl:if test="contains($isLast, 'false')">
@@ -3202,6 +3232,7 @@
3202
3232
  </xsl:attribute-set> <!-- sourcecode-style -->
3203
3233
 
3204
3234
  <xsl:template name="refine_sourcecode-style">
3235
+ <xsl:call-template name="setKeepAttributes"/>
3205
3236
  </xsl:template> <!-- refine_sourcecode-style -->
3206
3237
 
3207
3238
  <xsl:attribute-set name="sourcecode-number-style">
@@ -3940,10 +3971,38 @@
3940
3971
  <xsl:template name="refine_strike-style">
3941
3972
  </xsl:template>
3942
3973
 
3974
+ <xsl:attribute-set name="hr-block-style">
3975
+ <xsl:attribute name="font-size">1pt</xsl:attribute>
3976
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
3977
+ <xsl:attribute name="role">SKIP</xsl:attribute>
3978
+ <xsl:attribute name="padding-top">-2pt</xsl:attribute>
3979
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
3980
+ </xsl:attribute-set>
3981
+
3982
+ <xsl:template name="refine_hr-block-style">
3983
+ </xsl:template>
3984
+
3985
+ <xsl:attribute-set name="hr-style">
3986
+ <xsl:attribute name="leader-pattern">rule</xsl:attribute>
3987
+ <xsl:attribute name="leader-length">100%</xsl:attribute>
3988
+ </xsl:attribute-set>
3989
+
3990
+ <xsl:template name="refine_hr-style">
3991
+ </xsl:template>
3992
+
3943
3993
  <xsl:template match="mn:br">
3944
3994
  <xsl:value-of select="$linebreak"/>
3945
3995
  </xsl:template>
3946
3996
 
3997
+ <xsl:template match="mn:hr">
3998
+ <fo:block xsl:use-attribute-sets="hr-block-style">
3999
+ <xsl:call-template name="refine_hr-block-style"/>
4000
+ <fo:leader xsl:use-attribute-sets="hr-style">
4001
+ <xsl:call-template name="refine_hr-style"/>
4002
+ </fo:leader>
4003
+ </fo:block>
4004
+ </xsl:template>
4005
+
3947
4006
  <xsl:template match="mn:em">
3948
4007
  <fo:inline xsl:use-attribute-sets="em-style">
3949
4008
  <xsl:call-template name="refine_em_style"/>
@@ -5181,6 +5240,7 @@
5181
5240
  text line 1
5182
5241
  text line 2
5183
5242
  -->
5243
+ <xsl:variable name="example_display_in"><!-- don't change here, only for override xsl --></xsl:variable> <!-- block or inline -->
5184
5244
  <xsl:template match="mn:example" name="example">
5185
5245
  <xsl:call-template name="setNamedDestination"/>
5186
5246
  <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
@@ -5190,7 +5250,8 @@
5190
5250
  <xsl:call-template name="refine_example-style"/>
5191
5251
 
5192
5252
  <xsl:variable name="fo_element">
5193
- <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:fmt-name)][1][self::mn:sourcecode]">block</xsl:if>inline
5253
+ <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:fmt-name)][1][self::mn:sourcecode]">block</xsl:if>
5254
+ <xsl:if test="normalize-space($example_display_in) != ''"><xsl:value-of select="$example_display_in"/></xsl:if>inline
5194
5255
  </xsl:variable>
5195
5256
 
5196
5257
  <fo:block-container margin-left="0mm" role="SKIP">
@@ -6752,6 +6813,12 @@
6752
6813
  <style name="{$key}-left"><xsl:value-of select="$value"/></style>
6753
6814
  <style name="{$key}-bottom"><xsl:value-of select="$value"/></style>
6754
6815
  </xsl:if>
6816
+ <xsl:if test="$key = 'page-break-inside' and $value = 'avoid'">
6817
+ <style name="keep-together.within-page">always</style>
6818
+ </xsl:if>
6819
+ <xsl:if test="$key = 'page-break-after' and $value = 'always'">
6820
+ <style name="break-after">page</style>
6821
+ </xsl:if>
6755
6822
  </xsl:for-each>
6756
6823
  </xsl:variable>
6757
6824
  <xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
@@ -6795,6 +6862,11 @@
6795
6862
 
6796
6863
  <fo:block role="SKIP">
6797
6864
 
6865
+ <xsl:variable name="styles">
6866
+ <styles><xsl:call-template name="setTableStyles"/></styles>
6867
+ </xsl:variable>
6868
+ <xsl:copy-of select="xalan:nodeset($styles)/styles/@break-after"/>
6869
+
6798
6870
  <xsl:if test="$isGenerateTableIF = 'true'">
6799
6871
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
6800
6872
  </xsl:if>
@@ -8951,12 +9023,28 @@
8951
9023
  <!-- ====== -->
8952
9024
  <!-- ====== -->
8953
9025
 
8954
- <xsl:attribute-set name="quote-style">
9026
+ <xsl:attribute-set name="quote-container-style">
8955
9027
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
8956
9028
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
8957
- <xsl:attribute name="font-family">Calibri</xsl:attribute>
9029
+ <xsl:attribute name="role">SKIP</xsl:attribute>
9030
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
8958
9031
  <xsl:attribute name="margin-left">4.5mm</xsl:attribute>
8959
9032
  <xsl:attribute name="margin-right">9mm</xsl:attribute>
9033
+ </xsl:attribute-set>
9034
+
9035
+ <xsl:template name="refine_quote-container-style">
9036
+ <xsl:if test="parent::mn:note">
9037
+ <xsl:if test="not(ancestor::mn:table)">
9038
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
9039
+ </xsl:if>
9040
+ </xsl:if>
9041
+ </xsl:template>
9042
+
9043
+ <xsl:attribute-set name="quote-style">
9044
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
9045
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
9046
+ <xsl:attribute name="font-family">Calibri</xsl:attribute>
9047
+
8960
9048
  </xsl:attribute-set> <!-- quote-style -->
8961
9049
 
8962
9050
  <xsl:template name="refine_quote-style">
@@ -8964,6 +9052,7 @@
8964
9052
 
8965
9053
  <xsl:attribute-set name="quote-source-style">
8966
9054
  <xsl:attribute name="text-align">right</xsl:attribute>
9055
+ <xsl:attribute name="margin-right">-12mm</xsl:attribute>
8967
9056
  </xsl:attribute-set> <!-- quote-source-style -->
8968
9057
 
8969
9058
  <xsl:template name="refine_quote-source-style">
@@ -8986,12 +9075,9 @@
8986
9075
 
8987
9076
  <xsl:call-template name="setBlockSpanAll"/>
8988
9077
 
8989
- <xsl:if test="parent::mn:note">
8990
- <xsl:if test="not(ancestor::mn:table)">
8991
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
8992
- </xsl:if>
8993
- </xsl:if>
8994
- <fo:block-container margin-left="0mm" role="SKIP">
9078
+ <fo:block-container xsl:use-attribute-sets="quote-container-style">
9079
+ <xsl:call-template name="refine_quote-container-style"/>
9080
+
8995
9081
  <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
8996
9082
 
8997
9083
  <xsl:call-template name="refine_quote-style"/>
@@ -9003,14 +9089,16 @@
9003
9089
  </fo:block-container>
9004
9090
  </fo:block-container>
9005
9091
  <xsl:if test="mn:author or mn:fmt-source or mn:attribution">
9006
- <fo:block xsl:use-attribute-sets="quote-source-style">
9007
- <xsl:call-template name="refine_quote-source-style"/>
9008
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
9009
- <xsl:apply-templates select="mn:author"/>
9010
- <xsl:apply-templates select="mn:fmt-source"/>
9011
- <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
9012
- <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
9013
- </fo:block>
9092
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
9093
+ <fo:block xsl:use-attribute-sets="quote-source-style">
9094
+ <xsl:call-template name="refine_quote-source-style"/>
9095
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
9096
+ <xsl:apply-templates select="mn:author"/>
9097
+ <xsl:apply-templates select="mn:fmt-source"/>
9098
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
9099
+ <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
9100
+ </fo:block>
9101
+ </fo:block-container>
9014
9102
  </xsl:if>
9015
9103
 
9016
9104
  </fo:block-container>
@@ -12543,7 +12631,7 @@
12543
12631
  <xsl:template name="refine_toc-pagenumber-style">
12544
12632
  </xsl:template>
12545
12633
 
12546
- <!-- List of Figures, Tables -->
12634
+ <!-- List of Figures, Tables, Examples -->
12547
12635
  <xsl:attribute-set name="toc-listof-title-style">
12548
12636
  <xsl:attribute name="role">TOCI</xsl:attribute>
12549
12637
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -12648,6 +12736,9 @@
12648
12736
  <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='figure']/mn:title) or normalize-space($always) = 'true'">
12649
12737
  <xsl:call-template name="processFigures_Contents"/>
12650
12738
  </xsl:if>
12739
+ <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='example']/mn:title)">
12740
+ <xsl:call-template name="processExamples_Contents"/>
12741
+ </xsl:if>
12651
12742
  </xsl:template>
12652
12743
 
12653
12744
  <xsl:template name="processTables_Contents">
@@ -12694,7 +12785,29 @@
12694
12785
  </mnx:figures>
12695
12786
  </xsl:template>
12696
12787
 
12697
- <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name" mode="contents">
12788
+ <xsl:template name="processExamples_Contents">
12789
+ <mnx:examples>
12790
+ <xsl:for-each select="//mn:example[@id and mn:fmt-name and not(@unnumbered = 'true') and normalize-space(@id) != '']">
12791
+ <xsl:choose>
12792
+ <xsl:when test="mn:fmt-name">
12793
+ <xsl:variable name="fmt_name">
12794
+ <xsl:apply-templates select="mn:fmt-name" mode="update_xml_step1"/>
12795
+ </xsl:variable>
12796
+ <mnx:example id="{@id}" alt-text="{normalize-space($fmt_name)}">
12797
+ <xsl:copy-of select="$fmt_name"/>
12798
+ </mnx:example>
12799
+ </xsl:when>
12800
+ <xsl:otherwise>
12801
+ <mnx:example id="{@id}" alt-text="{mn:name}">
12802
+ <xsl:copy-of select="mn:name"/>
12803
+ </mnx:example>
12804
+ </xsl:otherwise>
12805
+ </xsl:choose>
12806
+ </xsl:for-each>
12807
+ </mnx:examples>
12808
+ </xsl:template>
12809
+
12810
+ <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:example/mn:name | mnx:example/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name" mode="contents">
12698
12811
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
12699
12812
  <xsl:apply-templates mode="contents"/>
12700
12813
  <xsl:text> </xsl:text>
@@ -12703,40 +12816,40 @@
12703
12816
 
12704
12817
  <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]" mode="contents"/>
12705
12818
 
12706
- <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name" mode="contents">
12819
+ <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:example/mn:fmt-name | mnx:example/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name" mode="contents">
12707
12820
  <xsl:apply-templates mode="contents"/>
12708
12821
  <xsl:text> </xsl:text>
12709
12822
  </xsl:template>
12710
12823
 
12711
- <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name | mn:sourcecode/mn:name" mode="bookmarks">
12824
+ <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:example/mn:name | mnx:example/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name | mn:sourcecode/mn:name" mode="bookmarks">
12712
12825
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
12713
12826
  <xsl:apply-templates mode="bookmarks"/>
12714
12827
  <xsl:text> </xsl:text>
12715
12828
  </xsl:if>
12716
12829
  </xsl:template>
12717
12830
 
12718
- <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name | mn:sourcecode/mn:fmt-name | mnx:sourcecode/mn:fmt-name" mode="bookmarks">
12831
+ <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:example/mn:fmt-name | mnx:example/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name | mn:sourcecode/mn:fmt-name | mnx:sourcecode/mn:fmt-name" mode="bookmarks">
12719
12832
  <xsl:apply-templates mode="bookmarks"/>
12720
12833
  <xsl:text> </xsl:text>
12721
12834
  </xsl:template>
12722
12835
 
12723
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:name/text()" mode="contents" priority="2">
12836
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:name/text()" mode="contents" priority="2">
12724
12837
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
12725
12838
  <xsl:value-of select="."/>
12726
12839
  </xsl:if>
12727
12840
  </xsl:template>
12728
12841
 
12729
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:fmt-name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:fmt-name/text()" mode="contents" priority="2">
12842
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:fmt-name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:fmt-name/text()" mode="contents" priority="2">
12730
12843
  <xsl:value-of select="."/>
12731
12844
  </xsl:template>
12732
12845
 
12733
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:name//text()" mode="bookmarks" priority="2">
12846
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:name//text()" mode="bookmarks" priority="2">
12734
12847
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
12735
12848
  <xsl:value-of select="."/>
12736
12849
  </xsl:if>
12737
12850
  </xsl:template>
12738
12851
 
12739
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:fmt-name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:fmt-name//text()" mode="bookmarks" priority="2">
12852
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:fmt-name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:fmt-name//text()" mode="bookmarks" priority="2">
12740
12853
  <xsl:value-of select="."/>
12741
12854
  </xsl:template>
12742
12855
 
@@ -12969,6 +13082,11 @@
12969
13082
  <xsl:with-param name="lang" select="@lang"/>
12970
13083
  </xsl:call-template>
12971
13084
 
13085
+ <xsl:call-template name="insertExampleBookmarks">
13086
+ <xsl:with-param name="contents" select="mnx:contents"/>
13087
+ <xsl:with-param name="lang" select="@lang"/>
13088
+ </xsl:call-template>
13089
+
12972
13090
  </fo:bookmark>
12973
13091
 
12974
13092
  </xsl:for-each>
@@ -12987,6 +13105,11 @@
12987
13105
  <xsl:with-param name="lang" select="@lang"/>
12988
13106
  </xsl:call-template>
12989
13107
 
13108
+ <xsl:call-template name="insertExampleBookmarks">
13109
+ <xsl:with-param name="contents" select="mnx:contents"/>
13110
+ <xsl:with-param name="lang" select="@lang"/>
13111
+ </xsl:call-template>
13112
+
12990
13113
  </xsl:for-each>
12991
13114
  </xsl:otherwise>
12992
13115
  </xsl:choose>
@@ -13003,6 +13126,11 @@
13003
13126
  <xsl:with-param name="lang" select="@lang"/>
13004
13127
  </xsl:call-template>
13005
13128
 
13129
+ <xsl:call-template name="insertExampleBookmarks">
13130
+ <xsl:with-param name="contents" select="$contents_nodes/mnx:contents"/>
13131
+ <xsl:with-param name="lang" select="@lang"/>
13132
+ </xsl:call-template>
13133
+
13006
13134
  </xsl:otherwise>
13007
13135
  </xsl:choose>
13008
13136
 
@@ -13083,6 +13211,46 @@
13083
13211
  </fo:bookmark>
13084
13212
  </xsl:if>
13085
13213
  </xsl:template> <!-- insertTableBookmarks -->
13214
+
13215
+ <xsl:template name="insertExampleBookmarks">
13216
+ <xsl:param name="contents"/>
13217
+ <xsl:param name="lang"/>
13218
+ <xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
13219
+ <xsl:if test="$contents_nodes/mnx:example">
13220
+ <fo:bookmark internal-destination="{$contents_nodes/mnx:example[1]/@id}" starting-state="hide">
13221
+ <fo:bookmark-title>
13222
+ <xsl:choose>
13223
+ <xsl:when test="$lang = 'fr'">Exemples</xsl:when>
13224
+ <xsl:otherwise>Examples</xsl:otherwise>
13225
+ </xsl:choose>
13226
+ </fo:bookmark-title>
13227
+ <xsl:for-each select="$contents_nodes/mnx:example">
13228
+ <fo:bookmark internal-destination="{@id}">
13229
+ <fo:bookmark-title>
13230
+ <xsl:value-of select="normalize-space(mnx:title)"/>
13231
+ </fo:bookmark-title>
13232
+ </fo:bookmark>
13233
+ </xsl:for-each>
13234
+ </fo:bookmark>
13235
+ </xsl:if>
13236
+ <xsl:if test="$contents_nodes//mnx:examples/mnx:example">
13237
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
13238
+
13239
+ <xsl:variable name="bookmark-title">
13240
+ <xsl:value-of select="$title-list-examples"/>
13241
+ </xsl:variable>
13242
+
13243
+ <fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
13244
+
13245
+ <xsl:for-each select="$contents_nodes//mnx:examples/mnx:example">
13246
+ <fo:bookmark internal-destination="{@id}">
13247
+ <!-- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title> -->
13248
+ <fo:bookmark-title><xsl:apply-templates mode="bookmark_clean"/></fo:bookmark-title>
13249
+ </fo:bookmark>
13250
+ </xsl:for-each>
13251
+ </fo:bookmark>
13252
+ </xsl:if>
13253
+ </xsl:template> <!-- insertExampleBookmarks -->
13086
13254
  <!-- End Bookmarks -->
13087
13255
 
13088
13256
  <!-- ============================ -->
@@ -14121,6 +14289,10 @@
14121
14289
  <fo:block break-after="page"/>
14122
14290
  </xsl:template>
14123
14291
 
14292
+ <xsl:template match="mn:pagebreak[ancestor::mn:table]" priority="2">
14293
+ <fo:block break-after="page"/>
14294
+ </xsl:template>
14295
+
14124
14296
  <xsl:variable name="font_main_root_style">
14125
14297
  <root-style xsl:use-attribute-sets="root-style">
14126
14298
  </root-style>