metanorma-plateau 1.2.11 → 1.2.12

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: 52ca79d91f14e92be72cae549b490bb0dca33189218a5cd5976d402fd0f7da0c
4
- data.tar.gz: 16119b5d4f52aa08b614ff6d875bbcf801eebf9860bfda5e8a4ed22b1480a1a9
3
+ metadata.gz: 8780e3f1c5e71e3cabf28955f5d50b8c3787f5a8cd096c76093b431d03492deb
4
+ data.tar.gz: daa4638ef2fdf2b48678f1c181f7da450f548f349531d044e103c16553d84404
5
5
  SHA512:
6
- metadata.gz: 7173bd6285f91673616a3523223e584adc5c8088352c167a71ca0f71e3b03ca61741978f6c2cd3db478793e5eca560aa3a34ab691160fe3de6d0db250eec6ebe
7
- data.tar.gz: 19517e840ca8144fea7f1f5e0204af2b2497ce33aaafc766b60367ca2ddc0f66c4b4eb0d591a79eee0c8ad55656ba539debc349d3ba1007869fcbff836c9c588
6
+ metadata.gz: d250c208a1c5d8f2e811656444176b50f96d44ee7bee96cb977e68f1a937f9f9e3a0830c491b41716c9c471369475a5e0d4e59dc241303775ce4d6754c868bb8
7
+ data.tar.gz: 7b37a2820b58240bdd05f986dc5a2ac1947b2eb0ea3ff00f34105264fd7e31af2826753d27a9eb4f8a2a8eede48047391212a903dd1fe3f9a0e3917cf0d0c489
@@ -492,7 +492,7 @@
492
492
  <xsl:call-template name="refine_toc-style"/>
493
493
 
494
494
  <xsl:if test="$contents/mnx:doc[@num = $num]//mnx:item[@display = 'true']">
495
- <xsl:for-each select="$contents/mnx:doc[@num = $num]//mnx:item[@display = 'true'][@level &lt;= $toc_level or @type='figure' or @type = 'table']">
495
+ <xsl:for-each select="$contents/mnx:doc[@num = $num]//mnx:item[@display = 'true'][@level &lt;= $toc_level or @type='figure' or @type = 'table' or @type = 'example']">
496
496
  <fo:block role="TOCI">
497
497
  <xsl:choose>
498
498
  <xsl:when test="$doctype = 'technical-report'">
@@ -2152,6 +2152,16 @@
2152
2152
  </xsl:if>
2153
2153
  </xsl:variable>
2154
2154
 
2155
+ <xsl:variable name="title-list-examples">
2156
+ <xsl:variable name="toc_example_title" select="//mn:metanorma/mn:metanorma-extension/mn:toc[@type='example']/mn:title"/>
2157
+ <xsl:value-of select="$toc_example_title"/>
2158
+ <xsl:if test="normalize-space($toc_example_title) = ''">
2159
+ <xsl:call-template name="getLocalizedString">
2160
+ <xsl:with-param name="key">toc_examples</xsl:with-param>
2161
+ </xsl:call-template>
2162
+ </xsl:if>
2163
+ </xsl:variable>
2164
+
2155
2165
  <xsl:variable name="title-list-recommendations">
2156
2166
  <xsl:variable name="toc_requirement_title" select="//mn:metanorma/mn:metanorma-extension/mn:toc[@type='requirement']/mn:title"/>
2157
2167
  <xsl:value-of select="$toc_requirement_title"/>
@@ -13455,7 +13465,7 @@
13455
13465
  <xsl:template name="refine_toc-pagenumber-style">
13456
13466
  </xsl:template>
13457
13467
 
13458
- <!-- List of Figures, Tables -->
13468
+ <!-- List of Figures, Tables, Examples -->
13459
13469
  <xsl:attribute-set name="toc-listof-title-style">
13460
13470
  </xsl:attribute-set>
13461
13471
 
@@ -13553,6 +13563,9 @@
13553
13563
  <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='figure']/mn:title) or normalize-space($always) = 'true'">
13554
13564
  <xsl:call-template name="processFigures_Contents"/>
13555
13565
  </xsl:if>
