metanorma-csa 2.7.0 → 2.7.2

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: dd8c77f4a99cfbf81e151ab5ba7f9bd5e7bb716867183fbce2953bdaf44c6540
4
- data.tar.gz: a726b84ff192baf5fdeb8a5830a72fbf2a3c82db54e0f7f4162092f1adc01d59
3
+ metadata.gz: af1b39744c44f49ebc284d6f837057d307af5336822373c586f6bafe91c5454d
4
+ data.tar.gz: 5b7132926ce53c8d13e007e2108b887dfbf25cc91d1cb87cbae6ef660e383ccd
5
5
  SHA512:
6
- metadata.gz: 455cdf3fcf3e8cb0b418d5b5d54dc60a8a3f051ae2486d43cbbfd5b715f420518c1280983587db35c04f53e3e03dfb4085271d6399a55e54b3973a2dae4a36d7
7
- data.tar.gz: a0d0b5398824d6f166a8fb973658f1eb42fec2747579c8473ec99c8769371e4cc160dfbbe1e1268f262719fcc8c3c5bc305516c3b068d5bc0b3839c21ce29d69
6
+ metadata.gz: 3b23ccb7c0d414cd46ba49272aef1f00c4b7b1adb2bcfd7ef72288a2dd7a5d291535f65b0d78e2871321fe1808a8c2d8c4c5a7ee801f7c5fe9654a06bfb3048e
7
+ data.tar.gz: ccd3e3956e3dcec9568cd871e7ea06ca11f04454937c4302b58a7b08b59e355691ef09eea0af4a480f815e03c5f6cfd4d2d7c89a4ae4c175ec557894fb342f9c
data/README.adoc CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  image:https://img.shields.io/gem/v/metanorma-csa.svg["Gem Version", link="https://rubygems.org/gems/metanorma-csa"]
4
4
  image:https://github.com/metanorma/metanorma-csa/workflows/rake/badge.svg["Build Status", link="https://github.com/metanorma/metanorma-csa/actions?query=workflow=rake"]
5
- image:https://codeclimate.com/github/metanorma/metanorma-csand/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-csand"]
5
+ // image:https://codeclimate.com/github/metanorma/metanorma-csand/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/metanorma-csand"]
6
6
  image:https://img.shields.io/github/issues-pr-raw/metanorma/metanorma-csa.svg["Pull Requests", link="https://github.com/metanorma/metanorma-csa/pulls"]
7
7
  image:https://img.shields.io/github/commits-since/metanorma/metanorma-csa/latest.svg["Commits since latest",link="https://github.com/metanorma/metanorma-csa/releases"]
8
8
 
@@ -2199,13 +2199,23 @@
2199
2199
  <xsl:attribute-set name="copyright-statement-style">
2200
2200
  </xsl:attribute-set> <!-- copyright-statement-style -->
2201
2201
 
2202
+ <xsl:template name="refine_copyright-statement-style">
2203
+ </xsl:template>
2204
+
2202
2205
  <xsl:attribute-set name="copyright-statement-title-style">
2203
2206
  </xsl:attribute-set> <!-- copyright-statement-title-style -->
2204
2207
 
2208
+ <xsl:template name="refine_copyright-statement-title-style">
2209
+ </xsl:template>
2210
+
2205
2211
  <xsl:attribute-set name="copyright-statement-p-style">
2206
2212
  </xsl:attribute-set> <!-- copyright-statement-p-style -->
2207
2213
 
2208
- <xsl:attribute-set name="license-statement-style">
2214
+ <xsl:template name="refine_copyright-statement-p-style">
2215
+
2216
+ </xsl:template>
2217
+
2218
+ <xsl:attribute-set name="license-statement-style">
2209
2219
  </xsl:attribute-set> <!-- license-statement-style -->
2210
2220
 
2211
2221
  <xsl:attribute-set name="license-statement-title-style">
@@ -2215,6 +2225,10 @@
2215
2225
  <xsl:attribute-set name="license-statement-p-style">
2216
2226
  </xsl:attribute-set> <!-- license-statement-p-style -->
