relaton-ogc 1.1.0 → 1.5.0

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: f3ddbbd3fbb620c1eb932bd410c25d02349c266a7c3c9b4c02fb00d533577d56
4
- data.tar.gz: c9c0bdd631188a83cc6a221fb5d889869cfbfbcedd458f7ec92f9e1ce12a872b
3
+ metadata.gz: f0a38c9dc676ea585e444e7cfcb06e216b5a862db7684777e294299c4ed493ff
4
+ data.tar.gz: be628a96ced2f4c262477043da015e5f7acb392995316fde66a7e4818e55c0bf
5
5
  SHA512:
6
- metadata.gz: 2e0a84f2f9022969682d32bc1387bf089bfec3cb731a038a4897240a63bc56fa0f3e148d1fddd5815b168182d41895b2187b671574ec0c848fb8c9cb1af33e11
7
- data.tar.gz: ae4453edd0c6f3cb473796b6c99aff64f38dc06722a02e5e12986fd79f88e945bcc3f9b2b5c2da6514a1e6b691e97d0efe82bb5be9dd6c86f8c385bc621fdb64
6
+ metadata.gz: 0242ef19a2b5498eafef4b0fa4eff285d03942d87b0e7f7ee12767a94379acd7ced4657190688b1fd74690f5d9eda7eb59d3ef6779fd1b9836d44f5fb65a34cd
7
+ data.tar.gz: 4faaeb44bfdb72466f126ffff9aba347084e71f96d4321a9b732f053fafa54e24dd51f4580e33fae1853b68d01c362105673ab57784ac2014ada34350929a5f4
@@ -29,4 +29,5 @@ jobs:
29
29
  bundle install --jobs 4 --retry 3
30
30
  - name: Run specs
31
31
  run: |
32
+ unset JAVA_TOOL_OPTIONS
32
33
  bundle exec rake
@@ -5,6 +5,6 @@
5
5
  inherit_from:
6
6
  - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
7
7
  AllCops:
8
- TargetRubyVersion: 2.3
8
+ TargetRubyVersion: 2.4
9
9
  Rails:
10
- Enabled: true
10
+ Enabled: false
@@ -18,7 +18,7 @@ Add this line to your application's Gemfile:
18
18
 
19
19
  [source,ruby]
20
20
  ----
21
- gem 'relaton_ogc'
21
+ gem 'relaton-ogc'
22
22
  ----
23
23
 
24
24
  And then execute:
@@ -27,7 +27,7 @@ And then execute:
27
27
 
28
28
  Or install it yourself as:
29
29
 
30
- $ gem install relaton_ogc
30
+ $ gem install relaton-ogc
31
31
 
32
32
  == Usage
33
33
 
@@ -35,8 +35,11 @@ Or install it yourself as:
35
35
 
36
36
  [source,ruby]
37
37
  ----
38
+ require 'relaton_ogc'
39
+ => true
40
+
38
41
  hits = RelatonOgc::OgcBibliography.search("OGC 19-025r1")
39
- => [<RelatonOgc::Hit:0x007fcab6b9aab8 @text="OGC 19-025r1" @fetched="false" @fullIdentifier="" @title="">]
42
+ => <RelatonOgc::HitCollection:0x007fcc8e085ba8 @ref=OGC 19-025r1 @fetched=false>
40
43
 
41
44
  tem = hits[0].fetch
42
45
  => #<RelatonOgc::OgcBibliographicItem:0x007fcab3cb4758
@@ -72,7 +75,10 @@ item.to_xml bibdata: true
72
75
  </date>
73
76
  ...
74
77
  <ext>
75
- <doctype>public-engineering-report</doctype>
78
+ <doctype>engineering-report</doctype>
79
+ <editorialgroup>
80
+ <committee>technical</committee>
81
+ </editorialgroup>
76
82
  </ext>
77
83
  </bibdata>"
78
84
  ----
@@ -81,7 +87,8 @@ item.to_xml bibdata: true
81
87
  [source,ruby]
82
88
  ----
83
89
  RelatonOgc::OgcBibliography.get "OGC 19-025r1", "2019", {}
84
- fetching OGC 19-025r1...
90
+ [relaton-ogc] ("OGC 19-025r1") fetching...
91
+ [relaton-ogc] ("OGC 19-025r1") found 19-025r1
85
92
  => #<RelatonOgc::OgcBibliographicItem:0x007fc322e9aba0
86
93
  ...
87
94
  ----
@@ -532,7 +532,7 @@
532
532
  </define>
533
533
  <define name="LocalityType">
534
534
  <data type="string">
535
- <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|locality:[a-zA-Z0-9_]+</param>
535
+ <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
536
536
  </data>