13566
+ <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='example']/mn:title)">
13567
+ <xsl:call-template name="processExamples_Contents"/>
13568
+ </xsl:if>
13556
13569
  </xsl:template>
13557
13570
 
13558
13571
  <xsl:template name="processTables_Contents">
@@ -13599,7 +13612,29 @@
13599
13612
  </mnx:figures>
13600
13613
  </xsl:template>
13601
13614
 
13602
- <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">
13615
+ <xsl:template name="processExamples_Contents">
13616
+ <mnx:examples>
13617
+ <xsl:for-each select="//mn:example[@id and mn:fmt-name and not(@unnumbered = 'true') and normalize-space(@id) != '']">
13618
+ <xsl:choose>
13619
+ <xsl:when test="mn:fmt-name">
13620
+ <xsl:variable name="fmt_name">
13621
+ <xsl:apply-templates select="mn:fmt-name" mode="update_xml_step1"/>
13622
+ </xsl:variable>
13623
+ <mnx:example id="{@id}" alt-text="{normalize-space($fmt_name)}">
13624
+ <xsl:copy-of select="$fmt_name"/>
13625
+ </mnx:example>
13626
+ </xsl:when>
13627
+ <xsl:otherwise>
13628
+ <mnx:example id="{@id}" alt-text="{mn:name}">
13629
+ <xsl:copy-of select="mn:name"/>
13630
+ </mnx:example>
13631
+ </xsl:otherwise>
13632
+ </xsl:choose>
13633
+ </xsl:for-each>
13634
+ </mnx:examples>
13635
+ </xsl:template>
13636
+
13637
+ <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">
13603
13638
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
13604
13639
  <xsl:apply-templates mode="contents"/>
13605
13640
  <xsl:text> </xsl:text>
@@ -13608,40 +13643,40 @@
13608
13643
 
13609
13644
  <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]" mode="contents"/>
13610
13645
 
13611
- <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">
13646
+ <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">
13612
13647
  <xsl:apply-templates mode="contents"/>
13613
13648
  <xsl:text> </xsl:text>
13614
13649
  </xsl:template>
13615
13650
 
13616
- <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">
13651
+ <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">
13617
13652
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
13618
13653
  <xsl:apply-templates mode="bookmarks"/>
13619
13654
  <xsl:text> </xsl:text>
13620
13655
  </xsl:if>
13621
13656
  </xsl:template>
13622
13657
 
13623
- <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">
13658
+ <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">
13624
13659
  <xsl:apply-templates mode="bookmarks"/>
13625
13660
  <xsl:text> </xsl:text>
13626
13661
  </xsl:template>
13627
13662
 
13628
- <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">
13663
+ <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">
13629
13664
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
13630
13665
  <xsl:value-of select="."/>
13631
13666
  </xsl:if>
13632
13667
  </xsl:template>
13633
13668
 
13634
- <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">
13669
+ <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">
13635
13670
  <xsl:value-of select="."/>
13636
13671
  </xsl:template>
13637
13672
 
13638
- <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">
13673
+ <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">
13639
13674
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
13640
13675
  <xsl:value-of select="."/>
13641
13676
  </xsl:if>
13642
13677
  </xsl:template>
13643
13678
 
13644
- <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">
13679
+ <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">
13645
13680
  <xsl:value-of select="."/>
13646
13681
  </xsl:template>
13647
13682
 
@@ -13874,6 +13909,11 @@
13874
13909
  <xsl:with-param name="lang" select="@lang"/>
13875
13910
  </xsl:call-template>
13876
13911
 
13912
+ <xsl:call-template name="insertExampleBookmarks">
13913
+ <xsl:with-param name="contents" select="mnx:contents"/>
13914
+ <xsl:with-param name="lang" select="@lang"/>
13915
+ </xsl:call-template>
13916
+
13877
13917
  </fo:bookmark>
13878
13918
 
13879
13919
  </xsl:for-each>
@@ -13892,6 +13932,11 @@
13892
13932
  <xsl:with-param name="lang" select="@lang"/>
13893
13933
  </xsl:call-template>
13894
13934
 