2217
2227
 
2228
+ <xsl:template name="refine_license-statement-p-style">
2229
+
2230
+ </xsl:template>
2231
+
2218
2232
  <xsl:attribute-set name="legal-statement-style">
2219
2233
  </xsl:attribute-set> <!-- legal-statement-style -->
2220
2234
 
@@ -2242,6 +2256,8 @@
2242
2256
  <!-- ================================= -->
2243
2257
  <xsl:template match="mn:copyright-statement">
2244
2258
  <fo:block xsl:use-attribute-sets="copyright-statement-style" role="SKIP">
2259
+ <xsl:call-template name="refine_copyright-statement-style"/>
2260
+
2245
2261
  <xsl:apply-templates/>
2246
2262
  </fo:block>
2247
2263
  </xsl:template> <!-- copyright-statement -->
@@ -3340,7 +3356,7 @@
3340
3356
  </xsl:otherwise>
3341
3357
  </xsl:choose>
3342
3358
  </xsl:variable>
3343
- <xsl:if test="$key = 'font-family' or $key = 'font-size' or $key = 'color' or $key = 'baseline-shift'">
3359
+ <xsl:if test="$key = 'font-family' or $key = 'font-size' or $key = 'color' or $key = 'baseline-shift' or $key = 'line-height' ">
3344
3360
  <style name="{$key}"><xsl:value-of select="$value"/></style>
3345
3361
  </xsl:if>
3346
3362
  <xsl:if test="$key = 'text-indent'">
@@ -10074,7 +10090,7 @@
10074
10090
 
10075
10091
  <xsl:template name="insertFootnoteSeparatorCommon">
10076
10092
  <xsl:param name="leader_length">30%</xsl:param>
10077
- <fo:static-content flow-name="xsl-footnote-separator">
10093
+ <fo:static-content flow-name="xsl-footnote-separator" role="artifact">
10078
10094
  <fo:block>
10079
10095
  <fo:leader leader-pattern="rule" leader-length="{$leader_length}"/>
10080
10096
  </fo:block>
@@ -10829,13 +10845,31 @@
10829
10845
  <!-- skip here, see the template 'fmt-review-start' -->
10830
10846
  </xsl:when>
10831
10847
  <xsl:otherwise>
10832
- <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
10833
- <fo:inline id="{@id}" font-size="1pt"><xsl:if test="preceding-sibling::node()[self::mn:fmt-annotation-start][@source = $bookmark_id] and following-sibling::node()[self::mn:fmt-annotation-end][@source = $bookmark_id]"><xsl:attribute name="line-height">0.1</xsl:attribute></xsl:if><xsl:value-of select="$hair_space"/></fo:inline>
10834
- <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
10835
- <xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
10848
+ <xsl:choose>
10849
+ <xsl:when test="parent::mn:example or parent::mn:termexample or parent::mn:note or parent::mn:termnote">
10850
+ <fo:block font-size="1pt" line-height="0.1">
10851
+ <xsl:call-template name="fo_inline_bookmark">
10852
+ <xsl:with-param name="bookmark_id" select="$bookmark_id"/>
10853
+ </xsl:call-template>
10854
+ </fo:block>
10855
+ </xsl:when>
10856
+ <xsl:otherwise>
10857
+ <xsl:call-template name="fo_inline_bookmark">
10858
+ <xsl:with-param name="bookmark_id" select="$bookmark_id"/>
10859
+ </xsl:call-template>
10860
+ </xsl:otherwise>
10861
+ </xsl:choose>
10836
10862
  </xsl:otherwise>
10837
10863
  </xsl:choose>
10838
10864
  </xsl:template>
10865
+
10866
+ <xsl:template name="fo_inline_bookmark">
10867
+ <xsl:param name="bookmark_id"/>
10868
+ <!-- <fo:inline id="{@id}" font-size="1pt"/> -->
10869
+ <fo:inline id="{@id}" font-size="1pt"><xsl:if test="preceding-sibling::node()[self::mn:fmt-annotation-start][@source = $bookmark_id] and following-sibling::node()[self::mn:fmt-annotation-end][@source = $bookmark_id]"><xsl:attribute name="line-height">0.1</xsl:attribute></xsl:if><xsl:value-of select="$hair_space"/></fo:inline>
10870
+ <!-- we need to add zero-width space, otherwise this fo:inline is missing in IF xml -->
10871
+ <xsl:if test="not(following-sibling::node()[normalize-space() != ''])"><fo:inline font-size="1pt"> </fo:inline></xsl:if>
10872
+ </xsl:template>
10839
10873
  <!-- =================== -->
10840
10874
  <!-- End of Index processing -->
10841
10875
  <!-- =================== -->
@@ -10946,9 +10980,15 @@
10946
10980
  <xsl:attribute name="role">H1</xsl:attribute>
10947
10981
  </xsl:attribute-set>
10948
10982
 
10983
+ <xsl:template name="refine_toc-title-style">
10984
+ </xsl:template>
10985
+
10949
10986
  <xsl:attribute-set name="toc-title-page-style">
10950
10987
  </xsl:attribute-set> <!-- toc-title-page-style -->
10951
10988
 
10989
+ <xsl:template name="refine_toc-title-page-style">
10990
+ </xsl:template>
10991
+
10952
10992
  <xsl:attribute-set name="toc-item-block-style">
10953
10993
  <xsl:attribute name="provisional-distance-between-starts">3mm</xsl:attribute>
10954
10994
  </xsl:attribute-set>
@@ -10982,6 +11022,9 @@
10982
11022
  <xsl:attribute name="provisional-distance-between-starts">3mm</xsl:attribute>
10983
11023
  </xsl:attribute-set>
10984
11024
 
11025
+ <xsl:template name="refine_toc-listof-title-style">
11026
+ </xsl:template>
11027
+
10985
11028
  <xsl:attribute-set name="toc-listof-item-block-style">
10986
11029
  <xsl:attribute name="provisional-distance-between-starts">10mm</xsl:attribute>
10987
11030
  </xsl:attribute-set>
@@ -11330,7 +11373,7 @@
11330
11373
  </xsl:if>
11331
11374
 
11332
11375
  <xsl:for-each select="$contents_nodes/mnx:doc">
11333
- <fo:bookmark internal-destination="{contents/mnx:item[@display = 'true'][1]/@id}" starting-state="hide">
11376
+ <fo:bookmark internal-destination="{mnx:contents/mnx:item[@display = 'true'][1]/@id}" starting-state="hide">
11334
11377
  <xsl:if test="@bundle = 'true'">
11335
11378
  <xsl:attribute name="internal-destination"><xsl:value-of select="@firstpage_id"/></xsl:attribute>
11336
11379
  </xsl:if>
@@ -11364,7 +11407,7 @@
11364
11407
  </xsl:choose>
11365
11408
  </fo:bookmark-title>
11366
11409
 
11367
- <xsl:apply-templates select="contents/mnx:item" mode="bookmark"/>
11410
+ <xsl:apply-templates select="mnx:contents/mnx:item" mode="bookmark"/>
11368
11411
 
11369
11412
  <xsl:call-template name="insertFigureBookmarks">
11370
11413
  <xsl:with-param name="contents" select="mnx:contents"/>
@@ -12712,11 +12755,35 @@
12712
12755
 
12713
12756
  <xsl:template match="mn:svgmap"/>
12714
12757
 
12758
+ <xsl:template match="mn:name[following-sibling::*[1][self::mn:fmt-name]]"/>
12759
+
12715
12760
  <!-- for correct rendering combining chars, added in mode="update_xml_step2" -->
12716
12761
  <xsl:template match="*[local-name() = 'lang_none']">
12717
12762
  <fo:inline xml:lang="none"><xsl:value-of select="."/></fo:inline>
12718
12763
  </xsl:template>
12719
12764
 
