metanorma-cc 2.8.1 → 2.8.3

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: fbdee3c5ec8406ed5b5874fde2171f4558e48c1d34c5fb757f4270dd8882ce37
4
- data.tar.gz: 3ed6a8df1f9dd8540f70c72b625cbfbb70f7b98fd5462ea977b37158a457c89d
3
+ metadata.gz: cc0ffb6813bd4a4a9451ddba8a1d68f8b485e9a8ef182e77daa5cc31cd3078fe
4
+ data.tar.gz: 012fa0089b821d23d6a43a5b09aa42384a651489e9723bd73fec055323857dfd
5
5
  SHA512:
6
- metadata.gz: 2a1aeb7a0668530f5dff2bd3c868760e6c71deeb09552ec88fa629f33989bcda8b513c3cab363a1dad4f1ac675c04a8077bd26508290482038f67dbe9063ce9c
7
- data.tar.gz: 72d5964f39a259ca947fb68413ee9092490ec92322699410d1c11415861937dcab313aea09ab13ac4b2429bd496ed6052c8df3b9d0040b017cb5e794c81fede8
6
+ metadata.gz: b21c5e472e3f29cede108ffcf078ba4b5ea024c12db3c219976e43ef44d451573c31f78e4f7f7dc72d7b37e6c9f5ee5cc8484711b926405558eb6a32337d2428
7
+ data.tar.gz: 4f77fe9a73a8f7b6ab8f81d2609d692057f56749705c32e035f279dbe1e1a70f8fdf934250483569c72144f8219b1f4421b2ea2dc20c3fb0fe680b3bcfab9c13
@@ -228,16 +228,8 @@
228
228
  <xsl:for-each select=".//mn:page_sequence[parent::mn:preface][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
229
229
 
230
230
  <!-- Copyright, Content, Foreword, etc. pages -->
231
- <fo:page-sequence master-reference="preface" format="i">
232
-
233
- <xsl:attribute name="master-reference">
234
- <xsl:text>preface</xsl:text>
235
- <xsl:call-template name="getPageSequenceOrientation"/>
236
- </xsl:attribute>
237
-
238
- <xsl:if test="position() = last()">
239
- <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
240
- </xsl:if>
231
+ <fo:page-sequence xsl:use-attribute-sets="page-sequence-preface">
232
+ <xsl:call-template name="refine_page-sequence-preface"/>
241
233
 
242
234
  <xsl:call-template name="insertFootnoteSeparatorCommon"/>
243
235
  <xsl:call-template name="insertHeaderFooter"/>
@@ -255,16 +247,8 @@
255
247
  <xsl:for-each select=".//mn:page_sequence[not(parent::mn:preface)][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
256
248
 
257
249
  <!-- Document Pages -->
258
- <fo:page-sequence master-reference="document" format="1" force-page-count="no-force">
259
-
260
- <xsl:attribute name="master-reference">
261
- <xsl:text>document</xsl:text>
262
- <xsl:call-template name="getPageSequenceOrientation"/>
263
- </xsl:attribute>
264
-
265
- <xsl:if test="position() = 1">
266
- <xsl:attribute name="initial-page-number">1</xsl:attribute>
267
- </xsl:if>
250
+ <fo:page-sequence xsl:use-attribute-sets="page-sequence-main">
251
+ <xsl:call-template name="refine_page-sequence-main"/>
268
252
 
269
253
  <xsl:call-template name="insertFootnoteSeparatorCommon"/>
270
254
  <xsl:call-template name="insertHeaderFooter"/>
@@ -367,7 +351,11 @@
367
351
  </xsl:template> <!-- END: cover-page -->
368
352
 
369
353
  <xsl:template name="inner-cover-page">
370
- <fo:page-sequence master-reference="preface" format="i" initial-page-number="2">
354
+ <fo:page-sequence initial-page-number="2" xsl:use-attribute-sets="page-sequence-preface">
355
+ <xsl:call-template name="refine_page-sequence-preface">
356
+ <xsl:with-param name="skip_force_page_count">true</xsl:with-param>
357
+ </xsl:call-template>
358
+
371
359
  <xsl:call-template name="insertFootnoteSeparatorCommon"/>
