metanorma-csa 2.6.3 → 2.6.4

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: 3051d51663fc4eb056871c78a05eb2a8621b850a4c9fd019a63cd9ec547d168b
4
- data.tar.gz: 125b3e6d9384c7ca74322a1674d88c0a06c528d1e9aabfdcc6ea7ca28a7e550a
3
+ metadata.gz: fd5253fb89081c2316ce9685f351cb4719ba8a30903a0f90360c91dfa916fed7
4
+ data.tar.gz: 21b893ff743af8aed468e5e4eabced3129b92e26601d2cdcf8a2b1ad51db95e8
5
5
  SHA512:
6
- metadata.gz: e1f5a05f969be74e5c999b0a980b58f6146c8812096b1830e89f8b0f2f5874ad7101d36ff6d25d3a4bf0630c5c6b61e55b3482fb7c4885fe47db088fe8926e49
7
- data.tar.gz: 625d249c63edd9aa185a243496f5b1a080eabfa77291b55d633a84d926a3ab5d028aa29ff4d18ced7304e18670ba4b915a1b298df2da567745d373d40bd2b446
6
+ metadata.gz: a398761d4d0a484ab7aa4101673ab8c0d9bb5915ea933e38426a1245cc07af98682bdb7952f18df9b9701c20174bf91fa017775f12123e1252b8a6575891a078
7
+ data.tar.gz: 01737bce6be6211c538dc12eb87279d7d23504c1cf7c47c6c3bf1fc43a8c45b7f74a1a7026e3127e9d16920d299402ecef995debe4ea125d1b58282aa0819418
@@ -1331,12 +1331,16 @@
1331
1331
  </xsl:template> <!-- refine_table-style -->
1332
1332
 
1333
1333
  <xsl:attribute-set name="table-name-style">
1334
+ <xsl:attribute name="role">Caption</xsl:attribute>
1334
1335
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1335
1336
 
1336
1337
  </xsl:attribute-set> <!-- table-name-style -->
1337
1338
 
1338
1339
  <xsl:template name="refine_table-name-style">
1339
1340
  <xsl:param name="continued"/>
1341
+ <xsl:if test="$continued = 'true'">
1342
+ <xsl:attribute name="role">SKIP</xsl:attribute>
1343
+ </xsl:if>
1340
1344
 
1341
1345
  </xsl:template> <!-- refine_table-name-style -->
1342
1346
 
@@ -3087,7 +3091,7 @@
3087
3091
  </xsl:if>
3088
3092
 
3089
3093
  </fo:block-container>
3090
- </xsl:variable>
3094
+ </xsl:variable> <!-- END: variable name="table" -->
3091
3095
 
3092
3096
  <xsl:variable name="isAdded" select="@added"/>
3093
3097
  <xsl:variable name="isDeleted" select="@deleted"/>
@@ -3097,14 +3101,14 @@
3097
3101
 
3098
3102
  <!-- centered table when table name is centered (see table-name-style) -->
3099
3103
 
3100
- <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
3104
+ <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style" role="SKIP">
3101
3105
 
3102
3106
  <fo:table-column column-width="proportional-column-width(1)"/>
3103
3107
  <fo:table-column column-width="{@width}"/>
3104
3108
  <fo:table-column column-width="proportional-column-width(1)"/>
3105
- <fo:table-body>
3106
- <fo:table-row>
3107
- <fo:table-cell column-number="2">
3109
+ <fo:table-body role="SKIP">
3110
+ <fo:table-row role="SKIP">
3111
+ <fo:table-cell column-number="2" role="SKIP">
3108
3112
  <xsl:copy-of select="$table-preamble"/>
3109
3113
  <fo:block role="SKIP">
3110
3114
  <xsl:call-template name="setTrackChangesStyles">
@@ -3145,11 +3149,12 @@
3145
3149
 
3146
3150
  </xsl:template>
3147
3151
 
3152
+ <!-- table/name-->
3148
3153
  <xsl:template match="*[local-name()='table']/*[local-name() = 'name']">
3149
3154
  <xsl:param name="continued"/>
3150
3155
  <xsl:if test="normalize-space() != ''">
3151
3156
 
3152
- <fo:block xsl:use-attribute-sets="table-name-style" role="SKIP">
3157
+ <fo:block xsl:use-attribute-sets="table-name-style">
3153
3158
 
3154
3159
  <xsl:call-template name="refine_table-name-style">
3155
3160
  <xsl:with-param name="continued" select="$continued"/>
@@ -3626,7 +3631,7 @@
3626
3631
 
3627
3632
  <xsl:variable name="tableWithNotesAndFootnotes">
3628
3633
 
3629
- <fo:table keep-with-previous="always">
3634
+ <fo:table keep-with-previous="always" role="SKIP">
3630
3635
  <xsl:for-each select="xalan:nodeset($table_attributes)/table_attributes/@*">
3631
3636
  <xsl:variable name="name" select="local-name()"/>
3632
3637
  <xsl:choose>
@@ -3657,9 +3662,9 @@
3657
3662
  </xsl:otherwise>
3658
3663
  </xsl:choose>
3659
3664
 
3660
- <fo:table-body>
3661
- <fo:table-row>
3662
- <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
3665
+ <fo:table-body role="SKIP">
3666
+ <fo:table-row role="SKIP">
3667
+ <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}" role="SKIP">
3663
3668
 
3664
3669
  <xsl:call-template name="refine_table-footer-cell-style"/>
3665
3670
 
@@ -4056,6 +4061,7 @@
4056
4061
  <!-- footnotes in text (title, bibliography, main body), not for tables, figures and names --> <!-- table's, figure's names -->
4057
4062
  <!-- fn in text -->
4058
4063
  <xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))]" priority="2" name="fn">
4064
+ <xsl:param name="footnote_body_from_table">false</xsl:param>
4059
4065
 
4060
4066
  <!-- list of unique footnotes -->
4061
4067
  <xsl:variable name="p_fn_">
@@ -4121,7 +4127,7 @@
4121
4127
  <xsl:copy-of select="$footnote_inline"/>
4122
4128
  </xsl:when>