13935
+ <xsl:call-template name="insertExampleBookmarks">
13936
+ <xsl:with-param name="contents" select="mnx:contents"/>
13937
+ <xsl:with-param name="lang" select="@lang"/>
13938
+ </xsl:call-template>
13939
+
13895
13940
  </xsl:for-each>
13896
13941
  </xsl:otherwise>
13897
13942
  </xsl:choose>
@@ -13908,6 +13953,11 @@
13908
13953
  <xsl:with-param name="lang" select="@lang"/>
13909
13954
  </xsl:call-template>
13910
13955
 
13956
+ <xsl:call-template name="insertExampleBookmarks">
13957
+ <xsl:with-param name="contents" select="$contents_nodes/mnx:contents"/>
13958
+ <xsl:with-param name="lang" select="@lang"/>
13959
+ </xsl:call-template>
13960
+
13911
13961
  </xsl:otherwise>
13912
13962
  </xsl:choose>
13913
13963
 
@@ -13988,6 +14038,46 @@
13988
14038
  </fo:bookmark>
13989
14039
  </xsl:if>
13990
14040
  </xsl:template> <!-- insertTableBookmarks -->
14041
+
14042
+ <xsl:template name="insertExampleBookmarks">
14043
+ <xsl:param name="contents"/>
14044
+ <xsl:param name="lang"/>
14045
+ <xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
14046
+ <xsl:if test="$contents_nodes/mnx:example">
14047
+ <fo:bookmark internal-destination="{$contents_nodes/mnx:example[1]/@id}" starting-state="hide">
14048
+ <fo:bookmark-title>
14049
+ <xsl:choose>
14050
+ <xsl:when test="$lang = 'fr'">Exemples</xsl:when>
14051
+ <xsl:otherwise>Examples</xsl:otherwise>
14052
+ </xsl:choose>
14053
+ </fo:bookmark-title>
14054
+ <xsl:for-each select="$contents_nodes/mnx:example">
14055
+ <fo:bookmark internal-destination="{@id}">
14056
+ <fo:bookmark-title>
14057
+ <xsl:value-of select="normalize-space(mnx:title)"/>
14058
+ </fo:bookmark-title>
14059
+ </fo:bookmark>
14060
+ </xsl:for-each>
14061
+ </fo:bookmark>
14062
+ </xsl:if>
14063
+ <xsl:if test="$contents_nodes//mnx:examples/mnx:example">
14064
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
14065
+
14066
+ <xsl:variable name="bookmark-title">
14067
+ <xsl:value-of select="$title-list-examples"/>
14068
+ </xsl:variable>
14069
+
14070
+ <fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
14071
+
14072
+ <xsl:for-each select="$contents_nodes//mnx:examples/mnx:example">
14073
+ <fo:bookmark internal-destination="{@id}">
14074
+ <!-- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title> -->
14075
+ <fo:bookmark-title><xsl:apply-templates mode="bookmark_clean"/></fo:bookmark-title>
14076
+ </fo:bookmark>
14077
+ </xsl:for-each>
14078
+ </fo:bookmark>
14079
+ </xsl:if>
14080
+ </xsl:template> <!-- insertExampleBookmarks -->
13991
14081
  <!-- End Bookmarks -->
13992
14082
 
13993
14083
  <!-- ============================ -->
@@ -213,6 +213,12 @@ Sources are currently only rendered in metanorma-plateau</a:documentation>
213
213
  <define name="ExampleAttributes">
214
214
  <ref name="NumberingAttributes"/>
215
215
  <ref name="BlockAttributes"/>
216
+ <optional>
217
+ <attribute name="collapsible">
218
+ <a:documentation>Render the example as collapsible (HTML5 details/summary)</a:documentation>
219
+ <data type="boolean"/>
220
+ </attribute>
221
+ </optional>
216
222
  </define>
217
223
  <define name="ExampleBody">
218
224
  <optional>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Plateau
3
- VERSION = "1.2.11".freeze
3
+ VERSION = "1.2.12".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-plateau
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.11
4
+ version: 1.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-09 00:00:00.000000000 Z
11
+ date: 2026-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-jis