372
360
  <xsl:call-template name="insertHeaderFooter"/>
373
361
  <fo:flow flow-name="xsl-region-body">
@@ -418,7 +406,7 @@
418
406
  </xsl:call-template>
419
407
  <xsl:apply-templates select="." mode="contents"/>
420
408
  <fo:inline keep-together.within-line="always" role="SKIP">
421
- <fo:leader xsl:use-attribute-sets="toc-leader-style"/>
409
+ <fo:leader xsl:use-attribute-sets="toc-leader-style"><xsl:call-template name="refine_toc-leader-style"/></fo:leader>
422
410
  <fo:inline role="SKIP"><fo:wrapper role="artifact"><fo:page-number-citation ref-id="{@id}"/></fo:wrapper></fo:inline>
423
411
  </fo:inline>
424
412
  </fo:basic-link>
@@ -465,7 +453,7 @@
465
453
  <fo:basic-link internal-destination="{@id}" fox:alt-text="{mnx:title}" role="SKIP">
466
454
  <xsl:apply-templates select="mnx:title"/>
467
455
  <fo:inline keep-together.within-line="always" role="SKIP">
468
- <fo:leader xsl:use-attribute-sets="toc-leader-style"/>
456
+ <fo:leader xsl:use-attribute-sets="toc-leader-style"><xsl:call-template name="refine_toc-leader-style"/></fo:leader>
469
457
  <fo:inline role="SKIP"><fo:wrapper role="artifact"><fo:page-number-citation ref-id="{@id}"/></fo:wrapper></fo:inline>
470
458
  </fo:inline>
471
459
  </fo:basic-link>
@@ -550,13 +538,23 @@
550
538
  <xsl:variable name="title">
551
539
  <xsl:call-template name="getName"/>
552
540
  </xsl:variable>
541
+ <xsl:variable name="variant_title">
542
+ <xsl:copy-of select="mn:variant-title[@type = 'toc']/node()"/>
543
+ </xsl:variable>
553
544
 
554
545
  <mnx:item id="{@id}" level="{$level}" section="{$section}" display="{$display}">
555
546
  <xsl:if test="$type = 'indexsect'">
556
547
  <xsl:attribute name="level">1</xsl:attribute>
557
548
  </xsl:if>
558
549
  <mnx:title>
559
- <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
550
+ <xsl:choose>
551
+ <xsl:when test="normalize-space($variant_title) != ''">
552
+ <xsl:apply-templates select="xalan:nodeset($variant_title)" mode="contents_item"/>
553
+ </xsl:when>
554
+ <xsl:otherwise>
555
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
556
+ </xsl:otherwise>
557
+ </xsl:choose>
560
558
  </mnx:title>
561
559
  <xsl:if test="$type != 'indexsect'">
562
560
  <xsl:apply-templates mode="contents"/>
@@ -973,20 +971,41 @@
973
971
  </xsl:variable>
974
972
 
975
973
  <xsl:attribute-set name="page-sequence-preface">
974
+ <xsl:attribute name="master-reference">preface</xsl:attribute>
976
975
  <xsl:attribute name="format">i</xsl:attribute>
977
- </xsl:attribute-set>
976
+ </xsl:attribute-set> <!-- page-sequence-preface -->
978
977
 
979
978
  <xsl:template name="refine_page-sequence-preface">
980
979
  <xsl:param name="layoutVersion"/>
981
- </xsl:template>
980
+ <xsl:param name="doctype"/>
981
+ <xsl:param name="num"/>
982
+ <xsl:param name="skip_force_page_count">false</xsl:param>
983
+ <xsl:attribute name="master-reference">
984
+ <xsl:text>preface</xsl:text>
985
+ <xsl:call-template name="getPageSequenceOrientation"/>
986
+ </xsl:attribute>
987
+ <xsl:if test="$skip_force_page_count = 'false' and position() = last()">
988
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
989
+ </xsl:if>
990
+ </xsl:template> <!-- refine_page-sequence-preface -->
982
991
 
