metanorma-plateau 1.2.10 → 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: ed8ba9ad1209a45f505899a241f0538b585b9c63921cffd19e2deb89de5cb620
4
- data.tar.gz: aaa30784ea209e6fdc94511136da61ebac27657f0893526c5f1b202348a0d411
3
+ metadata.gz: 8780e3f1c5e71e3cabf28955f5d50b8c3787f5a8cd096c76093b431d03492deb
4
+ data.tar.gz: daa4638ef2fdf2b48678f1c181f7da450f548f349531d044e103c16553d84404
5
5
  SHA512:
6
- metadata.gz: 33af0a587638c285a9d9a9ee57aeb964286fe2ba86d7900bb719779d8954f5ce740afcaa01407d4a3fea1d1de11d2bb460a6bc5fca6f67a5e54a4fe19d2e91a3
7
- data.tar.gz: d359dbcb856775175e09f54e0efab8ddec6fe3da40542324d8b764958bda6f511da3b70588b1f42fc950c33e63b2bdd661f22c05cc4c3e49f32c4e55afa2f6b5
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"/>
@@ -3049,6 +3059,14 @@
3049
3059
 
3050
3060
  <xsl:template match="@semx-id | @anchor" mode="update_xml_step1"/>
3051
3061
 
3062
+ <xsl:template match="mn:pagebreak" mode="update_xml_step1">
3063
+ <xsl:copy>
3064
+ <xsl:apply-templates select="@*" mode="update_xml_step1"/>
3065
+ <xsl:attribute name="from_source_xml">true</xsl:attribute>
3066
+ <xsl:apply-templates select="node()" mode="update_xml_step1"/>
3067
+ </xsl:copy>
3068
+ </xsl:template>
3069
+
3052
3070
  <!-- END: update new Presentation XML -->
3053
3071
 
3054
3072
  <!-- =========================================================================== -->
@@ -3086,6 +3104,7 @@
3086
3104
  <xsl:for-each select="ancestor-or-self::*[ancestor::mn:preface or ancestor::mn:sections or ancestor-or-self::mn:annex]">
3087
3105
  <xsl:if test="following-sibling::*">false</xsl:if>
3088
3106
  </xsl:for-each>
3107
+ <xsl:if test="@from_source_xml = 'true'">false</xsl:if>
3089
3108
  </xsl:variable>
3090
3109
 
3091
3110
  <xsl:if test="contains($isLast, 'false')">
@@ -4081,6 +4100,7 @@
4081
4100
  </xsl:attribute-set> <!-- sourcecode-style -->
4082
4101
 
4083
4102
  <xsl:template name="refine_sourcecode-style">
4103
+ <xsl:call-template name="setKeepAttributes"/>
4084
4104
  </xsl:template> <!-- refine_sourcecode-style -->
4085
4105
 
4086
4106
  <xsl:attribute-set name="sourcecode-number-style">
@@ -4835,10 +4855,38 @@
4835
4855
  <xsl:template name="refine_strike-style">
4836
4856
  </xsl:template>
4837
4857
 
4858
+ <xsl:attribute-set name="hr-block-style">
4859
+ <xsl:attribute name="font-size">1pt</xsl:attribute>
4860
+ <xsl:attribute name="keep-with-previous">always</xsl:attribute>
4861
+ <xsl:attribute name="role">SKIP</xsl:attribute>
4862
+ <xsl:attribute name="padding-top">-2pt</xsl:attribute>
4863
+ <xsl:attribute name="space-after">4pt</xsl:attribute>
4864
+ </xsl:attribute-set>
4865
+
4866
+ <xsl:template name="refine_hr-block-style">
4867
+ </xsl:template>
4868
+
4869
+ <xsl:attribute-set name="hr-style">
4870
+ <xsl:attribute name="leader-pattern">rule</xsl:attribute>
4871
+ <xsl:attribute name="leader-length">100%</xsl:attribute>
4872
+ </xsl:attribute-set>
4873
+
4874
+ <xsl:template name="refine_hr-style">
4875
+ </xsl:template>
4876
+
4838
4877
  <xsl:template match="mn:br">
4839
4878
  <xsl:value-of select="$linebreak"/>
4840
4879
  </xsl:template>
4841
4880
 
4881
+ <xsl:template match="mn:hr">
4882
+ <fo:block xsl:use-attribute-sets="hr-block-style">
4883
+ <xsl:call-template name="refine_hr-block-style"/>
4884
+ <fo:leader xsl:use-attribute-sets="hr-style">
4885
+ <xsl:call-template name="refine_hr-style"/>
4886
+ </fo:leader>
4887
+ </fo:block>
4888
+ </xsl:template>
4889
+
4842
4890
  <xsl:template match="mn:em">
