relaton-ogc 1.1.0 → 1.2.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 +4 -4
- data/grammars/biblio.rng +1 -1
- data/grammars/isodoc.rng +427 -0
- data/lib/relaton_ogc/hash_converter.rb +1 -1
- data/lib/relaton_ogc/ogc_bibliographic_item.rb +17 -2
- data/lib/relaton_ogc/scrapper.rb +3 -11
- data/lib/relaton_ogc/version.rb +1 -1
- data/lib/relaton_ogc/xml_parser.rb +16 -9
- data/relaton_ogc.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87083ec001e4455f32f366ae2abae1d363fa04a5ebd2e934d0972170cb30e8a1
|
|
4
|
+
data.tar.gz: 3e2cdc145e63b059b60ff7e4d6f3826646dae21b2bf833f4786e050bd810b35f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f3b7f2759e1759915979279b9490dc6039950abacb5c1e0862dd8c0dd81d1a45e4e4373ba6c1819658cf326ae8b574501ae037866bf5921cb1144a9802d1cf0
|
|
7
|
+
data.tar.gz: be6f7d638a6421e6c287496828723c13996c494938b2bb8050c5799b615fe290bd851e1c1f82046112df54544ec19839e03b1b74d463729540fbc934d6be7224
|
data/grammars/biblio.rng
CHANGED
|
@@ -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">
|
data/grammars/isodoc.rng
CHANGED
|
@@ -64,6 +64,85 @@
|
|
|
64
64
|
<text/>
|
|
65
65
|
</element>
|
|
66
66
|
</define>
|
|
67
|
+
<define name="ul">
|
|
68
|
+
<element name="ul">
|
|
69
|
+
<attribute name="id">
|
|
70
|
+
<data type="ID"/>
|
|
71
|
+
</attribute>
|
|
72
|
+
<optional>
|
|
73
|
+
<attribute name="keep-with-next">
|
|
74
|
+
<data type="boolean"/>
|
|
75
|
+
</attribute>
|
|
76
|
+
</optional>
|
|
77
|
+
<optional>
|
|
78
|
+
<attribute name="keep-lines-together">
|
|
79
|
+
<data type="boolean"/>
|
|
80
|
+
</attribute>
|
|
81
|
+
</optional>
|
|
82
|
+
<oneOrMore>
|
|
83
|
+
<ref name="li"/>
|
|
84
|
+
</oneOrMore>
|
|
85
|
+
<zeroOrMore>
|
|
86
|
+
<ref name="note"/>
|
|
87
|
+
</zeroOrMore>
|
|
88
|
+
</element>
|
|
89
|
+
</define>
|
|
90
|
+
<define name="ol">
|
|
91
|
+
<element name="ol">
|
|
92
|
+
<attribute name="id">
|
|
93
|
+
<data type="ID"/>
|
|
94
|
+
</attribute>
|
|
95
|
+
<optional>
|
|
96
|
+
<attribute name="keep-with-next">
|
|
97
|
+
<data type="boolean"/>
|
|
98
|
+
</attribute>
|
|
99
|
+
</optional>
|
|
100
|
+
<optional>
|
|
101
|
+
<attribute name="keep-lines-together">
|
|
102
|
+
<data type="boolean"/>
|
|
103
|
+
</attribute>
|
|
104
|
+
</optional>
|
|
105
|
+
<attribute name="type">
|
|
106
|
+
<choice>
|
|
107
|
+
<value>roman</value>
|
|
108
|
+
<value>alphabet</value>
|
|
109
|
+
<value>arabic</value>
|
|
110
|
+
<value>roman_upper</value>
|
|
111
|
+
<value>alphabet_upper</value>
|
|
112
|
+
</choice>
|
|
113
|
+
</attribute>
|
|
114
|
+
<oneOrMore>
|
|
115
|
+
<ref name="li"/>
|
|
116
|
+
</oneOrMore>
|
|
117
|
+
<zeroOrMore>
|
|
118
|
+
<ref name="note"/>
|
|
119
|
+
</zeroOrMore>
|
|
120
|
+
</element>
|
|
121
|
+
</define>
|
|
122
|
+
<define name="dl">
|
|
123
|
+
<element name="dl">
|
|
124
|
+
<attribute name="id">
|
|
125
|
+
<data type="ID"/>
|
|
126
|
+
</attribute>
|
|
127
|
+
<optional>
|
|
128
|
+
<attribute name="keep-with-next">
|
|
129
|
+
<data type="boolean"/>
|
|
130
|
+
</attribute>
|
|
131
|
+
</optional>
|
|
132
|
+
<optional>
|
|
133
|
+
<attribute name="keep-lines-together">
|
|
134
|
+
<data type="boolean"/>
|
|
135
|
+
</attribute>
|
|
136
|
+
</optional>
|
|
137
|
+
<oneOrMore>
|
|
138
|
+
<ref name="dt"/>
|
|
139
|
+
<ref name="dd"/>
|
|
140
|
+
</oneOrMore>
|
|
141
|
+
<zeroOrMore>
|
|
142
|
+
<ref name="note"/>
|
|
143
|
+
</zeroOrMore>
|
|
144
|
+
</element>
|
|
145
|
+
</define>
|
|
67
146
|
<define name="example">
|
|
68
147
|
<element name="example">
|
|
69
148
|
<attribute name="id">
|
|
@@ -77,6 +156,19 @@
|
|
|
77
156
|
<optional>
|
|
78
157
|
<attribute name="subsequence"/>
|
|
79
158
|
</optional>
|
|
159
|
+
<optional>
|
|
160
|
+
<attribute name="number"/>
|
|
161
|
+
</optional>
|
|
162
|
+
<optional>
|
|
163
|
+
<attribute name="keep-with-next">
|
|
164
|
+
<data type="boolean"/>
|
|
165
|
+
</attribute>
|
|
166
|
+
</optional>
|
|
167
|
+
<optional>
|
|
168
|
+
<attribute name="keep-lines-together">
|
|
169
|
+
<data type="boolean"/>
|
|
170
|
+
</attribute>
|
|
171
|
+
</optional>
|
|
80
172
|
<optional>
|
|
81
173
|
<ref name="tname"/>
|
|
82
174
|
</optional>
|
|
@@ -97,6 +189,296 @@
|
|
|
97
189
|
</zeroOrMore>
|
|
98
190
|
</element>
|
|
99
191
|
</define>
|
|
192
|
+
<define name="table">
|
|
193
|
+
<element name="table">
|
|
194
|
+
<attribute name="id">
|
|
195
|
+
<data type="ID"/>
|
|
196
|
+
</attribute>
|
|
197
|
+
<optional>
|
|
198
|
+
<attribute name="unnumbered">
|
|
199
|
+
<data type="boolean"/>
|
|
200
|
+
</attribute>
|
|
201
|
+
</optional>
|
|
202
|
+
<optional>
|
|
203
|
+
<attribute name="number"/>
|
|
204
|
+
</optional>
|
|
205
|
+
<optional>
|
|
206
|
+
<attribute name="subsequence"/>
|
|
207
|
+
</optional>
|
|
208
|
+
<optional>
|
|
209
|
+
<attribute name="alt"/>
|
|
210
|
+
</optional>
|
|
211
|
+
<optional>
|
|
212
|
+
<attribute name="summary"/>
|
|
213
|
+
</optional>
|
|
214
|
+
<optional>
|
|
215
|
+
<attribute name="uri">
|
|
216
|
+
<data type="anyURI"/>
|
|
217
|
+
</attribute>
|
|
218
|
+
</optional>
|
|
219
|
+
<optional>
|
|
220
|
+
<attribute name="keep-with-next">
|
|
221
|
+
<data type="boolean"/>
|
|
222
|
+
</attribute>
|
|
223
|
+
</optional>
|
|
224
|
+
<optional>
|
|
225
|
+
<attribute name="keep-lines-together">
|
|
226
|
+
<data type="boolean"/>
|
|
227
|
+
</attribute>
|
|
228
|
+
</optional>
|
|
229
|
+
<optional>
|
|
230
|
+
<ref name="tname"/>
|
|
231
|
+
</optional>
|
|
232
|
+
<optional>
|
|
233
|
+
<ref name="thead"/>
|
|
234
|
+
</optional>
|
|
235
|
+
<ref name="tbody"/>
|
|
236
|
+
<optional>
|
|
237
|
+
<ref name="tfoot"/>
|
|
238
|
+
</optional>
|
|
239
|
+
<zeroOrMore>
|
|
240
|
+
<ref name="table-note"/>
|
|
241
|
+
</zeroOrMore>
|
|
242
|
+
<optional>
|
|
243
|
+
<ref name="dl"/>
|
|
244
|
+
</optional>
|
|
245
|
+
</element>
|
|
246
|
+
</define>
|
|
247
|
+
<define name="figure">
|
|
248
|
+
<element name="figure">
|
|
249
|
+
<attribute name="id">
|
|
250
|
+
<data type="ID"/>
|
|
251
|
+
</attribute>
|
|
252
|
+
<optional>
|
|
253
|
+
<attribute name="unnumbered">
|
|
254
|
+
<data type="boolean"/>
|
|
255
|
+
</attribute>
|
|
256
|
+
</optional>
|
|
257
|
+
<optional>
|
|
258
|
+
<attribute name="number"/>
|
|
259
|
+
</optional>
|
|
260
|
+
<optional>
|
|
261
|
+
<attribute name="subsequence"/>
|
|
262
|
+
</optional>
|
|
263
|
+
<optional>
|
|
264
|
+
<attribute name="keep-with-next">
|
|
265
|
+
<data type="boolean"/>
|
|
266
|
+
</attribute>
|
|
267
|
+
</optional>
|
|
268
|
+
<optional>
|
|
269
|
+
<attribute name="keep-lines-together">
|
|
270
|
+
<data type="boolean"/>
|
|
271
|
+
</attribute>
|
|
272
|
+
</optional>
|
|
273
|
+
<optional>
|
|
274
|
+
<attribute name="class"/>
|
|
275
|
+
</optional>
|
|
276
|
+
<optional>
|
|
277
|
+
<ref name="source"/>
|
|
278
|
+
</optional>
|
|
279
|
+
<optional>
|
|
280
|
+
<ref name="tname"/>
|
|
281
|
+
</optional>
|
|
282
|
+
<choice>
|
|
283
|
+
<ref name="image"/>
|
|
284
|
+
<ref name="video"/>
|
|
285
|
+
<ref name="audio"/>
|
|
286
|
+
<ref name="pre"/>
|
|
287
|
+
<oneOrMore>
|
|
288
|
+
<ref name="paragraph-with-footnote"/>
|
|
289
|
+
</oneOrMore>
|
|
290
|
+
<zeroOrMore>
|
|
291
|
+
<ref name="figure"/>
|
|
292
|
+
</zeroOrMore>
|
|
293
|
+
</choice>
|
|
294
|
+
<zeroOrMore>
|
|
295
|
+
<ref name="fn"/>
|
|
296
|
+
</zeroOrMore>
|
|
297
|
+
<optional>
|
|
298
|
+
<ref name="dl"/>
|
|
299
|
+
</optional>
|
|
300
|
+
<zeroOrMore>
|
|
301
|
+
<ref name="note"/>
|
|
302
|
+
</zeroOrMore>
|
|
303
|
+
</element>
|
|
304
|
+
</define>
|
|
305
|
+
<define name="sourcecode">
|
|
306
|
+
<element name="sourcecode">
|
|
307
|
+
<attribute name="id">
|
|
308
|
+
<data type="ID"/>
|
|
309
|
+
</attribute>
|
|
310
|
+
<optional>
|
|
311
|
+
<attribute name="unnumbered">
|
|
312
|
+
<data type="boolean"/>
|
|
313
|
+
</attribute>
|
|
314
|
+
</optional>
|
|
315
|
+
<optional>
|
|
316
|
+
<attribute name="number"/>
|
|
317
|
+
</optional>
|
|
318
|
+
<optional>
|
|
319
|
+
<attribute name="subsequence"/>
|
|
320
|
+
</optional>
|
|
321
|
+
<optional>
|
|
322
|
+
<attribute name="keep-with-next">
|
|
323
|
+
<data type="boolean"/>
|
|
324
|
+
</attribute>
|
|
325
|
+
</optional>
|
|
326
|
+
<optional>
|
|
327
|
+
<attribute name="keep-lines-together">
|
|
328
|
+
<data type="boolean"/>
|
|
329
|
+
</attribute>
|
|
330
|
+
</optional>
|
|
331
|
+
<optional>
|
|
332
|
+
<attribute name="lang"/>
|
|
333
|
+
</optional>
|
|
334
|
+
<optional>
|
|
335
|
+
<ref name="tname"/>
|
|
336
|
+
</optional>
|
|
337
|
+
<oneOrMore>
|
|
338
|
+
<choice>
|
|
339
|
+
<text/>
|
|
340
|
+
<ref name="callout"/>
|
|
341
|
+
</choice>
|
|
342
|
+
</oneOrMore>
|
|
343
|
+
<zeroOrMore>
|
|
344
|
+
<ref name="annotation"/>
|
|
345
|
+
</zeroOrMore>
|
|
346
|
+
<zeroOrMore>
|
|
347
|
+
<ref name="note"/>
|
|
348
|
+
</zeroOrMore>
|
|
349
|
+
</element>
|
|
350
|
+
</define>
|
|
351
|
+
<define name="formula">
|
|
352
|
+
<element name="formula">
|
|
353
|
+
<attribute name="id">
|
|
354
|
+
<data type="ID"/>
|
|
355
|
+
</attribute>
|
|
356
|
+
<optional>
|
|
357
|
+
<attribute name="unnumbered">
|
|
358
|
+
<data type="boolean"/>
|
|
359
|
+
</attribute>
|
|
360
|
+
</optional>
|
|
361
|
+
<optional>
|
|
362
|
+
<attribute name="number"/>
|
|
363
|
+
</optional>
|
|
364
|
+
<optional>
|
|
365
|
+
<attribute name="subsequence"/>
|
|
366
|
+
</optional>
|
|
367
|
+
<optional>
|
|
368
|
+
<attribute name="keep-with-next">
|
|
369
|
+
<data type="boolean"/>
|
|
370
|
+
</attribute>
|
|
371
|
+
</optional>
|
|
372
|
+
<optional>
|
|
373
|
+
<attribute name="keep-lines-together">
|
|
374
|
+
<data type="boolean"/>
|
|
375
|
+
</attribute>
|
|
376
|
+
</optional>
|
|
377
|
+
<optional>
|
|
378
|
+
<attribute name="inequality">
|
|
379
|
+
<data type="boolean"/>
|
|
380
|
+
</attribute>
|
|
381
|
+
</optional>
|
|
382
|
+
<ref name="stem"/>
|
|
383
|
+
<optional>
|
|
384
|
+
<ref name="dl"/>
|
|
385
|
+
</optional>
|
|
386
|
+
<zeroOrMore>
|
|
387
|
+
<ref name="note"/>
|
|
388
|
+
</zeroOrMore>
|
|
389
|
+
</element>
|
|
390
|
+
</define>
|
|
391
|
+
<define name="ParagraphType">
|
|
392
|
+
<attribute name="id">
|
|
393
|
+
<data type="ID"/>
|
|
394
|
+
</attribute>
|
|
395
|
+
<optional>
|
|
396
|
+
<attribute name="align">
|
|
397
|
+
<ref name="Alignments"/>
|
|
398
|
+
</attribute>
|
|
399
|
+
</optional>
|
|
400
|
+
<optional>
|
|
401
|
+
<attribute name="keep-with-next">
|
|
402
|
+
<data type="boolean"/>
|
|
403
|
+
</attribute>
|
|
404
|
+
</optional>
|
|
405
|
+
<optional>
|
|
406
|
+
<attribute name="keep-lines-together">
|
|
407
|
+
<data type="boolean"/>
|
|
408
|
+
</attribute>
|
|
409
|
+
</optional>
|
|
410
|
+
<zeroOrMore>
|
|
411
|
+
<ref name="TextElement"/>
|
|
412
|
+
</zeroOrMore>
|
|
413
|
+
<zeroOrMore>
|
|
414
|
+
<ref name="note"/>
|
|
415
|
+
</zeroOrMore>
|
|
416
|
+
</define>
|
|
417
|
+
<define name="paragraph-with-footnote">
|
|
418
|
+
<element name="p">
|
|
419
|
+
<attribute name="id">
|
|
420
|
+
<data type="ID"/>
|
|
421
|
+
</attribute>
|
|
422
|
+
<optional>
|
|
423
|
+
<attribute name="align">
|
|
424
|
+
<ref name="Alignments"/>
|
|
425
|
+
</attribute>
|
|
426
|
+
</optional>
|
|
427
|
+
<optional>
|
|
428
|
+
<attribute name="keep-with-next">
|
|
429
|
+
<data type="boolean"/>
|
|
430
|
+
</attribute>
|
|
431
|
+
</optional>
|
|
432
|
+
<optional>
|
|
433
|
+
<attribute name="keep-lines-together">
|
|
434
|
+
<data type="boolean"/>
|
|
435
|
+
</attribute>
|
|
436
|
+
</optional>
|
|
437
|
+
<zeroOrMore>
|
|
438
|
+
<choice>
|
|
439
|
+
<ref name="TextElement"/>
|
|
440
|
+
<ref name="fn"/>
|
|
441
|
+
</choice>
|
|
442
|
+
</zeroOrMore>
|
|
443
|
+
<zeroOrMore>
|
|
444
|
+
<ref name="note"/>
|
|
445
|
+
</zeroOrMore>
|
|
446
|
+
</element>
|
|
447
|
+
</define>
|
|
448
|
+
<define name="quote">
|
|
449
|
+
<element name="quote">
|
|
450
|
+
<attribute name="id">
|
|
451
|
+
<data type="ID"/>
|
|
452
|
+
</attribute>
|
|
453
|
+
<optional>
|
|
454
|
+
<attribute name="alignment">
|
|
455
|
+
<ref name="Alignments"/>
|
|
456
|
+
</attribute>
|
|
457
|
+
</optional>
|
|
458
|
+
<optional>
|
|
459
|
+
<attribute name="keep-with-next">
|
|
460
|
+
<data type="boolean"/>
|
|
461
|
+
</attribute>
|
|
462
|
+
</optional>
|
|
463
|
+
<optional>
|
|
464
|
+
<attribute name="keep-lines-together">
|
|
465
|
+
<data type="boolean"/>
|
|
466
|
+
</attribute>
|
|
467
|
+
</optional>
|
|
468
|
+
<optional>
|
|
469
|
+
<ref name="quote-source"/>
|
|
470
|
+
</optional>
|
|
471
|
+
<optional>
|
|
472
|
+
<ref name="quote-author"/>
|
|
473
|
+
</optional>
|
|
474
|
+
<oneOrMore>
|
|
475
|
+
<ref name="paragraph-with-footnote"/>
|
|
476
|
+
</oneOrMore>
|
|
477
|
+
<zeroOrMore>
|
|
478
|
+
<ref name="note"/>
|
|
479
|
+
</zeroOrMore>
|
|
480
|
+
</element>
|
|
481
|
+
</define>
|
|
100
482
|
<define name="BibDataExtensionType">
|
|
101
483
|
<ref name="doctype"/>
|
|
102
484
|
<optional>
|
|
@@ -165,6 +547,30 @@
|
|
|
165
547
|
<attribute name="id">
|
|
166
548
|
<data type="ID"/>
|
|
167
549
|
</attribute>
|
|
550
|
+
<optional>
|
|
551
|
+
<attribute name="unnumbered">
|
|
552
|
+
<data type="boolean"/>
|
|
553
|
+
</attribute>
|
|
554
|
+
</optional>
|
|
555
|
+
<optional>
|
|
556
|
+
<attribute name="number"/>
|
|
557
|
+
</optional>
|
|
558
|
+
<optional>
|
|
559
|
+
<attribute name="subsequence"/>
|
|
560
|
+
</optional>
|
|
561
|
+
<optional>
|
|
562
|
+
<attribute name="keep-with-next">
|
|
563
|
+
<data type="boolean"/>
|
|
564
|
+
</attribute>
|
|
565
|
+
</optional>
|
|
566
|
+
<optional>
|
|
567
|
+
<attribute name="keep-lines-together">
|
|
568
|
+
<data type="boolean"/>
|
|
569
|
+
</attribute>
|
|
570
|
+
</optional>
|
|
571
|
+
<optional>
|
|
572
|
+
<attribute name="type"/>
|
|
573
|
+
</optional>
|
|
168
574
|
<oneOrMore>
|
|
169
575
|
<choice>
|
|
170
576
|
<ref name="paragraph"/>
|
|
@@ -910,6 +1316,27 @@
|
|
|
910
1316
|
<attribute name="id">
|
|
911
1317
|
<data type="ID"/>
|
|
912
1318
|
</attribute>
|
|
1319
|
+
<optional>
|
|
1320
|
+
<attribute name="unnumbered">
|
|
1321
|
+
<data type="boolean"/>
|
|
1322
|
+
</attribute>
|
|
1323
|
+
</optional>
|
|
1324
|
+
<optional>
|
|
1325
|
+
<attribute name="number"/>
|
|
1326
|
+
</optional>
|
|
1327
|
+
<optional>
|
|
1328
|
+
<attribute name="subsequence"/>
|
|
1329
|
+
</optional>
|
|
1330
|
+
<optional>
|
|
1331
|
+
<attribute name="keep-with-next">
|
|
1332
|
+
<data type="boolean"/>
|
|
1333
|
+
</attribute>
|
|
1334
|
+
</optional>
|
|
1335
|
+
<optional>
|
|
1336
|
+
<attribute name="keep-lines-together">
|
|
1337
|
+
<data type="boolean"/>
|
|
1338
|
+
</attribute>
|
|
1339
|
+
</optional>
|
|
913
1340
|
<oneOrMore>
|
|
914
1341
|
<choice>
|
|
915
1342
|
<ref name="paragraph"/>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module RelatonOgc
|
|
2
|
-
class OgcBibliographicItem <
|
|
2
|
+
class OgcBibliographicItem < RelatonBib::BibliographicItem
|
|
3
3
|
TYPES = %w[
|
|
4
4
|
abstract-specification-topic best-practice
|
|
5
5
|
change-request-supporting-document
|
|
@@ -20,11 +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 subtype: #{args[:docsubtype]}"
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
@docsubtype = args.delete :docsubtype
|
|
27
27
|
super
|
|
28
|
+
# @doctype = args[:doctype]
|
|
28
29
|
end
|
|
29
30
|
|
|
30
31
|
# @return [Hash]
|
|
@@ -33,5 +34,19 @@ module RelatonOgc
|
|
|
33
34
|
hash["docsubtype"] = docsubtype if docsubtype
|
|
34
35
|
hash
|
|
35
36
|
end
|
|
37
|
+
|
|
38
|
+
# @param builder [Nokogiri::XML::Builder]
|
|
39
|
+
# @param opts [Hash]
|
|
40
|
+
# @option opts [Boolean] :bibdata
|
|
41
|
+
def to_xml(builder = nil, **opts)
|
|
42
|
+
super do |b|
|
|
43
|
+
b.ext do
|
|
44
|
+
b.doctype doctype if doctype
|
|
45
|
+
b.docsubtype docsubtype if docsubtype
|
|
46
|
+
editorialgroup&.to_xml b
|
|
47
|
+
ics.each { |i| i.to_xml b }
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
36
51
|
end
|
|
37
52
|
end
|
data/lib/relaton_ogc/scrapper.rb
CHANGED
|
@@ -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<
|
|
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]
|
data/lib/relaton_ogc/version.rb
CHANGED
|
@@ -6,18 +6,25 @@ module RelatonOgc
|
|
|
6
6
|
# Override RelatonIsoBib::XMLParser.form_xml method.
|
|
7
7
|
# @param xml [String]
|
|
8
8
|
# @return [RelatonOgc::OgcBibliographicItem]
|
|
9
|
-
def from_xml(xml)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
end
|
|
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
|
|
17
|
+
# end
|
|
18
18
|
|
|
19
19
|
private
|
|
20
20
|
|
|
21
|
+
# override RelatonIsoBib::IsoBibliographicItem.bib_item method
|
|
22
|
+
# @param item_hash [Hash]
|
|
23
|
+
# @return [RelatonOgc::OgcBibliographicItem]
|
|
24
|
+
def bib_item(item_hash)
|
|
25
|
+
OgcBibliographicItem.new item_hash
|
|
26
|
+
end
|
|
27
|
+
|
|
21
28
|
# Override RelatonIsoBib::XMLParser.item_data method.
|
|
22
29
|
# @param item [Nokogiri::XML::Element]
|
|
23
30
|
# @returtn [Hash]
|
data/relaton_ogc.gemspec
CHANGED
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.
|
|
4
|
+
version: 1.2.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: 2020-06-
|
|
11
|
+
date: 2020-06-26 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.
|
|
173
|
+
version: 1.2.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.
|
|
180
|
+
version: 1.2.0
|
|
181
181
|
description: 'RelatonOgc: retrieve OGC Standards for bibliographic use using the OgcBibliographicItem
|
|
182
182
|
model'
|
|
183
183
|
email:
|