4123
4129
  <!-- <xsl:when test="$footnotes//*[local-name() = 'fmt-fn-body'][@id = $ref_id] or normalize-space(@skip_footnote_body) = 'false'"> -->
4124
- <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false'">
4130
+ <xsl:when test="$p_fn//fn[@gen_id = $gen_id] or normalize-space(@skip_footnote_body) = 'false' or $footnote_body_from_table = 'true'">
4125
4131
 
4126
4132
  <fo:footnote xsl:use-attribute-sets="fn-style" role="SKIP">
4127
4133
  <xsl:copy-of select="$footnote_inline"/>
@@ -4530,39 +4536,51 @@
4530
4536
  <!-- fn reference in the table rendering (for instance, 'some text 1) some text' ) -->
4531
4537
  <!-- fn --> <!-- in table --> <!-- for figure see <xsl:template match="*[local-name() = 'figure']/*[local-name() = 'fn']" priority="2"/> -->
4532
4538
  <xsl:template match="*[local-name()='fn']">
4533
- <fo:inline xsl:use-attribute-sets="fn-reference-style">
4534
-
4535
- <xsl:call-template name="refine_fn-reference-style"/>
4539
+ <xsl:variable name="target" select="@target"/>
4540
+ <xsl:choose>
4541
+ <!-- case for footnotes in Requirement tables (https://github.com/metanorma/metanorma-ogc/issues/791) -->
4542
+ <xsl:when test="not(ancestor::*[local-name() = 'table'][1]/*[local-name() = 'fmt-footnote-container']/*[local-name() = 'fmt-fn-body'][@id = $target]) and $footnotes/*[local-name() = 'fmt-fn-body'][@id = $target]">
4543
+ <xsl:call-template name="fn">
4544
+ <xsl:with-param name="footnote_body_from_table">true</xsl:with-param>
4545
+ </xsl:call-template>
4546
+ </xsl:when>
4547
+ <xsl:otherwise>
4536
4548
 
4537
- <!-- <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> --> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
4538
- <fo:basic-link internal-destination="{@target}" fox:alt-text="footnote {@reference}">
4539
- <!-- <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> --> <!-- for footnotes in tables -->
4540
- <!-- <xsl:attribute name="internal-destination">
4541
- <xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
4542
- </xsl:attribute>
4543
- </xsl:if>
4544
- <xsl:if test="$namespace = 'ogc' or $namespace = 'ogc-white-paper'">
4545
- <xsl:attribute name="internal-destination">
4546
- <xsl:value-of select="@reference"/><xsl:text>_</xsl:text>
4547
- <xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
4548
- </xsl:attribute>
4549
- </xsl:if> -->
4550
- <!-- <xsl:if test="$namespace = 'plateau'">
4551
- <xsl:text>※</xsl:text>
4552
- </xsl:if> -->
4553
- <!-- <xsl:value-of select="@reference"/> -->
4549
+ <fo:inline xsl:use-attribute-sets="fn-reference-style">
4554
4550
 
4555
- <xsl:value-of select="normalize-space(*[local-name() = 'fmt-fn-label'])"/>
4551
+ <xsl:call-template name="refine_fn-reference-style"/>
4556
4552
 
4557
- <!-- <xsl:if test="$namespace = 'bsi'">
4558
- <xsl:text>)</xsl:text>
4559
- </xsl:if> -->
4560
- <!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
4561
- <!-- <xsl:if test="$namespace = 'jis'">
4562
- <fo:inline font-weight="normal">)</fo:inline>
4563
- </xsl:if> -->
4564
- </fo:basic-link>
4565
- </fo:inline>
4553
+ <!-- <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="footnote {@reference}"> --> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
4554
+ <fo:basic-link internal-destination="{@target}" fox:alt-text="footnote {@reference}">
4555
+ <!-- <xsl:if test="ancestor::*[local-name()='table'][1]/@id"> --> <!-- for footnotes in tables -->
4556
+ <!-- <xsl:attribute name="internal-destination">
4557
+ <xsl:value-of select="concat(@reference, '_', ancestor::*[local-name()='table'][1]/@id)"/>
4558
+ </xsl:attribute>
4559
+ </xsl:if>
4560
+ <xsl:if test="$namespace = 'ogc' or $namespace = 'ogc-white-paper'">
4561
+ <xsl:attribute name="internal-destination">
4562
+ <xsl:value-of select="@reference"/><xsl:text>_</xsl:text>
4563
+ <xsl:value-of select="ancestor::*[local-name()='table'][1]/@id"/>
4564
+ </xsl:attribute>
4565
+ </xsl:if> -->
4566
+ <!-- <xsl:if test="$namespace = 'plateau'">
4567
+ <xsl:text>※</xsl:text>
4568
+ </xsl:if> -->
4569
+ <!-- <xsl:value-of select="@reference"/> -->
4570
+
4571
+ <xsl:value-of select="normalize-space(*[local-name() = 'fmt-fn-label'])"/>
4572
+
4573
+ <!-- <xsl:if test="$namespace = 'bsi'">
4574
+ <xsl:text>)</xsl:text>
4575
+ </xsl:if> -->
4576
+ <!-- commented, https://github.com/metanorma/isodoc/issues/614 -->
4577
+ <!-- <xsl:if test="$namespace = 'jis'">
4578
+ <fo:inline font-weight="normal">)</fo:inline>
4579
+ </xsl:if> -->
4580
+ </fo:basic-link>
4581
+ </fo:inline>
4582
+ </xsl:otherwise>
4583
+ </xsl:choose>
4566
4584
  </xsl:template> <!-- fn -->
4567
4585
 
4568
4586
  <!-- fn/text() -->
@@ -8562,6 +8580,13 @@
8562
8580
  <xsl:apply-templates select="."/>
8563
8581
  </xsl:template>
8564
8582
 