983
992
  <xsl:attribute-set name="page-sequence-main">
984
-
985
- </xsl:attribute-set>
993
+ <xsl:attribute name="format">1</xsl:attribute>
994
+ <xsl:attribute name="force-page-count">no-force</xsl:attribute>
995
+ <xsl:attribute name="master-reference">document</xsl:attribute>
996
+ </xsl:attribute-set> <!-- page-sequence-main -->
986
997
 
987
998
  <xsl:template name="refine_page-sequence-main">
988
999
  <xsl:param name="layoutVersion"/>
989
- </xsl:template>
1000
+ <xsl:param name="doctype"/>
1001
+ <xsl:attribute name="master-reference">
1002
+ <xsl:text>document</xsl:text>
1003
+ <xsl:call-template name="getPageSequenceOrientation"/>
1004
+ </xsl:attribute>
1005
+ <xsl:if test="position() = 1">
1006
+ <xsl:attribute name="initial-page-number">1</xsl:attribute>
1007
+ </xsl:if>
1008
+ </xsl:template> <!-- refine_page-sequence-main -->
990
1009
 
991
1010
  <xsl:variable name="font_noto_sans">Noto Sans, Noto Sans HK, Noto Sans JP, Noto Sans KR, Noto Sans SC, Noto Sans TC</xsl:variable>
992
1011
  <xsl:variable name="font_noto_sans_mono">Noto Sans Mono, Noto Sans Mono CJK HK, Noto Sans Mono CJK JP, Noto Sans Mono CJK KR, Noto Sans Mono CJK SC, Noto Sans Mono CJK TC</xsl:variable>
@@ -1290,7 +1309,24 @@
1290
1309
  <xsl:template match="mn:metanorma-extension/*[local-name() = 'UnitsML']" mode="update_xml_step1"/>
1291
1310
 
1292
1311
  <!-- remove image/emf -->
1293
- <xsl:template match="mn:image/mn:emf" mode="update_xml_step1"/>
1312
+ <xsl:template match="mn:image//mn:emf" mode="update_xml_step1"/>
1313
+
1314
+ <!-- https://github.com/metanorma/metanorma/issues/540 -->
1315
+ <xsl:template match="mn:image[mn:altsource]" priority="3" mode="update_xml_step1">
1316
+ <xsl:copy>
1317
+ <xsl:apply-templates select="@*" mode="update_xml_step1"/>
1318
+ <xsl:choose>
1319
+ <xsl:when test="mn:altsource[contains(@tag, 'pdf')]">
1320
+ <xsl:apply-templates select="mn:altsource[contains(@tag, 'pdf')]/@*" mode="update_xml_step1"/>
1321
+ <xsl:apply-templates select="mn:altsource[contains(@tag, 'pdf')]/node()" mode="update_xml_step1"/>
1322
+ </xsl:when>
1323
+ <xsl:otherwise>
1324
+ <xsl:apply-templates select="mn:altsource[contains(@tag, 'default')]/@*" mode="update_xml_step1"/>
1325
+ <xsl:apply-templates select="mn:altsource[contains(@tag, 'default')]/node()" mode="update_xml_step1"/>
1326
+ </xsl:otherwise>
1327
+ </xsl:choose>
1328
+ </xsl:copy>
1329
+ </xsl:template>
1294
1330
 
1295
1331
  <!-- remove preprocess-xslt -->
1296
1332
  <xsl:template match="mn:preprocess-xslt" mode="update_xml_step1"/>
@@ -1518,6 +1554,15 @@
1518
1554
  </xsl:choose>
1519
1555
  </xsl:template>
1520
1556
 
1557
+ <!-- https://github.com/metanorma/metanorma-iso/issues/1535 -->
1558
+ <xsl:template match="mn:ol[mn:fmt-ol]" mode="update_xml_step1">
1559
+ <xsl:apply-templates select="mn:fmt-ol" mode="update_xml_step1"/>
1560
+ </xsl:template>
1561
+
1562
+ <xsl:template match="mn:ul[mn:fmt-ul]" mode="update_xml_step1">
1563
+ <xsl:apply-templates select="mn:fmt-ul" mode="update_xml_step1"/>
1564
+ </xsl:template>
1565
+
1521
1566
  <!-- li/fmt-name -->
