relaton-iec 0.4.10 → 0.6.0

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: c414019c1b51df3d953ff1b72f7aedcf224d5641ca3b56e16e148b87adad6e4b
4
- data.tar.gz: 5ddf9731a88e930c6e806a4958e824c0f3fcb4173ff8aa42992ae0ab8497a306
3
+ metadata.gz: d7f3dbf2dbe4077736e94767174b242c0fd0d105f60f200f5b290b6c5e827542
4
+ data.tar.gz: ac3e3d6d66433ddc547f6ed33f0f949feb03c36a98badc79c78c6450591464aa
5
5
  SHA512:
6
- metadata.gz: 66c7c9c1cfc36712c7393e0f7b7f27e172346dd59f5d08486159e93d64dbf7cc72e64e2b818bc3c2eda419ddc6b87f54e344fbbd6e45bdcd0c5d7dce2bf65a1e
7
- data.tar.gz: 1ebad1fe7a93c7ec9e776de4afa25151ae67274d44a0478dcea1725705a8c3e3c9c24c2917a1acb19652f1e96e42565eee5d302c6990784ae0ebd335a6afe8f3
6
+ metadata.gz: ad3fd96321c5662612fcf073c7bd43d6cd92be74bee8363e0b348f197c47dba55c1cea4223f2f1c46973359f35d74a2ebe33c8fe5132a8f53736d4a92b885c16
7
+ data.tar.gz: 1683387c8e7b501ab2ee248f9a450b48709ae980260ae60d29994e5d72f0751f2cbccd3f431c02656b083ea0a5d019570bad030ed3bd35ba46403a7c2cf19292
@@ -0,0 +1,27 @@
1
+ # Auto-generated !!! Do not edit it manually
2
+ # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
+ name: macos
4
+
5
+ on: [push]
6
+
7
+ jobs:
8
+ test-macos:
9
+ name: Test on Ruby ${{ matrix.ruby }} macOS
10
+ runs-on: macos-latest
11
+ strategy:
12
+ matrix:
13
+ ruby: [ '2.6', '2.5', '2.4' ]
14
+ steps:
15
+ - uses: actions/checkout@master
16
+ - name: Use Ruby
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ architecture: 'x64'
21
+ - name: Update gems
22
+ run: |
23
+ sudo gem install bundler -v "~> 2" --force
24
+ bundle install --jobs 4 --retry 3
25
+ - name: Run specs
26
+ run: |
27
+ bundle exec rake
@@ -0,0 +1,27 @@
1
+ # Auto-generated !!! Do not edit it manually
2
+ # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
+ name: ubuntu
4
+
5
+ on: [push]
6
+
7
+ jobs:
8
+ test-linux:
9
+ name: Test on Ruby ${{ matrix.ruby }} Ubuntu
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ ruby: [ '2.6', '2.5', '2.4' ]
14
+ steps:
15
+ - uses: actions/checkout@master
16
+ - name: Use Ruby
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ architecture: 'x64'
21
+ - name: Update gems
22
+ run: |
23
+ gem install bundler -v "~> 2"
24
+ bundle install --jobs 4 --retry 3
25
+ - name: Run specs
26
+ run: |
27
+ bundle exec rake
@@ -0,0 +1,30 @@
1
+ # Auto-generated !!! Do not edit it manually
2
+ # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
+ name: windows
4
+
5
+ on: [push]
6
+
7
+ jobs:
8
+ test-windows:
9
+ name: Test on Ruby ${{ matrix.ruby }} Windows
10
+ runs-on: windows-latest
11
+ strategy:
12
+ matrix:
13
+ ruby: [ '2.6', '2.5', '2.4' ]
14
+ steps:
15
+ - uses: actions/checkout@master
16
+ - name: Use Ruby
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ architecture: 'x64'
21
+ - name: Update gems
22
+ shell: pwsh
23
+ run: |
24
+ gem install bundler -v "~> 2.0.2"
25
+ bundle config --local path vendor/bundle
26
+ bundle update
27
+ bundle install --jobs 4 --retry 3
28
+ - name: Run specs
29
+ run: |
30
+ bundle exec rake
data/.gitignore CHANGED
@@ -11,3 +11,4 @@
11
11
 
12
12
  # rspec failure tracking
13
13
  .rspec_status
14
+ Gemfile.lock
data/README.adoc CHANGED
@@ -1,9 +1,12 @@
1
1
  = RelatonIec: retrieve IEC Standards for bibliographic use using the BibliographicItem model
2
2
 