8583
+ <!-- prevent missing stem for table and figures in ToC -->
8584
+ <xsl:template match="*[local-name() = 'name' or local-name() = 'fmt-name']//*[local-name() = 'stem']" mode="contents">
8585
+ <xsl:if test="not(following-sibling::*[1][local-name() = 'fmt-stem'])">
8586
+ <xsl:apply-templates select="."/>
8587
+ </xsl:if>
8588
+ </xsl:template>
8589
+
8565
8590
  <xsl:template match="*[local-name() = 'references'][@hidden='true']" mode="contents" priority="3"/>
8566
8591
 
8567
8592
  <xsl:template match="*[local-name() = 'references']/*[local-name() = 'bibitem']" mode="contents"/>
@@ -8785,7 +8810,8 @@
8785
8810
 
8786
8811
  <xsl:for-each select="$contents_nodes//tables/table">
8787
8812
  <fo:bookmark internal-destination="{@id}">
8788
- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title>
8813
+ <!-- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title> -->
8814
+ <fo:bookmark-title><xsl:apply-templates mode="bookmark_clean"/></fo:bookmark-title>
8789
8815
  </fo:bookmark>
8790
8816
  </xsl:for-each>
8791
8817
  </fo:bookmark>
@@ -8794,6 +8820,26 @@
8794
8820
  </xsl:template> <!-- insertTableBookmarks -->
8795
8821
  <!-- End Bookmarks -->
8796
8822
 
8823
+ <!-- ============================ -->
8824
+ <!-- mode="bookmark_clean" -->
8825
+ <!-- ============================ -->
8826
+ <xsl:template match="node()" mode="bookmark_clean">
8827
+ <xsl:apply-templates select="node()" mode="bookmark_clean"/>
8828
+ </xsl:template>
8829
+
8830
+ <xsl:template match="text()" mode="bookmark_clean">
8831
+ <xsl:value-of select="."/>
8832
+ </xsl:template>
8833
+
8834
+ <xsl:template match="*[local-name() = 'math']" mode="bookmark_clean">
8835
+ <xsl:value-of select="normalize-space(.)"/>
8836
+ </xsl:template>
8837
+
8838
+ <xsl:template match="*[local-name() = 'asciimath']" mode="bookmark_clean"/>
8839
+ <!-- ============================ -->
8840
+ <!-- END: mode="bookmark_clean" -->
8841
+ <!-- ============================ -->
8842
+
8797
8843
  <xsl:template name="getLangVersion">
8798
8844
  <xsl:param name="lang"/>
8799
8845
  <xsl:param name="doctype" select="''"/>
@@ -10802,9 +10848,15 @@
10802
10848
  <xsl:when test="local-name(..) = 'ul'">
10803
10849
  <xsl:choose>
10804
10850
  <xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
10851
+ <!-- https://github.com/metanorma/isodoc/issues/675 -->
10852
+ <xsl:when test="@label"><xsl:value-of select="@label"/></xsl:when>
10805
10853
  <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
10806
10854
  </xsl:choose>
10807
10855
  </xsl:when>
10856
+ <!-- https://github.com/metanorma/isodoc/issues/675 -->
10857
+ <xsl:when test="local-name(..) = 'ol' and @label and @full = 'true'"> <!-- @full added in the template li/fmt-name -->
10858
+ <xsl:value-of select="@label"/>
10859
+ </xsl:when>
10808
10860
  <xsl:when test="local-name(..) = 'ol' and @label"> <!-- for ordered lists 'ol', and if there is @label, for instance label="1.1.2" -->
10809
10861
 
10810
10862
  <xsl:variable name="type" select="../@type"/>
@@ -10929,7 +10981,7 @@
10929
10981
 
10930
10982
  </xsl:otherwise>
10931
10983
  </xsl:choose>
10932
- </xsl:template>
10984
+ </xsl:template> <!-- getListItemFormat -->
10933
10985
 
10934
10986
  <xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
10935
10987
  <xsl:param name="indent">0</xsl:param>
@@ -11061,6 +11113,11 @@
11061
11113
 
11062
11114
  <xsl:call-template name="refine_list-item-label-style"/>
11063
11115
 
11116
+ <xsl:if test="local-name(..) = 'ul'">
11117
+ <xsl:variable name="li_label" select="@label"/>
11118
+ <xsl:copy-of select="$ul_labels//label[. = $li_label]/@*[not(local-name() = 'level')]"/>
11119
+ </xsl:if>
11120
+
11064
11121
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
11065
11122
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
11066
11123
  <xsl:call-template name="append_add-style"/>
@@ -12436,6 +12493,16 @@
12436
12493
  </xsl:choose>
12437
12494
  </xsl:template>
12438
12495
 
12496
+ <!-- li/fmt-name -->
12497
+ <xsl:template match="*[local-name() = 'li']/*[local-name() = 'fmt-name']" priority="2" mode="update_xml_step1">
12498
+ <xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
12499
+ <xsl:attribute name="full">true</xsl:attribute>
12500
+ </xsl:template>
12501
+ <xsl:template match="*[local-name() = 'li']/*[local-name() = 'fmt-name']" priority="2" mode="update_xml_pres">
12502
+ <xsl:attribute name="label"><xsl:value-of select="."/></xsl:attribute>
12503
+ <xsl:attribute name="full">true</xsl:attribute>
12504
+ </xsl:template>
12505
+
12439
12506
  <xsl:template match="*[local-name() = 'fmt-preferred']"/>
12440
12507
  <xsl:template match="*[local-name() = 'fmt-preferred'][*[local-name() = 'p']]" mode="update_xml_step1">
12441
12508
  <xsl:apply-templates mode="update_xml_step1"/>
@@ -13250,6 +13317,64 @@
13250
13317
  <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
13251
13318
  </xsl:template>
13252
13319
 