537
537
  </define>
538
538
  <define name="referenceFrom">
@@ -43,7 +43,9 @@
43
43
  <define name="xref">
44
44
  <element name="xref">
45
45
  <attribute name="target">
46
- <data type="IDREF"/>
46
+ <data type="string">
47
+ <param name="pattern">\i\c*|\c+#\c+</param>
48
+ </data>
47
49
  </attribute>
48
50
  <optional>
49
51
  <attribute name="type">
@@ -61,9 +63,93 @@
61
63
  </choice>
62
64
  </attribute>
63
65
  </optional>
66
+ <optional>
67
+ <attribute name="droploc">
68
+ <data type="boolean"/>
69
+ </attribute>
70
+ </optional>
64
71
  <text/>
65
72
  </element>
66
73
  </define>
74
+ <define name="ul">
75
+ <element name="ul">
76
+ <attribute name="id">
77
+ <data type="ID"/>
78
+ </attribute>
79
+ <optional>
80
+ <attribute name="keep-with-next">
81
+ <data type="boolean"/>
82
+ </attribute>
83
+ </optional>
84
+ <optional>
85
+ <attribute name="keep-lines-together">
86
+ <data type="boolean"/>
87
+ </attribute>
88
+ </optional>
89
+ <oneOrMore>
90
+ <ref name="li"/>
91
+ </oneOrMore>
92
+ <zeroOrMore>
93
+ <ref name="note"/>
94
+ </zeroOrMore>
95
+ </element>
96
+ </define>
97
+ <define name="ol">
98
+ <element name="ol">
99
+ <attribute name="id">
100
+ <data type="ID"/>
101
+ </attribute>
102
+ <optional>
103
+ <attribute name="keep-with-next">
104
+ <data type="boolean"/>
105
+ </attribute>
106
+ </optional>
107
+ <optional>
108
+ <attribute name="keep-lines-together">
109
+ <data type="boolean"/>
110
+ </attribute>
111
+ </optional>
112
+ <attribute name="type">
113
+ <choice>
114
+ <value>roman</value>
115
+ <value>alphabet</value>
116
+ <value>arabic</value>
117
+ <value>roman_upper</value>
118
+ <value>alphabet_upper</value>
119
+ </choice>
120
+ </attribute>
121
+ <oneOrMore>
122
+ <ref name="li"/>
123
+ </oneOrMore>
124
+ <zeroOrMore>
125
+ <ref name="note"/>
126
+ </zeroOrMore>
127
+ </element>
128
+ </define>
129
+ <define name="dl">
130
+ <element name="dl">
131
+ <attribute name="id">
132
+ <data type="ID"/>
133
+ </attribute>
134
+ <optional>
135
+ <attribute name="keep-with-next">
136
+ <data type="boolean"/>
137
+ </attribute>
138
+ </optional>
139
+ <optional>
140
+ <attribute name="keep-lines-together">
141
+ <data type="boolean"/>
142
+ </attribute>
143
+ </optional>
144
+ <oneOrMore>
145
+ <ref name="dt"/>
146
+ <ref name="dd"/>
147
+ </oneOrMore>
148
+ <zeroOrMore>
149
+ <ref name="note"/>
150
+ </zeroOrMore>
151
+ </element>
152
+ </define>
67
153
  <define name="example">
68
154
  <element name="example">
69
155
  <attribute name="id">
@@ -77,6 +163,19 @@
77
163
  <optional>
78
164
  <attribute name="subsequence"/>
79
165
  </optional>
166
+ <optional>
167
+ <attribute name="number"/>
168
+ </optional>
169
+ <optional>
170
+ <attribute name="keep-with-next">
171
+ <data type="boolean"/>
172
+ </attribute>
173
+ </optional>
174
+ <optional>
175
+ <attribute name="keep-lines-together">
176
+ <data type="boolean"/>
177
+ </attribute>
178
+ </optional>
80
179
  <optional>
81
180
  <ref name="tname"/>
82
181
  </optional>
@@ -97,6 +196,296 @@
97
196
  </zeroOrMore>
98
197
  </element>
99
198
  </define>
199
+ <define name="table">
200
+ <element name="table">
201
+ <attribute name="id">
202
+ <data type="ID"/>
203
+ </attribute>
204
+ <optional>
205
+ <attribute name="unnumbered">
206
+ <data type="boolean"/>
207
+ </attribute>
208
+ </optional>
209
+ <optional>
210
+ <attribute name="number"/>
211
+ </optional>
212
+ <optional>
213
+ <attribute name="subsequence"/>
214
+ </optional>
215
+ <optional>
216
+ <attribute name="alt"/>
217
+ </optional>
218
+ <optional>
219
+ <attribute name="summary"/>
220
+ </optional>
221
+ <optional>
222
+ <attribute name="uri">
223
+ <data type="anyURI"/>
224
+ </attribute>
225
+ </optional>
226
+ <optional>
227
+ <attribute name="keep-with-next">
228
+ <data type="boolean"/>
229
+ </attribute>
230
+ </optional>
231
+ <optional>
232
+ <attribute name="keep-lines-together">
233
+ <data type="boolean"/>
234
+ </attribute>
235
+ </optional>
236
+ <optional>
237
+ <ref name="tname"/>
238
+ </optional>
239
+ <optional>
240
+ <ref name="thead"/>
241
+ </optional>
242
+ <ref name="tbody"/>
243
+ <optional>
244
+ <ref name="tfoot"/>
245
+ </optional>
246
+ <zeroOrMore>
247
+ <ref name="table-note"/>
248
+ </zeroOrMore>
249
+ <optional>
250
+ <ref name="dl"/>
251
+ </optional>
252
+ </element>
253
+ </define>
254
+ <define name="figure">
255
+ <element name="figure">
256
+ <attribute name="id">
257
+ <data type="ID"/>
258
+ </attribute>
259
+ <optional>
260
+ <attribute name="unnumbered">
261
+ <data type="boolean"/>
262
+ </attribute>
263
+ </optional>
264
+ <optional>
265
+ <attribute name="number"/>
266
+ </optional>
267
+ <optional>
268
+ <attribute name="subsequence"/>
269
+ </optional>
270
+ <optional>
271
+ <attribute name="keep-with-next">
272
+ <data type="boolean"/>
273
+ </attribute>
274
+ </optional>
275
+ <optional>
276
+ <attribute name="keep-lines-together">
277
+ <data type="boolean"/>
278
+ </attribute>
279
+ </optional>
280
+ <optional>
281
+ <attribute name="class"/>
282
+ </optional>
283
+ <optional>
284
+ <ref name="source"/>
285
+ </optional>
286
+ <optional>
287
+ <ref name="tname"/>
288
+ </optional>
289
+ <choice>
290
+ <ref name="image"/>
291
+ <ref name="video"/>
292
+ <ref name="audio"/>
293
+ <ref name="pre"/>
294
+ <oneOrMore>
295
+ <ref name="paragraph-with-footnote"/>
296
+ </oneOrMore>
297
+ <zeroOrMore>
298
+ <ref name="figure"/>
299
+ </zeroOrMore>
300
+ </choice>
301
+ <zeroOrMore>
302
+ <ref name="fn"/>
303
+ </zeroOrMore>
304
+ <optional>
305
+ <ref name="dl"/>
306
+ </optional>
307
+ <zeroOrMore>
308
+ <ref name="note"/>
309
+ </zeroOrMore>
310
+ </element>
311
+ </define>
312
+ <define name="sourcecode">
313
+ <element name="sourcecode">
314
+ <attribute name="id">
315
+ <data type="ID"/>
316
+ </attribute>
317
+ <optional>
318
+ <attribute name="unnumbered">
319
+ <data type="boolean"/>
320
+ </attribute>
321
+ </optional>
322
+ <optional>
323
+ <attribute name="number"/>
324
+ </optional>
325
+ <optional>
326
+ <attribute name="subsequence"/>
327
+ </optional>
328
+ <optional>
329
+ <attribute name="keep-with-next">
330
+ <data type="boolean"/>
331
+ </attribute>
332
+ </optional>
333
+ <optional>
334
+ <attribute name="keep-lines-together">
335
+ <data type="boolean"/>
336
+ </attribute>
337
+ </optional>
338
+ <optional>
339
+ <attribute name="lang"/>
340
+ </optional>
341
+ <optional>
342
+ <ref name="tname"/>
343
+ </optional>
344
+ <oneOrMore>
345
+ <choice>
346
+ <text/>
347
+ <ref name="callout"/>
348
+ </choice>
349
+ </oneOrMore>
350
+ <zeroOrMore>
351
+ <ref name="annotation"/>
352
+ </zeroOrMore>
353
+ <zeroOrMore>
354
+ <ref name="note"/>
355
+ </zeroOrMore>
356
+ </element>
357
+ </define>
358
+ <define name="formula">
359
+ <element name="formula">
360
+ <attribute name="id">
361
+ <data type="ID"/>
362
+ </attribute>
363
+ <optional>
364
+ <attribute name="unnumbered">
365
+ <data type="boolean"/>
366
+ </attribute>
367
+ </optional>
368
+ <optional>
369
+ <attribute name="number"/>
370
+ </optional>
371
+ <optional>
372
+ <attribute name="subsequence"/>
373
+ </optional>
374
+ <optional>
375
+ <attribute name="keep-with-next">
376
+ <data type="boolean"/>
377
+ </attribute>
378
+ </optional>
379
+ <optional>
380
+ <attribute name="keep-lines-together">
381
+ <data type="boolean"/>
382
+ </attribute>
383
+ </optional>
384
+ <optional>
385
+ <attribute name="inequality">
386
+ <data type="boolean"/>
387
+ </attribute>
388
+ </optional>
389
+ <ref name="stem"/>
390
+ <optional>
391
+ <ref name="dl"/>
392
+ </optional>
393
+ <zeroOrMore>
394
+ <ref name="note"/>
395
+ </zeroOrMore>
396
+ </element>
397
+ </define>
398
+ <define name="ParagraphType">
399
+ <attribute name="id">
400
+ <data type="ID"/>
401
+ </attribute>
402
+ <optional>
403
+ <attribute name="align">
404
+ <ref name="Alignments"/>
405
+ </attribute>
406
+ </optional>
407
+ <optional>
408
+ <attribute name="keep-with-next">
409
+ <data type="boolean"/>
410
+ </attribute>
411
+ </optional>
412
+ <optional>
413
+ <attribute name="keep-lines-together">
414
+ <data type="boolean"/>
415
+ </attribute>
416
+ </optional>
417
+ <zeroOrMore>
418
+ <ref name="TextElement"/>
419
+ </zeroOrMore>
420
+ <zeroOrMore>
421
+ <ref name="note"/>
422
+ </zeroOrMore>
423
+ </define>
424
+ <define name="paragraph-with-footnote">
425
+ <element name="p">
426
+ <attribute name="id">
427
+ <data type="ID"/>
428
+ </attribute>
429
+ <optional>
430
+ <attribute name="align">
431
+ <ref name="Alignments"/>
432
+ </attribute>
433
+ </optional>
434
+ <optional>
435
+ <attribute name="keep-with-next">
436
+ <data type="boolean"/>
437
+ </attribute>
438
+ </optional>
439
+ <optional>
440
+ <attribute name="keep-lines-together">
441
+ <data type="boolean"/>
442
+ </attribute>
443
+ </optional>
444
+ <zeroOrMore>
445
+ <choice>
446
+ <ref name="TextElement"/>
447
+ <ref name="fn"/>
448
+ </choice>
449
+ </zeroOrMore>
450
+ <zeroOrMore>
451
+ <ref name="note"/>
452
+ </zeroOrMore>
453
+ </element>
454
+ </define>
455
+ <define name="quote">
456
+ <element name="quote">
457
+ <attribute name="id">
458
+ <data type="ID"/>
459
+ </attribute>
460
+ <optional>
461
+ <attribute name="alignment">
462
+ <ref name="Alignments"/>
463
+ </attribute>
464
+ </optional>
465
+ <optional>
466
+ <attribute name="keep-with-next">
467
+ <data type="boolean"/>
468
+ </attribute>
469
+ </optional>
470
+ <optional>
471
+ <attribute name="keep-lines-together">
472
+ <data type="boolean"/>
473
+ </attribute>
474
+ </optional>
475
+ <optional>
476
+ <ref name="quote-source"/>
477
+ </optional>
478
+ <optional>
479
+ <ref name="quote-author"/>
480
+ </optional>
481
+ <oneOrMore>
482
+ <ref name="paragraph-with-footnote"/>
483
+ </oneOrMore>
484
+ <zeroOrMore>
485
+ <ref name="note"/>
486
+ </zeroOrMore>
487
+ </element>
488
+ </define>
100
489
  <define name="BibDataExtensionType">
101
490
  <ref name="doctype"/>
102
491
  <optional>
@@ -165,6 +554,30 @@
165
554
  <attribute name="id">
166
555
  <data type="ID"/>
167
556
  </attribute>
557
+ <optional>
558
+ <attribute name="unnumbered">
559
+ <data type="boolean"/>
560
+ </attribute>
561
+ </optional>
562
+ <optional>
563
+ <attribute name="number"/>
564
+ </optional>
565
+ <optional>
566
+ <attribute name="subsequence"/>
567
+ </optional>
568
+ <optional>
569
+ <attribute name="keep-with-next">
570
+ <data type="boolean"/>
571
+ </attribute>
572
+ </optional>
573
+ <optional>
574
+ <attribute name="keep-lines-together">
575
+ <data type="boolean"/>
576
+ </attribute>
577
+ </optional>
578
+ <optional>
579
+ <attribute name="type"/>
580
+ </optional>
168
581
  <oneOrMore>
169
582
  <choice>
170
583
  <ref name="paragraph"/>
@@ -172,6 +585,8 @@
172
585
  <ref name="ol"/>
173
586
  <ref name="dl"/>
174
587
  <ref name="formula"/>
588
+ <ref name="quote"/>
589
+ <ref name="sourcecode"/>
175
590
  </choice>
176
591
  </oneOrMore>
177
592
  </element>
@@ -255,6 +670,16 @@
255
670
  </choice>
256
671
  </attribute>
257
672
  </optional>
673
+ <optional>
674
+ <attribute name="valign">
675
+ <choice>
676
+ <value>top</value>
677
+ <value>middle</value>
678
+ <value>bottom</value>
679
+ <value>baseline</value>
680
+ </choice>
681
+ </attribute>
682
+ </optional>
258
683
  <choice>
259
684
  <zeroOrMore>
260
685
  <choice>
@@ -291,6 +716,16 @@
291
716
  </choice>
292
717
  </attribute>
293
718
  </optional>
719
+ <optional>
720
+ <attribute name="valign">
721
+ <choice>
722
+ <value>top</value>
723
+ <value>middle</value>
724
+ <value>bottom</value>
725
+ <value>baseline</value>
726
+ </choice>
727
+ </attribute>
728
+ </optional>
294
729
  <choice>
295
730
  <zeroOrMore>
296
731
  <choice>
@@ -428,6 +863,13 @@
428
863
  </define>
429
864
  <define name="standard-document">
430
865
  <element name="standard-document">
866
+ <attribute name="version"/>
867
+ <attribute name="type">
868
+ <choice>
869
+ <value>semantic</value>
870
+ <value>presentation</value>
871
+ </choice>
872
+ </attribute>
431
873
  <ref name="bibdata"/>
432
874
  <optional>
433
875
  <ref name="boilerplate"/>
@@ -449,7 +891,7 @@
449
891
  <oneOrMore>
450
892
  <choice>
451
893
  <ref name="content"/>
452
- <ref name="preface_abstract"/>
894
+ <ref name="abstract"/>
453
895
  <ref name="foreword"/>
454
896
  <ref name="introduction"/>
455
897
  <ref name="acknowledgements"/>
@@ -516,6 +958,9 @@
516
958
  <optional>
517
959
  <attribute name="script"/>
518
960
  </optional>
961
+ <optional>
962
+ <attribute name="type"/>
963
+ </optional>
519
964
  <optional>
520
965
  <attribute name="obligation">
521
966
  <choice>
@@ -555,9 +1000,6 @@
555
1000
  </define>
556
1001
  <define name="content-subsection">
557
1002
  <element name="clause">
558
- <optional>
559
- <attribute name="type"/>
560
- </optional>
561
1003
  <ref name="Content-Section"/>
562
1004
  </element>
563
1005
  </define>
@@ -586,6 +1028,9 @@
586
1028
  </choice>
587
1029
  </attribute>
588
1030
  </optional>
1031
+ <optional>
1032
+ <attribute name="type"/>
1033
+ </optional>
589
1034
  <optional>
590
1035
  <ref name="section-title"/>
591
1036
  </optional>
@@ -605,9 +1050,6 @@
605
1050
  </define>
606
1051
  <define name="clause">
607
1052
  <element name="clause">
608
- <optional>
609
- <attribute name="type"/>
610
- </optional>
611
1053
  <ref name="Clause-Section"/>
612
1054
  </element>
613
1055
  </define>
@@ -636,18 +1078,24 @@
636
1078
  </choice>
637
1079
  </attribute>
638
1080
  </optional>
1081
+ <optional>
1082
+ <attribute name="type"/>
1083
+ </optional>
639
1084
  <optional>
640
1085
  <ref name="section-title"/>
641
1086
  </optional>
642
1087
  <group>
643
- <group>
644
- <zeroOrMore>
645
- <ref name="BasicBlock"/>
646
- </zeroOrMore>
647
- <zeroOrMore>
648
- <ref name="note"/>
649
- </zeroOrMore>
650
- </group>
1088
+ <choice>
1089
+ <group>
1090
+ <zeroOrMore>
1091
+ <ref name="BasicBlock"/>
1092
+ </zeroOrMore>
1093
+ <zeroOrMore>
1094
+ <ref name="note"/>
1095
+ </zeroOrMore>
1096
+ </group>
1097
+ <ref name="amend"/>
1098
+ </choice>
651
1099
  <zeroOrMore>
652
1100
  <choice>
653
1101
  <ref name="clause-subsection"/>
@@ -774,6 +1222,9 @@
774
1222
  <optional>
775
1223
  <attribute name="script"/>
776
1224
  </optional>
1225
+ <optional>
1226
+ <attribute name="type"/>
1227
+ </optional>
777
1228
  <optional>
778
1229
  <attribute name="obligation">
779
1230
  <choice>
@@ -910,6 +1361,27 @@
910
1361
  <attribute name="id">
911
1362
  <data type="ID"/>
912
1363
  </attribute>
1364
+ <optional>
1365
+ <attribute name="unnumbered">
1366
+ <data type="boolean"/>
1367
+ </attribute>
1368
+ </optional>
1369
+ <optional>
1370
+ <attribute name="number"/>
1371
+ </optional>
1372
+ <optional>
1373
+ <attribute name="subsequence"/>
1374
+ </optional>
1375
+ <optional>
1376
+ <attribute name="keep-with-next">
1377
+ <data type="boolean"/>
1378
+ </attribute>
1379
+ </optional>
1380
+ <optional>
1381
+ <attribute name="keep-lines-together">
1382
+ <data type="boolean"/>
1383
+ </attribute>
1384
+ </optional>
913
1385
  <oneOrMore>
914
1386
  <choice>
915
1387
  <ref name="paragraph"/>
@@ -1020,11 +1492,6 @@
1020
1492
  </optional>
1021
1493
  </element>
1022
1494
  </define>
1023
- <define name="preface_abstract">
1024
- <element name="abstract">
1025
- <ref name="Basic-Section"/>
1026
- </element>
1027
- </define>
1028
1495
  <define name="term-clause">
1029
1496
  <element name="clause">
1030
1497
  <optional>
@@ -1074,4 +1541,79 @@
1074
1541
  <ref name="CitationType"/>
1075
1542
  </element>
1076
1543
  </define>
1544
+ <define name="amend">
1545
+ <element name="amend">
1546
+ <optional>
1547
+ <attribute name="id">
1548
+ <data type="ID"/>
1549
+ </attribute>
1550
+ </optional>
1551
+ <attribute name="change">
1552
+ <choice>
1553
+ <value>add</value>
1554
+ <value>modify</value>
1555
+ <value>delete</value>
1556
+ </choice>
1557
+ </attribute>
1558
+ <optional>
1559
+ <attribute name="path"/>
1560
+ </optional>
1561
+ <optional>
1562
+ <attribute name="path_end"/>
1563
+ </optional>
1564
+ <optional>
1565
+ <attribute name="title"/>
1566
+ </optional>
1567
+ <optional>
1568
+ <element name="location">
1569
+ <zeroOrMore>
1570
+ <ref name="locality"/>
1571
+ </zeroOrMore>
1572
+ </element>
1573
+ </optional>
1574
+ <zeroOrMore>
1575
+ <ref name="autonumber"/>
1576
+ </zeroOrMore>
1577
+ <optional>
1578
+ <element name="description">
1579
+ <zeroOrMore>
1580
+ <ref name="BasicBlock"/>
1581
+ </zeroOrMore>
1582
+ </element>
1583
+ </optional>
1584
+ <optional>
1585
+ <element name="newcontent">
1586
+ <zeroOrMore>
1587
+ <ref name="BasicBlock"/>
1588
+ </zeroOrMore>
1589
+ </element>
1590
+ </optional>
1591
+ <optional>
1592
+ <element name="description">
1593
+ <zeroOrMore>
1594
+ <ref name="BasicBlock"/>
1595
+ </zeroOrMore>
1596
+ </element>
1597
+ </optional>
1598
+ </element>
1599
+ </define>
1600
+ <define name="autonumber">
1601
+ <element name="autonumber">
1602
+ <attribute name="type">
1603
+ <choice>
1604
+ <value>requirement</value>
1605
+ <value>recommendation</value>
1606
+ <value>permission</value>
1607
+ <value>table</value>
1608
+ <value>figure</value>
1609
+ <value>admonition</value>
1610
+ <value>formula</value>
1611
+ <value>sourcecode</value>
1612
+ <value>example</value>
1613
+ <value>note</value>
1614
+ </choice>
1615
+ </attribute>
1616
+ <text/>
1617
+ </element>
1618
+ </define>
1077
1619
  </grammar>
@@ -54,7 +54,7 @@
54
54
  <define name="preface">
55
55
  <element name="preface">
56
56
  <optional>
57
- <ref name="preface_abstract"/>
57
+ <ref name="abstract"/>
58
58
  </optional>
59
59
  <ref name="foreword"/>
60
60
  <optional>
@@ -104,6 +104,13 @@
104
104
  </define>
105
105
  <define name="ogc-standard">
106
106
  <element name="ogc-standard">
107
+ <attribute name="version"/>
108
+ <attribute name="type">
109
+ <choice>
110
+ <value>semantic</value>
111
+ <value>presentation</value>
112
+ </choice>
113
+ </attribute>
107
114
  <ref name="bibdata"/>
108
115
  <zeroOrMore>
109
116
  <ref name="termdocsource"/>
@@ -35,6 +35,11 @@ module RelatonOgc
35
35
  @workgroup = subgroup args[:workgroup]
36
36
  end
37
37
 
38
+ # @return [true]
39
+ def presence?
40
+ true
41
+ end
42
+
38
43
  # @param builder [Nokogiri::XML::Builder]
39
44
  def to_xml(builder)
40
45
  builder.editorialgroup do
@@ -52,6 +57,17 @@ module RelatonOgc
52
57
  hash
53
58
  end
54
59
 
60
+ # @param prefix [String]
61
+ # @return [String]
62
+ def to_asciibib(prefix)
63
+ pref = prefix.empty? ? prefix : prefix + "."
64
+ pref += "editorialgroup"
65
+ out = "#{pref}.committee:: #{committee}\n"
66
+ out += subcommittee.to_asciibib "#{pref}.subcommittee" if subcommittee
67
+ out += workgroup.to_asciibib "#{pref}.workgroup" if workgroup
68
+ out
69
+ end
70
+
55
71
  private
56
72
 
57
73
  # @param group [Hash, RelatonIsoBib::IsoSubgroup]
@@ -1,5 +1,5 @@
1
1
  module RelatonOgc
2
- class HashConverter < RelatonIsoBib::HashConverter
2
+ class HashConverter < RelatonBib::HashConverter
3
3
  class << self
4
4
  private
5
5
 
@@ -12,7 +12,7 @@ module RelatonOgc
12
12
  committee: eg[:committee],
13
13
  subcommittee: eg[:subcommittee],
14
14
  workgroup: eg[:workgroup],
15
- secretariat: eg[:secretariat],
15
+ secretariat: eg[:secretariat]
16
16
  )
17
17
  end
18
18
  end
@@ -1,5 +1,5 @@
1
1
  module RelatonOgc
2
- class OgcBibliographicItem < RelatonIsoBib::IsoBibliographicItem
2
+ class OgcBibliographicItem < RelatonBib::BibliographicItem
3
3
  TYPES = %w[
4
4
  abstract-specification-topic best-practice
5
5
  change-request-supporting-document
@@ -20,10 +20,12 @@ module RelatonOgc
20
20
  # @param docsubtype [String]
21
21
  def initialize(**args)
22
22
  if args[:docsubtype] && !SUBTYPES.include?(args[:docsubtype])
23
- warn "[relaton-ogc] invalid document subtype: #{args[:docsubtype]}"
23
+ warn "[relaton-ogc] WARNING: invalid document "\
24
+ "subtype: #{args[:docsubtype]}"
24
25
  end
25
26
 
26
27
  @docsubtype = args.delete :docsubtype
28
+ # @doctype = args.delete :doctype
27
29
  super
28
30
  end
29
31
 
@@ -33,5 +35,31 @@ module RelatonOgc
33
35
  hash["docsubtype"] = docsubtype if docsubtype
34
36
  hash
35
37
  end
38
+
39
+ # @param opts [Hash]
40
+ # @option opts [Nokogiri::XML::Builder] :builder XML builder
41
+ # @option opts [Boolean] :bibdata
42
+ # @option opts [Symbol, NilClass] :date_format (:short), :full
43
+ # @option opts [String, Symbol] :lang language
44
+ # @return [String] XML
45
+ def to_xml(**opts)
46
+ super **opts do |b|
47
+ b.ext do
48
+ b.doctype doctype if doctype
49
+ b.docsubtype docsubtype if docsubtype
50
+ editorialgroup&.to_xml b
51
+ ics.each { |i| i.to_xml b }
52
+ end
53
+ end
54
+ end
55
+
56
+ # @param prefix [String]
57
+ # @return [String]
58
+ def to_asciibib(prefix = "")
59
+ pref = prefix.empty? ? prefix : prefix + "."
60
+ out = super
61
+ out += "#{pref}docsubtype:: #{docsubtype}\n" if docsubtype
62
+ out
63
+ end
36
64
  end
37
65
  end
@@ -3,10 +3,10 @@ module RelatonOgc
3
3
  class << self
4
4
  # @param text [String]
5
5
  # @return [RelatonOgc::HitCollection]
6
- def search(text, year = nil, opts = {})
6
+ def search(text, year = nil, _opts = {})
7
7
  HitCollection.new text, year
8
8
  rescue Faraday::ConnectionFailed
9
- raise RelatonBib::RequestError, "Could not access https://www.nist.gov"
9
+ raise RelatonBib::RequestError, HitCollection::ENDPOINT
10
10
  end
11
11
 
12
12
  # @param code [String] the OGC standard Code to look up (e..g "8200")
@@ -38,6 +38,7 @@ module RelatonOgc
38
38
  type = fetch_type(hit["type"])
39
39
  OgcBibliographicItem.new(
40
40
  fetched: Date.today.to_s,
41
+ type: "standard",
41
42
  title: fetch_title(hit["title"]),
42
43
  docid: fetch_docid(hit["identifier"]),
43
44
  link: fetch_link(hit["URL"]),
@@ -61,18 +62,9 @@ module RelatonOgc
61
62
  end
62
63
 
63
64
  # @param title [String]
64
- # @return [Array<RelatonIsoBib::TypedTitleString>]
65
+ # @return [Array<RelatonBib::TypedTitleString>]
65
66
  def fetch_title(title)
66
- [
67
- RelatonIsoBib::TypedTitleString.new(
68
- type: "title-main", content: title, language: "en", script: "Latn",
69
- format: "text/plain"
70
- ),
71
- RelatonIsoBib::TypedTitleString.new(
72
- type: "main", content: title, language: "en", script: "Latn",
73
- format: "text/plain"
74
- ),
75
- ]
67
+ RelatonBib::TypedTitleString.from_string title, "en", "Latn"
76
68
  end
77
69
 
78
70
  # @param identifier [String]
@@ -1,3 +1,3 @@
1
1
  module RelatonOgc
2
- VERSION = "1.1.0".freeze
2
+ VERSION = "1.5.0".freeze
3
3
  end
@@ -3,21 +3,15 @@ require "nokogiri"
3
3
  module RelatonOgc
4
4
  class XMLParser < RelatonIsoBib::XMLParser
5
5
  class << self
6
- # Override RelatonIsoBib::XMLParser.form_xml method.
7
- # @param xml [String]
6
+ private
7
+
8
+ # override RelatonIsoBib::IsoBibliographicItem.bib_item method
9
+ # @param item_hash [Hash]
8
10
  # @return [RelatonOgc::OgcBibliographicItem]
9
- def from_xml(xml)
10
- doc = Nokogiri::XML(xml)
11
- item = doc.at "/bibitem|/bibdata"
12
- if item
13
- OgcBibliographicItem.new item_data(item)
14
- else
15
- warn "[relaton-ogc] can't find bibitem or bibdata element in the XML"
16
- end
11
+ def bib_item(item_hash)
12
+ OgcBibliographicItem.new item_hash
17
13
  end
18
14
 
19
- private
20
-
21
15
  # Override RelatonIsoBib::XMLParser.item_data method.
22
16
  # @param item [Nokogiri::XML::Element]
23
17
  # @returtn [Hash]
@@ -41,7 +35,7 @@ module RelatonOgc
41
35
  sc = iso_subgroup eg&.at("subcommittee")
42
36
  wg = iso_subgroup eg&.at("workgroup")
43
37
  EditorialGroup.new(
44
- committee: committe, subcommittee: sc, workgroup: wg,
38
+ committee: committe, subcommittee: sc, workgroup: wg
45
39
  )
46
40
  end
47
41
  end
@@ -36,5 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "webmock"
37
37
 
38
38
  spec.add_dependency "faraday", "~> 1.0.0"
39
- spec.add_dependency "relaton-iso-bib", "~> 1.1.0"
39
+ spec.add_dependency "relaton-iso-bib", "~> 1.5.0"
40
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-ogc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-03 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 1.1.0
173
+ version: 1.5.0
174
174
  type: :runtime
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 1.1.0
180
+ version: 1.5.0
181
181
  description: 'RelatonOgc: retrieve OGC Standards for bibliographic use using the OgcBibliographicItem
182
182
  model'
183
183
  email:
@@ -219,7 +219,7 @@ homepage: https://github.com/relaton/relaton-ogc
219
219
  licenses:
220
220
  - BSD-2-Clause
221
221
  metadata: {}
222
- post_install_message:
222
+ post_install_message:
223
223
  rdoc_options: []
224
224
  require_paths:
225
225
  - lib
@@ -235,7 +235,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
235
  version: '0'
236
236
  requirements: []
237
237
  rubygems_version: 3.0.6
238
- signing_key:
238
+ signing_key:
239
239
  specification_version: 4
240
240
  summary: 'RelatonOgc: retrieve OGC Standards for bibliographic use using the OgcBibliographicItem
241
241
  model'