4843
4891
  <fo:inline xsl:use-attribute-sets="em-style">
4844
4892
  <xsl:call-template name="refine_em_style"/>
@@ -6067,6 +6115,7 @@
6067
6115
  text line 1
6068
6116
  text line 2
6069
6117
  -->
6118
+ <xsl:variable name="example_display_in"><!-- don't change here, only for override xsl --></xsl:variable> <!-- block or inline -->
6070
6119
  <xsl:template match="mn:example" name="example">
6071
6120
  <xsl:call-template name="setNamedDestination"/>
6072
6121
  <fo:block-container id="{@id}" xsl:use-attribute-sets="example-style" role="SKIP">
@@ -6076,7 +6125,8 @@
6076
6125
  <xsl:call-template name="refine_example-style"/>
6077
6126
 
6078
6127
  <xsl:variable name="fo_element">
6079
- <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:fmt-name)][1][self::mn:sourcecode]">block</xsl:if>block
6128
+ <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:fmt-name)][1][self::mn:sourcecode]">block</xsl:if>
6129
+ <xsl:if test="normalize-space($example_display_in) != ''"><xsl:value-of select="$example_display_in"/></xsl:if>block
6080
6130
  </xsl:variable>
6081
6131
 
6082
6132
  <fo:block-container margin-left="0mm" role="SKIP">
@@ -13415,7 +13465,7 @@
13415
13465
  <xsl:template name="refine_toc-pagenumber-style">
13416
13466
  </xsl:template>
13417
13467
 
13418
- <!-- List of Figures, Tables -->
13468
+ <!-- List of Figures, Tables, Examples -->
13419
13469
  <xsl:attribute-set name="toc-listof-title-style">
13420
13470
  </xsl:attribute-set>
13421
13471
 
@@ -13513,6 +13563,9 @@
13513
13563
  <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='figure']/mn:title) or normalize-space($always) = 'true'">
13514
13564
  <xsl:call-template name="processFigures_Contents"/>
13515
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>
13516
13569
  </xsl:template>
13517
13570
 
13518
13571
  <xsl:template name="processTables_Contents">
@@ -13559,7 +13612,29 @@
13559
13612
  </mnx:figures>
13560
13613
  </xsl:template>
13561
13614
 
13562
- <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">
13563
13638
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
13564
13639
  <xsl:apply-templates mode="contents"/>
13565
13640
  <xsl:text> </xsl:text>
@@ -13568,40 +13643,40 @@
13568
13643
 
13569
13644
  <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]" mode="contents"/>
13570
13645
 
13571
- <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">
13572
13647
  <xsl:apply-templates mode="contents"/>
13573
13648
  <xsl:text> </xsl:text>
13574
13649
  </xsl:template>
13575
13650
 
13576
- <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">
13577
13652
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
13578
13653
  <xsl:apply-templates mode="bookmarks"/>
13579
13654
  <xsl:text> </xsl:text>
13580
13655
  </xsl:if>
13581
13656
  </xsl:template>
13582
13657
 
13583
- <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">
13584
13659
  <xsl:apply-templates mode="bookmarks"/>
13585
13660
  <xsl:text> </xsl:text>
13586
13661
  </xsl:template>
13587
13662
 
13588
- <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">
13589
13664
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
13590
13665
  <xsl:value-of select="."/>
13591
13666
  </xsl:if>
13592
13667
  </xsl:template>
13593
13668
 
13594
- <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">
13595
13670
  <xsl:value-of select="."/>
13596
13671
  </xsl:template>
13597
13672
 
13598
- <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">
13599
13674
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
13600
13675
  <xsl:value-of select="."/>
13601
13676
  </xsl:if>
13602
13677
  </xsl:template>
13603
13678
 
13604
- <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">
13605
13680
  <xsl:value-of select="."/>
13606
13681
  </xsl:template>
13607
13682
 
@@ -13834,6 +13909,11 @@
13834
13909
  <xsl:with-param name="lang" select="@lang"/>
13835
13910
  </xsl:call-template>
13836
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
+
13837
13917
  </fo:bookmark>
13838
13918
 
13839
13919
  </xsl:for-each>
@@ -13852,6 +13932,11 @@
13852
13932
  <xsl:with-param name="lang" select="@lang"/>
13853
13933
  </xsl:call-template>
13854
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
+
13855
13940
  </xsl:for-each>
13856
13941
  </xsl:otherwise>
13857
13942
  </xsl:choose>
@@ -13868,6 +13953,11 @@
13868
13953
  <xsl:with-param name="lang" select="@lang"/>
13869
13954
  </xsl:call-template>
13870
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
+
13871
13961
  </xsl:otherwise>
13872
13962
  </xsl:choose>
13873
13963
 
@@ -13948,6 +14038,46 @@
13948
14038
  </fo:bookmark>
13949
14039
  </xsl:if>
13950
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 -->
13951
14081
  <!-- End Bookmarks -->
13952
14082
 
13953
14083
  <!-- ============================ -->
@@ -187,6 +187,15 @@ Applicable to modify and delete</a:documentation>
187
187
  <a:documentation>Optional caption of this block</a:documentation>
188
188
  </attribute>
189
189
  </optional>
190
+ <optional>
191
+ <attribute name="position">
192
+ <a:documentation>For an "add" change, whether the change is added before or after the location</a:documentation>
193
+ <choice>
194
+ <value>before</value>
195
+ <value>after</value>
196
+ </choice>
197
+ </attribute>
198
+ </optional>
190
199
  <optional>
191
200
  <element name="location">
192
201
  <a:documentation>The location(s) in the original document which have undergone the change described in this block</a:documentation>
@@ -1142,11 +1142,11 @@ NOTE: This should preferably be encoded as a URI or short identifier, rather th
1142
1142
  <a:documentation>Information about how long the current description of the bibliographic item is valid for</a:documentation>
1143
1143
  </ref>
1144
1144
  </optional>
1145
- <optional>
1145
+ <zeroOrMore>
1146
1146
  <ref name="depiction">
1147
1147
  <a:documentation>Depiction of the bibliographic item, typically an image</a:documentation>
1148
1148
  </ref>
1149
- </optional>
1149
+ </zeroOrMore>
1150
1150
  </define>
1151
1151
  <define name="ReducedBibliographicItem">
1152
1152
  <a:documentation>Reduced description of a bibliographic resource, without mandatory title and docidentifier, used for document relations
@@ -2015,15 +2015,11 @@ provided that it is not the entire bibliographic item that is so related</a:docu
2015
2015
  <a:documentation>A version of the bibliographic item (within an edition). Can be used for drafts</a:documentation>
2016
2016
  <element name="version">
2017
2017
  <optional>
2018
- <ref name="revision-date">
2019
- <a:documentation>The date at which the current version of the bibliographic item was produced</a:documentation>
2020
- </ref>
2021
- </optional>
2022
- <optional>
2023
- <ref name="draft">
2024
- <a:documentation>The identifier for the current draft of the bibliographic item</a:documentation>
2025
- </ref>
2018
+ <attribute name="type">
2019
+ <a:documentation>Versioning scheme, in case of multiple versioning schemes</a:documentation>
2020
+ </attribute>
2026
2021
  </optional>
2022
+ <text/>
2027
2023
  </element>
2028
2024
  </define>
2029
2025
  <define name="vedition">
@@ -2063,13 +2059,13 @@ provided that it is not the entire bibliographic item that is so related</a:docu
2063
2059
  <ref name="LocalizedString"/>
2064
2060
  </element>
2065
2061
  </optional>
2066
- <oneOrMore>
2062
+ <zeroOrMore>
2067
2063
  <element name="taxon">
2068
2064
  <a:documentation>The keywords as a hierarchical taxonomy. For example, the sequence of `taxon` elements
2069
2065
  `pump`, `centrifugal pump`, `line shaft pump` represents a taxonomic classification</a:documentation>
2070
2066
  <ref name="LocalizedString"/>
2071
2067
  </element>
2072
- </oneOrMore>
2068
+ </zeroOrMore>
2073
2069
  <zeroOrMore>
2074
2070
  <ref name="vocabid">
2075
2071
  <a:documentation>Identifiers for the keyword as a controlled vocabulary</a:documentation>
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
- <!-- VERSION v2.1.5 -->
3
+ <!-- VERSION v2.1.6 -->
4
4
 
5
5
  <!--
6
6
  ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
@@ -164,6 +164,9 @@ Sources are currently only rendered in metanorma-plateau</a:documentation>
164
164
  </choice>
165
165
  </attribute>
166
166
  </optional>
167
+ <optional>
168
+ <ref name="DisplayDirective"/>
169
+ </optional>
167
170
  </define>
168
171
  <define name="DlAttributes">
169
172
  <ref name="BlockAttributes"/>
@@ -210,6 +213,12 @@ Sources are currently only rendered in metanorma-plateau</a:documentation>
210
213
  <define name="ExampleAttributes">
211
214
  <ref name="NumberingAttributes"/>
212
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>
213
222
  </define>
214
223
  <define name="ExampleBody">
215
224
  <optional>
@@ -814,6 +823,9 @@ titlecase, or lowercase</a:documentation>
814
823
  </define>
815
824
  <define name="UlAttributes" combine="interleave">
816
825
  <ref name="BlockAttributes"/>
