relaton-bib 0.3.3 → 0.3.8
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 +5 -5
- data/Gemfile.lock +5 -5
- data/docs/hash.adoc +298 -34
- data/lib/relaton_bib.rb +33 -1
- data/lib/relaton_bib/bib_item_locality.rb +12 -5
- data/lib/relaton_bib/biblio_note.rb +15 -5
- data/lib/relaton_bib/biblio_version.rb +12 -2
- data/lib/relaton_bib/bibliographic_date.rb +18 -24
- data/lib/relaton_bib/bibliographic_item.rb +49 -11
- data/lib/relaton_bib/classification.rb +7 -0
- data/lib/relaton_bib/contribution_info.rb +26 -4
- data/lib/relaton_bib/contributor.rb +42 -4
- data/lib/relaton_bib/copyright_association.rb +12 -5
- data/lib/relaton_bib/document_identifier.rb +7 -0
- data/lib/relaton_bib/document_relation.rb +9 -0
- data/lib/relaton_bib/document_status.rb +8 -0
- data/lib/relaton_bib/formatted_string.rb +12 -2
- data/lib/relaton_bib/hash_converter.rb +164 -101
- data/lib/relaton_bib/hit.rb +32 -0
- data/lib/relaton_bib/hit_collection.rb +34 -0
- data/lib/relaton_bib/localized_string.rb +16 -6
- data/lib/relaton_bib/medium.rb +9 -0
- data/lib/relaton_bib/organization.rb +36 -26
- data/lib/relaton_bib/person.rb +28 -1
- data/lib/relaton_bib/series.rb +16 -0
- data/lib/relaton_bib/typed_title_string.rb +14 -0
- data/lib/relaton_bib/typed_uri.rb +6 -0
- data/lib/relaton_bib/validity.rb +14 -4
- data/lib/relaton_bib/version.rb +1 -1
- data/lib/relaton_bib/xml_parser.rb +20 -6
- data/relaton-bib.gemspec +2 -2
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cc017393109ff9a548ad8e9a95fec12ae434564e
|
4
|
+
data.tar.gz: 4dec785eebbd91e0b9e38db886099bf772c1806e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 223b2d76ea441457e9f014ec6c4213ed910fdaba8e4c9ebec5aa8d14d296fb238f2392550fab2212173f5ef73a4b1827bc46aaf5e5637a058e89ea8f09ec9fdb
|
7
|
+
data.tar.gz: 96f84017b46c2d48c01dbde0359b5396137e7a066694d7e9cf9515b18657fb76511a84d66ebc5dae0a052bb20c8f97bffdd8b5d2584a56059587ed70793c8692
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
relaton-bib (0.3.
|
4
|
+
relaton-bib (0.3.8)
|
5
5
|
addressable
|
6
|
-
nokogiri
|
6
|
+
nokogiri
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
byebug (11.0.1)
|
14
14
|
debase (0.2.3)
|
15
15
|
debase-ruby_core_source (>= 0.10.2)
|
@@ -22,7 +22,7 @@ GEM
|
|
22
22
|
mini_portile2 (2.4.0)
|
23
23
|
nokogiri (1.10.3)
|
24
24
|
mini_portile2 (~> 2.4.0)
|
25
|
-
public_suffix (
|
25
|
+
public_suffix (4.0.1)
|
26
26
|
rake (10.5.0)
|
27
27
|
rspec (3.8.0)
|
28
28
|
rspec-core (~> 3.8.0)
|
data/docs/hash.adoc
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
= Relaton YAML
|
2
2
|
|
3
|
+
== YAML
|
4
|
+
|
3
5
|
The following structure is in place for encoding bibitem as YAML objects, and is also used
|
4
6
|
to represent bibliographic entries in Metanorma Asciidoctor. The structure has not yet been
|
5
7
|
generalised to `bibdata/ext`, the flavour specific extensions of relaton.
|
@@ -252,11 +254,14 @@ validity:
|
|
252
254
|
revision: 2011-03-04 09:00
|
253
255
|
....
|
254
256
|
|
257
|
+
== Metanorma structure: nested definition list
|
258
|
+
|
255
259
|
The Metanorma Asciidoctor representation of this hash structure
|
256
260
|
in a bibliography
|
257
261
|
is as a definition list, with nested definition lists for nested structures.
|
258
262
|
Repeating elements in a hash can be realised as ordered or unordered lists.
|
259
|
-
However, given how awkward lists of definition lists are in Asciidoctor
|
263
|
+
However, given how awkward lists of definition lists are in Asciidoctor
|
264
|
+
(with a limitation of three nesting levels),
|
260
265
|
Metanorma Asciidoctor also supports representing repeating elements
|
261
266
|
by repeating the key for that entry.
|
262
267
|
|
@@ -355,20 +360,20 @@ docid::
|
|
355
360
|
docnumber:: 211
|
356
361
|
edition:: 1
|
357
362
|
language::
|
358
|
-
|
359
|
-
|
363
|
+
. en
|
364
|
+
. fr
|
360
365
|
script:: Latn
|
361
366
|
version::
|
362
367
|
revision_date::: 2019-04-01
|
363
368
|
draft::: draft
|
364
369
|
biblionote::
|
365
370
|
type::: bibnote
|
366
|
-
content:::
|
371
|
+
content:::
|
367
372
|
+
|
368
|
-
|
373
|
+
--
|
369
374
|
Mark set a major league
|
370
375
|
home run record in 1998.
|
371
|
-
|
376
|
+
--
|
372
377
|
docstatus::
|
373
378
|
stage::: stage
|
374
379
|
substage::: substage
|
@@ -384,11 +389,11 @@ date::
|
|
384
389
|
type::: accessed
|
385
390
|
value::: 2015-05-20
|
386
391
|
abstract::
|
387
|
-
content:::
|
392
|
+
content:::
|
388
393
|
+
|
389
|
-
|
390
|
-
|
391
|
-
|
394
|
+
--
|
395
|
+
ISO 19115-1:2014 defines the schema required for ...
|
396
|
+
--
|
392
397
|
abstract::
|
393
398
|
content::: L'ISO 19115-1:2014 définit le schéma requis pour ...
|
394
399
|
language::: fr
|
@@ -419,8 +424,8 @@ extent::
|
|
419
424
|
type::: section
|
420
425
|
reference_from::: 7
|
421
426
|
accesslocation::
|
422
|
-
|
423
|
-
|
427
|
+
. accesslocation1
|
428
|
+
. accesslocation2
|
424
429
|
classification::
|
425
430
|
type::: type
|
426
431
|
value::: value
|
@@ -430,12 +435,12 @@ validity::
|
|
430
435
|
|
431
436
|
|
432
437
|
==== Contributor
|
433
|
-
|
438
|
+
organization::
|
434
439
|
name::: International Organization for Standardization
|
435
440
|
url::: www.iso.org
|
436
441
|
abbreviation::: ISO
|
437
442
|
subdivision::: division
|
438
|
-
role::
|
443
|
+
role::
|
439
444
|
type::: publisher
|
440
445
|
description::: Publisher role
|
441
446
|
|
@@ -443,22 +448,25 @@ role::
|
|
443
448
|
person::
|
444
449
|
name:::
|
445
450
|
completename::::
|
446
|
-
|
447
|
-
|
451
|
+
+
|
452
|
+
--
|
453
|
+
content:: A. Bierman
|
454
|
+
language:: en
|
455
|
+
--
|
448
456
|
affiliation:::
|
449
457
|
organization::::
|
450
|
-
name::::: IETF
|
451
|
-
abbreviation::::: IETF
|
452
|
-
identifier:::::
|
453
458
|
+
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
459
|
+
--
|
460
|
+
name:: IETF
|
461
|
+
abbreviation:: IETF
|
462
|
+
identifier::
|
463
|
+
type::: uri
|
464
|
+
id::: www.ietf.org
|
465
|
+
--
|
458
466
|
description:::: Affiliation description
|
459
467
|
contact:::
|
460
468
|
street::::
|
461
|
-
|
469
|
+
. 8 Street St
|
462
470
|
city:::: City
|
463
471
|
postcode:::: 123456
|
464
472
|
country:::: Country
|
@@ -469,7 +477,7 @@ id:: www.ietf.org
|
|
469
477
|
role:: author
|
470
478
|
|
471
479
|
==== Contributor
|
472
|
-
|
480
|
+
organization::
|
473
481
|
name::: IETF
|
474
482
|
abbreviation::: IETF
|
475
483
|
identifier:::
|
@@ -484,13 +492,16 @@ person::
|
|
484
492
|
initial:::: A.
|
485
493
|
surname:::: Bierman
|
486
494
|
affiliation:::
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
495
|
+
+
|
496
|
+
--
|
497
|
+
organization::
|
498
|
+
name::: IETF
|
499
|
+
abbreviation::: IETF
|
500
|
+
description::
|
501
|
+
content::: Affiliation description
|
502
|
+
language::: en
|
503
|
+
script::: Latn
|
504
|
+
--
|
494
505
|
identifier:::
|
495
506
|
type:::: uri
|
496
507
|
id:::: www.person.com
|
@@ -506,8 +517,8 @@ bibitem::
|
|
506
517
|
reference_to:::: 10
|
507
518
|
|
508
519
|
==== Relation
|
509
|
-
type
|
510
|
-
bibitem
|
520
|
+
type:: updates
|
521
|
+
bibitem::
|
511
522
|
type::: standard
|
512
523
|
formattedref::: ISO 19115:2003/Cor 1:2006
|
513
524
|
|
@@ -538,7 +549,260 @@ formattedref::
|
|
538
549
|
script::: Latn
|
539
550
|
....
|
540
551
|
|
552
|
+
== JSON Path style definition lists
|
553
|
+
|
554
|
+
The foregoing structure requires frequent breakouts into open blocks, to deal
|
555
|
+
with the limitation on Asciidoctor nested definition lists. An alternative is to
|
556
|
+
represent the nested structure of Relaton records in a simple, one-level definition list, and to use the key for each key-value pair to represent the hierarchical nesting of entries, as a dot-delimited path of keys. For example,
|
557
|
+
|
558
|
+
[source,asciidoctor]
|
559
|
+
----
|
560
|
+
[%bibitem]
|
561
|
+
=== Rubber latex -- Sampling
|
562
|
+
id:: iso123
|
563
|
+
docid::
|
564
|
+
type::: ISO
|
565
|
+
id::: ISO 123
|
566
|
+
----
|
567
|
+
|
568
|
+
can instead be represented as:
|
569
|
+
|
570
|
+
[source,asciidoctor]
|
571
|
+
----
|
572
|
+
[%bibitem]
|
573
|
+
=== Rubber latex -- Sampling
|
574
|
+
id:: iso123
|
575
|
+
docid.type:: ISO
|
576
|
+
docid.id::: ISO 123
|
577
|
+
----
|
578
|
+
|
579
|
+
Whenever part of the key is repeated between entries, the entries are assumed to attach to the same parent. If an array of hashes is needed, a blank entry is required for the key of each repeating element: For example,
|
580
|
+
|
581
|
+
[source,asciidoctor]
|
582
|
+
----
|
583
|
+
[%bibitem]
|
584
|
+
=== Rubber latex -- Sampling
|
585
|
+
id:: iso123
|
586
|
+
docid::
|
587
|
+
type::: ISO
|
588
|
+
id::: ISO 123
|
589
|
+
docid::
|
590
|
+
type::: ABC
|
591
|
+
id::: 32784
|
592
|
+
type:: standard
|
593
|
+
----
|
594
|
+
|
595
|
+
can instead be represented as:
|
596
|
+
|
597
|
+
[source,asciidoctor]
|
598
|
+
----
|
599
|
+
[%bibitem]
|
600
|
+
=== Rubber latex -- Sampling
|
601
|
+
id:: iso123
|
602
|
+
docid::
|
603
|
+
docid.type:: ISO
|
604
|
+
docid.id::: ISO 123
|
605
|
+
docid::
|
606
|
+
docid.type:: ABC
|
607
|
+
docid.id:: 32784
|
608
|
+
----
|
609
|
+
|
610
|
+
Embedded elements can also repeat:
|
611
|
+
|
612
|
+
[source,asciidoctor]
|
613
|
+
----
|
614
|
+
[%bibitem]
|
615
|
+
...
|
616
|
+
==== Contributor
|
617
|
+
person::
|
618
|
+
contact:::
|
619
|
+
street::::
|
620
|
+
. 8 Street St
|
621
|
+
city:::: City
|
622
|
+
postcode:::: 123456
|
623
|
+
country:::: Country
|
624
|
+
state:::: State
|
625
|
+
contact:::
|
626
|
+
type:::: phone
|
627
|
+
value:::: 223322
|
628
|
+
----
|
541
629
|
|
630
|
+
can instead be represented as:
|
542
631
|
|
632
|
+
[source,asciidoctor]
|
633
|
+
----
|
634
|
+
[%bibitem]
|
635
|
+
...
|
636
|
+
contributor.person.contact::
|
637
|
+
contributor.person.contact.street:: 8 Street St
|
638
|
+
contributor.person.contact.city:: City
|
639
|
+
contributor.person.contact.postcode:: 123456
|
640
|
+
contributor.person.contact.country:: Country
|
641
|
+
contributor.person.contact.state:: State
|
642
|
+
contributor.person.contact::
|
643
|
+
contributor.person.contact.type:: phone
|
644
|
+
contributor.person.contact.value:: 223322
|
645
|
+
----
|
543
646
|
|
647
|
+
The following is Metanorma Asciidoctor markup corresponding to the YAML
|
648
|
+
given above, using JSON Path style definition lists instead of nested definition lists:
|
544
649
|
|
650
|
+
[source,asciidoc]
|
651
|
+
....
|
652
|
+
[[ISO/TC211]]
|
653
|
+
[%bibitem]
|
654
|
+
=== {blank}
|
655
|
+
fetched:: 2019-06-30
|
656
|
+
title::
|
657
|
+
title.type:: main
|
658
|
+
title.content:: Geographic information
|
659
|
+
title::
|
660
|
+
title.type:: subtitle
|
661
|
+
title.content:: Geographic information subtitle
|
662
|
+
title.language:: en
|
663
|
+
title.script:: Latn
|
664
|
+
title.format:: text/plain
|
665
|
+
type:: standard
|
666
|
+
docid::
|
667
|
+
docid.type:: ISO
|
668
|
+
docid.id:: TC211
|
669
|
+
docnumber:: 211
|
670
|
+
edition:: 1
|
671
|
+
language:: en
|
672
|
+
language:: fr
|
673
|
+
script:: Latn
|
674
|
+
version.revision_date:: 2019-04-01
|
675
|
+
version.draft:: draft
|
676
|
+
biblionote.type:: bibnote
|
677
|
+
biblionote.content::
|
678
|
+
+
|
679
|
+
--
|
680
|
+
Mark set a major league
|
681
|
+
home run record in 1998.
|
682
|
+
--
|
683
|
+
docstatus.stage:: stage
|
684
|
+
docstatus.substage:: substage
|
685
|
+
docstatus.iteration:: iteration
|
686
|
+
date::
|
687
|
+
date.type:: issued
|
688
|
+
date.value:: 2014
|
689
|
+
date::
|
690
|
+
date.type:: published
|
691
|
+
date.from:: 2014-04
|
692
|
+
date.to:: 2014-05
|
693
|
+
date::
|
694
|
+
date.type:: accessed
|
695
|
+
date.value:: 2015-05-20
|
696
|
+
abstract::
|
697
|
+
abstract.content::
|
698
|
+
+
|
699
|
+
--
|
700
|
+
ISO 19115-1:2014 defines the schema required for ...
|
701
|
+
--
|
702
|
+
abstract::
|
703
|
+
abstract.content:: L'ISO 19115-1:2014 définit le schéma requis pour ...
|
704
|
+
abstract.language:: fr
|
705
|
+
abstract.script:: Latn
|
706
|
+
abstract.format:: text/plain
|
707
|
+
copyright.owner.name:: International Organization for Standardization
|
708
|
+
copyright.owner.abbreviation:: ISO
|
709
|
+
copyright.owner.url:: www.iso.org
|
710
|
+
copyright.from:: 2014
|
711
|
+
copyright.to:: 2020
|
712
|
+
link::
|
713
|
+
link.type:: src
|
714
|
+
link.content:: https://www.iso.org/standard/53798.html
|
715
|
+
link::
|
716
|
+
link.type:: obp
|
717
|
+
link.content:: https://www.iso.org/obp/ui/#!iso:std:53798:en
|
718
|
+
link::
|
719
|
+
link.type:: rss
|
720
|
+
link.content:: https://www.iso.org/contents/data/standard/05/37/53798.detail.rss
|
721
|
+
medium::
|
722
|
+
medium.form:: medium form
|
723
|
+
medium.size:: medium size
|
724
|
+
medium.scale:: medium scale
|
725
|
+
place:: bib place
|
726
|
+
extent.type:: section
|
727
|
+
extent.reference_from:: 7
|
728
|
+
accesslocation:: accesslocation1
|
729
|
+
accesslocation:: accesslocation2
|
730
|
+
classification.type:: type
|
731
|
+
classification.value:: value
|
732
|
+
validity.begins:: 2010-10-10 12:21
|
733
|
+
validity.ends:: 2011-02-03 18:30
|
734
|
+
contributor::
|
735
|
+
contributor.organization.name:: International Organization for Standardization
|
736
|
+
contributor.organization.url:: www.iso.org
|
737
|
+
contributor.organization.abbreviation:: ISO
|
738
|
+
contributor.organization.subdivision:: division
|
739
|
+
contributor.role.type:: publisher
|
740
|
+
contributor.role.description:: Publisher role
|
741
|
+
contributor::
|
742
|
+
contributor.person.name.completename.content:: A. Bierman
|
743
|
+
contributor.person.name.completename.language:: en
|
744
|
+
contributor.person.affiliation.organization.name:: IETF
|
745
|
+
contributor.person.affiliation.organization.abbreviation:: IETF
|
746
|
+
contributor.person.affiliation.organization.identifier.type:: uri
|
747
|
+
contributor.person.affiliation.organization.identifier.id:: www.ietf.org
|
748
|
+
contributor.person.affiliation.description:: Affiliation description
|
749
|
+
contributor.person.contact::
|
750
|
+
contributor.person.contact.street:: 8 Street St
|
751
|
+
contributor.person.contact.city:: City
|
752
|
+
contributor.person.contact.postcode:: 123456
|
753
|
+
contributor.person.contact.country:: Country
|
754
|
+
contributor.person.contact.state:: State
|
755
|
+
contributor.person.contact::
|
756
|
+
contributor.person.contact.type:: phone
|
757
|
+
contributor.person.contact.value:: 223322
|
758
|
+
contributor.role:: author
|
759
|
+
contributor::
|
760
|
+
contributor.organization.name:: IETF
|
761
|
+
contributor.organization.abbreviation:: IETF
|
762
|
+
contributor.organization.identifier.type:: uri
|
763
|
+
contributor.organization.identifier.id:: www.ietf.org
|
764
|
+
contributor.role:: publisher
|
765
|
+
contributor::
|
766
|
+
contributor.person.name.language:: en
|
767
|
+
contributor.person.name.initial:: A.
|
768
|
+
contributor.person.name.surname:: Bierman
|
769
|
+
contributor.person.affiliation.organization.name:: IETF
|
770
|
+
contributor.person.affiliation.organization.abbreviation:: IETF
|
771
|
+
contributor.person.affiliation.description.content:: Affiliation description
|
772
|
+
contributor.person.affiliation.description.language:: en
|
773
|
+
contributor.person.affiliation.description.script:: Latn
|
774
|
+
contributor.person.identifier.type:: uri
|
775
|
+
contributor.person.identifier.id:: www.person.com
|
776
|
+
contributor.role:: author
|
777
|
+
relation::
|
778
|
+
relation.type:: updates
|
779
|
+
relation.bibitem.formattedref:: ISO 19115:2003
|
780
|
+
relation.bibitem.bib_locality.type:: page
|
781
|
+
relation.bibitem.bib_locality.reference_from:: 7
|
782
|
+
relation.bibitem.bib_locality.reference_to:: 10
|
783
|
+
relation::
|
784
|
+
relation.type:: updates
|
785
|
+
relation.bibitem.type:: standard
|
786
|
+
relation.bibitem.formattedref:: ISO 19115:2003/Cor 1:2006
|
787
|
+
series::
|
788
|
+
series.type:: main
|
789
|
+
series.title.type:: original
|
790
|
+
series.title.content:: ISO/IEC FDIS 10118-3
|
791
|
+
series.title.language:: en
|
792
|
+
series.title.script:: Latn
|
793
|
+
series.title.format:: text/plain
|
794
|
+
series.place:: Serie's place
|
795
|
+
series.organization:: Serie's organization
|
796
|
+
series.abbreviation.content:: ABVR
|
797
|
+
series.abbreviation.language:: en
|
798
|
+
series.abbreviation.script:: Latn
|
799
|
+
series.from:: 2009-02-01
|
800
|
+
series.to:: 2010-12-20
|
801
|
+
series.number:: serie1234
|
802
|
+
series.partnumber:: part5678
|
803
|
+
series::
|
804
|
+
series.type:: alt
|
805
|
+
series.formattedref.content:: serieref
|
806
|
+
series.formattedref.language:: en
|
807
|
+
series.formattedref.script:: Latn
|
808
|
+
----
|