12765
+ <xsl:template name="addTagElementT">
12766
+ <xsl:variable name="title_">
12767
+ <xsl:apply-templates select="mn:fmt-title"/>
12768
+ </xsl:variable>
12769
+ <xsl:variable name="title__">
12770
+ <xsl:for-each select="xalan:nodeset($title_)/*/node()">
12771
+ <xsl:choose>
12772
+ <xsl:when test="self::text()"><xsl:text> </xsl:text><xsl:value-of select="."/><xsl:text> </xsl:text></xsl:when>
12773
+ <xsl:otherwise><xsl:text> </xsl:text><xsl:copy-of select="."/><xsl:text> </xsl:text></xsl:otherwise>
12774
+ </xsl:choose>
12775
+ </xsl:for-each>
12776
+ </xsl:variable>
12777
+ <xsl:variable name="title" select="normalize-space($title__)"/>
12778
+ <xsl:if test="$title != ''">
12779
+ <xsl:attribute name="fox:title">
12780
+ <xsl:if test="ancestor::mn:sections">
12781
+ <xsl:text>Section </xsl:text>
12782
+ </xsl:if>
12783
+ <xsl:value-of select="$title"/></xsl:attribute>
12784
+ </xsl:if>
12785
+ </xsl:template>
12786
+
12720
12787
  <xsl:template name="replaceChar">
12721
12788
  <xsl:param name="text"/>
12722
12789
  <xsl:param name="replace"/>
@@ -13483,6 +13550,13 @@
13483
13550
  <xsl:with-param name="default" select="$text_align_default"/>
13484
13551
  </xsl:call-template>
13485
13552
  <xsl:call-template name="setKeepAttributes"/>
13553
+ <xsl:if test="node()[1][self::mn:span][contains(@style, 'line-height')]">
13554
+ <xsl:variable name="styles">
13555
+ <xsl:apply-templates select="*[1]"/>
13556
+ </xsl:variable>
13557
+ <!-- move attribute line-height from inline to block -->
13558
+ <xsl:attribute name="line-height"><xsl:value-of select="xalan:nodeset($styles)//*/@line-height"/></xsl:attribute>
13559
+ </xsl:if>
13486
13560
  </xsl:template>
13487
13561
 
13488
13562
  <xsl:template name="setKeepAttributes">
@@ -13508,34 +13582,41 @@
13508
13582
  <fo:block-container absolute-position="fixed" left="0mm" top="0mm" font-size="0" id="__internal_layout__coverpage{$suffix}_{$name}_{$number}_{generate-id()}">
13509
13583
  <fo:block>
13510
13584
  <xsl:for-each select="/mn:metanorma/mn:metanorma-extension/mn:presentation-metadata[mn:name = $name][1]/mn:value/mn:image[$num]">
13511
- <xsl:choose>
13512
- <xsl:when test="*[local-name() = 'svg'] or java:endsWith(java:java.lang.String.new(@src), '.svg')">
13513
- <fo:instream-foreign-object fox:alt-text="Image Front">
13514
- <xsl:attribute name="content-height"><xsl:value-of select="$pageHeight"/>mm</xsl:attribute>
13515
- <xsl:call-template name="getSVG"/>
13516
- </fo:instream-foreign-object>
13517
- </xsl:when>
13518
- <xsl:when test="starts-with(@src, 'data:application/pdf;base64')">
13519
- <fo:external-graphic src="{@src}" fox:alt-text="Image Front"/>
13520
- </xsl:when>
13521
- <xsl:otherwise> <!-- bitmap image -->
13522
- <xsl:variable name="coverimage_src" select="normalize-space(@src)"/>
13523
- <xsl:if test="$coverimage_src != ''">
13524
- <xsl:variable name="coverpage">
13525
- <xsl:call-template name="getImageURL">
13526
- <xsl:with-param name="src" select="$coverimage_src"/>
13527
- </xsl:call-template>
13528
- </xsl:variable>
13529
- <!-- <xsl:variable name="coverpage" select="concat('url(file:',$basepath, 'coverpage1.png', ')')"/> --> <!-- for DEBUG -->
13530
- <fo:external-graphic src="{$coverpage}" width="{$pageWidth}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
13531
- </xsl:if>
13532
- </xsl:otherwise>
13533
- </xsl:choose>
13585
+
13586
+ <xsl:call-template name="insertPageImage"/>
13587
+
13534
13588
  </xsl:for-each>
