relaton-bib 1.11.7 → 1.12.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: 9dffbd3f78b2468d48d601dd2cb1fa883c94d16d0b6c16a213219f85bbeef4c3
4
- data.tar.gz: b04d3b2db08c74e0ba9599c36a35ebd00dc62501ce0847bbce046cbcc9892fa8
3
+ metadata.gz: 9eeef3d918b1e4019c727d83fbd3dcaaec3b728b0e5ae20fc060d2f807766d9a
4
+ data.tar.gz: 52f1ef6b2878caf82fd057367c86c9559c9b40b28426ab707c195f8d986955fc
5
5
  SHA512:
6
- metadata.gz: adf68e1aa4a1c7f8fc719cf51bfc1b74d0e8ae49374647d70140021d5250908c52b0728219cb5eda9aed442eaf3f12674648ac1e61af744ffce345d0e81c7b91
7
- data.tar.gz: 29690620969a335e11ab867163f33b530072cea8ceaab4d2980c60eadf14c9eaddb2976c02826cdf13ad677dd2ef781539419a014929481bce0e90274cc6dad7
6
+ metadata.gz: 976fbcf860048645b33c83a02aa3d93371ec5b03a7e5282a263cbfeede3acc3b869c613edb642157abd14908ff665b63219ee374a8d5ccfc9c0a256b9e224fd7
7
+ data.tar.gz: 0fd3bc4e7e8177e84887d65c137add9566bbca0cc317b1b2423fffc37f60b280463e8f6c55b5e1aa67ebb4c4d01cc18e3c5786ff7ac9d9aaffa3e5a2664dc624
data/README.adoc CHANGED
@@ -31,216 +31,16 @@ Or install it yourself as:
31
31
 
32
32
  [source,ruby]
33
33
  ----