1522
1567
  <xsl:template match="mn:li/mn:fmt-name" priority="2" mode="update_xml_step1">
1523
1568
  <xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
@@ -4772,6 +4817,8 @@
4772
4817
  </xsl:if>
4773
4818
 
4774
4819
  <xsl:call-template name="setBordersTableArray"/>
4820
+
4821
+ <xsl:call-template name="setNoBordersForTableList"/>
4775
4822
  </xsl:template> <!-- refine_table-style -->
4776
4823
 
4777
4824
  <xsl:attribute-set name="table-number-style">
@@ -4806,12 +4853,16 @@
4806
4853
  <xsl:template name="refine_table-header-row-style">
4807
4854
 
4808
4855
  <xsl:call-template name="setBordersTableArray"/>
4856
+
4857
+ <xsl:call-template name="setNoBordersForTableList"/>
4809
4858
  </xsl:template> <!-- refine_table-header-row-style -->
4810
4859
 
4811
4860
  <xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
4812
4861
  </xsl:attribute-set>
4813
4862
 
4814
4863
  <xsl:template name="refine_table-footer-row-style">
4864
+
4865
+ <xsl:call-template name="setNoBordersForTableList"/>
4815
4866
  </xsl:template> <!-- refine_table-footer-row-style -->
4816
4867
 
4817
4868
  <xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
@@ -4821,6 +4872,8 @@
4821
4872
  <xsl:template name="refine_table-body-row-style">
4822
4873
 
4823
4874
  <xsl:call-template name="setBordersTableArray"/>
4875
+
4876
+ <xsl:call-template name="setNoBordersForTableList"/>
4824
4877
  </xsl:template> <!-- refine_table-body-row-style -->
4825
4878
 
4826
4879
  <xsl:attribute-set name="table-header-cell-style">
@@ -4839,6 +4892,16 @@
4839
4892
  </xsl:if>
4840
4893
 
4841
4894
  <xsl:call-template name="setTableCellAttributes"/>
4895
+
4896
+ <xsl:if test="ancestor::mn:fmt-ol or ancestor::mn:fmt-ul">
4897
+ <xsl:attribute name="display-align">before</xsl:attribute>
4898
+ <xsl:attribute name="text-align">left</xsl:attribute>
4899
+ <xsl:if test="following-sibling::*">
4900
+ <xsl:attribute name="padding-right">4mm</xsl:attribute>
4901
+ </xsl:if>
4902
+ <xsl:call-template name="setNoBordersForTableList"/>
4903
+ </xsl:if>
4904
+
4842
4905
  </xsl:template> <!-- refine_table-header-cell-style -->
4843
4906
 
4844
4907
  <xsl:attribute-set name="table-cell-style">
@@ -4855,6 +4918,15 @@
4855
4918
 
4856
4919
  <xsl:call-template name="setBordersTableArray"/>
4857
4920
 
4921
+ <xsl:if test="ancestor::mn:fmt-ol or ancestor::mn:fmt-ul">
4922
+ <xsl:attribute name="display-align">before</xsl:attribute>
4923
+ <xsl:attribute name="text-align">left</xsl:attribute>
4924
+ <xsl:if test="following-sibling::*">
4925
+ <xsl:attribute name="padding-right">4mm</xsl:attribute>
4926
+ </xsl:if>
4927
+ <xsl:call-template name="setNoBordersForTableList"/>
4928
+ </xsl:if>
4929
+
4858
4930
  </xsl:template> <!-- refine_table-cell-style -->
4859
4931
 
4860
4932
  <xsl:attribute-set name="table-footer-cell-style">
@@ -4865,6 +4937,8 @@
4865
4937
  </xsl:attribute-set> <!-- table-footer-cell-style -->
4866
4938
 
4867
4939
  <xsl:template name="refine_table-footer-cell-style">
4940
+
4941
+ <xsl:call-template name="setNoBordersForTableList"/>
4868
4942
  </xsl:template> <!-- refine_table-footer-cell-style -->
4869
4943
 
4870
4944
  <xsl:attribute-set name="table-note-style">
@@ -4903,6 +4977,16 @@
4903
4977
  <xsl:template name="refine_table-fn-body-style">
4904
4978
  </xsl:template>
4905
4979
 
4980
+ <xsl:template name="setNoBordersForTableList">
4981
+ <xsl:if test="ancestor::mn:fmt-ol or ancestor::mn:fmt-ul">
4982
+ <xsl:attribute name="border">none</xsl:attribute>
4983
+ <xsl:attribute name="border-top">none</xsl:attribute>
4984
+ <xsl:attribute name="border-bottom">none</xsl:attribute>
4985
+ <xsl:attribute name="border-left">none</xsl:attribute>
4986
+ <xsl:attribute name="border-right">none</xsl:attribute>
4987
+ </xsl:if>
4988
+ </xsl:template>
4989
+
4906
4990
  <!-- ========================== -->
4907
4991
  <!-- END Table styles -->
4908
4992
  <!-- ========================== -->
@@ -10461,6 +10545,10 @@
10461
10545
  </fo:list-item>
10462
10546
  </xsl:template>
10463
10547
 
10548
+ <xsl:template match="mn:fmt-ol | mn:fmt-ul">
10549
+ <xsl:apply-templates/>
10550
+ </xsl:template>
10551
+
10464
10552
  <!-- ===================================== -->
10465
10553
  <!-- END Lists processing -->
10466
10554
  <!-- ===================================== -->
@@ -11756,6 +11844,7 @@
11756
11844
  </xsl:attribute-set>
11757
11845
 
11758
11846
  <xsl:template name="refine_toc-style">
11847
+ <xsl:copy-of select="@id"/>
11759
11848
  </xsl:template>
11760
11849
 
11761
11850
  <xsl:attribute-set name="toc-title-style">
@@ -11834,13 +11923,13 @@
11834
11923
 
11835
11924
  <xsl:template name="processPrefaceSectionsDefault_Contents">
11836
11925
  <xsl:variable name="nodes_preface_">
11837
- <xsl:for-each select="/*/mn:preface/*[not(self::mn:note or self::mn:admonition or @type = 'toc')]">
11926
+ <xsl:for-each select="/*/mn:preface/*[not(self::mn:note or self::mn:admonition)]"> <!-- or @type = 'toc' -->
11838
11927
  <node id="{@id}"/>
11839
11928
  </xsl:for-each>
11840
11929
  </xsl:variable>
11841
11930
  <xsl:variable name="nodes_preface" select="xalan:nodeset($nodes_preface_)"/>
11842
11931
 
11843
- <xsl:for-each select="/*/mn:preface/*[not(self::mn:note or self::mn:admonition or @type = 'toc')]">
11932
+ <xsl:for-each select="/*/mn:preface/*[not(self::mn:note or self::mn:admonition)]"> <!-- or @type = 'toc' -->
11844
11933
  <xsl:sort select="@displayorder" data-type="number"/>
11845
11934
 
11846
11935
  <!-- process Section's title -->
@@ -11853,6 +11942,23 @@
11853
11942
  </xsl:for-each>
11854
11943
  </xsl:template>
11855
11944
 
11945
+ <xsl:template match="*[@type = 'toc'][mn:title or mn:fmt-title]" mode="contents" priority="2">
11946
+ <xsl:variable name="title">
11947
+ <xsl:call-template name="getName"/>
11948
+ </xsl:variable>
11949
+ <xsl:variable name="root">
11950
+ <xsl:if test="ancestor-or-self::mn:preface">preface</xsl:if>
11951
+ <xsl:if test="ancestor-or-self::mn:annex">annex</xsl:if>
11952
+ </xsl:variable>
11953
+ <mnx:item id="{@id}" level="1" section="" type="toc" root="{$root}" display="false">
11954
+ <mnx:title>
11955
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item">
11956
+ <xsl:with-param name="element" select="$root"/>
11957
+ </xsl:apply-templates>
11958
+ </mnx:title>
11959
+ </mnx:item>
11960
+ </xsl:template>
11961
+
11856
11962
  <xsl:template name="processMainSectionsDefault_Contents">
11857
11963
 
11858
11964
  <xsl:variable name="nodes_sections_">
@@ -13631,16 +13737,17 @@
13631
13737
  <!-- insert fo:basic-link, if external-destination or internal-destination is non-empty, otherwise insert fo:inline -->
13632
13738
  <xsl:template name="insert_basic_link">
13633
13739
  <xsl:param name="element"/>
13740
+ <xsl:param name="wrapper">true</xsl:param>
13634
13741
  <xsl:variable name="element_node" select="xalan:nodeset($element)"/>
13635
13742
  <xsl:variable name="external-destination" select="normalize-space(count($element_node/fo:basic-link/@external-destination[. != '']) = 1)"/>
13636
13743
  <xsl:variable name="internal-destination" select="normalize-space(count($element_node/fo:basic-link/@internal-destination[. != '']) = 1)"/>
13637
13744
  <xsl:choose>
13638
- <xsl:when test="$internal-destination = 'true'">
13745
+ <xsl:when test="$internal-destination = 'true' and $wrapper = 'true'">
13639
13746
  <fo:wrapper role="Reference">
13640
13747
  <xsl:copy-of select="$element_node"/>
13641
13748
  </fo:wrapper>
13642
13749
  </xsl:when>
13643
- <xsl:when test="$external-destination = 'true'">
13750
+ <xsl:when test="$internal-destination = 'true' or $external-destination = 'true'">
13644
13751
  <xsl:copy-of select="$element_node"/>
13645
13752
  </xsl:when>
13646
13753
  <xsl:otherwise>
@@ -312,6 +312,11 @@ svg {
312
312
  display: block; /* ← removes unwanted inline spacing */
313
313
  }
314
314
 
315
+ /* style dfn by override in flavor */
316
+ dfn {
317
+ font-style: inherit;
318
+ }
319
+
315
320
  #standard-band {
316
321
  background-color: #0AC442;
317
322
  }
@@ -312,6 +312,11 @@ svg {
312
312
  display: block; /* ← removes unwanted inline spacing */
313
313
  }
314
314
 
315
+ /* style dfn by override in flavor */
316
+ dfn {
317
+ font-style: inherit;
318
+ }
319
+
315
320
  #standard-band {
316
321
  background-color: #0AC442;
317
322
  }
@@ -1939,10 +1939,10 @@ Detailed in https://www.relaton.org/model/relations/</a:documentation>
1939
1939
  <value>hasAnnotation</value>
1940
1940
  <value>draftOf</value>
1941
1941
  <value>hasDraft</value>
1942
- <value>preliminaryDraftOf</value>
1943
- <value>hasPreliminaryDraft</value>
1944
- <value>revisionDraftOf</value>
1945
- <value>hasRevisionDraft</value>
1942
+ <value>predecessorDraftOf</value>
1943
+ <value>hasPredecessorDraft</value>
1944
+ <value>successorDraftOf</value>
1945
+ <value>hasSuccessorDraft</value>
1946
1946
  <value>editionOf</value>
1947
1947
  <value>hasEdition</value>
1948
1948
  <value>updates</value>
@@ -641,8 +641,85 @@ This is done if the footnote reference is already presented in some other form,
641
641
  </ref>
642
642
  </zeroOrMore>
643
643
  </define>