13535
13589
  </fo:block>
13536
13590
  </fo:block-container>
13537
13591
  </xsl:template>
13538
13592
 
13593
+ <xsl:template name="insertPageImage">
13594
+ <xsl:param name="svg_content_height" select="$pageHeight"/>
13595
+ <xsl:param name="bitmap_width" select="$pageWidth"/>
13596
+ <xsl:choose>
13597
+ <xsl:when test="*[local-name() = 'svg'] or java:endsWith(java:java.lang.String.new(@src), '.svg')">
13598
+ <fo:instream-foreign-object fox:alt-text="Image Front">
13599
+ <xsl:attribute name="content-height"><xsl:value-of select="$svg_content_height"/>mm</xsl:attribute>
13600
+ <xsl:call-template name="getSVG"/>
13601
+ </fo:instream-foreign-object>
13602
+ </xsl:when>
13603
+ <xsl:when test="starts-with(@src, 'data:application/pdf;base64')">
13604
+ <fo:external-graphic src="{@src}" fox:alt-text="Image Front"/>
13605
+ </xsl:when>
13606
+ <xsl:otherwise> <!-- bitmap image -->
13607
+ <xsl:variable name="coverimage_src" select="normalize-space(@src)"/>
13608
+ <xsl:if test="$coverimage_src != ''">
13609
+ <xsl:variable name="coverpage">
13610
+ <xsl:call-template name="getImageURL">
13611
+ <xsl:with-param name="src" select="$coverimage_src"/>
13612
+ </xsl:call-template>
13613
+ </xsl:variable>
13614
+ <fo:external-graphic src="{$coverpage}" width="{$bitmap_width}mm" content-height="scale-to-fit" scaling="uniform" fox:alt-text="Image Front"/>
13615
+ </xsl:if>
13616
+ </xsl:otherwise>
13617
+ </xsl:choose>
13618
+ </xsl:template>
13619
+
13539
13620
  <xsl:template name="getImageURL">
13540
13621
  <xsl:param name="src"/>
13541
13622
  <xsl:choose>
@@ -13963,6 +14044,14 @@
13963
14044
  </xsl:attribute>
13964
14045
  </xsl:template>
13965
14046
 
14047
+ <xsl:template name="getCharByCodePoint">
14048
+ <xsl:param name="codepoint"/>
14049
+ <xsl:param name="radix">16</xsl:param>
14050
+ <xsl:variable name="codepointInt" select="java:java.lang.Integer.parseInt($codepoint,$radix)"/>
14051
+ <xsl:variable name="chars" select="java:java.lang.Character.toChars($codepointInt)"/>
14052
+ <xsl:value-of select="java:java.lang.String.new($chars)"/>
14053
+ </xsl:template>
14054
+
13966
14055
  <xsl:template name="substring-after-last">
13967
14056
  <xsl:param name="value"/>
13968
14057
  <xsl:param name="delimiter"/>
@@ -23,7 +23,7 @@ module IsoDoc
23
23
 
24
24
  def author(isoxml, _out)
25
25
  set(:tc, "XXXX")
26
- tc = isoxml.at(ns("//bibdata/ext/editorialgroup/committee"))
26
+ tc = isoxml.at(ns("//bibdata/contributor[role/description = 'committee']/organization/subdivision[@type = 'Technical committee']/name"))
27
27
  set(:tc, tc.text) if tc
28
28
  super
29
29
  end
@@ -1291,13 +1291,13 @@ Restricted recursively to contain only other such inline elements with no identi
1291
1291
  <ref name="pure_strike"/>
1292
1292
  <ref name="pure_smallcap"/>
1293
1293
  <ref name="br"/>
1294
+ <ref name="stem"/>
1294
1295
  </choice>
1295
1296
  </define>
1296
1297
  <define name="NestedTextElement">
1297
1298
  <a:documentation>Contents of TextElement tags: leaves out tags that should occur only at top level of block: bookmark image hr pagebreak</a:documentation>