826
+ <optional>
827
+ <ref name="DisplayDirective"/>
828
+ </optional>
817
829
  </define>
818
830
  <define name="TableAttributes" combine="interleave">
819
831
  <optional>
@@ -1968,7 +1980,7 @@ used in document amendments</a:documentation>
1968
1980
  <a:documentation>Zero or more examples of how the term is to be used</a:documentation>
1969
1981
  </ref>
1970
1982
  </zeroOrMore>
1971
- <ref name="TermSource">
1983
+ <ref name="TermSources">
1972
1984
  <a:documentation>Bibliographic references for the managed term</a:documentation>
1973
1985
  </ref>
1974
1986
  </element>
@@ -2077,7 +2089,7 @@ used in document amendments</a:documentation>
2077
2089
  <a:documentation>Information about how the designation is to be used</a:documentation>
2078
2090
  </ref>
2079
2091
  </optional>
2080
- <ref name="TermSource">
2092
+ <ref name="TermSources">
2081
2093
  <a:documentation>Bibliographic references for this designation of the managed term</a:documentation>
2082
2094
  </ref>
2083
2095
  </define>
@@ -2348,7 +2360,7 @@ used in document amendments</a:documentation>
2348
2360
  <ref name="formula"/>
2349
2361
  </choice>
2350
2362
  </oneOrMore>
2351
- <ref name="TermSource">
2363
+ <ref name="TermSources">
2352
2364
  <a:documentation>Bibliographic references for this designation of the managed term</a:documentation>
2353
2365
  </ref>
2354
2366
  </element>
@@ -2365,7 +2377,7 @@ used in document amendments</a:documentation>
2365
2377
  <ref name="formula"/>
2366
2378
  </choice>
2367
2379
  </oneOrMore>
2368
- <ref name="TermSource">
2380
+ <ref name="TermSources">
2369
2381
  <a:documentation>Bibliographic references for this designation of the managed term</a:documentation>
2370
2382
  </ref>
2371
2383
  </element>
@@ -2788,6 +2800,26 @@ to span across both columns</a:documentation>
2788
2800
  </attribute>
2789
2801
  </optional>
2790
2802
  </define>
2803
+ <define name="DisplayDirective">
2804
+ <a:documentation>Directive on how to render a block in Presentation XML </a:documentation>
2805
+ <optional>
2806
+ <attribute name="display">
2807
+ <a:documentation>Display style for block.
2808
+ If the block is `ol` or `ul` and dispay is `table`,
2809
+ the list is to be rendered as a table, with a column for each nested level, and a row for each terminal sublist</a:documentation>
2810
+ </attribute>
2811
+ </optional>
2812
+ <optional>
2813
+ <attribute name="display-directives">
2814
+ <a:documentation>display-directives is a key-value set of attributes, guiding how the rendering of the block should happen.
2815
+ The key-value set is comma-delimited, and encoded as `key1='value1',key2='value'`,
2816
+ as with stem//mn/@data-metanorma-numberformat
2817
+ * If the block is `ol` or `ul` and dispay is `table`, display-directives can have the value `colgroup='col1,col2,...coln'`,
2818
+ where each col value is a percentage width of the column in the output table (with no % suffix).
2819
+ e.g. `colgroup='50,33.3,16.7'` </a:documentation>
2820
+ </attribute>
2821
+ </optional>
2822
+ </define>
2791
2823
  <define name="ReferencesAttributes">
2792
2824
  <optional>
2793
2825
  <attribute name="obligation">
@@ -2800,7 +2832,7 @@ Normative References contents contain normative references, but as a clause in t
2800
2832
  <data type="boolean"/>
2801
2833
  </attribute>
2802
2834
  </define>
2803
- <define name="TermSource">
2835
+ <define name="TermSources">
2804
2836
  <zeroOrMore>
2805
2837
  <ref name="termsource"/>
2806
2838
  </zeroOrMore>
@@ -47,7 +47,15 @@ the tag name of the top level containers</a:documentation>
47
47
  </optional>
48
48
  <optional>
49
49
  <attribute name="model">
50
- <a:documentation>Model of requirements realised by this requirement, e.g. "ogc" for Modspec</a:documentation>
50
+ <a:documentation>Model of requirements realised by this requirement, e.g. "ogc" for Modspec.
51
+ Current legal values: ogc, default</a:documentation>
52
+ </attribute>
53
+ </optional>
54
+ <optional>
55
+ <attribute name="render">
56
+ <a:documentation>Rendering of requirements realised by this requirement. Current legal values:
57
+ default:: default, inline
58
+ ogc:: default</a:documentation>
51
59
  </attribute>
52
60
  </optional>
53
61
  <optional>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Plateau
3
- VERSION = "1.2.10".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.10
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-05-13 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