metanorma-csd 1.0.5 → 1.0.6

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: 3babdd82a2ba14b27acef8c2fae81aa8cfa1e13e3593c110d6ae729aab3cffc9
4
- data.tar.gz: 1359410d9a5ebb955608519cdae0a3c076ae5f61a08bb198dddcdad8d793860e
3
+ metadata.gz: eaad68981589cae6455b1b94677358069a961ffb6e62ab91a69b3860dbeccda4
4
+ data.tar.gz: 24185506cde18d7b892bdac238e7291eb39630db580519edef434829ff1f97e4
5
5
  SHA512:
6
- metadata.gz: ea0e3a111a5b78b1252c31ad4add9396a4fdd962da14f1c7e00f80e17197dbc7ffe76930b0805238caf04d8165f727de7655179d1819fca9eae0bc3eb6792fd1
7
- data.tar.gz: 2fd1b20fbc3a79aa2ef042a8748a1df3ddfdc879c1115be9ca92a8daaf5568f15dd6c3aca02e868be2b25eada2cf68c87dbb913eb86a982cc27f5ff101383bdf
6
+ metadata.gz: 4f23d50bf746f07baa2d5f32e6062d6200aa1e78b192ee1344a821263131ff7c92d096518491ffa6a989840579e960237d3ccc3846860335730bfcb2c31ffdcb
7
+ data.tar.gz: 47014826ba3126644bb020068011749b522df699d6884c25bf93bb8ac4ef0cf55637ecdfe188c8504f0dc034462b4c9e98db1451082c81a1aa3c2e5d592125c3
data/README.adoc CHANGED
@@ -132,15 +132,19 @@ the document was issued
132
132
  (mandatory). (The first line of the AsciiDoc document, which contains the title
133
133
  introduced with `=`, is ignored)
134
134
 
135
- `:doctype:`:: The document type (see CSD deliverables: The different types of
136
- CSD publications) (mandatory). The permitted types are:
135
+ `:doctype:`:: The document type (see _CSD deliverables: The different types of
136
+ CSD publications_) (mandatory). Note that the document types are reflected in the
137
+ document identifier. The permitted types are:
137
138
  +
138
139
  --
139
- code:: Code Artifact
140
- presentation:: Presentation
141
- proposal:: Proposal; includes IETF DRAFT
142
- standard:: Recommendation; includes IETF RFC
143
- report:: report
140
+ standard:: Standard (no suffix on identifier; e.g. `CC 1`)
141
+ directive:: Directive (suffix `DIR`, e.g. `CC/DIR 1`)
142
+ guide:: Guide (suffix `Guide`)
143
+ specification:: Specification (suffix `S`)
144
+ report:: Report (suffix `R`)
145
+ administrative:: Administrative (suffix `A`)
146
+ amendment:: Amendment (suffix `Amd`)
147
+ technical corrigendum:: Technical Corrigendum (suffix `Cor`)
144
148
  --
145
149
 
146
150
  `:status:``:: The document status. The permitted types are: `proposal`,
@@ -148,7 +152,12 @@ report:: report
148
152
  `published`, `withdrawn`.
149
153
 
150
154
  `:technical-committee:`:: The name of the relevant CSD technical committee
151
- (mandatory)
155
+ `:technical-committee-type:`:: The type of the relevant CSD technical committee
156
+ (mandatory): `technical`, `provisional`
157
+ `:technical-committee_2:`:: The name of a second relevant CSD technical committee;
158
+ other committees are added as `_3`, `_4`...
159
+ `:technical-committee-type_2:`:: The type of a second relevant CSD technical committee;
160
+ other committees are added as `_3`, `_4`...
152
161
 
153
162
  `:language:` :: The language of the document (only `en` for now) (mandatory)
154
163
 
@@ -259,6 +259,9 @@
259
259
  </define>
260
260
  <define name="uri">
261
261
  <element name="uri">
262
+ <optional>
263
+ <attribute name="type"/>
264
+ </optional>
262
265
  <data type="anyURI"/>
263
266
  </element>
264
267
  </define>
@@ -444,6 +447,9 @@
444
447
  <ref name="BibItemType"/>
445
448
  </attribute>
446
449
  </optional>
450
+ <optional>
451
+ <ref name="fetched"/>
452
+ </optional>
447
453
  <choice>
448
454
  <oneOrMore>
449
455
  <ref name="btitle"/>
@@ -523,6 +529,11 @@
523
529
  <ref name="FormattedString"/>
524
530
  </element>
525
531
  </define>
532
+ <define name="fetched">
533
+ <element name="fetched">
534
+ <data type="dateTime"/>
535
+ </element>
536
+ </define>
526
537
  <define name="validity">
527
538
  <element name="validity">
528
539
  <optional>
@@ -599,6 +610,7 @@
599
610
  <value>issued</value>
600
611
  <value>transmitted</value>
601
612
  <value>copied</value>
613
+ <value>unchanged</value>
602
614
  </choice>
603
615
  </attribute>
604
616
  <choice>
@@ -2,6 +2,7 @@ require "asciidoctor"
2
2
  require "isodoc/csd/html_convert"
3
3
  require "isodoc/csd/word_convert"
4
4
  require "asciidoctor/standoc/converter"
5
+ require "fileutils"
5
6
 
6
7
  module Asciidoctor
7
8
  module Csd
@@ -39,6 +40,12 @@ module Asciidoctor
39
40
  xml.editorialgroup do |a|
40
41
  a.technical_committee node.attr("technical-committee"),
41
42
  **attr_code(type: node.attr("technical-committee-type"))
43
+ i = 2
44
+ while node.attr("technical-committee_#{i}") do
45
+ a.technical_committee node.attr("technical-committee_#{i}"),
46
+ **attr_code(type: node.attr("technical-committee-type_#{i}"))
47
+ i += 1
48
+ end
42
49
  end
43
50
  end
44
51
 
@@ -50,12 +57,37 @@ module Asciidoctor
50
57
  end
51
58
  end
52
59
 
60
+ DOCSUFFIX = {
61
+ "standard": "",
62
+ "directive": "DIR",
63
+ "guide": "Guide",
64
+ "specification": "S",
65
+ "report": "R",
66
+ "amendment": "Amd",
67
+ "technical corrigendum": "Cor",
68
+ "administrative": "A",
69
+ }
70
+
53
71
  def metadata_status(node, xml)
54
- xml.status(**{ format: "plain" }) { |s| s << node.attr("status") }
72
+ status = node.attr("status")
73
+ unless status && %w(FDS DS CD WD published).include?(status)
74
+ warn "#{status} is not a legal status"
75
+ end
76
+ xml.status(**{ format: "plain" }) { |s| s << status }
55
77
  end
56
78
 
57
79
  def metadata_id(node, xml)
58
- xml.docidentifier { |i| i << node.attr("docnumber") }
80
+ id = node.attr("docnumber") || "???"
81
+ typesuffix = DOCSUFFIX[doctype(node)]
82
+ prefix = "CC"
83
+ prefix += "/#{typesuffix}" if typesuffix
84
+ status = node.attr("status")
85
+ status = nil if status == "published"
86
+ prefix += "/#{status}" if status
87
+ year = node.attr("copyright-year")
88
+ id = prefix + " " + id
89
+ id += ":#{year}" if year
90
+ xml.docidentifier { |i| i << id }
59
91
  end
60
92
 
61
93
  def metadata_copyright(node, xml)
@@ -89,7 +121,8 @@ module Asciidoctor
89
121
 
90
122
  def doctype(node)
91
123
  d = node.attr("doctype")
92
- unless %w{presentation code proposal standard report}.include? d
124
+ unless ["standard", "directive", "guide", "specification", "report",
125
+ "amendment", "technical corrigendum" ].include?(d)
93
126
  warn "#{d} is not a legal document type: reverting to 'standard'"
94
127
  d = "standard"
95
128
  end
@@ -108,7 +141,7 @@ module Asciidoctor
108
141
  word_converter(node).convert filename
109
142
  pdf_converter(node).convert filename
110
143
  end
111
- @files_to_delete.each { |f| system "rm #{f}" }
144
+ @files_to_delete.each { |f| FileUtils.rm f }
112
145
  ret
113
146
  end
114
147
 
@@ -98,13 +98,188 @@
98
98
  </define>
99
99
  <define name="BibItemType">
100
100
  <choice>
101
- <value>code</value>
102
- <value>presentation</value>
103
- <value>proposal</value>
101
+ <value>directive</value>
102
+ <value>guide</value>
103
+ <value>specification</value>
104
104
  <value>standard</value>
105
105
  <value>report</value>
106
+ <value>administrative</value>
107
+ <value>amendment</value>
108
+ <value>technical corrigendum</value>
106
109
  </choice>
107
110
  </define>
111
+ <define name="BibliographicItem">
112
+ <optional>
113
+ <attribute name="type">
114
+ <ref name="BibItemType"/>
115
+ </attribute>
116
+ </optional>
117
+ <optional>
118
+ <ref name="fetched"/>
119
+ </optional>
120
+ <choice>
121
+ <oneOrMore>
122
+ <ref name="btitle"/>
123
+ </oneOrMore>
124
+ <ref name="formattedref"/>
125
+ </choice>
126
+ <zeroOrMore>
127
+ <ref name="bsource"/>
128
+ </zeroOrMore>
129
+ <zeroOrMore>
130
+ <ref name="docidentifier"/>
131
+ </zeroOrMore>
132
+ <zeroOrMore>
133
+ <ref name="bdate"/>
134
+ </zeroOrMore>
135
+ <zeroOrMore>
136
+ <ref name="contributor"/>
137
+ </zeroOrMore>
138
+ <optional>
139
+ <ref name="edition"/>
140
+ </optional>
141
+ <zeroOrMore>
142
+ <ref name="biblionote"/>
143
+ </zeroOrMore>
144
+ <zeroOrMore>
145
+ <ref name="language"/>
146
+ </zeroOrMore>
147
+ <zeroOrMore>
148
+ <ref name="script"/>
149
+ </zeroOrMore>
150
+ <zeroOrMore>
151
+ <ref name="abstract"/>
152
+ </zeroOrMore>
153
+ <optional>
154
+ <ref name="status"/>
155
+ </optional>
156
+ <optional>
157
+ <ref name="copyright"/>
158
+ </optional>
159
+ <zeroOrMore>
160
+ <ref name="docrelation"/>
161
+ </zeroOrMore>
162
+ <zeroOrMore>
163
+ <ref name="series"/>
164
+ </zeroOrMore>
165
+ <optional>
166
+ <ref name="medium"/>
167
+ </optional>
168
+ <zeroOrMore>
169
+ <ref name="bplace"/>
170
+ </zeroOrMore>
171
+ <zeroOrMore>
172
+ <ref name="extent"/>
173
+ </zeroOrMore>
174
+ <zeroOrMore>
175
+ <ref name="accesslocation"/>
176
+ </zeroOrMore>
177
+ <optional>
178
+ <ref name="bclassification"/>
179
+ </optional>
180
+ <optional>
181
+ <ref name="validity"/>
182
+ </optional>
183
+ <optional>
184
+ <ref name="editorialgroup"/>
185
+ </optional>
186
+ <zeroOrMore>
187
+ <ref name="ics"/>
188
+ </zeroOrMore>
189
+ <optional>
190
+ <ref name="allParts"/>
191
+ </optional>
192
+ </define>
193
+ <define name="BibData">
194
+ <optional>
195
+ <attribute name="type">
196
+ <ref name="BibItemType"/>
197
+ </attribute>
198
+ </optional>
199
+ <oneOrMore>
200
+ <ref name="btitle"/>
201
+ </oneOrMore>
202
+ <optional>
203
+ <ref name="formattedref"/>
204
+ </optional>
205
+ <zeroOrMore>
206
+ <ref name="bsource"/>
207
+ </zeroOrMore>
208
+ <zeroOrMore>
209
+ <ref name="docidentifier"/>
210
+ </zeroOrMore>
211
+ <zeroOrMore>
212
+ <ref name="bdate"/>
213
+ </zeroOrMore>
214
+ <zeroOrMore>
215
+ <ref name="contributor"/>
216
+ </zeroOrMore>
217
+ <optional>
218
+ <ref name="edition"/>
219
+ </optional>
220
+ <zeroOrMore>
221
+ <ref name="biblionote"/>
222
+ </zeroOrMore>
223
+ <zeroOrMore>
224
+ <ref name="language"/>
225
+ </zeroOrMore>
226
+ <zeroOrMore>
227
+ <ref name="script"/>
228
+ </zeroOrMore>
229
+ <zeroOrMore>
230
+ <ref name="abstract"/>
231
+ </zeroOrMore>
232
+ <optional>
233
+ <ref name="status"/>
234
+ </optional>
235
+ <ref name="copyright"/>
236
+ <zeroOrMore>
237
+ <ref name="docrelation"/>
238
+ </zeroOrMore>
239
+ <zeroOrMore>
240
+ <ref name="series"/>
241
+ </zeroOrMore>
242
+ <optional>
243
+ <ref name="medium"/>
244
+ </optional>
245
+ <zeroOrMore>
246
+ <ref name="bplace"/>
247
+ </zeroOrMore>
248
+ <zeroOrMore>
249
+ <ref name="extent"/>
250
+ </zeroOrMore>
251
+ <zeroOrMore>
252
+ <ref name="accesslocation"/>
253
+ </zeroOrMore>
254
+ <optional>
255
+ <ref name="bclassification"/>
256
+ </optional>
257
+ <optional>
258
+ <ref name="validity"/>
259
+ </optional>
260
+ <ref name="editorialgroup"/>
261
+ <zeroOrMore>
262
+ <ref name="ics"/>
263
+ </zeroOrMore>
264
+ <optional>
265
+ <ref name="allParts"/>
266
+ </optional>
267
+ </define>
268
+ <define name="editorialgroup">
269
+ <element name="editorialgroup">
270
+ <oneOrMore>
271
+ <ref name="technical-committee"/>
272
+ </oneOrMore>
273
+ </element>
274
+ </define>
275
+ <define name="technical-committee">
276
+ <element name="technical-committee">
277
+ <optional>
278
+ <attribute name="type"/>
279
+ </optional>
280
+ <text/>
281
+ </element>
282
+ </define>
108
283
  </include>
109
284
  <define name="pre">
110
285
  <element name="pre">
@@ -69,6 +69,9 @@
69
69
  <ref name="BibItemType"/>
70
70
  </attribute>
71
71
  </optional>
72
+ <optional>
73
+ <ref name="fetched"/>
74
+ </optional>
72
75
  <choice>
73
76
  <oneOrMore>
74
77
  <ref name="btitle"/>
@@ -788,13 +791,15 @@
788
791
  </define>
789
792
  <define name="editorialgroup">
790
793
  <element name="editorialgroup">
791
- <ref name="technical-committee"/>
792
- <optional>
794
+ <oneOrMore>
795
+ <ref name="technical-committee"/>
796
+ </oneOrMore>
797
+ <zeroOrMore>
793
798
  <ref name="subcommittee"/>
794
- </optional>
795
- <optional>
799
+ </zeroOrMore>
800
+ <zeroOrMore>
796
801
  <ref name="workgroup"/>
797
- </optional>
802
+ </zeroOrMore>
798
803
  <optional>
799
804
  <ref name="secretariat"/>
800
805
  </optional>
@@ -611,7 +611,7 @@ div.example {
611
611
  margin-left:70.9pt;
612
612
  text-indent:-70.9pt;
613
613
  }
614
- p.example, li.example, div.example, td.example, td.example p
614
+ p.example, li.example, div.example, td.example
615
615
  { margin:0in;
616
616
  margin-bottom:.0001pt;
617
617
  mso-pagination:none;
@@ -541,10 +541,10 @@ ul > li {
541
541
  display: inline-block; width: 1em;
542
542
  margin-left: -1.2em;
543
543
  }
544
-
545
- li p {
546
- display: inline;
547
- }
544
+
545
+ li p:first-child {
546
+ display: inline;
547
+ }
548
548
 
549
549
  li:first-child {
550
550
  margin-top: 1em;
@@ -76,6 +76,70 @@ p.MsoNormal, li.MsoNormal, div.MsoNormal
76
76
  mso-fareast-font-family:"Times New Roman";
77
77
  mso-ansi-language:EN-US;
78
78
  mso-fareast-language:EN-US;}
79
+ p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
80
+ {mso-style-priority:34;
81
+ mso-style-unhide:no;
82
+ mso-style-qformat:yes;
83
+ margin-top:0cm;
84
+ margin-right:0cm;
85
+ margin-bottom:0cm;
86
+ /* do not put in margin-left, it is specific to list level */
87
+ margin-bottom:.0001pt;
88
+ mso-add-space:auto;
89
+ mso-pagination:widow-orphan;
90
+ font-size:10.5pt;
91
+ font-family:$bodyfont;
92
+ mso-ansi-language:EN-AU;
93
+ mso-fareast-language:EN-US;}
94
+ p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
95
+ {mso-style-priority:34;
96
+ mso-style-unhide:no;
97
+ mso-style-qformat:yes;
98
+ mso-style-type:export-only;
99
+ margin-top:0cm;
100
+ margin-right:0cm;
101
+ margin-bottom:0cm;
102
+ /* do not put in margin-left, it is specific to list level */
103
+ margin-bottom:.0001pt;
104
+ mso-add-space:auto;
105
+ mso-pagination:widow-orphan;
106
+ font-size:10.5pt;
107
+ font-family:$bodyfont;
108
+ mso-ansi-language:EN-AU;
109
+ mso-fareast-language:EN-US;}
110
+ p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
111
+ {mso-style-priority:34;
112
+ mso-style-unhide:no;
113
+ mso-style-qformat:yes;
114
+ mso-style-type:export-only;
115
+ margin-top:0cm;
116
+ margin-right:0cm;
117
+ margin-bottom:0cm;
118
+ /* do not put in margin-left, it is specific to list level */
119
+ margin-bottom:.0001pt;
120
+ mso-add-space:auto;
121
+ mso-pagination:widow-orphan;
122
+ font-size:10.5pt;
123
+ font-family:$bodyfont;
124
+ mso-ansi-language:EN-AU;
125
+ mso-fareast-language:EN-US;}
126
+ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
127
+ {mso-style-priority:34;
128
+ mso-style-unhide:no;
129
+ mso-style-qformat:yes;
130
+ mso-style-type:export-only;
131
+ margin-top:0cm;
132
+ margin-right:0cm;
133
+ margin-bottom:0cm;
134
+ /* do not put in margin-left, it is specific to list level */
135
+ margin-bottom:12.0pt;
136
+ mso-add-space:auto;
137
+ mso-pagination:widow-orphan;
138
+ font-size:10.5pt;
139
+ font-family:$bodyfont;
140
+ mso-ansi-language:EN-AU;
141
+ mso-fareast-language:EN-US;}
142
+
79
143
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
80
144
  {mso-style-noshow:yes;
81
145
  mso-style-unhide:no;
@@ -334,6 +398,8 @@ span.blackgraphtx
334
398
  .MsoChpDefault
335
399
  {mso-style-type:export-only;
336
400
  mso-default-props:yes;}
401
+ div.figure
402
+ {text-align: center;}
337
403
 
338
404
 
339
405
 
@@ -412,6 +478,7 @@ h1.Annex
412
478
  mso-hyphenate:none;
413
479
  tab-stops:27.0pt 35.0pt;
414
480
  font-size:12.0pt;
481
+ font-weight:bold;
415
482
  mso-bidi-font-size:11.0pt;
416
483
  font-family:$headerfont;
417
484
  mso-fareast-font-family:$headerfont;
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Csd
3
- VERSION = "1.0.5"
3
+ VERSION = "1.0.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-csd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-15 00:00:00.000000000 Z
11
+ date: 2018-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-standoc