1298
1299
  <choice>
1299
1300
  <ref name="PureTextElement"/>
1300
- <ref name="stem"/>
1301
1301
  <ref name="eref"/>
1302
1302
  <ref name="xref"/>
1303
1303
  <ref name="hyperlink"/>
@@ -76,12 +76,6 @@ from other documents in the same doctype</a:documentation>
76
76
  <ref name="flavor">
77
77
  <a:documentation>Flavour of Metanorma used to process this document</a:documentation>
78
78
  </ref>
79
- <optional>
80
- <ref name="editorialgroup">
81
- <a:documentation>Groups associated with the production of the standards document, typically within
82
- a standards definition organization</a:documentation>
83
- </ref>
84
- </optional>
85
79
  <zeroOrMore>
86
80
  <ref name="ics">
87
81
  <a:documentation>Classification of the document contents taken from the International Classification of Standards</a:documentation>
@@ -130,49 +124,6 @@ a standards definition organization</a:documentation>
130
124
  However we prefer not to hardcode it, given ongoing extension.</a:documentation>
131
125
  <text/>
132
126
  </define>
133
- <define name="editorialgroup">
134
- <a:documentation>A group associated with the production of the standards document, typically within
135
- a standards definition organization</a:documentation>
136
- <element name="editorialgroup">
137
- <oneOrMore>
138
- <ref name="technical-committee">
139
- <a:documentation>A technical committee associated with the production of the standards document</a:documentation>
140
- </ref>
141
- </oneOrMore>
142
- </element>
143
- </define>
144
- <define name="technical-committee">
145
- <a:documentation>Technical committee associated with the production of a standards document</a:documentation>
146
- <element name="technical-committee">
147
- <ref name="IsoWorkgroup"/>
148
- </element>
149
- </define>
150
- <define name="IsoWorkgroup">
151
- <optional>
152
- <attribute name="number">
153
- <a:documentation>Numeric identifier of the technical committee</a:documentation>
154
- </attribute>
155
- </optional>
156
- <optional>
157
- <attribute name="type">
158
- <a:documentation>Type of the technical committee, used in identifying the technical committee</a:documentation>
159
- </attribute>
160
- </optional>
161
- <optional>
162
- <attribute name="identifier">
163
- <a:documentation>Non-numeric, complete identifier of the technical committee</a:documentation>
164
- </attribute>
165
- </optional>
166
- <optional>
167
- <attribute name="prefix">
168
- <a:documentation>Disambiguating prefix added to number to form the identifier of the technical committee,
169
- typically indicating its type</a:documentation>
170
- </attribute>
171
- </optional>
172
- <text>
173
- <a:documentation>Name of the technical committee</a:documentation>
174
- </text>
175
- </define>
176
127
  <define name="ics">
177
128
  <a:documentation>Classification taken from the International Classification of Standards.
178
129
  ICS is defined by ISO here -- https://www.iso.org/publication/PUB100033.html</a:documentation>
@@ -242,6 +242,8 @@ Detailed in https://www.relaton.org/model/creator/</a:documentation>
242
242
  </choice>
243
243
  </define>
244
244
  <define name="roledescription">
245
+ <a:documentation>A more detailed description of the role of the contributor
246
+ Some descriptions are reserved words; in particular, the editorial committee of a standard has the role description "committee"</a:documentation>
245
247
  <element name="description">
246
248
  <ref name="LocalizedMarkedUpString"/>
247
249
  </element>
@@ -443,7 +445,10 @@ real names (if the person is named with a pseudonym or user name); previous lega
443
445
  </oneOrMore>
444
446
  <zeroOrMore>
445
447
  <ref name="subdivision">
446
- <a:documentation>The subdivision of the organization directly involved with the production of the bibliographic item</a:documentation>
448
+ <a:documentation>The subdivision of the organization directly involved with the production of the bibliographic item.
449
+ Multiple subdivisions can be specified for an organization, with no implication of hierarchical
450
+ relation between them
451
+ Editorial and advisory groups are represented as consecutive subdivisions of the SDO</a:documentation>
447
452
  </ref>
448
453
  </zeroOrMore>
449
454
  <optional>
@@ -485,6 +490,11 @@ real names (if the person is named with a pseudonym or user name); previous lega
485
490
  <a:documentation>The type of subdivision</a:documentation>
486
491
  </attribute>
487
492
  </optional>
493
+ <optional>
494
+ <attribute name="subtype">
495
+ <a:documentation>The subtype of subdivision; e.g. different types of technical committee</a:documentation>
496
+ </attribute>
497
+ </optional>
488
498
  <ref name="OrganizationType">
489
499
  <a:documentation>The subdivision, modelled recursively as an organization</a:documentation>
490
500
  </ref>
@@ -28,20 +28,6 @@ module Metanorma
28
28
  end
29
29
  end
30
30
 
31
- def metadata_committee(node, xml)
32
- node.attr("technical-committee") or return
33
- xml.editorialgroup do |a|
34
- a.committee node.attr("technical-committee"),
35
- **attr_code(type: node.attr("technical-committee-type"))
36
- i = 2
37
- while node.attr("technical-committee_#{i}")
38
- a.committee node.attr("technical-committee_#{i}"),
39
- **attr_code(type: node.attr("technical-committee-type_#{i}"))
40
- i += 1
41
- end
42
- end
43
- end
44
-
45
31
  def title_validate(_root)
46
32
  nil
47
33
  end
@@ -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.0 -->
3
+ <!-- VERSION v2.1.1 -->
4
4
 
5
5
  <!--
6
6
  ALERT: cannot have root comments, because of https://github.com/metanorma/metanorma/issues/437
@@ -42,36 +42,6 @@ All IdRefType instances point not to `@id` in Semantic XML, which is the Content
42
42
  but to `@anchor`, the user-supplied cross-reference</a:documentation>
43
43
  <text/>
44
44
  </define>
45
- <define name="index-primary">
46
- <element name="primary">
47
- <oneOrMore>
48
- <choice>
49
- <ref name="PureTextElement"/>
50
- <ref name="stem"/>
51
- </choice>
52
- </oneOrMore>
53
- </element>
54
- </define>
55
- <define name="index-secondary">
56
- <element name="secondary">
57
- <oneOrMore>
58
- <choice>
59
- <ref name="PureTextElement"/>
60
- <ref name="stem"/>
61
- </choice>
62
- </oneOrMore>
63
- </element>
64
- </define>
65
- <define name="index-tertiary">
66
- <element name="tertiary">
67
- <oneOrMore>
68
- <choice>
69
- <ref name="PureTextElement"/>
70
- <ref name="stem"/>
71
- </choice>
72
- </oneOrMore>
73
- </element>
74
- </define>
75
45
  <define name="review">
76
46
  <a:documentation>Generalise BasicDoc element from just review comments, to general annotations;
77
47
  the type attribute defaults to `review` for reviews</a:documentation>
@@ -592,28 +562,6 @@ normative or informative references, some split references into sections organiz
592
562
  </oneOrMore>
593
563
  </element>
594
564
  </define>
595
- <define name="sub">
596
- <a:documentation>Subscript text. Corresponds to HTML `sub</a:documentation>
597
- <element name="sub">
598
- <zeroOrMore>
599
- <choice>
600
- <ref name="PureTextElement"/>
601
- <ref name="stem"/>
602
- </choice>
603
- </zeroOrMore>
604
- </element>
605
- </define>
606
- <define name="sup">
607
- <a:documentation>Superscript text. Corresponds to HTML `sup`</a:documentation>
608
- <element name="sup">
609
- <zeroOrMore>
610
- <choice>
611
- <ref name="PureTextElement"/>
612
- <ref name="stem"/>
613
- </choice>
614
- </zeroOrMore>
615
- </element>
616
- </define>
617
565
  <define name="pagebreak">
618
566
  <a:documentation>Page break. Only applicable in paged layouts (e.g. PDF, Word), and not flow layouts (e.g. HTML)</a:documentation>
619
567
  <element name="pagebreak">
@@ -1094,7 +1042,6 @@ That concept may be defined as a term within the current document, or it may be
1094
1042
  <zeroOrMore>
1095
1043
  <choice>
1096
1044
  <ref name="PureTextElement"/>
1097
- <ref name="stem"/>
1098
1045
  <ref name="index"/>
1099
1046
  <ref name="index-xref"/>
1100
1047
  </choice>
@@ -1107,7 +1054,6 @@ That concept may be defined as a term within the current document, or it may be
1107
1054
  <zeroOrMore>
1108
1055
  <choice>
1109
1056
  <ref name="PureTextElement"/>
1110
- <ref name="stem"/>
1111
1057
  <ref name="index"/>
1112
1058
  <ref name="index-xref"/>
1113
1059
  </choice>
@@ -2025,10 +1971,7 @@ used in document amendments</a:documentation>
2025
1971
  <element name="name">
2026
1972
  <a:documentation>The symbolic form of the designation</a:documentation>
2027
1973
  <oneOrMore>
2028
- <choice>
2029
- <ref name="PureTextElement"/>
2030
- <ref name="stem"/>
2031
- </choice>
1974
+ <ref name="PureTextElement"/>
2032
1975
  </oneOrMore>
2033
1976
  </element>
2034
1977
  </element>
@@ -2081,7 +2024,6 @@ used in document amendments</a:documentation>
2081
2024
  <zeroOrMore>
2082
2025
  <choice>
2083
2026
  <ref name="PureTextElement"/>
2084
- <ref name="stem"/>
2085
2027
  <ref name="index"/>
2086
2028
  <ref name="index-xref"/>
2087
2029
  </choice>
@@ -2291,6 +2233,11 @@ used in document amendments</a:documentation>
2291
2233
  <ref name="RequiredId"/>
2292
2234
  <ref name="NumberingAttributes"/>
2293
2235
  <ref name="BlockAttributes"/>
2236
+ <optional>
2237
+ <attribute name="type">
2238
+ <a:documentation>Semantic classification of note</a:documentation>
2239
+ </attribute>
2240
+ </optional>
2294
2241
  <oneOrMore>
2295
2242
  <choice>
2296
2243
  <a:documentation>Content of the term note</a:documentation>
@@ -14,20 +14,5 @@
14
14
  <value>case-study</value>
15
15
  </choice>
16
16
  </define>
17
- <define name="editorialgroup">
18
- <element name="editorialgroup">
19
- <oneOrMore>
20
- <ref name="technical-committee"/>
21
- </oneOrMore>
22
- </element>
23
- </define>
24
- <define name="technical-committee">
25
- <element name="committee">
26
- <optional>
27
- <attribute name="type"/>
28
- </optional>
29
- <text/>
30
- </element>
31
- </define>
32
17
  </include>
33
18
  </grammar>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Csa
3
- VERSION = "2.7.0".freeze
3
+ VERSION = "2.7.2".freeze
4
4
  end
5
5
  end
@@ -42,5 +42,5 @@ spec.add_development_dependency "rubocop-performance"
42
42
  spec.add_development_dependency "sassc-embedded", "~> 1"
43
43
  spec.add_development_dependency "simplecov", "~> 0.15"
44
44
  spec.add_development_dependency "timecop", "~> 0.9"
45
- spec.add_development_dependency "xml-c14n"
45
+ spec.add_development_dependency "canon"
46
46
  end
data/metanorma.yml CHANGED
@@ -50,6 +50,8 @@ published_stages:
50
50
  - published
51
51
  - withdrawn
52
52
  default_stage: published
53
+ committee_types:
54
+ - technical-committee
53
55
  stage_abbreviations:
54
56
  proposal:
55
57
  working-draft: wd
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.7.0
4
+ version: 2.7.2
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-07-21 00:00:00.000000000 Z
11
+ date: 2025-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic
@@ -179,7 +179,7 @@ dependencies:
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0.9'
181
181
  - !ruby/object:Gem::Dependency
182
- name: xml-c14n
182
+ name: canon
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="