metanorma-iec 1.2.11 → 1.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 757f304ffb697a9e1ac4cbea8cb23bd97d1c84919c79330c850c185147e87dea
4
- data.tar.gz: c9abb1c90c14b852382dc58cceb438292a06221a027d00f50f7b10b234193db9
3
+ metadata.gz: ec393e69e6f5bde6672652cdd455bd95ba7475e9de5672d05df4d1bd4940e7a7
4
+ data.tar.gz: a29da879a00bb09c7f0f35d06916c1163317809225eb49ac5abc8cb265c2d049
5
5
  SHA512:
6
- metadata.gz: '09f9d546277d03635c47c8ec61c2a19c3170605e0edd6e1632f62258d2d1d1f6e458bdf781bf95b3e9b0c8995072cb003f8c60ecf885b7d9f9b0fb1168c8210c'
7
- data.tar.gz: e327cf4c18dc4e20fe836829ac9428492edb163e46e4f864e67c42a1affb33d72e366a10c59cc750e1274eff26fde85ae9193a84b0941c94e9e6e054c08d253b
6
+ metadata.gz: 96679dbdd734fdfaeaa14381b7b52195178fe649da053e0c05f64ff71d5fffa0ea69f49d9249a29fe8e30781c4b2fb019018aad6d0f705a6882a90a64f1c0b35
7
+ data.tar.gz: 0a0dab99cdb0060ccbadfb5dad707a62cce04b7e587f371e5408f1b0319120ff235400b054f6eaf7893ef878830f8d1d2612d3316b704ef1a997b02de09fc89e
@@ -36,6 +36,9 @@ jobs:
36
36
  with:
37
37
  ruby-version: ${{ matrix.ruby }}
38
38
 
39
+ - if: matrix.os == 'macos-latest'
40
+ run: brew install autoconf automake libtool
41
+
39
42
  - uses: actions/cache@v2
40
43
  with:
41
44
  path: vendor/bundle
@@ -80,6 +80,23 @@ module Asciidoctor
80
80
  super
81
81
  @is_iev and replace_title(x, "//introduction", @i18n&.introduction_iev)
82
82
  end
83
+
84
+ def note(n)
85
+ if n.title == "Note from TC/SC Officers"
86
+ noko do |xml|
87
+ xml.tc_sc_officers_note do |c|
88
+ wrap_in_para(n, c)
89
+ end
90
+ end.join("\n")
91
+ else
92
+ super
93
+ end
94
+ end
95
+
96
+ def note_cleanup(xmldoc)
97
+ super
98
+ n = xmldoc.at("//tc-sc-officers-note") and xmldoc.at("//bibdata/ext").add_child(n.remove)
99
+ end
83
100
  end
84
101
  end
85
102
  end
@@ -183,8 +183,7 @@ module Asciidoctor
183
183
 
184
184
  def get_stage(node)
185
185
  stage = node.attr("status") || node.attr("docstage") || "60"
186
- m = /([0-9])CD$/.match(stage) and
187
- node.set_attr("iteration", m[1])
186
+ m = /([0-9])CD$/.match(stage) and node.set_attr("iteration", m[1])
188
187
  STAGE_CODES[stage] and stage = STAGE_CODES[stage][0..1]
189
188
  stage
190
189
  end
@@ -193,9 +192,7 @@ module Asciidoctor
193
192
  st = node.attr("status") || node.attr("docstage")
194
193
  stage = get_stage(node)
195
194
  node.attr("docsubstage") ||
196
- ( stage == "60" ? "60" :
197
- STAGE_CODES[st] ? STAGE_CODES[st][2..3] :
198
- "00" )
195
+ ( stage == "60" ? "60" : STAGE_CODES[st] ? STAGE_CODES[st][2..3] : "00" )
199
196
  end
200
197
 
201
198
  def id_stage_abbr(stage, substage, node)
@@ -211,8 +208,7 @@ module Asciidoctor
211
208
  xml.status do |s|
212
209
  s.stage stage, **attr_code(abbreviation: stage_abbr(stage, substage))
213
210
  s.substage substage,
214
- **attr_code(abbreviation: status_abbrev1(stage, substage,
215
- node.attr("iteration"),
211
+ **attr_code(abbreviation: status_abbrev1(stage, substage, node.attr("iteration"),
216
212
  doctype(node),node.attr("draft")))
217
213
  node.attr("iteration") && (s.iteration node.attr("iteration"))
218
214
  end
@@ -229,6 +225,8 @@ module Asciidoctor
229
225
  a = node.attr("accessibility-color-inside") and xml.accessibility_color_inside a
230
226
  a = node.attr("price-code") and xml.price_code a
231
227
  a = node.attr("cen-processing") and xml.cen_processing a
228
+ a = node.attr("secretary") and xml.secretary a
229
+ a = node.attr("interest-to-committees") and xml.interest_to_committees a
232
230
  end
233
231
  end
234
232
  end
@@ -43,6 +43,15 @@
43
43
  <optional>
44
44
  <ref name="cen-processing"/>
45
45
  </optional>
46
+ <optional>
47
+ <ref name="secretary"/>
48
+ </optional>
49
+ <optional>
50
+ <ref name="interest-to-committees"/>
51
+ </optional>
52
+ <optional>
53
+ <ref name="tc-sc-officers-note"/>
54
+ </optional>
46
55
  </define>
47
56
  </include>
48
57
  <!-- end overrides -->
@@ -71,6 +80,23 @@
71
80
  <data type="boolean"/>
72
81
  </element>
73
82
  </define>
83
+ <define name="secretary">
84
+ <element name="secretary">
85
+ <text/>
86
+ </element>
87
+ </define>
88
+ <define name="interest-to-committees">
89
+ <element name="interest-to-committees">
90
+ <text/>
91
+ </element>
92
+ </define>
93
+ <define name="tc-sc-officers-note">
94
+ <element name="tc-sc-officers-note">
95
+ <zeroOrMore>
96
+ <ref name="BasicBlock"/>
97
+ </zeroOrMore>
98
+ </element>
99
+ </define>
74
100
  <!--
75
101
  We display the Normative References between scope and terms; but to keep the
76
102
  grammar simple, we keep the references together
@@ -1,6 +1,13 @@
1
1
  <boilerplate>
2
2
  <copyright-statement>
3
- <clause>
3
+ <clause>
4
+ {% if unpublished %}
5
+ <p><strong>Copyright © {{ docyear }} International Electrotechnical Commission, IEC.</strong>
6
+ All rights reserved. It is permitted to download this electronic file, to make a copy and to
7
+ print out the content for the sole purpose of preparing National Committee positions. You
8
+ may not copy or "mirror" the file or printed version of the document, or any part of it,
9
+ for any other purpose without permission in writing from IEC.
10
+ {% else %}
4
11
  <p id="boilerplate-year">
5
12
  © {{ agency }} {{ docyear }}, Published in Switzerland
6
13
  </p>
@@ -20,6 +27,7 @@
20
27
  Fax&#xa0;&#xa0;+ 41 22 919 03 00<br/>
21
28
  info@iec.ch<br/>
22
29
  www.iec.ch
30
+ {% endif %}
23
31
  </p>
24
32
  </clause>
25
33
  </copyright-statement>
@@ -41,21 +49,37 @@
41
49
  {% if unpublished %}
42
50
  <license-statement>
43
51
  <clause>
44
- <title>Warning for CDs, CDVs and FDISs</title>
45
-
46
- <p>This
47
- document is not an IEC International Standard. It is distributed for review and
48
- comment. It is subject to change without notice and may not be referred to as
49
- an International Standard.</p>
50
-
51
- <p>Recipients
52
- of this draft are invited to submit, with their comments, notification of any
53
- relevant patent rights of which they are aware and to provide supporting
54
- documentation.</p>
52
+ {% if stage_int < 50 %}
53
+ <p>This document is still under study and subject to change. It should not be used for reference purposes.</p>
54
+ until published as such.</p>
55
+ {% endif %}
56
+ {% if stage_int >= 50 %}
57
+ <p>This document is a draft distributed for approval. It may not be referred to as an International Standard
58
+ until published as such.</p>
59
+ {% endif %}
60
+ {% if stage_int >= 50 %}
61
+ <p>In addition to their evaluation as being acceptable for industrial, technological, commercial and user
62
+ purposes, Final Draft International Standards may on occasion have to be considered in the light of their
63
+ potential to become standards to which reference may be made in national regulations.</p>
64
+ {% endif %}
65
+ <p>Recipients of this document are invited to submit, with their comments, notification of any relevant
66
+ patent rights of which they are aware and to provide supporting documentation.</p>
55
67
  </clause>
56
68
  </license-statement>
57
69
  {% endif %}
58
70
  <feedback-statement>
71
+ {% if unpublished %}
72
+ <clause id="boilerplate-cenelec-attention">
73
+ <title>Attention IEC-CENELEC parallel voting</title>
74
+ <p>The attention of IEC National Committees, members of CENELEC, is drawn to the fact that this
75
+ {% if stage_int >= 30 and stage_int < 40 %}Committee Draft{% endif %}
76
+ {% if stage_int >= 40 and stage_int < 50 %}Committee Draft For Vote{% endif %}
77
+ {% if stage_int >= 50 and stage_int < 60 %}Final Draft International Standard{% endif %}
78
+ ({{ stageabbr }})
79
+ is submitted for parallel voting.</p>
80
+ <p>The CENELEC members are invited to vote through the CENELEC voting system.</p>
81
+ </clause>
82
+ {% else %}
59
83
  <clause>
60
84
  <title>About the IEC</title>
61
85
  <p>The International Electrotechnical Commission (IEC) is the leading global organization that prepares and publishes International Standards for all electrical, electronic and related technologies.</p>
@@ -85,6 +109,7 @@
85
109
  <p>If you wish to give us your feedback on this publication or need further assistance, please contact the Customer Service Centre: <link target="mailto://csc@iec.ch">csc@iec.ch</link>.</p>
86
110
  </clause>
87
111
  </clause>
112
+ {% endif %}
88
113
  </feedback-statement>
89
114
  </boilerplate>
90
115
 
@@ -1,6 +1,13 @@
1
1
  <boilerplate>
2
2
  <copyright-statement>
3
3
  <clause>
4
+ {% if unpublished %}
5
+ <p><strong>Copyright © {{ docyear }} International Electrotechnical Commission, IEC.</strong>
6
+ All rights reserved. It is permitted to download this electronic file, to make a copy and to
7
+ print out the content for the sole purpose of preparing National Committee positions. You
8
+ may not copy or "mirror" the file or printed version of the document, or any part of it,
9
+ for any other purpose without permission in writing from IEC.
10
+ {% else %}
4
11
  <p id="boilerplate-year">
5
12
  © {{ agency }} {{ docyear }}, Publié en Suisse
6
13
  </p>
@@ -23,6 +30,7 @@ l’adresse ci-après ou au comité membre de l’IEC dans le pays du demandeur.
23
30
  info@iec.ch<br/>
24
31
  www.iec.ch
25
32
  </p>
33
+ {% endif %}
26
34
  </clause>
27
35
  </copyright-statement>
28
36
  <legal-statement>
@@ -42,15 +50,38 @@ l’adresse ci-après ou au comité membre de l’IEC dans le pays du demandeur.
42
50
  </legal-statement>
43
51
  {% if unpublished %}
44
52
  <license-statement>
45
- <clause>
46
- <title>Avertissement</title>
47
-
48
- <p>Ce document n'est pas une Norme internationale de l'ISO. Il est distribué pour examen et observations. Il est susceptible de modification sans préavis et ne peut être cité comme Norme internationale.</p>
49
- <p>Les destinataires du présent projet sont invités à présenter, avec leurs observations, notification des droits de propriété dont ils auraient éventuellement connaissance et à fournir une documentation explicative.</p>
50
- </clause>
53
+ <clause>
54
+ {% if stage_int < 40 %}
55
+ <p>This document is still under study and subject to change. It should not be used for reference purposes.</p>
56
+ until published as such.</p>
57
+ {% endif %}
58
+ {% if stage_int >= 40 %}
59
+ <p>This document is a draft distributed for approval. It may not be referred to as an International Standard
60
+ until published as such.</p>
61
+ {% endif %}
62
+ {% if stage_int >= 50 %}
63
+ <p>In addition to their evaluation as being acceptable for industrial, technological, commercial and user
64
+ purposes, Final Draft International Standards may on occasion have to be considered in the light of their
65
+ potential to become standards to which reference may be made in national regulations.</p>
66
+ {% endif %}
67
+ <p>Recipients of this document are invited to submit, with their comments, notification of any relevant
68
+ patent rights of which they are aware and to provide supporting documentation.</p>
69
+ </clause>
51
70
  </license-statement>
52
71
  {% endif %}
53
72
  <feedback-statement>
73
+ {% if unpublished %}
74
+ <clause id="boilerplate-cenelec-attention">
75
+ <title>Attention IEC-CENELEC parallel voting</title>
76
+ <p>The attention of IEC National Committees, members of CENELEC, is drawn to the fact that this
77
+ {% if stage_int >= 30 and stage_int < 40 %}Committee Draft{% endif %}
78
+ {% if stage_int >= 40 and stage_int < 50 %}Committee Draft For Vote{% endif %}
79
+ {% if stage_int >= 50 and stage_int < 60 %}Final Draft International Standard{% endif %}
80
+ ({{ stageabbr }})
81
+ is submitted for parallel voting.</p>
82
+ <p>The CENELEC members are invited to vote through the CENELEC voting system.</p>
83
+ </clause>
84
+ {% else %}
54
85
  <clause>
55
86
  <title>A propos de l'IEC</title>
56
87
  <p>La Commission Electrotechnique Internationale (IEC) est la première organisation mondiale qui élabore et publie des Normes internationales pour tout ce qui a trait à l'électricité, à l'électronique et aux technologies apparentées.</p>
@@ -80,6 +111,7 @@ l’adresse ci-après ou au comité membre de l’IEC dans le pays du demandeur.
80
111
  <p>Si vous désirez nous donner des commentaires sur cette publication ou si vous avez des questions contactez-nous: <link target="mailto://csc@iec.ch">csc@iec.ch</link>.</p>
81
112
  </clause>
82
113
  </clause>
114
+ {% endif %}
83
115
  </feedback-statement>
84
116
  </boilerplate>
85
117
 
@@ -253,6 +253,9 @@
253
253
  <data type="boolean"/>
254
254
  </attribute>
255
255
  </optional>
256
+ <optional>
257
+ <attribute name="width"/>
258
+ </optional>
256
259
  <optional>
257
260
  <ref name="colgroup"/>
258
261
  </optional>
@@ -836,6 +839,9 @@
836
839
  <data type="boolean"/>
837
840
  </attribute>
838
841
  </optional>
842
+ <optional>
843
+ <attribute name="number"/>
844
+ </optional>
839
845
  <optional>
840
846
  <attribute name="obligation">
841
847
  <choice>
@@ -891,9 +897,11 @@
891
897
  <element name="code">
892
898
  <text/>
893
899
  </element>
894
- <element name="text">
895
- <text/>
896
- </element>
900
+ <optional>
901
+ <element name="text">
902
+ <text/>
903
+ </element>
904
+ </optional>
897
905
  </element>
898
906
  </define>
899
907
  <define name="standard-document">
@@ -1063,6 +1071,9 @@
1063
1071
  </choice>
1064
1072
  </attribute>
1065
1073
  </optional>
1074
+ <optional>
1075
+ <attribute name="number"/>
1076
+ </optional>
1066
1077
  <optional>
1067
1078
  <attribute name="type"/>
1068
1079
  </optional>
@@ -1116,6 +1127,9 @@
1116
1127
  <optional>
1117
1128
  <attribute name="type"/>
1118
1129
  </optional>
1130
+ <optional>
1131
+ <attribute name="number"/>
1132
+ </optional>
1119
1133
  <optional>
1120
1134
  <ref name="section-title"/>
1121
1135
  </optional>
@@ -1218,6 +1232,9 @@
1218
1232
  <optional>
1219
1233
  <attribute name="type"/>
1220
1234
  </optional>
1235
+ <optional>
1236
+ <attribute name="number"/>
1237
+ </optional>
1221
1238
  <optional>
1222
1239
  <attribute name="obligation">
1223
1240
  <choice>
@@ -1546,6 +1563,7 @@
1546
1563
  <value>add</value>
1547
1564
  <value>modify</value>
1548
1565
  <value>delete</value>
1566
+ <value>replace</value>
1549
1567
  </choice>
1550
1568
  </attribute>
1551
1569
  <optional>
@@ -1576,6 +1594,11 @@
1576
1594
  </optional>
1577
1595
  <optional>
1578
1596
  <element name="newcontent">
1597
+ <optional>
1598
+ <attribute name="id">
1599
+ <data type="ID"/>
1600
+ </attribute>
1601
+ </optional>
1579
1602
  <zeroOrMore>
1580
1603
  <ref name="BasicBlock"/>
1581
1604
  </zeroOrMore>
@@ -140,22 +140,28 @@
140
140
  </choice>
141
141
  </attribute>
142
142
  </optional>
143
+ <optional>
144
+ <attribute name="type"/>
145
+ </optional>
143
146
  <optional>
144
147
  <ref name="section-title"/>
145
148
  </optional>
146
- <choice>
147
- <group>
148
- <oneOrMore>
149
- <ref name="BasicBlock"/>
150
- </oneOrMore>
151
- <zeroOrMore>
152
- <ref name="note"/>
153
- </zeroOrMore>
154
- </group>
149
+ <group>
150
+ <choice>
151
+ <group>
152
+ <oneOrMore>
153
+ <ref name="BasicBlock"/>
154
+ </oneOrMore>
155
+ <zeroOrMore>
156
+ <ref name="note"/>
157
+ </zeroOrMore>
158
+ </group>
159
+ <ref name="amend"/>
160
+ </choice>
155
161
  <oneOrMore>
156
162
  <ref name="clause-subsection"/>
157
163
  </oneOrMore>
158
- </choice>
164
+ </group>
159
165
  </define>
160
166
  <define name="term">
161
167
  <element name="term">
@@ -13,7 +13,7 @@ module IsoDoc
13
13
  b = isoxml.at(ns("//boilerplate/legal-statement"))
14
14
  page_break(out)
15
15
  iec_orgname(out)
16
- middle_title(out)
16
+ middle_title(isoxml, out)
17
17
  out.div **attr_code(id: f ? f["id"] : "") do |s|
18
18
  s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @i18n.foreword }
19
19
  @meta.get[:doctype] == "Amendment" or
@@ -30,7 +30,7 @@ module IsoDoc
30
30
  out.p(**{ class: "zzSTDTitle1" }) { |p| p << "&nbsp;" }
31
31
  end
32
32
 
33
- def middle_title(out)
33
+ def middle_title(_isoxml, out)
34
34
  title1 = @meta.get[:doctitlemain]&.sub(/\s+$/, "")
35
35
  @meta.get[:doctitleintro] and
36
36
  title1 = "#{@meta.get[:doctitleintro]} &mdash; #{title1}"
@@ -2994,7 +2994,12 @@
2994
2994
 
2995
2995
  <xsl:variable name="table_attributes">
2996
2996
  <attribute name="table-layout">fixed</attribute>
2997
- <attribute name="width">100%</attribute>
2997
+ <attribute name="width">
2998
+ <xsl:choose>
2999
+ <xsl:when test="@width"><xsl:value-of select="@width"/></xsl:when>
3000
+ <xsl:otherwise>100%</xsl:otherwise>
3001
+ </xsl:choose>
3002
+ </attribute>
2998
3003
  <attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
2999
3004
  <attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
3000
3005
 
@@ -4239,6 +4244,10 @@
4239
4244
  </xsl:if>
4240
4245
  <xsl:apply-templates/>
4241
4246
  </fo:inline>
4247
+ </xsl:template><xsl:template match="*[local-name()='underline']">
4248
+ <fo:inline text-decoration="underline">
4249
+ <xsl:apply-templates/>
4250
+ </fo:inline>
4242
4251
  </xsl:template><xsl:template match="*[local-name()='del']">
4243
4252
  <fo:inline font-size="10pt" color="red" text-decoration="line-through">
4244
4253
  <xsl:apply-templates/>
@@ -5807,6 +5816,8 @@
5807
5816
  <xsl:value-of select="translate(.,'. ','')"/>
5808
5817
  </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
5809
5818
  <xsl:value-of select="substring(.,1,1)"/>
5819
+ </xsl:template><xsl:template match="*[local-name() = 'title']" mode="title">
5820
+ <fo:inline><xsl:apply-templates/></fo:inline>
5810
5821
  </xsl:template><xsl:template name="convertDate">
5811
5822
  <xsl:param name="date"/>
5812
5823
  <xsl:param name="format" select="'short'"/>
@@ -6084,6 +6095,11 @@
6084
6095
  <xsl:call-template name="getLang"/>
6085
6096
  </xsl:variable>
6086
6097
 
6087
- <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6098
+ <xsl:choose>
6099
+ <xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
6100
+ <xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
6101
+ </xsl:when>
6102
+ <xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
6103
+ </xsl:choose>
6088
6104
 
6089
6105
  </xsl:template></xsl:stylesheet>