644
+ <define name="altsource">
645
+ <a:documentation>Alternative file to use as media</a:documentation>
646
+ <element name="altsource">
647
+ <ref name="MediaAttributes"/>
648
+ <optional>
649
+ <attribute name="tag">
650
+ <a:documentation>Comma-delimited tag to indicate when the alternate file is to be used,
651
+ at minimum allows contain `html`, `doc`, `pdf` as the main target formats of Metanorma,
652
+ and `default` for the fallback. The presence of an altsource tagged `default` is required</a:documentation>
653
+ </attribute>
654
+ </optional>
655
+ <optional>
656
+ <attribute name="media">
657
+ <a:documentation>CSS media query to indicate when the alternate file is to be used</a:documentation>
658
+ </attribute>
659
+ </optional>
660
+ </element>
661
+ </define>
662
+ <define name="image">
663
+ <a:documentation>Container for image content</a:documentation>
664
+ <choice>
665
+ <element name="image">
666
+ <ref name="RequiredId"/>
667
+ <ref name="ImageAttributes">
668
+ <a:documentation>When specified along with altsource, ImageAttributes give the default image to be rendered</a:documentation>
669
+ </ref>
670
+ <ref name="ImageBody"/>
671
+ </element>
672
+ <element name="svg">
673
+ <a:documentation>Add svg mark up to image</a:documentation>
674
+ <oneOrMore>
675
+ <choice>
676
+ <text/>
677
+ <ref name="AnyElement"/>
678
+ </choice>
679
+ </oneOrMore>
680
+ </element>
681
+ </choice>
682
+ </define>
683
+ <define name="ImageAttributes">
684
+ <optional>
685
+ <ref name="MediaAttributes">
686
+ <a:documentation>If the image contains altsource, the media attributes are given on each of the altsource elements instead of the root node</a:documentation>
687
+ </ref>
688
+ </optional>
689
+ <ref name="MediaAccessibilityAttributes"/>
690
+ <optional>
691
+ <attribute name="width">
692
+ <a:documentation>Height of image</a:documentation>
693
+ <ref name="ImageSize"/>
694
+ </attribute>
695
+ </optional>
696
+ <optional>
697
+ <attribute name="height">
698
+ <a:documentation>Width of image</a:documentation>
699
+ <ref name="ImageSize"/>
700
+ </attribute>
701
+ </optional>
702
+ </define>
644
703
  </include>
645
704
  <!-- end overrides -->
705
+ <define name="ImageBody">
706
+ <optional>
707
+ <element name="svg">
708
+ <a:documentation>image can contain SVG XML, which is used to access its identifiers within the Metanorma XML</a:documentation>
709
+ <oneOrMore>
710
+ <choice>
711
+ <text/>
712
+ <ref name="AnyElement"/>
713
+ </choice>
714
+ </oneOrMore>
715
+ </element>
716
+ </optional>
717
+ <zeroOrMore>
718
+ <ref name="altsource">
719
+ <a:documentation>Alternative files to use as media</a:documentation>
720
+ </ref>
721
+ </zeroOrMore>
722
+ </define>
646
723
  <define name="key">
647
724
  <a:documentation>Key to a table, figure, or formula</a:documentation>
648
725
  <element name="key">
@@ -930,34 +1007,6 @@ titlecase, or lowercase</a:documentation>
930
1007
  <ref name="ReducedBibliographicItem"/>
931
1008
  </element>
932
1009
  </define>
933
- <define name="image" combine="choice">
934
- <choice>
935
- <element name="image">
936
- <ref name="RequiredId"/>
937
- <ref name="ImageAttributes"/>
938
- <optional>
939
- <element name="svg">
940
- <a:documentation>Allow svg in image/svg, for consistency</a:documentation>
941
- <oneOrMore>
942
- <choice>
943
- <text/>
944
- <ref name="AnyElement"/>
945
- </choice>
946
- </oneOrMore>
947
- </element>
948
- </optional>
949
- </element>
950
- <element name="svg">
951
- <a:documentation>Add svg mark up to image</a:documentation>
952
- <oneOrMore>
953
- <choice>
954
- <text/>
955
- <ref name="AnyElement"/>
956
- </choice>
957
- </oneOrMore>
958
- </element>
959
- </choice>
960
- </define>
961
1010
  <define name="ParagraphFnBody" combine="interleave">
962
1011
  <ref name="BlockSource">
963
1012
  <a:documentation>Bibliographic source for the information in the paragraph
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Cc
3
- VERSION = "2.8.1".freeze
3
+ VERSION = "2.8.3".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-cc
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 2.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-03-02 00:00:00.000000000 Z
11
+ date: 2026-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic