metanorma-iec 1.2.11 → 1.2.12

Sign up to get free protection for your applications and to get access to all the features.
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>