3
- image:https://img.shields.io/gem/v/relaton_iec.svg["Gem Version", link="https://rubygems.org/gems/relaton_iec"]
4
- image:https://img.shields.io/travis/metanorma/relaton_iec/master.svg["Build Status", link="https://travis-ci.com/metanorma/relaton_iec"]
5
- image:https://ci.appveyor.com/api/projects/status/ewepoefhla5h76p7?svg=true["Appveyor Build Status", link="https://ci.appveyor.com/project/ribose/relaton_iec"]
6
- image:https://codeclimate.com/github/metanorma/relaton_iec/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/metanorma/relaton_iec"]
3
+ image:https://img.shields.io/gem/v/relaton-iec.svg["Gem Version", link="https://rubygems.org/gems/relaton-iec"]
4
+ image:https://github.com/relaton/relaton-iec/workflows/macos/badge.svg["Build Status (macOS)", link="https://github.com/relaton/relaton-iec/actions?workflow=macos"]
5
+ image:https://github.com/relaton/relaton-iec/workflows/windows/badge.svg["Build Status (Windows)", link="https://github.com/relaton/relaton-iec/actions?workflow=windows"]
6
+ image:https://github.com/relaton/relaton-iec/workflows/ubuntu/badge.svg["Build Status (Ubuntu)", link="https://github.com/relaton/relaton-iec/actions?workflow=ubuntu"]
7
+ image:https://codeclimate.com/github/relaton/relaton-iec/badges/gpa.svg["Code Climate", link="https://codeclimate.com/github/relaton/relaton-iec"]
8
+ image:https://img.shields.io/github/issues-pr-raw/relaton/relaton-iec.svg["Pull Requests", link="https://github.com/relaton/relaton-iec/pulls"]
9
+ image:https://img.shields.io/github/commits-since/relaton/relaton-iec/latest.svg["Commits since latest",link="https://github.com/relaton/relaton-iec/releases"]
7
10
 
8
11
  RelatonIec is a Ruby gem that implements the https://github.com/metanorma/metanorma-model-iso#iso-bibliographic-item[IsoBibliographicItem model].
9
12
 
data/grammars ADDED
@@ -0,0 +1,857 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <include href="isodoc.rng">
4
+ <start>
5
+ <ref name="iso-standard"/>
6
+ </start>
7
+ <define name="organization">
8
+ <element name="organization">
9
+ <oneOrMore>
10
+ <ref name="orgname"/>
11
+ </oneOrMore>
12
+ <optional>
13
+ <ref name="abbreviation"/>
14
+ </optional>
15
+ <optional>
16
+ <ref name="uri"/>
17
+ </optional>
18
+ <zeroOrMore>
19
+ <ref name="org-identifier"/>
20
+ </zeroOrMore>
21
+ <zeroOrMore>
22
+ <ref name="contact"/>
23
+ </zeroOrMore>
24
+ <optional>
25
+ <ref name="technical-committee"/>
26
+ </optional>
27
+ <optional>
28
+ <ref name="subcommittee"/>
29
+ </optional>
30
+ <optional>
31
+ <ref name="workgroup"/>
32
+ </optional>
33
+ <optional>
34
+ <ref name="secretariat"/>
35
+ </optional>
36
+ </element>
37
+ </define>
38
+ <define name="BibDataExtensionType">
39
+ <optional>
40
+ <ref name="doctype"/>
41
+ </optional>
42
+ <ref name="editorialgroup"/>
43
+ <zeroOrMore>
44
+ <ref name="ics"/>
45
+ </zeroOrMore>
46
+ <ref name="structuredidentifier"/>
47
+ </define>
48
+ <define name="bdate">
49
+ <element name="date">
50
+ <attribute name="type">
51
+ <choice>
52
+ <ref name="BibliographicDateType"/>
53
+ <text/>
54
+ </choice>
55
+ </attribute>
56
+ <choice>
57
+ <group>
58
+ <element name="from">
59
+ <ref name="ISO8601Date"/>
60
+ </element>
61
+ <optional>
62
+ <element name="to">
63
+ <ref name="ISO8601Date"/>
64
+ </element>
65
+ </optional>
66
+ </group>
67
+ <element name="on">
68
+ <choice>
69
+ <ref name="ISO8601Date"/>
70
+ <value>--</value>
71
+ </choice>
72
+ </element>
73
+ </choice>
74
+ </element>
75
+ </define>
76
+ <define name="sections">
77
+ <element name="sections">
78
+ <ref name="clause"/>
79
+ <choice>
80
+ <ref name="term-clause"/>
81
+ <ref name="terms"/>
82
+ </choice>
83
+ <optional>
84
+ <ref name="definitions"/>
85
+ </optional>
86
+ <oneOrMore>
87
+ <ref name="clause"/>
88
+ </oneOrMore>
89
+ </element>
90
+ </define>
91
+ <define name="Basic-Section">
92
+ <optional>
93
+ <attribute name="id">
94
+ <data type="ID"/>
95
+ </attribute>
96
+ </optional>
97
+ <optional>
98
+ <attribute name="language"/>
99
+ </optional>
100
+ <optional>
101
+ <attribute name="script"/>
102
+ </optional>
103
+ <optional>
104
+ <attribute name="obligation">
105
+ <choice>
106
+ <value>normative</value>
107
+ <value>informative</value>
108
+ </choice>
109
+ </attribute>
110
+ </optional>
111
+ <optional>
112
+ <ref name="section-title"/>
113
+ </optional>
114
+ <group>
115
+ <oneOrMore>
116
+ <ref name="BasicBlock"/>
117
+ </oneOrMore>
118
+ <zeroOrMore>
119
+ <ref name="note"/>
120
+ </zeroOrMore>
121
+ </group>
122
+ </define>
123
+ <define name="Content-Section">
124
+ <optional>
125
+ <attribute name="id">
126
+ <data type="ID"/>
127
+ </attribute>
128
+ </optional>
129
+ <optional>
130
+ <attribute name="language"/>
131
+ </optional>
132
+ <optional>
133
+ <attribute name="script"/>
134
+ </optional>
135
+ <optional>
136
+ <attribute name="obligation">
137
+ <choice>
138
+ <value>normative</value>
139
+ <value>informative</value>
140
+ </choice>
141
+ </attribute>
142
+ </optional>
143
+ <optional>
144
+ <ref name="section-title"/>
145
+ </optional>
146
+ <choice>
147
+ <group>
148
+ <oneOrMore>
149
+ <ref name="BasicBlock"/>
150
+ </oneOrMore>
151
+ <zeroOrMore>
152
+ <ref name="note"/>
153
+ </zeroOrMore>
154
+ </group>
155
+ <oneOrMore>
156
+ <ref name="content-subsection"/>
157
+ </oneOrMore>
158
+ </choice>
159
+ </define>
160
+ <define name="Clause-Section">
161
+ <optional>
162
+ <attribute name="id">
163
+ <data type="ID"/>
164
+ </attribute>
165
+ </optional>
166
+ <optional>
167
+ <attribute name="language"/>
168
+ </optional>
169
+ <optional>
170
+ <attribute name="script"/>
171
+ </optional>
172
+ <optional>
173
+ <attribute name="inline-header">
174
+ <data type="boolean"/>
175
+ </attribute>
176
+ </optional>
177
+ <optional>
178
+ <attribute name="obligation">
179
+ <choice>
180
+ <value>normative</value>
181
+ <value>informative</value>
182
+ </choice>
183
+ </attribute>
184
+ </optional>
185
+ <optional>
186
+ <ref name="section-title"/>
187
+ </optional>
188
+ <choice>
189
+ <group>
190
+ <oneOrMore>
191
+ <ref name="BasicBlock"/>
192
+ </oneOrMore>
193
+ <zeroOrMore>
194
+ <ref name="note"/>
195
+ </zeroOrMore>
196
+ </group>
197
+ <oneOrMore>
198
+ <ref name="clause-subsection"/>
199
+ </oneOrMore>
200
+ </choice>
201
+ </define>
202
+ <define name="references">
203
+ <element name="references">
204
+ <optional>
205
+ <attribute name="id">
206
+ <data type="ID"/>
207
+ </attribute>
208
+ </optional>
209
+ <optional>
210
+ <attribute name="obligation">
211
+ <choice>
212
+ <value>normative</value>
213
+ <value>informative</value>
214
+ </choice>
215
+ </attribute>
216
+ </optional>
217
+ <optional>
218
+ <ref name="section-title"/>
219
+ </optional>
220
+ <zeroOrMore>
221
+ <ref name="BasicBlock"/>
222
+ </zeroOrMore>
223
+ <zeroOrMore>
224
+ <ref name="bibitem"/>
225
+ <zeroOrMore>
226
+ <ref name="note"/>
227
+ </zeroOrMore>
228
+ </zeroOrMore>
229
+ <zeroOrMore>
230
+ <ref name="references"/>
231
+ </zeroOrMore>
232
+ </element>
233
+ </define>
234
+ <define name="definitions">
235
+ <element name="definitions">
236
+ <optional>
237
+ <attribute name="id">
238
+ <data type="ID"/>
239
+ </attribute>
240
+ </optional>
241
+ <optional>
242
+ <attribute name="language"/>
243
+ </optional>
244
+ <optional>
245
+ <attribute name="script"/>
246
+ </optional>
247
+ <optional>
248
+ <attribute name="obligation">
249
+ <choice>
250
+ <value>normative</value>
251
+ <value>informative</value>
252
+ </choice>
253
+ </attribute>
254
+ </optional>
255
+ <zeroOrMore>
256
+ <ref name="BasicBlock"/>
257
+ </zeroOrMore>
258
+ <ref name="dl"/>
259
+ </element>
260
+ </define>
261
+ <define name="terms">
262
+ <element name="terms">
263
+ <optional>
264
+ <attribute name="id">
265
+ <data type="ID"/>
266
+ </attribute>
267
+ </optional>
268
+ <optional>
269
+ <attribute name="language"/>
270
+ </optional>
271
+ <optional>
272
+ <attribute name="script"/>
273
+ </optional>
274
+ <optional>
275
+ <attribute name="obligation">
276
+ <choice>
277
+ <value>normative</value>
278
+ <value>informative</value>
279
+ </choice>
280
+ </attribute>
281
+ </optional>
282
+ <optional>
283
+ <ref name="section-title"/>
284
+ </optional>
285
+ <zeroOrMore>
286
+ <ref name="BasicBlock"/>
287
+ </zeroOrMore>
288
+ <choice>
289
+ <oneOrMore>
290
+ <ref name="term"/>
291
+ </oneOrMore>
292
+ <group>
293
+ <zeroOrMore>
294
+ <ref name="terms"/>
295
+ </zeroOrMore>
296
+ <optional>
297
+ <ref name="definitions"/>
298
+ </optional>
299
+ </group>
300
+ </choice>
301
+ </element>
302
+ </define>
303
+ <define name="term">
304
+ <element name="term">
305
+ <optional>
306
+ <attribute name="id">
307
+ <data type="ID"/>
308
+ </attribute>
309
+ </optional>
310
+ <ref name="preferred"/>
311
+ <zeroOrMore>
312
+ <ref name="admitted"/>
313
+ </zeroOrMore>
314
+ <zeroOrMore>
315
+ <ref name="deprecates"/>
316
+ </zeroOrMore>
317
+ <optional>
318
+ <ref name="termdomain"/>
319
+ </optional>
320
+ <ref name="definition"/>
321
+ <zeroOrMore>
322
+ <ref name="termnote"/>
323
+ </zeroOrMore>
324
+ <zeroOrMore>
325
+ <ref name="termexample"/>
326
+ </zeroOrMore>
327
+ <zeroOrMore>
328
+ <ref name="termsource"/>
329
+ </zeroOrMore>
330
+ </element>
331
+ </define>
332
+ <define name="definition">
333
+ <element name="definition">
334
+ <oneOrMore>
335
+ <choice>
336
+ <ref name="paragraph"/>
337
+ <ref name="figure"/>
338
+ <ref name="formula"/>
339
+ </choice>
340
+ </oneOrMore>
341
+ </element>
342
+ </define>
343
+ <define name="annex">
344
+ <element name="annex">
345
+ <optional>
346
+ <attribute name="id">
347
+ <data type="ID"/>
348
+ </attribute>
349
+ </optional>
350
+ <optional>
351
+ <attribute name="language"/>
352
+ </optional>
353
+ <optional>
354
+ <attribute name="script"/>
355
+ </optional>
356
+ <optional>
357
+ <attribute name="inline-header">
358
+ <data type="boolean"/>
359
+ </attribute>
360
+ </optional>
361
+ <optional>
362
+ <attribute name="obligation">
363
+ <choice>
364
+ <value>normative</value>
365
+ <value>informative</value>
366
+ </choice>
367
+ </attribute>
368
+ </optional>
369
+ <optional>
370
+ <ref name="section-title"/>
371
+ </optional>
372
+ <zeroOrMore>
373
+ <!--
374
+ allow hanging paragraps in annexes: they introduce lists
375
+ ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | figure | quote | sourcecode | review | example )*,
376
+ -->
377
+ <ref name="BasicBlock"/>
378
+ </zeroOrMore>
379
+ <zeroOrMore>
380
+ <ref name="note"/>
381
+ </zeroOrMore>
382
+ <zeroOrMore>
383
+ <ref name="clause-hanging-paragraph-with-footnote"/>
384
+ </zeroOrMore>
385
+ <zeroOrMore>
386
+ <ref name="annex-appendix"/>
387
+ </zeroOrMore>
388
+ </element>
389
+ </define>
390
+ <define name="figure">
391
+ <element name="figure">
392
+ <attribute name="id">
393
+ <data type="ID"/>
394
+ </attribute>
395
+ <optional>
396
+ <ref name="tname"/>
397
+ </optional>
398
+ <choice>
399
+ <ref name="image"/>
400
+ <oneOrMore>
401
+ <ref name="subfigure"/>
402
+ </oneOrMore>
403
+ </choice>
404
+ <zeroOrMore>
405
+ <ref name="fn"/>
406
+ </zeroOrMore>
407
+ <optional>
408
+ <ref name="dl"/>
409
+ </optional>
410
+ <zeroOrMore>
411
+ <ref name="note"/>
412
+ </zeroOrMore>
413
+ </element>
414
+ </define>
415
+ <define name="li">
416
+ <element name="li">
417
+ <group>
418
+ <optional>
419
+ <!-- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )+ -->
420
+ <attribute name="id">
421
+ <data type="ID"/>
422
+ </attribute>
423
+ </optional>
424
+ <oneOrMore>
425
+ <ref name="BasicBlock"/>
426
+ </oneOrMore>
427
+ </group>
428
+ <!-- exclude figures? -->
429
+ </element>
430
+ </define>
431
+ <define name="dd">
432
+ <element name="dd">
433
+ <zeroOrMore>
434
+ <!--
435
+ ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )*
436
+ exclude figures?
437
+ -->
438
+ <ref name="BasicBlock"/>
439
+ </zeroOrMore>
440
+ </element>
441
+ </define>
442
+ <define name="admonition">
443
+ <element name="admonition">
444
+ <attribute name="id">
445
+ <data type="ID"/>
446
+ </attribute>
447
+ <attribute name="type">
448
+ <choice>
449
+ <value>danger</value>
450
+ <value>caution</value>
451
+ <value>warning</value>
452
+ <value>important</value>
453
+ <value>safety precautions</value>
454
+ </choice>
455
+ </attribute>
456
+ <oneOrMore>
457
+ <ref name="paragraph-with-footnote"/>
458
+ </oneOrMore>
459
+ <zeroOrMore>
460
+ <ref name="note"/>
461
+ </zeroOrMore>
462
+ </element>
463
+ </define>
464
+ <define name="xref">
465
+ <element name="xref">
466
+ <attribute name="target">
467
+ <data type="IDREF"/>
468
+ </attribute>
469
+ <text/>
470
+ </element>
471
+ </define>
472
+ <define name="hyperlink">
473
+ <element name="link">
474
+ <attribute name="target">
475
+ <data type="anyURI"/>
476
+ </attribute>
477
+ <text/>
478
+ </element>
479
+ </define>
480
+ <define name="thead">
481
+ <element name="thead">
482
+ <oneOrMore>
483
+ <ref name="tr"/>
484
+ </oneOrMore>
485
+ </element>
486
+ </define>
487
+ <define name="td">
488
+ <element name="td">
489
+ <optional>
490
+ <attribute name="colspan"/>
491
+ </optional>
492
+ <optional>
493
+ <attribute name="rowspan"/>
494
+ </optional>
495
+ <optional>
496
+ <attribute name="align">
497
+ <choice>
498
+ <value>left</value>
499
+ <value>right</value>
500
+ <value>center</value>
501
+ </choice>
502
+ </attribute>
503
+ </optional>
504
+ <choice>
505
+ <zeroOrMore>
506
+ <choice>
507
+ <ref name="TextElement"/>
508
+ <ref name="fn"/>
509
+ </choice>
510
+ </zeroOrMore>
511
+ <oneOrMore>
512
+ <ref name="paragraph-with-footnote"/>
513
+ </oneOrMore>
514
+ </choice>
515
+ </element>
516
+ </define>
517
+ <define name="th">
518
+ <element name="th">
519
+ <optional>
520
+ <attribute name="colspan"/>
521
+ </optional>
522
+ <optional>
523
+ <attribute name="rowspan"/>
524
+ </optional>
525
+ <optional>
526
+ <attribute name="align">
527
+ <choice>
528
+ <value>left</value>
529
+ <value>right</value>
530
+ <value>center</value>
531
+ </choice>
532
+ </attribute>
533
+ </optional>
534
+ <choice>
535
+ <zeroOrMore>
536
+ <choice>
537
+ <ref name="TextElement"/>
538
+ <ref name="fn"/>
539
+ </choice>
540
+ </zeroOrMore>
541
+ <oneOrMore>
542
+ <ref name="paragraph-with-footnote"/>
543
+ </oneOrMore>
544
+ </choice>
545
+ </element>
546
+ </define>
547
+ <define name="table-note">
548
+ <element name="note">
549
+ <optional>
550
+ <attribute name="id">
551
+ <data type="ID"/>
552
+ </attribute>
553
+ </optional>
554
+ <ref name="paragraph"/>
555
+ </element>
556
+ </define>
557
+ <define name="preface">
558
+ <element name="preface">
559
+ <optional>
560
+ <ref name="preface_abstract"/>
561
+ </optional>
562
+ <ref name="foreword"/>
563
+ <optional>
564
+ <ref name="introduction"/>
565
+ </optional>
566
+ </element>
567
+ </define>
568
+ <define name="DocumentType">
569
+ <choice>
570
+ <value>international-standard</value>
571
+ <value>technical-specification</value>
572
+ <value>technical-report</value>
573
+ <value>publicly-available-specification</value>
574
+ <value>international-workshop-agreement</value>
575
+ <value>guide</value>
576
+ </choice>
577
+ </define>
578
+ <define name="structuredidentifier">
579
+ <element name="structuredidentifier">
580
+ <optional>
581
+ <attribute name="type"/>
582
+ </optional>
583
+ <group>
584
+ <ref name="documentnumber"/>
585
+ <optional>
586
+ <ref name="tc-documentnumber"/>
587
+ </optional>
588
+ </group>
589
+ </element>
590
+ </define>
591
+ <define name="foreword">
592
+ <element name="foreword">
593
+ <ref name="Basic-Section"/>
594
+ </element>
595
+ </define>
596
+ <define name="introduction">
597
+ <element name="introduction">
598
+ <ref name="Content-Section"/>
599
+ </element>
600
+ </define>
601
+ </include>
602
+ <!-- end overrides -->
603
+ <!--
604
+ We display the Normative References between scope and terms; but to keep the
605
+ grammar simple, we keep the references together
606
+ -->
607
+ <define name="iso-standard">
608
+ <element name="iso-standard">
609
+ <ref name="bibdata"/>
610
+ <zeroOrMore>
611
+ <ref name="termdocsource"/>
612
+ </zeroOrMore>
613
+ <optional>
614
+ <ref name="boilerplate"/>
615
+ </optional>
616
+ <ref name="preface"/>
617
+ <oneOrMore>
618
+ <ref name="sections"/>
619
+ </oneOrMore>
620
+ <zeroOrMore>
621
+ <ref name="annex"/>
622
+ </zeroOrMore>
623
+ <ref name="bibliography"/>
624
+ </element>
625
+ </define>
626
+ <define name="bibliography">
627
+ <element name="bibliography">
628
+ <oneOrMore>
629
+ <choice>
630
+ <ref name="references"/>
631
+ <ref name="reference-clause"/>
632
+ </choice>
633
+ </oneOrMore>
634
+ </element>
635
+ </define>
636
+ <define name="editorialgroup">
637
+ <element name="editorialgroup">
638
+ <oneOrMore>
639
+ <ref name="technical-committee"/>
640
+ </oneOrMore>
641
+ <zeroOrMore>
642
+ <ref name="subcommittee"/>
643
+ </zeroOrMore>
644
+ <zeroOrMore>
645
+ <ref name="workgroup"/>
646
+ </zeroOrMore>
647
+ <optional>
648
+ <ref name="secretariat"/>
649
+ </optional>
650
+ </element>
651
+ </define>
652
+ <define name="preface_abstract">
653
+ <element name="abstract">
654
+ <ref name="Basic-Section"/>
655
+ </element>
656
+ </define>
657
+ <define name="documentnumber">
658
+ <element name="project-number">
659
+ <optional>
660
+ <attribute name="part">
661
+ <data type="int"/>
662
+ </attribute>
663
+ </optional>
664
+ <optional>
665
+ <attribute name="subpart">
666
+ <data type="int"/>
667
+ </attribute>
668
+ </optional>
669
+ <text/>
670
+ </element>
671
+ </define>
672
+ <define name="tc-documentnumber">
673
+ <element name="tc-document-number">
674
+ <data type="int"/>
675
+ </element>
676
+ </define>
677
+ <define name="technical-committee">
678
+ <element name="technical-committee">
679
+ <ref name="IsoWorkgroup"/>
680
+ </element>
681
+ </define>
682
+ <define name="subcommittee">
683
+ <element name="subcommittee">
684
+ <ref name="IsoWorkgroup"/>
685
+ </element>
686
+ </define>
687
+ <define name="workgroup">
688
+ <element name="workgroup">
689
+ <ref name="IsoWorkgroup"/>
690
+ </element>
691
+ </define>
692
+ <define name="IsoWorkgroup">
693
+ <optional>
694
+ <attribute name="number">
695
+ <data type="int"/>
696
+ </attribute>
697
+ </optional>
698
+ <optional>
699
+ <attribute name="type"/>
700
+ </optional>
701
+ <text/>
702
+ </define>
703
+ <define name="secretariat">
704
+ <element name="secretariat">
705
+ <text/>
706
+ </element>
707
+ </define>
708
+ <define name="clause-hanging-paragraph-with-footnote">
709
+ <element name="clause">
710
+ <optional>
711
+ <attribute name="id">
712
+ <data type="ID"/>
713
+ </attribute>
714
+ </optional>
715
+ <optional>
716
+ <attribute name="language"/>
717
+ </optional>
718
+ <optional>
719
+ <attribute name="script"/>
720
+ </optional>
721
+ <optional>
722
+ <attribute name="inline-header">
723
+ <data type="boolean"/>
724
+ </attribute>
725
+ </optional>
726
+ <optional>
727
+ <attribute name="obligation">
728
+ <choice>
729
+ <value>normative</value>
730
+ <value>informative</value>
731
+ </choice>
732
+ </attribute>
733
+ </optional>
734
+ <optional>
735
+ <ref name="section-title"/>
736
+ </optional>
737
+ <zeroOrMore>
738
+ <!-- allow hanging paragraphs in annexes: they introduce lists -->
739
+ <ref name="BasicBlock"/>
740
+ </zeroOrMore>
741
+ <zeroOrMore>
742
+ <ref name="note"/>
743
+ </zeroOrMore>
744
+ <zeroOrMore>
745
+ <ref name="clause-hanging-paragraph-with-footnote"/>
746
+ </zeroOrMore>
747
+ </element>
748
+ </define>
749
+ <define name="subfigure">
750
+ <element name="figure">
751
+ <attribute name="id">
752
+ <data type="ID"/>
753
+ </attribute>
754
+ <optional>
755
+ <ref name="tname"/>
756
+ </optional>
757
+ <ref name="image"/>
758
+ </element>
759
+ </define>
760
+ <define name="termdocsource">
761
+ <element name="termdocsource">
762
+ <ref name="CitationType"/>
763
+ </element>
764
+ </define>
765
+ <define name="ics">
766
+ <element name="ics">
767
+ <element name="code">
768
+ <text/>
769
+ </element>
770
+ <element name="text">
771
+ <text/>
772
+ </element>
773
+ </element>
774
+ </define>
775
+ <define name="term-clause">
776
+ <element name="clause">
777
+ <optional>
778
+ <attribute name="id">
779
+ <data type="ID"/>
780
+ </attribute>
781
+ </optional>
782
+ <optional>
783
+ <attribute name="language"/>
784
+ </optional>
785
+ <optional>
786
+ <attribute name="script"/>
787
+ </optional>
788
+ <optional>
789
+ <attribute name="inline-header">
790
+ <data type="boolean"/>
791
+ </attribute>
792
+ </optional>
793
+ <optional>
794
+ <attribute name="obligation">
795
+ <choice>
796
+ <value>normative</value>
797
+ <value>informative</value>
798
+ </choice>
799
+ </attribute>
800
+ </optional>
801
+ <optional>
802
+ <ref name="section-title"/>
803
+ </optional>
804
+ <zeroOrMore>
805
+ <choice>
806
+ <ref name="term-clause"/>
807
+ <ref name="terms"/>
808
+ <ref name="definitions"/>
809
+ </choice>
810
+ </zeroOrMore>
811
+ </element>
812
+ </define>
813
+ <define name="reference-clause">
814
+ <element name="clause">
815
+ <optional>
816
+ <attribute name="id">
817
+ <data type="ID"/>
818
+ </attribute>
819
+ </optional>
820
+ <optional>
821
+ <attribute name="language"/>
822
+ </optional>
823
+ <optional>
824
+ <attribute name="script"/>
825
+ </optional>
826
+ <optional>
827
+ <attribute name="inline-header">
828
+ <data type="boolean"/>
829
+ </attribute>
830
+ </optional>
831
+ <optional>
832
+ <attribute name="obligation">
833
+ <choice>
834
+ <value>normative</value>
835
+ <value>informative</value>
836
+ </choice>
837
+ </attribute>
838
+ </optional>
839
+ <optional>
840
+ <ref name="section-title"/>
841
+ </optional>
842
+ <choice>
843
+ <oneOrMore>
844
+ <ref name="reference-clause"/>
845
+ </oneOrMore>
846
+ <zeroOrMore>
847
+ <ref name="references"/>
848
+ </zeroOrMore>
849
+ </choice>
850
+ </element>
851
+ </define>
852
+ <define name="annex-appendix">
853
+ <element name="appendix">
854
+ <ref name="Clause-Section"/>
855
+ </element>
856
+ </define>
857
+ </grammar>
@@ -29,7 +29,7 @@ module RelatonIec
29
29
  # @return [String] Relaton XML serialisation of reference
30
30
  def get(code, year = nil, opts = {})
31
31
  if year.nil?
32
- /^(?<code1>[^:]+):(?<year1>[^:]+)$/ =~ code
32
+ /^(?<code1>[^:]+):(?<year1>[^:]+)/ =~ code
33
33
  unless code1.nil?
34
34
  code = code1
35
35
  year = year1
@@ -38,7 +38,8 @@ module RelatonIec
38
38
 
39
39
  return iev if code.casecmp("IEV").zero?
40
40
 
41
- code += "-1" if opts[:all_parts]
41
+ opts[:all_parts] ||= !(code =~ / \(all parts\)/).nil?
42
+ code = code.sub(/ \(all parts\)/, "")
42
43
  ret = iecbib_get1(code, year, opts)
43
44
  return nil if ret.nil?
44
45
 
@@ -81,7 +82,7 @@ module RelatonIec
81
82
  result = search(code)
82
83
  result.select do |i|
83
84
  i.hit[:code] &&
84
- i.hit[:code].match(docidrx).to_s == code &&
85
+ i.hit[:code].match(docidrx).to_s.include?(code) &&
85
86
  corrigrx !~ i.hit[:code]
86
87
  end
87
88
  end
@@ -5,7 +5,7 @@ module RelatonIec
5
5
  def initialize
6
6
  @short = :relaton_iec
7
7
  @prefix = "IEC"
8
- @defaultprefix = %r{^(IEC)[ /]|^IEV($| )}
8
+ @defaultprefix = %r{^IEC\s|^IEV($|\s)}
9
9
  @idtype = "IEC"
10
10
  end
11
11
 
@@ -29,5 +29,11 @@ module RelatonIec
29
29
  item_hash = ::RelatonIsoBib::HashConverter.hash_to_bib(hash)
30
30
  ::RelatonIsoBib::IsoBibliographicItem.new item_hash
31
31
  end
32
+
33
+ # Returns hash of XML grammar
34
+ # @return [String]
35
+ def grammar_hash
36
+ @grammar_hash ||= ::RelatonIsoBib.grammar_hash
37
+ end
32
38
  end
33
39
  end
@@ -74,6 +74,7 @@ module RelatonIec
74
74
  copyright: fetch_copyright(hit_data[:code], doc),
75
75
  link: fetch_link(doc, hit_data[:url]),
76
76
  relation: relations,
77
+ place: ["Geneva"],
77
78
  )
78
79
  end
79
80
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
@@ -1,3 +1,3 @@
1
1
  module RelatonIec
2
- VERSION = "0.4.10".freeze
2
+ VERSION = "0.6.0".freeze
3
3
  end
data/relaton_iec.gemspec CHANGED
@@ -23,7 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ["lib"]
24
24
  spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
25
25
 
26
- spec.add_development_dependency "bundler", "~> 2.0.1"
27
26
  spec.add_development_dependency "debase"
28
27
  spec.add_development_dependency "equivalent-xml", "~> 0.6"
29
28
  spec.add_development_dependency "pry-byebug"
@@ -35,5 +34,5 @@ Gem::Specification.new do |spec|
35
34
  spec.add_development_dependency "webmock"
36
35
 
37
36
  spec.add_dependency "addressable"
38
- spec.add_dependency "relaton-iso-bib", "~> 0.3.0"
37
+ spec.add_dependency "relaton-iso-bib", "~> 0.5.0"
39
38
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.10
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-31 00:00:00.000000000 Z
11
+ date: 2020-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 2.0.1
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 2.0.1
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: debase
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +156,14 @@ dependencies:
170
156
  requirements:
171
157
  - - "~>"
172
158
  - !ruby/object:Gem::Version
173
- version: 0.3.0
159
+ version: 0.5.0
174
160
  type: :runtime
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
164
  - - "~>"
179
165
  - !ruby/object:Gem::Version
180
- version: 0.3.0
166
+ version: 0.5.0
181
167
  description: 'RelatonIec: retrieve IEC Standards for bibliographic use using the IsoBibliographicItem
182
168
  model'
183
169
  email:
@@ -186,18 +172,19 @@ executables: []
186
172
  extensions: []
187
173
  extra_rdoc_files: []
188
174
  files:
175
+ - ".github/workflows/macos.yml"
176
+ - ".github/workflows/ubuntu.yml"
177
+ - ".github/workflows/windows.yml"
189
178
  - ".gitignore"
190
179
  - ".rspec"
191
180
  - ".rubocop.yml"
192
- - ".travis.yml"
193
181
  - Gemfile
194
- - Gemfile.lock
195
182
  - LICENSE.txt
196
183
  - README.adoc
197
184
  - Rakefile
198
- - appveyor.yml
199
185
  - bin/console
200
186
  - bin/setup
187
+ - grammars
201
188
  - lib/relaton_iec.rb
202
189
  - lib/relaton_iec/hit.rb
203
190
  - lib/relaton_iec/hit_collection.rb
data/.travis.yml DELETED
@@ -1,18 +0,0 @@
1
- # Auto-generated !!! Do not edit it manually
2
- # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
- language: ruby
4
- cache: bundler
5
- os:
6
- - linux
7
- - osx
8
- rvm:
9
- - 2.6
10
- - 2.5
11
- - 2.4
12
- - ruby-head
13
- before_install:
14
- - gem install bundler -v "~> 2"
15
- - bundle update
16
- matrix:
17
- allow_failures:
18
- - rvm: ruby-head
data/Gemfile.lock DELETED
@@ -1,91 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- relaton-iec (0.4.10)
5
- addressable
6
- relaton-iso-bib (~> 0.3.0)
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- addressable (2.7.0)
12
- public_suffix (>= 2.0.2, < 5.0)
13
- byebug (11.0.1)
14
- coderay (1.1.2)
15
- crack (0.4.3)
16
- safe_yaml (~> 1.0.0)
17
- debase (0.2.4.1)
18
- debase-ruby_core_source (>= 0.10.2)
19
- debase-ruby_core_source (0.10.5)
20
- diff-lcs (1.3)
21
- docile (1.3.2)
22
- equivalent-xml (0.6.0)
23
- nokogiri (>= 1.4.3)
24
- hashdiff (1.0.0)
25
- isoics (0.1.8)
26
- json (2.2.0)
27
- method_source (0.9.2)
28
- mini_portile2 (2.4.0)
29
- nokogiri (1.10.4)
30
- mini_portile2 (~> 2.4.0)
31
- pry (0.12.2)
32
- coderay (~> 1.1.0)
33
- method_source (~> 0.9.0)
34
- pry-byebug (3.7.0)
35
- byebug (~> 11.0)
36
- pry (~> 0.10)
37
- public_suffix (4.0.1)
38
- rake (10.5.0)
39
- relaton-bib (0.3.12)
40
- addressable
41
- nokogiri
42
- relaton-iso-bib (0.3.12)
43
- isoics (~> 0.1.6)
44
- relaton-bib (~> 0.3.0)
45
- ruby_deep_clone (~> 0.8.0)
46
- rspec (3.8.0)
47
- rspec-core (~> 3.8.0)
48
- rspec-expectations (~> 3.8.0)
49
- rspec-mocks (~> 3.8.0)
50
- rspec-core (3.8.2)
51
- rspec-support (~> 3.8.0)
52
- rspec-expectations (3.8.4)
53
- diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.8.0)
55
- rspec-mocks (3.8.1)
56
- diff-lcs (>= 1.2.0, < 2.0)
57
- rspec-support (~> 3.8.0)
58
- rspec-support (3.8.2)
59
- ruby-debug-ide (0.7.0)
60
- rake (>= 0.8.1)
61
- ruby_deep_clone (0.8.0)
62
- safe_yaml (1.0.5)
63
- simplecov (0.17.0)
64
- docile (~> 1.1)
65
- json (>= 1.8, < 3)
66
- simplecov-html (~> 0.10.0)
67
- simplecov-html (0.10.2)
68
- vcr (5.0.0)
69
- webmock (3.7.2)
70
- addressable (>= 2.3.6)
71
- crack (>= 0.3.2)
72
- hashdiff (>= 0.4.0, < 2.0.0)
73
-
74
- PLATFORMS
75
- ruby
76
-
77
- DEPENDENCIES
78
- bundler (~> 2.0.1)
79
- debase
80
- equivalent-xml (~> 0.6)
81
- pry-byebug
82
- rake (~> 10.0)
83
- relaton-iec!
84
- rspec (~> 3.0)
85
- ruby-debug-ide
86
- simplecov
87
- vcr
88
- webmock
89
-
90
- BUNDLED WITH
91
- 2.0.1
data/appveyor.yml DELETED
@@ -1,37 +0,0 @@
1
- # Auto-generated !!! Do not edit it manually
2
- # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
- version: '{build}'
4
-
5
- cache:
6
- - vendor/bundle
7
-
8
- environment:
9
- matrix:
10
- - RUBY_VERSION: 26
11
- - RUBY_VERSION: 25
12
- - RUBY_VERSION: 24
13
- - RUBY_VERSION: _trunk
14
-
15
- matrix:
16
- allow_failures:
17
- - RUBY_VERSION: _trunk
18
-
19
- install:
20
- - ps: . { iwr -useb https://raw.githubusercontent.com/metanorma/metanorma-build-scripts/master/appveyor.ps1 } | iex
21
- - refreshenv
22
-
23
- build_script:
24
- - set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
25
- - set GIT_TERMINAL_PROMPT=0
26
- - gem install bundler -v "~> 2"
27
- - bundle config --local path vendor/bundle
28
- - bundle update
29
- - bundle install
30
-
31
- before_test:
32
- - ruby -v
33
- - gem -v
34
- - bundle -v
35
-
36
- test_script:
37
- - bundle exec rake