34
- item = RelatonBib::BibliographicItem.new(
35
- id: "ISOTC211", fetched: Date.today.to_s,
36
- title: [
37
- { type: "main", content: "Geographic information", language: "en", script: "Latn" },
38
- {
39
- content: "Information géographique", language: "fr", script: "Latn"
40
- },
41
- ],
42
- type: "standard",
43
- docid: [
44
- RelatonBib::DocumentIdentifier.new(id: "TC211", type: "ISO"),
45
- RelatonBib::DocumentIdentifier.new(id: "ISBN", type: "isbn"),
46
- RelatonBib::DocumentIdentifier.new(id: "LCCN", type: "lccn"),
47
- RelatonBib::DocumentIdentifier.new(id: "ISSN", type: "issn"),
48
- ],
49
- docnumber: "123456",
50
- edition: "1", language: %w[en fr], script: ["Latn"],
51
- version: RelatonBib::BibliographicItem::Version.new("2019-04-01", ["draft"]),
52
- biblionote: [
53
- RelatonBib::BiblioNote.new(content: "note"),
54
- RelatonBib::BiblioNote.new(content: "An note", type: "annote"),
55
- RelatonBib::BiblioNote.new(content: "How published", type: "howpublished"),
56
- RelatonBib::BiblioNote.new(content: "Comment", type: "comment"),
57
- RelatonBib::BiblioNote.new(content: "Table Of Contents", type: "tableOfContents"),
58
- ],
59
- docstatus: RelatonBib::DocumentStatus.new(
60
- stage: "stage", substage: "substage", iteration: "final",
61
- ),
62
- date: [
63
- { type: "issued", on: "2014" },
64
- { type: "published", on: "2014-04" },
65
- { type: "accessed", on: "2015-05-20" },
66
- ],
67
- abstract: [
68
- { content: "ISO 19115-1:2014 defines the schema required for ...",
69
- language: "en", script: "Latn", format: "text/plain" },
70
- { content: "L'ISO 19115-1:2014 définit le schéma requis pour ...",
71
- language: "fr", script: "Latn", format: "text/plain" },
72
- ],
73
- contributor: [
74
- {
75
- entity: {
76
- name: "International Organization for Standardization",
77
- url: "www.iso.org", abbreviation: "ISO", subdivision: "division",
78
- },
79
- role: [{ type: "publisher", description: ["Publisher role"] }],
80
- },
81
- {
82
- entity: RelatonBib::Person.new(
83
- name: RelatonBib::FullName.new(
84
- completename: RelatonBib::LocalizedString.new("A. Bierman", "en"),
85
- ),
86
- affiliation: [RelatonBib::Affiliation.new(
87
- organization: RelatonBib::Organization.new(
88
- name: "IETF",
89
- abbreviation: RelatonBib::LocalizedString.new("IETF"),
90
- identifier: [RelatonBib::OrgIdentifier.new("uri", "www.ietf.org")],
91
- )
92
- )],
93
- contact: [
94
- RelatonBib::Address.new(
95
- street: ["Street"], city: "City", postcode: "123456",
96
- country: "Country", state: "State"
97
- ),
98
- RelatonBib::Contact.new(type: "phone", value: "223322"),
99
- ]
100
- ),
101
- role: [type: "author"],
102
- },
103
- RelatonBib::ContributionInfo.new(
104
- entity: RelatonBib::Organization.new(
105
- name: "IETF",
106
- abbreviation: "IETF",
107
- identifier: [RelatonBib::OrgIdentifier.new("uri", "www.ietf.org")],
108
- ),
109
- role: [type: "publisher"],
110
- ),
111
- {
112
- entity: RelatonBib::Person.new(
113
- name: RelatonBib::FullName.new(
114
- initial: [RelatonBib::LocalizedString.new("A.", "en")],
115
- surname: RelatonBib::LocalizedString.new("Bierman", "en"),
116
- forename: [RelatonBib::LocalizedString.new("Forename", "en")],
117
- addition: [RelatonBib::LocalizedString.new("Addition", "en")],
118
- prefix: [RelatonBib::LocalizedString.new("Prefix", "en")],
119
- ),
120
- affiliation: [RelatonBib::Affiliation.new(
121
- organization: RelatonBib::Organization.new(name: "IETF", abbreviation: "IETF"),
122
- description: [RelatonBib::LocalizedString.new("Description", "en")]
123
- )],
124
- contact: [
125
- RelatonBib::Address.new(
126
- street: ["Street"], city: "City", postcode: "123456",
127
- country: "Country", state: "State"
128
- ),
129
- RelatonBib::Contact.new(type: "phone", value: "223322"),
130
- ],
131
- identifier: [RelatonBib::PersonIdentifier.new("uri", "www.person.com")],
132
- ),
133
- role: [type: "author"],
134
- },
135
- { entity: { name: "Institution" }, role: [type: "sponsor"] }
136
- ],
137
- copyright: [{
138
- owner: [{
139
- name: "International Organization for Standardization",
140
- abbreviation: "ISO", url: "www.iso.org"
141
- }],
142
- from: "2014", to: "2020"
143
- }],
144
- link: [
145
- { type: "src", content: "https://www.iso.org/standard/53798.html" },
146
- { type: "obp",
147
- content: "https://www.iso.org/obp/ui/#!iso:std:53798:en" },
148
- { type: "rss", content: "https://www.iso.org/contents/data/standard"\
149
- "/05/37/53798.detail.rss" },
150
- { type: "doi", content: "http://standrd.org/doi-123" },
151
- { type: "file", content: "file://path/file" },
152
- ],
153
- relation: [
154
- {
155
- type: "updates",
156
- bibitem: RelatonBib::BibliographicItem.new(
157
- formattedref: RelatonBib::FormattedRef.new(content: "ISO 19115:2003"),
158
- ),
159
- locality: [
160
- RelatonBib::LocalityStack.new([
161
- RelatonBib::Locality.new("volume", "1"),
162
- RelatonBib::Locality.new("section", "2"),
163
- ]),
164
- ],
165
- source_locality: [
166
- RelatonBib::SourceLocalityStack.new([
167
- RelatonBib::SourceLocality.new("chapter", "4"),
168
- ]),
169
- ],
170
- },
171
- {
172
- type: "updates",
173
- bibitem: RelatonBib::BibliographicItem.new(
174
- type: "standard",
175
- formattedref: RelatonBib::FormattedRef.new(content: "ISO 19115:2003/Cor 1:2006"),
176
- ),
177
- },
178
- {
179
- type: "partOf",
180
- bibitem: RelatonBib::BibliographicItem.new(
181
- title: [RelatonBib::TypedTitleString.new(type: "main", content: "Book title")],
182
- ),
183
- },
184
- ],
185
- series: [
186
- RelatonBib::Series.new(
187
- type: "main",
188
- title: RelatonBib::TypedTitleString.new(
189
- type: "original", content: "ISO/IEC FDIS 10118-3", language: "en",
190
- script: "Latn", format: "text/plain",
191
- ),
192
- place: "Serie's place",
193
- organization: "Serie's organization",
194
- abbreviation: RelatonBib::LocalizedString.new("ABVR"),
195
- from: "2009-02-01",
196
- to: "2010-12-20",
197
- number: "serie1234",
198
- partnumber: "part5678",
199
- ),
200
- RelatonBib::Series.new(
201
- type: "alt",
202
- formattedref: RelatonBib::FormattedRef.new(
203
- content: "serieref", language: "en", script: "Latn",
204
- ),
205
- ),
206
- RelatonBib::Series.new(
207
- type: "journal", title: RelatonBib::TypedTitleString.new(content: "Journal"), number: "7"
208
- ),
209
- RelatonBib::Series.new(title: RelatonBib::TypedTitleString.new(content: "Series")),
210
- ],
211
- medium: RelatonBib::Medium.new(
212
- form: "medium form", size: "medium size", scale: "medium scale",
213
- ),
214
- place: [
215
- "bib place",
216
- RelatonBib::Place.new(
217
- city: "Geneva",
218
- region: [RelatonBib::Place::RegionType.new(name: "Region")],
219
- country: [RelatonBib::Place::RegionType.new(name: "Switzeland", iso: "SH", recommended: true)],
220
- )
221
- ],
222
- extent: [
223
- RelatonBib::BibItemLocality.new("section", "Reference from", "Reference to"),
224
- RelatonBib::BibItemLocality.new("chapter", "4"),
225
- RelatonBib::BibItemLocality.new("page", "10", "20"),
226
- RelatonBib::BibItemLocality.new("volume", "1"),
227
- ],
228
- accesslocation: ["accesslocation1", "accesslocation2"],
229
- classification: [
230
- RelatonBib::Classification.new(type: "type", value: "value"),
231
- RelatonBib::Classification.new(type: "keyword", value: "Keywords"),
232
- RelatonBib::Classification.new(type: "mendeley", value: "Mendeley Tags"),
233
- ],
234
- validity: RelatonBib::Validity.new(
235
- begins: Time.new(2010, 10, 10, 12, 21),
236
- ends: Time.new(2011, 2, 3, 18,30),
237
- revision: Time.new(2011, 3, 4, 9, 0),
238
- )
239
- )
240
-
241
- => #<RelatonBib::BibliographicItem:0x007fc8b6c796c0
34
+ hash = YAML.load_file "spec/examples/bib_item.yml"
35
+ => {"id"=>"ISOTC211",
36
+ "title"=>["Geographic information", {"content"=>"Information géographique", "language"=>"fr", "script"=>"Latn"}],
37
+ ...
38
+
39
+ item = RelatonBib::BibliographicItem.from_hash(hash)
40
+ => #<RelatonBib::BibliographicItem:0x00007f962f030710
242
41
  @abstract=
243
- [#<RelatonBib::FormattedString:0x007fc8b6c726b8 @content="ISO 19115-1:2014 defines the schema required for ...", @format="text/plain", @language=["en"], @script=["Latn"]>,
42
+ [#<RelatonBib::FormattedString:0x00007f962f02acc0
43
+ ...
244
44
  ----
245
45
 
246
46
  === BibliographicItem Typed Title Strings
@@ -266,8 +66,17 @@ item.title lang: "fr"
266
66
  [source,ruby]
267
67
  ----
268
68
  item.abstract
269
- => [#<RelatonBib::FormattedString:0x007fc8b6c726b8 @content="ISO 19115-1:2014 defines the schema required for ...", @format="text/plain", @language=["en"], @script=["Latn"]>,
270
- #<RelatonBib::FormattedString:0x007fc8b6c725f0 @content="L'ISO 19115-1:2014 définit le schéma requis pour ...", @format="text/plain", @language=["fr"], @script=["Latn"]>]
69
+ => #<RelatonBib::TypedTitleStringCollection:0x00007f962f0306c0
70
+ @array=
71
+ [#<RelatonBib::TypedTitleString:0x00007f95ee8a4298
72
+ @title=#<RelatonBib::FormattedString:0x00007f95ee8a41a8 @content="Geographic information", @format="text/plain", @language=nil, @script=nil>,
73
+ @type="title-main">,
74
+ #<RelatonBib::TypedTitleString:0x00007f95ee8a4040
75
+ @title=#<RelatonBib::FormattedString:0x00007f962f03bf70 @content="Geographic information", @format="text/plain", @language=nil, @script=nil>,
76
+ @type="main">,
77
+ #<RelatonBib::TypedTitleString:0x00007f962f030620
78
+ @title=#<RelatonBib::FormattedString:0x00007f962f030580 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
79
+ @type=nil>]>
271
80
 
272
81
  item.abstract(lang: "en").to_s
273
82
  => "ISO 19115-1:2014 defines the schema required for ..."
@@ -450,37 +259,57 @@ title.format:: text/plain
450
259
  [source,ruby]
451
260
  ----
452
261
  item.to_bibxml
453
- <reference anchor="ISOTC211" target="https://www.iso.org/standard/53798.html">
262
+ <reference anchor="ISO.TC.211" target="https://www.iso.org/standard/53798.html">
454
263
  <front>
455
264
  <title>Geographic information</title>
456
- <seriesInfo name="DOI" value="10.17487/rfc1149"/>
457
- <seriesInfo name="Internet-Draft" value="draft-ietf-somewg-someprotocol-07"/>
458
- <seriesInfo name="RFC" value="4"/>
459
265
  <author>
460
266
  <organization abbrev="ISO">International Organization for Standardization</organization>
461
267
  </author>
462
268
  <author fullname="A. Bierman">
463
269
  <organization abbrev="IETF">IETF</organization>
464
270
  <address>
465
- <postal>123456</postal>
271
+ <postal>
272
+ <city>City</city>
273
+ <code>123456</code>
274
+ <country>Country</country>
275
+ <region>State</region>
276
+ <street>Street</street>
277
+ </postal>
466
278
  <phone>223322</phone>
467
279
  </address>
468
280
  </author>
469
281
  <author role="editor">
470
- <organization abbrev="IETF">IETF</organization>
282
+ <organization abbrev="IEEE">IEEE</organization>
471
283
  </author>
472
- <author initials="A." surname="Bierman">
284
+ <author fullname="Forename Bierman" initials="A." surname="Bierman">
473
285
  <organization abbrev="IETF">IETF</organization>
474
286
  <address>
475
- <postal>123456</postal>
287
+ <postal>
288
+ <city>City</city>
289
+ <code>123456</code>
290
+ <country>Country</country>
291
+ <region>State</region>
292
+ <street>Street</street>
293
+ </postal>
476
294
  <phone>223322</phone>
477
295
  </address>
478
296
  </author>
479
297
  <author>
480
- <organization>Institution</organization>
298
+ <organization>W3C</organization>
481
299
  </author>
482
- <date year="2014" month="April" day="1"/>
300
+ <date year="2014" month="April"/>
301
+ <workgroup>Editorial group</workgroup>
302
+ <abstract>
303
+ <t>ISO 19115-1:2014 defines the schema required for ...</t>
304
+ </abstract>
483
305
  </front>
306
+ <seriesInfo name="DOI" value="10.17487/rfc1149"/>
307
+ <seriesInfo name="Internet-Draft" value="draft-ietf-somewg-someprotocol-07"/>
308
+ <seriesInfo name="ISO/IEC FDIS 10118-3" value="serie1234"/>
309
+ <seriesInfo name="Formattedref"/>
310
+ <seriesInfo name="Journal" value="7"/>
311
+ <seriesInfo name="Series"/>
312
+ <seriesInfo name="RFC" value="4"/>
484
313
  </reference>
485
314
  ----
486
315
 
data/grammars/biblio.rng CHANGED
@@ -614,12 +614,103 @@
614
614
  <optional>
615
615
  <ref name="fetched"/>
616
616
  </optional>
617
- <choice>
618
- <oneOrMore>
619
- <ref name="btitle"/>
620
- </oneOrMore>
617
+ <optional>
621
618
  <ref name="formattedref"/>
622
- </choice>
619
+ </optional>
620
+ <oneOrMore>
621
+ <ref name="btitle"/>
622
+ </oneOrMore>
623
+ <zeroOrMore>
624
+ <ref name="bsource"/>
625
+ </zeroOrMore>
626
+ <oneOrMore>
627
+ <ref name="docidentifier"/>
628
+ </oneOrMore>
629
+ <optional>
630
+ <ref name="docnumber"/>
631
+ </optional>
632
+ <zeroOrMore>
633
+ <ref name="bdate"/>
634
+ </zeroOrMore>
635
+ <zeroOrMore>
636
+ <ref name="contributor"/>
637
+ </zeroOrMore>
638
+ <optional>
639
+ <ref name="edition"/>
640
+ </optional>
641
+ <zeroOrMore>
642
+ <ref name="version"/>
643
+ </zeroOrMore>
644
+ <zeroOrMore>
645
+ <ref name="biblionote"/>
646
+ </zeroOrMore>
647
+ <zeroOrMore>
648
+ <ref name="language"/>
649
+ </zeroOrMore>
650
+ <zeroOrMore>
651
+ <ref name="script"/>
652
+ </zeroOrMore>
653
+ <zeroOrMore>
654
+ <ref name="bibabstract"/>
655
+ </zeroOrMore>
656
+ <optional>
657
+ <ref name="status"/>
658
+ </optional>
659
+ <zeroOrMore>
660
+ <ref name="copyright"/>
661
+ </zeroOrMore>
662
+ <zeroOrMore>
663
+ <ref name="docrelation"/>
664
+ </zeroOrMore>
665
+ <zeroOrMore>
666
+ <ref name="series"/>
667
+ </zeroOrMore>
668
+ <optional>
669
+ <ref name="medium"/>
670
+ </optional>
671
+ <zeroOrMore>
672
+ <ref name="bplace"/>
673
+ </zeroOrMore>
674
+ <zeroOrMore>
675
+ <ref name="bprice"/>
676
+ </zeroOrMore>
677
+ <zeroOrMore>
678
+ <ref name="extent"/>
679
+ </zeroOrMore>
680
+ <optional>
681
+ <ref name="bibliographic_size"/>
682
+ </optional>
683
+ <zeroOrMore>
684
+ <ref name="accesslocation"/>
685
+ </zeroOrMore>
686
+ <zeroOrMore>
687
+ <ref name="license"/>
688
+ </zeroOrMore>
689
+ <zeroOrMore>
690
+ <ref name="bclassification"/>
691
+ </zeroOrMore>
692
+ <zeroOrMore>
693
+ <ref name="bkeyword"/>
694
+ </zeroOrMore>
695
+ <optional>
696
+ <ref name="validity"/>
697
+ </optional>
698
+ </define>
699
+ <define name="ReducedBibliographicItem">
700
+ <optional>
701
+ <attribute name="type">
702
+ <ref name="BibItemType"/>
703
+ </attribute>
704
+ </optional>
705
+ <optional>
706
+ <ref name="fetched"/>
707
+ </optional>
708
+ <optional>
709
+ <ref name="formattedref"/>
710
+ </optional>
711
+ <zeroOrMore>
712
+ <ref name="btitle"/>
713
+ </zeroOrMore>
623
714
  <zeroOrMore>
624
715
  <ref name="bsource"/>
625
716
  </zeroOrMore>
@@ -638,9 +729,9 @@
638
729
  <optional>
639
730
  <ref name="edition"/>
640
731
  </optional>
641
- <optional>
732
+ <zeroOrMore>
642
733
  <ref name="version"/>
643
- </optional>
734
+ </zeroOrMore>
644
735
  <zeroOrMore>
645
736
  <ref name="biblionote"/>
646
737
  </zeroOrMore>
@@ -833,6 +924,12 @@
833
924
  <data type="boolean"/>
834
925
  </attribute>
835
926
  </optional>
927
+ <optional>
928
+ <attribute name="language"/>
929
+ </optional>
930
+ <optional>
931
+ <attribute name="script"/>
932
+ </optional>
836
933
  <text/>
837
934
  </element>
838
935
  </define>
@@ -986,36 +1083,34 @@
986
1083
  <ref name="SeriesType"/>
987
1084
  </attribute>
988
1085
  </optional>
989
- <choice>
1086
+ <optional>
990
1087
  <ref name="formattedref"/>
991
- <group>
992
- <ref name="btitle"/>
993
- <optional>
994
- <ref name="bplace"/>
995
- </optional>
996
- <optional>
997
- <ref name="seriesorganization"/>
998
- </optional>
999
- <optional>
1000
- <ref name="abbreviation"/>
1001
- </optional>
1002
- <optional>
1003
- <ref name="seriesfrom"/>
1004
- </optional>
1005
- <optional>
1006
- <ref name="seriesto"/>
1007
- </optional>
1008
- <optional>
1009
- <ref name="seriesnumber"/>
1010
- </optional>
1011
- <optional>
1012
- <ref name="seriespartnumber"/>
1013
- </optional>
1014
- <optional>
1015
- <ref name="seriesrun"/>
1016
- </optional>
1017
- </group>
1018
- </choice>
1088
+ </optional>
1089
+ <ref name="btitle"/>
1090
+ <optional>
1091
+ <ref name="bplace"/>
1092
+ </optional>
1093
+ <optional>
1094
+ <ref name="seriesorganization"/>
1095
+ </optional>
1096
+ <optional>
1097
+ <ref name="abbreviation"/>
1098
+ </optional>
1099
+ <optional>
1100
+ <ref name="seriesfrom"/>
1101
+ </optional>
1102
+ <optional>
1103
+ <ref name="seriesto"/>
1104
+ </optional>
1105
+ <optional>
1106
+ <ref name="seriesnumber"/>
1107
+ </optional>
1108
+ <optional>
1109
+ <ref name="seriespartnumber"/>
1110
+ </optional>
1111
+ <optional>
1112
+ <ref name="seriesrun"/>
1113
+ </optional>
1019
1114
  </element>
1020
1115
  </define>
1021
1116
  <define name="SeriesType">
@@ -1174,7 +1269,7 @@
1174
1269
  </element>
1175
1270
  </optional>
1176
1271
  <element name="bibitem">
1177
- <ref name="BibliographicItem"/>
1272
+ <ref name="ReducedBibliographicItem"/>
1178
1273
  </element>
1179
1274
  <choice>
1180
1275
  <zeroOrMore>
@@ -1199,9 +1294,9 @@
1199
1294
  <optional>
1200
1295
  <ref name="revision-date"/>
1201
1296
  </optional>
1202
- <zeroOrMore>
1297
+ <optional>
1203
1298
  <ref name="draft"/>
1204
- </zeroOrMore>
1299
+ </optional>
1205
1300
  </element>
1206
1301
  </define>
1207
1302
  <define name="vedition">