13320
+ <!-- ===================================== -->
13321
+ <!-- ===================================== -->
13322
+ <!-- Ruby text (CJK languages) rendering -->
13323
+ <!-- ===================================== -->
13324
+ <!-- ===================================== -->
13325
+ <xsl:template match="*[local-name() = 'ruby']">
13326
+ <fo:inline-container text-indent="0mm" last-line-end-indent="0mm">
13327
+ <xsl:if test="not(ancestor::*[local-name() = 'ruby'])">
13328
+ <xsl:attribute name="alignment-baseline">central</xsl:attribute>
13329
+ </xsl:if>
13330
+ <xsl:variable name="rt_text" select="*[local-name() = 'rt']"/>
13331
+ <xsl:variable name="rb_text" select=".//*[local-name() = 'rb'][not(*[local-name() = 'ruby'])]"/>
13332
+ <!-- Example: width="2em" -->
13333
+ <xsl:variable name="text_rt_width" select="java:org.metanorma.fop.Util.getStringWidthByFontSize($rt_text, $font_main, 6)"/>
13334
+ <xsl:variable name="text_rb_width" select="java:org.metanorma.fop.Util.getStringWidthByFontSize($rb_text, $font_main, 10)"/>
13335
+ <xsl:variable name="text_width">
13336
+ <xsl:choose>
13337
+ <xsl:when test="$text_rt_width &gt;= $text_rb_width"><xsl:value-of select="$text_rt_width"/></xsl:when>
13338
+ <xsl:otherwise><xsl:value-of select="$text_rb_width"/></xsl:otherwise>
13339
+ </xsl:choose>
13340
+ </xsl:variable>
13341
+ <xsl:attribute name="width"><xsl:value-of select="$text_width div 10"/>em</xsl:attribute>
13342
+
13343
+ <xsl:choose>
13344
+ <xsl:when test="ancestor::*[local-name() = 'ruby']">
13345
+ <xsl:apply-templates select="*[local-name() = 'rb']"/>
13346
+ <xsl:apply-templates select="*[local-name() = 'rt']"/>
13347
+ </xsl:when>
13348
+ <xsl:otherwise>
13349
+ <xsl:apply-templates select="*[local-name() = 'rt']"/>
13350
+ <xsl:apply-templates select="*[local-name() = 'rb']"/>
13351
+ </xsl:otherwise>
13352
+ </xsl:choose>
13353
+
13354
+ <xsl:apply-templates select="node()[not(local-name() = 'rt') and not(local-name() = 'rb')]"/>
13355
+ </fo:inline-container>
13356
+ </xsl:template>
13357
+
13358
+ <xsl:template match="*[local-name() = 'rb']">
13359
+ <fo:block line-height="1em" text-align="center"><xsl:apply-templates/></fo:block>
13360
+ </xsl:template>
13361
+
13362
+ <xsl:template match="*[local-name() = 'rt']">
13363
+ <fo:block font-size="0.5em" text-align="center" line-height="1.2em" space-before="-1.4em" space-before.conditionality="retain"> <!-- -->
13364
+ <xsl:if test="ancestor::*[local-name() = 'ruby'][last()]//*[local-name() = 'ruby'] or ancestor::*[local-name() = 'rb']">
13365
+ <xsl:attribute name="space-before">0em</xsl:attribute>
13366
+ </xsl:if>
13367
+ <xsl:apply-templates/>
13368
+ </fo:block>
13369
+
13370
+ </xsl:template>
13371
+
13372
+ <!-- ===================================== -->
13373
+ <!-- ===================================== -->
13374
+ <!-- END: Ruby text (CJK languages) rendering -->
13375
+ <!-- ===================================== -->
13376
+ <!-- ===================================== -->
13377
+
13253
13378
  <xsl:template name="printEdition">
13254
13379
  <xsl:variable name="edition_i18n" select="normalize-space((//*[local-name() = 'metanorma'])[1]/*[local-name() = 'bibdata']/*[local-name() = 'edition'][normalize-space(@language) != ''])"/>
13255
13380
 
@@ -11,6 +11,17 @@ module IsoDoc
11
11
 
12
12
  def middle_title(docxml); end
13
13
 
14
+ def ul_label_list(_elem)
15
+ %w(&#x2022; &#x2d; &#x6f;)
16
+ end
17
+
18
+ def ol_label_template(_elem)
19
+ super
20
+ .merge({
21
+ alphabet_upper: %{%<span class="fmt-label-delim">)</span>},
22
+ })
23
+ end
24
+
14
25
  include Init
15
26
  end
16
27
  end
@@ -1701,16 +1701,22 @@ which can be bookmarks as well as block or section references</a:documentation>
1701
1701
  <a:documentation>Inline reference to a paragraph or paragraphs, appearing as a footnote.
1702
1702
  The target of a footnote is the location it is embedded in within the text</a:documentation>
1703
1703
  <element name="fn">
1704
- <attribute name="reference">
1705
- <a:documentation>The number of the footnote, used to identify it visually</a:documentation>
1706
- </attribute>
1707
- <oneOrMore>
1708
- <ref name="paragraph">
1709
- <a:documentation>The content of the footnote</a:documentation>
1710
- </ref>
1711
- </oneOrMore>
1704
+ <ref name="FnAttributes"/>
1705
+ <ref name="FnBody"/>
1712
1706
  </element>
1713
1707
  </define>
1708
+ <define name="FnBody">
1709
+ <oneOrMore>
1710
+ <ref name="paragraph">
1711
+ <a:documentation>The content of the footnote</a:documentation>
1712
+ </ref>
1713
+ </oneOrMore>
1714
+ </define>
1715
+ <define name="FnAttributes">
1716
+ <attribute name="reference">
1717
+ <a:documentation>The number of the footnote, used to identify it visually</a:documentation>
1718
+ </attribute>
1719
+ </define>
1714
1720
  <define name="callout">
1715
1721
  <a:documentation>Inline reference to a paragraph or paragraphs, appearing as annotation of source code</a:documentation>
1716
1722
  <element name="callout">
@@ -1,13 +1,14 @@
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">
3
- <!--
4
- Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
5
- of relaton
6
-
7
- Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
8
- (SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
9
- -->
10
3
  <include href="biblio.rng">
4
+ <!-- ALERT: we cannot have comments on root element, as they intervene with https://github.com/metanorma/metanorma/issues/437 fix -->
5
+ <!--
6
+ Add-ons to biblio.rnc for standoc model: defines the extension point BibDataExtensionType
7
+ of relaton
8
+
9
+ Specialisations as for biblio.rnc. Extension point can be redefined completely for a flavour of standoc
10
+ (SDO); but other elements in Bibdata can only be extended (more specialised vocabularies for Bibdata)
11
+ -->
11
12
  <define name="BibData">
12
13
  <a:documentation>The bibliographic description of a standardisation document</a:documentation>
13
14
  <ref name="StandardBibliographicItem"/>
@@ -91,6 +92,9 @@ a standards definition organization</a:documentation>
91
92
  <a:documentation>Representation of the identifier for the standardisation document, giving its individual semantic components</a:documentation>
92
93
  </ref>
93
94
  </zeroOrMore>
95
+ <ref name="DocumentImages">
96
+ <a:documentation>Coverpage and other images to be rendered with document</a:documentation>
97
+ </ref>
94
98
  </define>
95
99
  <define name="doctype">
96
100
  <a:documentation>Classification of the standardisation document</a:documentation>
@@ -268,6 +272,32 @@ and not those document components</a:documentation>
268
272
  </optional>
269
273
  </element>
270
274
  </define>
275
+ <define name="DocumentImages">
276
+ <zeroOrMore>
277
+ <element name="coverpage-image">
278
+ <a:documentation>Images to be displayed on the coverpage of the document</a:documentation>
279
+ <ref name="image-no-id"/>
280
+ </element>
281
+ </zeroOrMore>
282
+ <zeroOrMore>
283
+ <element name="innercoverpage-image">
284
+ <a:documentation>Images to be displayed on the inner coverpage of the document</a:documentation>
285
+ <ref name="image-no-id"/>
286
+ </element>
287
+ </zeroOrMore>
288
+ <zeroOrMore>
289
+ <element name="tocside-image">
290
+ <a:documentation>Images to be displayed on the Table of Contents page of the document</a:documentation>
291
+ <ref name="image-no-id"/>
292
+ </element>
293
+ </zeroOrMore>
294
+ <zeroOrMore>
295
+ <element name="backpage-image">
296
+ <a:documentation>Images to be displayed on the backpage of the document</a:documentation>
297
+ <ref name="image-no-id"/>
298
+ </element>
299
+ </zeroOrMore>
300
+ </define>
271
301
  <define name="StandardBibliographicItem">
272
302
  <ref name="BibliographicItem"/>
273
303
  <zeroOrMore>
@@ -1,23 +1,25 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- instantiations of this grammar may replace leaf strings
4
- with more elaborated types; e.g. title (text) replaced with
5
- title-main, title-intro, title-part; type replaced with
6
- enum.
7
-
8
- some renaming at leaf nodes is permissible
9
-
10
- obligations can change both from optional to mandatory,
11
- and from mandatory to optional; optional elements may
12
- be omitted; freely positioned alternatives may be replaced
13
- with strict ordering
14
-
15
- DO NOT introduce a namespace here. We do not want a distinct namespace
16
- for these elements, and a distinct namespace for any grammar inheriting
17
- these elements; we just want one namespace for any child grammars
18
- of this.
19
- -->
20
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
+ <!--
4
+ ALERT: we cannot have comments on root element, as they intervene with https://github.com/metanorma/metanorma/issues/437 fix
5
+
6
+ Instantiations of this grammar may replace leaf strings
7
+ with more elaborated types; e.g. title (text) replaced with
8
+ title-main, title-intro, title-part; type replaced with
9
+ enum.
10
+
11
+ Some renaming at leaf nodes is permissible
12
+
13
+ Obligations can change both from optional to mandatory,
14
+ and from mandatory to optional; optional elements may
15
+ be omitted; freely positioned alternatives may be replaced
16
+ with strict ordering
17
+
18
+ DO NOT introduce a namespace here. We do not want a distinct namespace
19
+ for these elements, and a distinct namespace for any grammar inheriting
20
+ these elements; we just want one namespace for any child grammars
21
+ of this.
22
+ -->
21
23
  <!--
22
24
  https://www.myintervals.com/blog/2009/05/20/iso-8601-date-validation-that-doesnt-suck/
23
25
  iso8601date = xsd:string { pattern = "([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?" }
@@ -1241,6 +1243,11 @@ Refer to `BibliographicItem` for definitions</a:documentation>
1241
1243
  </define>
1242
1244
  <define name="formattedref">
1243
1245
  <element name="formattedref">
1246
+ <optional>
1247
+ <attribute name="format">
1248
+ <a:documentation>format of formatted reference; Metanorma assumes references are formatted as Metanorma XML</a:documentation>
1249
+ </attribute>
1250
+ </optional>
1244
1251
  <oneOrMore>
1245
1252
  <ref name="TextElement"/>
1246
1253
  </oneOrMore>
@@ -1812,6 +1819,11 @@ May be used to differentiate rendering of notes in bibliographies</a:documentati
1812
1819
  <a:documentation>Abstract of bibliographic item</a:documentation>
1813
1820
  <element name="abstract">
1814
1821
  <ref name="LocalizedStringAttributes"/>
1822
+ <optional>
1823
+ <attribute name="format">
1824
+ <a:documentation>What format the formatted abstract is in. In Metanorma, assumed to be Metanorma XML</a:documentation>
1825
+ </attribute>
1826
+ </optional>
1815
1827
  <choice>
1816
1828
  <oneOrMore>
1817
1829
  <ref name="BasicBlockNoId">
@@ -1,65 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <grammar ns='https://www.metanorma.org/ns/standoc' xmlns="http://relaxng.org/ns/structure/1.0">
3
- <!--
4
- VERSION v1.2.1
5
- Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
6
- we cannot have a new default namespace: we will end up with a grammar with two different
7
- namespaces, one for isostandard and one for csand additions. And we do not want that.
8
- -->
9
3
  <include href="relaton-csa.rng"/>
10
- <include href="isodoc.rng">
11
- <define name="FigureBody">
12
- <zeroOrMore>
13
- <ref name="source"/>
14
- </zeroOrMore>
15
- <optional>
16
- <ref name="tname"/>
17
- </optional>
18
- <choice>
19
- <oneOrMore>
20
- <ref name="figure"/>
21
- </oneOrMore>
22
- <group>
23
- <choice>
24
- <zeroOrMore>
25
- <ref name="TextElement"/>
26
- </zeroOrMore>
27
- <ref name="pre"/>
28
- </choice>
29
- <zeroOrMore>
30
- <ref name="note"/>
31
- </zeroOrMore>
32
- <optional>
33
- <ref name="dl"/>
34
- </optional>
35
- </group>
36
- </choice>
37
- </define>
38
- <define name="standard-document">
39
- <element name="metanorma">
40
- <ref name="Root-Attributes"/>
41
- <ref name="bibdata"/>
42
- <zeroOrMore>
43
- <ref name="termdocsource"/>
44
- </zeroOrMore>
45
- <optional>
46
- <ref name="misccontainer"/>
47
- </optional>
48
- <optional>
49
- <ref name="boilerplate"/>
50
- </optional>
51
- <ref name="preface"/>
52
- <oneOrMore>
53
- <ref name="sections"/>
54
- </oneOrMore>
55
- <zeroOrMore>
56
- <ref name="annex"/>
57
- </zeroOrMore>
58
- <ref name="bibliography"/>
59
- <zeroOrMore>
60
- <ref name="indexsect"/>
61
- </zeroOrMore>
62
- </element>
63
- </define>
64
- </include>
4
+ <include href="isodoc.rng"/>
65
5
  </grammar>
@@ -1,24 +1,27 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <!--
3
- instantiations of this grammar may replace leaf strings
4
- with more elaborated types; e.g. title (text) replaced with
5
- title-main, title-intro, title-part; type replaced with
6
- enum.
7
-
8
- some renaming at leaf nodes is permissible
9
-
10
- obligations can change both from optional to mandatory,
11
- and from mandatory to optional; optional elements may
12
- be omitted; freely positioned alternatives may be replaced
13
- with strict ordering
14
-
15
- DO NOT introduce a namespace here. We do not want a distinct namespace
16
- for these elements, and a distinct namespace for any grammar inheriting
17
- these elements; we just want one namespace for any child grammars
18
- of this.
19
- -->
20
- <!-- VERSION v2.0.2 -->
21
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.0.3 -->
4
+
5
+ <!--
6
+ ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
7
+
8
+ instantiations of this grammar may replace leaf strings
9
+ with more elaborated types; e.g. title (text) replaced with
10
+ title-main, title-intro, title-part; type replaced with
11
+ enum.
12
+
13
+ some renaming at leaf nodes is permissible
14
+
15
+ obligations can change both from optional to mandatory,
16
+ and from mandatory to optional; optional elements may
17
+ be omitted; freely positioned alternatives may be replaced
18
+ with strict ordering
19
+
20
+ DO NOT introduce a namespace here. We do not want a distinct namespace
21
+ for these elements, and a distinct namespace for any grammar inheriting
22
+ these elements; we just want one namespace for any child grammars
23
+ of this.
24
+ -->
22
25
  <include href="reqt.rng"/>
23
26
  <include href="basicdoc.rng">
24
27
  <define name="amend">
@@ -33,15 +36,6 @@
33
36
  </zeroOrMore>
34
37
  </element>
35
38
  </define>
36
- <define name="fn" combine="interleave">
37
- <optional>
38
- <attribute name="hiddenref">
39
- <a:documentation>If true, number the footnote as normal, but suppress display of the footnote reference in the document body.
40
- This is done if the footnote reference is already presented in some other form, e.g. within a figure image.</a:documentation>
41
- <data type="boolean"/>
42
- </attribute>
43
- </optional>
44
- </define>
45
39
  <define name="index-primary">
46
40
  <element name="primary">
47
41
  <oneOrMore>
@@ -423,20 +417,12 @@ normative or informative references, some split references into sections organiz
423
417
  </oneOrMore>
424
418
  </choice>
425
419
  </define>
426
- <define name="TdAttributes" combine="interleave">
427
- <attribute name="style">
428
- <a:documentation>CSS style: only background-color supported</a:documentation>
429
- </attribute>
430
- </define>
431
- <define name="ThAttributes" combine="interleave">
432
- <attribute name="style">
433
- <a:documentation>CSS style: only background-color supported</a:documentation>
434
- </attribute>
435
- </define>
436
420
  <define name="TrAttributes">
437
- <attribute name="style">
438
- <a:documentation>CSS style: only background-color supported</a:documentation>
439
- </attribute>
421
+ <optional>
422
+ <attribute name="style">
423
+ <a:documentation>CSS style: only background-color supported</a:documentation>
424
+ </attribute>
425
+ </optional>
440
426
  </define>
441
427
  <define name="table-note">
442
428
  <element name="note">
@@ -500,6 +486,22 @@ gives an explicit page orientation</a:documentation>
500
486
  </define>
501
487
  </include>
502
488
  <!-- end overrides -->
489
+ <define name="FnAttributes" combine="interleave">
490
+ <optional>
491
+ <attribute name="hiddenref">
492
+ <a:documentation>If true, number the footnote as normal, but suppress display of the footnote reference in the document body.
493
+ This is done if the footnote reference is already presented in some other form, e.g. within a figure image.</a:documentation>
494
+ <data type="boolean"/>
495
+ </attribute>
496
+ </optional>
497
+ </define>
498
+ <define name="TdAttributes" combine="interleave">
499
+ <optional>
500
+ <attribute name="style">
501
+ <a:documentation>CSS style: only background-color supported</a:documentation>
502
+ </attribute>
503
+ </optional>
504
+ </define>
503
505
  <define name="NumberingAttributes" combine="interleave">
504
506
  <optional>
505
507
  <attribute name="number">
@@ -678,6 +680,13 @@ titlecase, or lowercase</a:documentation>
678
680
  </attribute>
679
681
  </optional>
680
682
  </define>
683
+ <define name="Basic-Section-Attributes" combine="interleave">
684
+ <optional>
685
+ <attribute name="obligation">
686
+ <ref name="ObligationType"/>
687
+ </attribute>
688
+ </optional>
689
+ </define>
681
690
  <define name="ObligationType">
682
691
  <a:documentation>The force of a clause in a standard document: whether it has normative or informative effect</a:documentation>
683
692
  <choice>
@@ -1192,13 +1201,6 @@ numbers</a:documentation>
1192
1201
  </attribute>
1193
1202
  </optional>
1194
1203
  </define>
1195
- <define name="Basic-Section-Attributes" combine="interleave">
1196
- <optional>
1197
- <attribute name="obligation">
1198
- <ref name="ObligationType"/>
1199
- </attribute>
1200
- </optional>
1201
- </define>
1202
1204
  <define name="reference-clause">
1203
1205
  <a:documentation>References clause with recursive nesting</a:documentation>
1204
1206
  <element name="clause">
@@ -1239,7 +1241,7 @@ numbers</a:documentation>
1239
1241
  </choice>
1240
1242
  </attribute>
1241
1243
  <attribute name="flavor">
1242
- <a:documentation>Metanorma flavor, indicating SDO whose requiremnts the realisation aligns to</a:documentation>
1244
+ <a:documentation>Metanorma flavor, indicating SDO whose requirements the realisation aligns to</a:documentation>
1243
1245
  </attribute>
1244
1246
  </define>
1245
1247
  <define name="standard-document">
@@ -1249,6 +1251,11 @@ numbers</a:documentation>
1249
1251
  <ref name="bibdata">
1250
1252
  <a:documentation>Bibliographic description of the document itself, expressed in the Relaton model</a:documentation>
1251
1253
  </ref>
1254
+ <zeroOrMore>
1255
+ <ref name="termdocsource">
1256
+ <a:documentation>Source for term definitions in the document</a:documentation>
1257
+ </ref>
1258
+ </zeroOrMore>
1252
1259
  <optional>
1253
1260
  <ref name="misccontainer">
1254
1261
  <a:documentation>Extension point for extraneous elements that need to be added to standards document as data</a:documentation>
@@ -1259,34 +1266,7 @@ numbers</a:documentation>
1259
1266
  <a:documentation>Front matter that is repeated at the start of documents issued from an SDO, with content not specific to the document</a:documentation>
1260
1267
  </ref>
1261
1268
  </optional>
1262
- <optional>
1263
- <ref name="preface">
1264
- <a:documentation>Prefatory sections</a:documentation>
1265
- </ref>
1266
- </optional>
1267
- <ref name="sections">
1268
- <a:documentation>Main body of document</a:documentation>
1269
- </ref>
1270
- <zeroOrMore>
1271
- <ref name="annex">
1272
- <a:documentation>Annex sections</a:documentation>
1273
- </ref>
1274
- </zeroOrMore>
1275
- <optional>
1276
- <ref name="bibliography">
1277
- <a:documentation>Bibliographic sections</a:documentation>
1278
- </ref>
1279
- </optional>
1280
- <zeroOrMore>
1281
- <ref name="indexsect">
1282
- <a:documentation>Index of the document</a:documentation>
1283
- </ref>
1284
- </zeroOrMore>
1285
- <optional>
1286
- <ref name="colophon">
1287
- <a:documentation>Colophon or postface material</a:documentation>
1288
- </ref>
1289
- </optional>
1269
+ <ref name="DocumentBody"/>
1290
1270
  <optional>
1291
1271
  <ref name="review-container">
1292
1272
  <a:documentation>Annotations to the document</a:documentation>
@@ -1294,6 +1274,36 @@ numbers</a:documentation>
1294
1274
  </optional>
1295
1275
  </element>
1296
1276
  </define>
1277
+ <define name="DocumentBody">
1278
+ <optional>
1279
+ <ref name="preface">
1280
+ <a:documentation>Prefatory sections</a:documentation>
1281
+ </ref>
1282
+ </optional>
1283
+ <ref name="sections">
1284
+ <a:documentation>Main body of document</a:documentation>
1285
+ </ref>
1286
+ <zeroOrMore>
1287
+ <ref name="annex">
1288
+ <a:documentation>Annex sections</a:documentation>
1289
+ </ref>
1290
+ </zeroOrMore>
1291
+ <optional>
1292
+ <ref name="bibliography">
1293
+ <a:documentation>Bibliographic sections</a:documentation>
1294
+ </ref>
1295
+ </optional>
1296
+ <zeroOrMore>
1297
+ <ref name="indexsect">
1298
+ <a:documentation>Index of the document</a:documentation>
1299
+ </ref>
1300
+ </zeroOrMore>
1301
+ <optional>
1302
+ <ref name="colophon">
1303
+ <a:documentation>Colophon or postface material</a:documentation>
1304
+ </ref>
1305
+ </optional>
1306
+ </define>
1297
1307
  <define name="misccontainer">
1298
1308
  <a:documentation>Elements added to metanorma-extension are open-ended, and constitute source data</a:documentation>
1299
1309
  <element name="metanorma-extension">
@@ -1608,9 +1618,7 @@ used in document amendments</a:documentation>
1608
1618
  <define name="term">
1609
1619
  <a:documentation>Terminology entry with its definition</a:documentation>
1610
1620
  <element name="term">
1611
- <ref name="OptionalId"/>
1612
- <ref name="LocalizedStringAttributes"/>
1613
- <ref name="BlockAttributes"/>
1621
+ <ref name="TermAttributes"/>
1614
1622
  <oneOrMore>
1615
1623
  <ref name="preferred">
1616
1624
  <a:documentation>One or more names under which the term being defined is canonically known</a:documentation>
@@ -1662,6 +1670,11 @@ used in document amendments</a:documentation>
1662
1670
  </ref>
1663
1671
  </element>
1664
1672
  </define>
1673
+ <define name="TermAttributes">
1674
+ <ref name="OptionalId"/>
1675
+ <ref name="LocalizedStringAttributes"/>
1676
+ <ref name="BlockAttributes"/>
1677
+ </define>
1665
1678
  <define name="preferred">
1666
1679
  <element name="preferred">
1667
1680
  <ref name="Designation"/>
@@ -2323,26 +2336,32 @@ links within an SVG file, so that the SVG file can hyperlink to anchors within t
2323
2336
  </element>
2324
2337
  </define>
2325
2338
  <define name="ul_li">
2326
- <a:documentation>Unorderd list item for standards documents</a:documentation>
2339
+ <a:documentation>Unordered list item for standards documents</a:documentation>
2327
2340
  <element name="li">
2328
2341
  <ref name="OptionalId"/>
2329
- <optional>
2330
- <attribute name="uncheckedcheckbox">
2331
- <a:documentation>Include a checkbox for the list item</a:documentation>
2332
- <data type="boolean"/>
2333
- </attribute>
2334
- </optional>
2335
- <optional>
2336
- <attribute name="checkedcheckbox">
2337
- <a:documentation>Check the checkbox for the list item</a:documentation>
2338
- <data type="boolean"/>
2339
- </attribute>
2340
- </optional>
2341
- <oneOrMore>
2342
- <ref name="BasicBlock"/>
2343
- </oneOrMore>
2342
+ <ref name="UlLiAttributes"/>
2343
+ <ref name="UlLiBody"/>
2344
2344
  </element>
2345
2345
  </define>
2346
+ <define name="UlLiBody">
2347
+ <oneOrMore>
2348
+ <ref name="BasicBlock"/>
2349
+ </oneOrMore>
2350
+ </define>
2351
+ <define name="UlLiAttributes">
2352
+ <optional>
2353
+ <attribute name="uncheckedcheckbox">
2354
+ <a:documentation>Include a checkbox for the list item</a:documentation>
2355
+ <data type="boolean"/>
2356
+ </attribute>
2357
+ </optional>
2358
+ <optional>
2359
+ <attribute name="checkedcheckbox">
2360
+ <a:documentation>Check the checkbox for the list item</a:documentation>
2361
+ <data type="boolean"/>
2362
+ </attribute>
2363
+ </optional>
2364
+ </define>
2346
2365
  <define name="floating-title">
2347
2366
  <a:documentation>A floating title, outside of the clause hierarchy of the document</a:documentation>
2348
2367
  <element name="floating-title">
@@ -1,11 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'metanorma/processor'
3
+ require "metanorma/processor"
4
4
 
5
5
  module Metanorma
6
6
  module Csa
7
7
  class Processor < Metanorma::Processor
8
-
9
8
  def initialize
10
9
  @short = :csa
11
10
  @input_format = :asciidoc
@@ -14,9 +13,9 @@ module Metanorma
14
13
 
15
14
  def output_formats
16
15
  super.merge(
17
- html: 'html',
18
- doc: 'doc',
19
- pdf: 'pdf'
16
+ html: "html",
17
+ doc: "doc",
18
+ pdf: "pdf",
20
19
  )
21
20
  end
22
21
 
@@ -24,17 +23,21 @@ module Metanorma
24
23
  "Metanorma::Csa #{Metanorma::Csa::VERSION}"
25
24
  end
26
25
 
27
- def output(isodoc_node, inname, outname, format, options={})
26
+ def output(isodoc_node, inname, outname, format, options = {})
28
27
  options_preprocess(options)
29
28
  case format
30
29
  when :html
31
- IsoDoc::Csa::HtmlConvert.new(options).convert(inname, isodoc_node, nil, outname)
30
+ IsoDoc::Csa::HtmlConvert.new(options)
31
+ .convert(inname, isodoc_node, nil, outname)
32
32
  when :doc
33
- IsoDoc::Csa::WordConvert.new(options).convert(inname, isodoc_node, nil, outname)
33
+ IsoDoc::Csa::WordConvert.new(options)
34
+ .convert(inname, isodoc_node, nil, outname)
34
35
  when :pdf
35
- IsoDoc::Csa::PdfConvert.new(options).convert(inname, isodoc_node, nil, outname)
36
+ IsoDoc::Csa::PdfConvert.new(options)
37
+ .convert(inname, isodoc_node, nil, outname)
36
38
  when :presentation
37
- IsoDoc::Csa::PresentationXMLConvert.new(options).convert(inname, isodoc_node, nil, outname)
39
+ IsoDoc::Csa::PresentationXMLConvert.new(options)
40
+ .convert(inname, isodoc_node, nil, outname)
38
41
  else
39
42
  super
40
43
  end
@@ -14,22 +14,6 @@
14
14
  <value>case-study</value>
15
15
  </choice>
16
16
  </define>
17
- <define name="BibDataExtensionType">
18
- <optional>
19
- <attribute name="schema-version"/>
20
- </optional>
21
- <optional>
22
- <ref name="doctype"/>
23
- </optional>
24
- <optional>
25
- <ref name="docsubtype"/>
26
- </optional>
27
- <ref name="flavor"/>
28
- <ref name="editorialgroup"/>
29
- <zeroOrMore>
30
- <ref name="ics"/>
31
- </zeroOrMore>
32
- </define>
33
17
  <define name="editorialgroup">
34
18
  <element name="editorialgroup">
35
19
  <oneOrMore>
@@ -1,5 +1,11 @@
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
+ <define name="requirement">
4
+ <element name="requirement">
5
+ <ref name="RequirementType"/>
6
+ </element>
7
+ </define>
8
+ <!-- ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437 -->
3
9
  <!--
4
10
  Presupposes isodoc.rnc, is included in it
5
11
  include "isodoc.rnc" { }
@@ -7,14 +13,9 @@
7
13
  This is the Metanorma default provisions model; it is overridden by other provisions models,
8
14
  such as Modspec
9
15
  -->
10
- <define name="requirement">
16
+ <define name="recommendation">
11
17
  <a:documentation>Specification of an attribute of a subject that is required.
12
18
  NOTE: A requirement can contain other requirements</a:documentation>
13
- <element name="requirement">
14
- <ref name="RequirementType"/>
15
- </element>
16
- </define>
17
- <define name="recommendation">
18
19
  <a:documentation>Specification of an attribute of a subject that is recommended</a:documentation>
19
20
  <element name="recommendation">
20
21
  <ref name="RequirementType"/>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Csa
3
- VERSION = "2.6.3".freeze
3
+ VERSION = "2.6.4".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-csa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.3
4
+ version: 2.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-03-31 00:00:00.000000000 Z
11
+ date: 2025-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic