relaton-iso-bib 1.13.0 → 1.16.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/.github/workflows/release.yml +24 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/Gemfile +7 -0
- data/README.adoc +227 -243
- data/grammars/basicdoc.rng +3 -28
- data/grammars/biblio-standoc.rng +164 -0
- data/grammars/biblio.rng +95 -22
- data/grammars/relaton-iso-compile.rng +11 -0
- data/grammars/relaton-iso.rng +225 -0
- data/lib/relaton_iso_bib/editorial_group.rb +5 -5
- data/lib/relaton_iso_bib/iso_bibliographic_item.rb +34 -13
- data/lib/relaton_iso_bib/version.rb +1 -1
- data/relaton_iso_bib.gemspec +2 -11
- metadata +10 -93
- data/grammars/isodoc.rng +0 -2807
- data/grammars/isostandard.rng +0 -514
- data/grammars/reqt.rng +0 -223
data/README.adoc
CHANGED
@@ -33,136 +33,32 @@ Or install it yourself as:
|
|
33
33
|
|
34
34
|
[source,ruby]
|
35
35
|
----
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
{
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
abstract: [
|
60
|
-
{ content: "ISO 19115-1:2014 defines the schema required for ...",
|
61
|
-
language: "en", script: "Latn", format: "text/plain" },
|
62
|
-
{ content: "L'ISO 19115-1:2014 définit le schéma requis pour ...",
|
63
|
-
language: "fr", script: "Latn", format: "text/plain" },
|
64
|
-
],
|
65
|
-
contributor: [
|
66
|
-
{ entity: { name: "International Organization for Standardization",
|
67
|
-
url: "www.iso.org", abbreviation: "ISO" },
|
68
|
-
role: [type: "publisher"] },
|
69
|
-
{
|
70
|
-
entity: RelatonBib::Person.new(
|
71
|
-
name: RelatonBib::FullName.new(
|
72
|
-
completename: RelatonBib::LocalizedString.new("John Smith"),
|
73
|
-
),
|
74
|
-
),
|
75
|
-
role: [type: "author"],
|
76
|
-
},
|
77
|
-
],
|
78
|
-
copyright: [{
|
79
|
-
owner: [{
|
80
|
-
name: "International Organization for Standardization",
|
81
|
-
abbreviation: "ISO", url: "www.iso.org"
|
82
|
-
}], from: "2014" }],
|
83
|
-
link: [
|
84
|
-
{ type: "src", content: "https://www.iso.org/standard/53798.html" },
|
85
|
-
{ type: "obp",
|
86
|
-
content: "https://www.iso.org/obp/ui/#!iso:std:53798:en" },
|
87
|
-
{ type: "rss", content: "https://www.iso.org/contents/data/standard"\
|
88
|
-
"/05/37/53798.detail.rss" },
|
89
|
-
],
|
90
|
-
relation: [
|
91
|
-
RelatonBib::DocumentRelation.new(
|
92
|
-
type: "updates",
|
93
|
-
bibitem: RelatonIsoBib::IsoBibliographicItem.new(
|
94
|
-
formattedref: RelatonBib::FormattedRef.new(content: "ISO 19115:2003"),
|
95
|
-
docstatus: RelatonBib::DocumentStatus.new(stage: "60", substage: "60"),
|
96
|
-
),
|
97
|
-
locality: [
|
98
|
-
RelatonBib::BibItemLocality.new("updates", "Reference form"),
|
99
|
-
],
|
100
|
-
),
|
101
|
-
RelatonBib::DocumentRelation.new(
|
102
|
-
type: "updates",
|
103
|
-
bibitem: RelatonIsoBib::IsoBibliographicItem.new(
|
104
|
-
type: "international-standard",
|
105
|
-
formattedref: RelatonBib::FormattedRef.new(content: "ISO 19115:2003/Cor 1:2006"),
|
106
|
-
),
|
107
|
-
),
|
108
|
-
],
|
109
|
-
series: [
|
110
|
-
RelatonBib::Series.new(
|
111
|
-
type: "main",
|
112
|
-
title: RelatonBib::TypedTitleString.new(
|
113
|
-
type: "title-main", content: "ISO/IEC FDIS 10118-3", language: "en", script: "Latn",
|
114
|
-
),
|
115
|
-
place: "Serie's place",
|
116
|
-
organization: "Serie's organization",
|
117
|
-
abbreviation: RelatonBib::LocalizedString.new("ABVR", "en", "Latn"),
|
118
|
-
from: "2009-02-01",
|
119
|
-
to: "2010-12-20",
|
120
|
-
number: "serie1234",
|
121
|
-
partnumber: "part5678",
|
122
|
-
),
|
123
|
-
RelatonBib::Series.new(
|
124
|
-
type: "alt",
|
125
|
-
formattedref: RelatonBib::FormattedRef.new(
|
126
|
-
content: "serieref", language: "en", script: "Latn",
|
127
|
-
),
|
128
|
-
)
|
129
|
-
],
|
130
|
-
medium: RelatonBib::Medium.new(
|
131
|
-
form: "medium form", size: "medium size", scale: "medium scale",
|
132
|
-
),
|
133
|
-
place: ["bib place"],
|
134
|
-
extent: [
|
135
|
-
RelatonBib::BibItemLocality.new(
|
136
|
-
"section", "Reference from", "Reference to"
|
137
|
-
),
|
138
|
-
],
|
139
|
-
accesslocation: ["accesslocation1", "accesslocation2"],
|
140
|
-
classification: [RelatonBib::Classification.new(type: "type", value: "value")],
|
141
|
-
validity: RelatonBib::Validity.new(
|
142
|
-
begins: Time.new(2010, 10, 10, 12, 21),
|
143
|
-
ends: Time.new(2011, 2, 3, 18,30),
|
144
|
-
revision: Time.new(2011, 3, 4, 9, 0),
|
145
|
-
),
|
146
|
-
editorialgroup: {
|
147
|
-
technical_committee: [{
|
148
|
-
name: " ISO/TC 211 Geographic information/Geomatics",
|
149
|
-
type: "technicalCommittee", number: 211
|
150
|
-
}],
|
151
|
-
subcommittee: [{
|
152
|
-
name: "International Organization for Standardization",
|
153
|
-
type: "ISO", number: 122,
|
154
|
-
}],
|
155
|
-
workgroup: [RelatonIsoBib::IsoSubgroup.new(
|
156
|
-
name: "Workgroup Organization",
|
157
|
-
type: "WG", number: 111,
|
158
|
-
)],
|
159
|
-
},
|
160
|
-
ics: [{ field: 35, group: 240, subgroup: 70 }],
|
161
|
-
)
|
162
|
-
|
163
|
-
=> #<RelatonIsoBib::IsoBibliographicItem:0x007fc0b88c66a0
|
36
|
+
require 'relaton_iso_bib'
|
37
|
+
=> true
|
38
|
+
|
39
|
+
hash = YAML.load_file "spec/examples/iso_bib_item.yml"
|
40
|
+
=> {
|
41
|
+
"schema-version"=>"v1.0.0",
|
42
|
+
"id"=>"ISO/TC211",
|
43
|
+
"title"=>[
|
44
|
+
{"type"=>"title-intro", "content"=>"Geographic information", "language"=>"en", "script"=>"Latn", "format"=>"text/plain"},
|
45
|
+
...
|
46
|
+
|
47
|
+
bib_hash = RelatonIsoBib::HashConverter.hash_to_bib hash
|
48
|
+
=> {:"schema-version"=>"v1.0.0",
|
49
|
+
:id=>"ISO/TC211",
|
50
|
+
:fetched=>"2011-06-22",
|
51
|
+
:title=>
|
52
|
+
#<RelatonBib::TypedTitleStringCollection:0x00007ff73e922ab0
|
53
|
+
@array=
|
54
|
+
[#<RelatonBib::TypedTitleString:0x00007ff73e9225d8
|
55
|
+
...
|
56
|
+
|
57
|
+
item = RelatonIsoBib::IsoBibliographicItem.new(**bib_hash)
|
58
|
+
=> #<RelatonIsoBib::IsoBibliographicItem:0x00007ff77f8952c8
|
164
59
|
@abstract=
|
165
|
-
[#<RelatonBib::FormattedString:
|
60
|
+
[#<RelatonBib::FormattedString:0x00007ff76f1496c8
|
61
|
+
@content="ISO 19115-1:2014 defines the schema required for ...",
|
166
62
|
...
|
167
63
|
----
|
168
64
|
|
@@ -171,45 +67,66 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
|
|
171
67
|
[source,ruby]
|
172
68
|
----
|
173
69
|
item.title
|
174
|
-
=>
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
70
|
+
=> #<RelatonBib::TypedTitleStringCollection:0x00007ff73e922ab0
|
71
|
+
@array=
|
72
|
+
[#<RelatonBib::TypedTitleString:0x00007ff73e9225d8
|
73
|
+
@title=
|
74
|
+
#<RelatonBib::FormattedString:0x00007ff73e9224c0 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
75
|
+
@type="title-intro">,
|
76
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921cc8
|
77
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921b60 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
78
|
+
@type="title-main">,
|
79
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9219d0
|
80
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921908 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
81
|
+
@type="title-part">,
|
82
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921638
|
83
|
+
@title=
|
84
|
+
#<RelatonBib::FormattedString:0x00007ff73e921548
|
85
|
+
@content="Geographic information – Metadata – Part 1: Fundamentals",
|
86
|
+
@format="text/plain",
|
87
|
+
@language=["en"],
|
88
|
+
@script=["Latn"]>,
|
89
|
+
@type="main">,
|
90
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9214a8
|
91
|
+
@title=
|
92
|
+
#<RelatonBib::FormattedString:0x00007ff73e921368 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
|
93
|
+
@type="title-intro">,
|
94
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9212c8
|
95
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e9211b0 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
|
96
|
+
@type="title-main">,
|
97
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921020
|
98
|
+
@title=
|
99
|
+
#<RelatonBib::FormattedString:0x00007ff73e920f08 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
|
100
|
+
@type="title-part">,
|
101
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e920da0
|
102
|
+
@title=
|
103
|
+
#<RelatonBib::FormattedString:0x00007ff73e920c60
|
104
|
+
@content="Information géographique – Métadonnées – Information géographique",
|
105
|
+
@format="text/plain",
|
106
|
+
@language=["fr"],
|
107
|
+
@script=["Latn"]>,
|
108
|
+
@type="main">]>
|
199
109
|
|
200
110
|
item.title(lang: "en")
|
201
|
-
=>
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
111
|
+
=> #<RelatonBib::TypedTitleStringCollection:0x00007ff72f0c2e88
|
112
|
+
@array=
|
113
|
+
[#<RelatonBib::TypedTitleString:0x00007ff73e9225d8
|
114
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e9224c0 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
115
|
+
@type="title-intro">,
|
116
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921cc8
|
117
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921b60 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
118
|
+
@type="title-main">,
|
119
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9219d0
|
120
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921908 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
121
|
+
@type="title-part">,
|
122
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921638
|
123
|
+
@title=
|
124
|
+
#<RelatonBib::FormattedString:0x00007ff73e921548
|
125
|
+
@content="Geographic information – Metadata – Part 1: Fundamentals",
|
126
|
+
@format="text/plain",
|
127
|
+
@language=["en"],
|
128
|
+
@script=["Latn"]>,
|
129
|
+
@type="main">]>
|
213
130
|
|
214
131
|
item.abstract(lang: "en").to_s
|
215
132
|
=> "ISO 19115-1:2014 defines the schema required for ..."
|
@@ -220,7 +137,7 @@ item.abstract(lang: "en").to_s
|
|
220
137
|
[source,ruby]
|
221
138
|
----
|
222
139
|
item.shortref(item.structuredidentifier)
|
223
|
-
=> "ISO1-2-2014"
|
140
|
+
=> "ISO1-2-2014:2014"
|
224
141
|
----
|
225
142
|
|
226
143
|
=== IsoBibliographicItem URLs
|
@@ -258,9 +175,23 @@ item.ics
|
|
258
175
|
[source,ruby]
|
259
176
|
----
|
260
177
|
item.date
|
261
|
-
=> [#<RelatonBib::BibliographicDate:
|
178
|
+
=> [#<RelatonBib::BibliographicDate:0x00007ff77f894f08 @from=nil, @on="2014", @to=nil, @type="issued">,
|
179
|
+
#<RelatonBib::BibliographicDate:0x00007ff76f161f70 @from=nil, @on="2014-04", @to=nil, @type="published">,
|
180
|
+
#<RelatonBib::BibliographicDate:0x00007ff76f1605f8 @from=nil, @on="2015-05-20", @to=nil, @type="accessed">]
|
262
181
|
|
263
182
|
item.date.filter(type: "published").first.on
|
183
|
+
=> "2014-04"
|
184
|
+
|
185
|
+
item.date.filter(type: "published").first.on :year
|
186
|
+
=> 2014
|
187
|
+
|
188
|
+
item.date.filter(type: "published").first.on :month
|
189
|
+
=> 4
|
190
|
+
|
191
|
+
item.date.filter(type: "published").first.on :day
|
192
|
+
=> nil
|
193
|
+
|
194
|
+
item.date.filter(type: "published").first.on :date
|
264
195
|
=> #<Date: 2014-04-01 ((2456749j,0s,0n),+0s,2299161j)>
|
265
196
|
----
|
266
197
|
|
@@ -269,20 +200,32 @@ item.date.filter(type: "published").first.on
|
|
269
200
|
[source,ruby]
|
270
201
|
----
|
271
202
|
item.status
|
272
|
-
=> #<RelatonBib::DocumentStatus:
|
273
|
-
@iteration=
|
274
|
-
@stage=#<RelatonBib::DocumentStatus::Stage:
|
275
|
-
@substage=#<RelatonBib::DocumentStatus::Stage:
|
203
|
+
=> #<RelatonBib::DocumentStatus:0x00007ff76f0eb8e8
|
204
|
+
@iteration="final",
|
205
|
+
@stage=#<RelatonBib::DocumentStatus::Stage:0x00007ff76f0ebaf0 @abbreviation=nil, @value=60>,
|
206
|
+
@substage=#<RelatonBib::DocumentStatus::Stage:0x00007ff76f0eba78 @abbreviation=nil, @value=60>>
|
276
207
|
----
|
277
208
|
|
278
209
|
[source,ruby]
|
279
210
|
----
|
280
211
|
wg = item.editorialgroup
|
281
|
-
=> #<RelatonIsoBib::EditorialGroup:
|
212
|
+
=> #<RelatonIsoBib::EditorialGroup:0x00007ff73e91a478
|
282
213
|
@secretariat=nil,
|
283
|
-
@subcommittee=
|
284
|
-
|
285
|
-
|
214
|
+
@subcommittee=
|
215
|
+
[#<RelatonBib::WorkGroup:0x00007ff73e91a108
|
216
|
+
@identifier=nil,
|
217
|
+
@name="International Organization for Standardization",
|
218
|
+
@number="122",
|
219
|
+
@prefix=nil,
|
220
|
+
@type="ISO">],
|
221
|
+
@technical_committee=
|
222
|
+
[#<RelatonBib::WorkGroup:0x00007ff73e91a338
|
223
|
+
@identifier=nil,
|
224
|
+
@name="ISO/TC 211 Geographic information/Geomatics",
|
225
|
+
@number="211",
|
226
|
+
@prefix=nil,
|
227
|
+
@type="technicalCommittee">],
|
228
|
+
@workgroup=[#<RelatonBib::WorkGroup:0x00007ff73e919ed8 @identifier=nil, @name="Workgroup Organization", @number="111", @prefix=nil, @type="WG">]>
|
286
229
|
----
|
287
230
|
|
288
231
|
=== Document relations of a standard
|
@@ -301,7 +244,7 @@ item.relation
|
|
301
244
|
=== Reference modification: convert to all parts reference
|
302
245
|
|
303
246
|
In ISO, an All Parts reference is a reference to all parts of a standard. If a standard consists of parts,
|
304
|
-
only those parts are referenced in the ISO
|
247
|
+
only those parts are referenced in the ISO website (as retrieved by the isobib gem). A part reference is
|
305
248
|
converted to an All Parts reference by making the part reference a partOf relation to a new reference,
|
306
249
|
which strips the part number and part title of the original, and its abstract. The operation is destructive.
|
307
250
|
|
@@ -314,46 +257,64 @@ all_parts_item = item.to_all_parts
|
|
314
257
|
@all_parts=true,
|
315
258
|
...
|
316
259
|
|
317
|
-
|
318
|
-
=>
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
260
|
+
all_parts_item.title(lang: "en")
|
261
|
+
=> #<RelatonBib::TypedTitleStringCollection:0x00007ff77ea5fde8
|
262
|
+
@array=
|
263
|
+
[#<RelatonBib::TypedTitleString:0x00007ff77ecb5160
|
264
|
+
@title=#<RelatonBib::FormattedString:0x00007ff77ecb5098 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
265
|
+
@type="title-intro">,
|
266
|
+
#<RelatonBib::TypedTitleString:0x00007ff77ecb4ee0
|
267
|
+
@title=#<RelatonBib::FormattedString:0x00007ff77ecb4e90 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
268
|
+
@type="title-main">,
|
269
|
+
#<RelatonBib::TypedTitleString:0x00007ff77ecb4c10
|
270
|
+
@title=
|
271
|
+
#<RelatonBib::FormattedString:0x00007ff77ecb4bc0
|
272
|
+
@content="Geographic information – Metadata",
|
273
|
+
@format="text/plain",
|
274
|
+
@language=["en"],
|
275
|
+
@script=["Latn"]>,
|
276
|
+
@type="main">]>
|
277
|
+
|
278
|
+
all_parts_item.shortref(item.structuredidentifier)
|
279
|
+
=> "ISO1-2-2014:2014: All Parts"
|
280
|
+
|
281
|
+
all_parts_item.relation.last.bibitem.title
|
282
|
+
=> #<RelatonBib::TypedTitleStringCollection:0x00007ff73e922ab0
|
283
|
+
@array=
|
284
|
+
[#<RelatonBib::TypedTitleString:0x00007ff73e9225d8
|
285
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e9224c0 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
286
|
+
@type="title-intro">,
|
287
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921cc8
|
288
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921b60 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
289
|
+
@type="title-main">,
|
290
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9219d0
|
291
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921908 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
|
292
|
+
@type="title-part">,
|
293
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921638
|
294
|
+
@title=
|
295
|
+
#<RelatonBib::FormattedString:0x00007ff73e921548
|
296
|
+
@content="Geographic information – Metadata – Part 1: Fundamentals",
|
297
|
+
@format="text/plain",
|
298
|
+
@language=["en"],
|
299
|
+
@script=["Latn"]>,
|
300
|
+
@type="main">,
|
301
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9214a8
|
302
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e921368 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
|
303
|
+
@type="title-intro">,
|
304
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e9212c8
|
305
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e9211b0 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
|
306
|
+
@type="title-main">,
|
307
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e921020
|
308
|
+
@title=#<RelatonBib::FormattedString:0x00007ff73e920f08 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
|
309
|
+
@type="title-part">,
|
310
|
+
#<RelatonBib::TypedTitleString:0x00007ff73e920da0
|
311
|
+
@title=
|
312
|
+
#<RelatonBib::FormattedString:0x00007ff73e920c60
|
313
|
+
@content="Information géographique – Métadonnées – Information géographique",
|
314
|
+
@format="text/plain",
|
315
|
+
@language=["fr"],
|
316
|
+
@script=["Latn"]>,
|
317
|
+
@type="main">]>
|
357
318
|
----
|
358
319
|
|
359
320
|
=== Reference modification: convert to most recent reference
|
@@ -361,16 +322,24 @@ all_arts_item.relation.last.bibitem.title
|
|
361
322
|
In ISO, an undated reference is interpreted as a _de dicto_ reference to the most recent instance of the
|
362
323
|
reference; if the document is read after a new version of the reference has been issued, the reference is taken
|
363
324
|
to refer to that new instance, even if that instance had not been published at the time the bibliography was authored.
|
364
|
-
All references on the ISO
|
365
|
-
converted to a Most Recent
|
325
|
+
All references on the ISO website (as retrieved by the isobib gem) are dated. A dated reference is
|
326
|
+
converted to a Most Recent reference by making the dated reference an instance relation to a new reference,
|
366
327
|
which strips the date of publication of the original, and its abstract. The operation is destructive.
|
367
328
|
|
368
329
|
[source,ruby]
|
369
330
|
----
|
370
331
|
all_parts_item.date
|
371
|
-
=> [#<RelatonBib::BibliographicDate:
|
332
|
+
=> [#<RelatonBib::BibliographicDate:0x00007ff77ecb4418 @from=nil, @on="2014", @to=nil, @type="issued">,
|
333
|
+
#<RelatonBib::BibliographicDate:0x00007ff77ecb4328 @from=nil, @on="2014-04", @to=nil, @type="published">,
|
334
|
+
#<RelatonBib::BibliographicDate:0x00007ff77ecb42b0 @from=nil, @on="2015-05-20", @to=nil, @type="accessed">]
|
372
335
|
|
373
336
|
most_recent_ref_item = all_parts_item.to_most_recent_reference
|
337
|
+
=> #<RelatonIsoBib::IsoBibliographicItem:0x00007ff73ea4b978
|
338
|
+
@abstract=[],
|
339
|
+
@accesslocation=["accesslocation1", "accesslocation2"],
|
340
|
+
@all_parts=true,
|
341
|
+
...
|
342
|
+
|
374
343
|
most_recent_ref_item.date
|
375
344
|
=> []
|
376
345
|
|
@@ -384,19 +353,27 @@ most_recent_ref_item.shortref(most_recent_ref_item.structuredidentifier)
|
|
384
353
|
[source,ruby]
|
385
354
|
----
|
386
355
|
item.to_xml(bibdata: true)
|
387
|
-
=> "<bibdata>
|
388
|
-
<fetched>
|
389
|
-
<title type="title-main" format="text/plain" language="en" script="Latn">Metadata</title>
|
356
|
+
=> "<bibdata type="standard" schema-version="v1.2.1">
|
357
|
+
<fetched>2011-06-22</fetched>
|
390
358
|
<title type="title-intro" format="text/plain" language="en" script="Latn">Geographic information</title>
|
359
|
+
<title type="title-main" format="text/plain" language="en" script="Latn">Metadata</title>
|
391
360
|
<title type="title-part" format="text/plain" language="en" script="Latn">Part 1: Fundamentals</title>
|
392
|
-
<title type="main" format="text/plain" language="en" script="Latn">
|
361
|
+
<title type="main" format="text/plain" language="en" script="Latn">Geographic information – Metadata – Part 1: Fundamentals</title>
|
362
|
+
<title type="title-intro" format="text/plain" language="fr" script="Latn">Information géographique</title>
|
363
|
+
<title type="title-main" format="text/plain" language="fr" script="Latn">Métadonnées</title>
|
364
|
+
<title type="title-part" format="text/plain" language="fr" script="Latn">Information géographique</title>
|
365
|
+
<title type="main" format="text/plain" language="fr" script="Latn">Information géographique – Métadonnées – Information géographique</title>
|
393
366
|
...
|
367
|
+
<ext schema-version="v1.0.0">
|
368
|
+
<doctype>international-standard</doctype>
|
369
|
+
...
|
370
|
+
</ext>
|
394
371
|
</bibdata>"
|
395
372
|
|
396
373
|
item.to_xml(bibdata: true, note: [{ type: "note type", text: "test note" }])
|
397
|
-
=> "<bibdata>
|
398
|
-
<fetched>
|
399
|
-
<title type="title-
|
374
|
+
=> "<bibdata type="standard" schema-version="v1.2.1">
|
375
|
+
<fetched>2011-06-22</fetched>
|
376
|
+
<title type="title-intro" format="text/plain" language="en" script="Latn">Geographic information</title>
|
400
377
|
...
|
401
378
|
<note format="text/plain" type="note type">test note</note>
|
402
379
|
...
|
@@ -407,16 +384,17 @@ item.to_xml(bibdata: true, note: [{ type: "note type", text: "test note" }])
|
|
407
384
|
[source,ruby]
|
408
385
|
----
|
409
386
|
item.to_bibtex
|
410
|
-
=> "@
|
411
|
-
|
387
|
+
=> "@misc{ISO/TC211,
|
388
|
+
title = {Geographic information – Metadata – Part 1: Fundamentals},
|
412
389
|
edition = {1},
|
413
|
-
author = {
|
414
|
-
publisher = {
|
390
|
+
author = {Bierman, A. and Bierman, A},
|
391
|
+
publisher = {IETF},
|
415
392
|
address = {bib place},
|
416
393
|
year = {2014},
|
417
394
|
month = apr,
|
395
|
+
urldate = {2015-05-20},
|
418
396
|
type = {value},
|
419
|
-
timestamp = {
|
397
|
+
timestamp = {2011-06-22},
|
420
398
|
url = {https://www.iso.org/standard/53798.html},
|
421
399
|
month_numeric = {4}
|
422
400
|
}"
|
@@ -429,29 +407,35 @@ item.to_bibtex
|
|
429
407
|
item.to_asciibib
|
430
408
|
=> "[%bibitem]
|
431
409
|
== {blank}
|
432
|
-
id::
|
433
|
-
fetched::
|
410
|
+
id:: ISO/TC211
|
411
|
+
fetched:: 2011-06-22
|
434
412
|
title::
|
435
413
|
title.type:: title-intro
|
436
|
-
title.content::
|
414
|
+
title.content:: Geographic information
|
437
415
|
title.language:: en
|
438
416
|
title.script:: Latn
|
439
417
|
title.format:: text/plain
|
440
|
-
|
418
|
+
title::
|
441
419
|
title.type:: title-main
|
442
|
-
title.
|
443
|
-
|
420
|
+
title.content:: Metadata
|
421
|
+
title.language:: en
|
422
|
+
title.script:: Latn
|
423
|
+
title.format:: text/plain
|
424
|
+
...
|
425
|
+
"
|
444
426
|
----
|
445
427
|
|
446
|
-
=== Create bibliographic item
|
428
|
+
=== Create bibliographic item from YAML
|
447
429
|
[source,ruby]
|
448
430
|
----
|
449
431
|
hash = YAML.load_file 'spec/examples/iso_bib_item.yml'
|
450
|
-
=> {"
|
432
|
+
=> {"schema-version"=>"v1.0.0",
|
433
|
+
"id"=>"ISO/TC211",
|
451
434
|
...
|
452
435
|
|
453
436
|
bib_hash = RelatonIsoBib::HashConverter.hash_to_bib hash
|
454
|
-
=> {:
|
437
|
+
=> {:"schema-version"=>"v1.0.0",
|
438
|
+
:id=>"ISO/TC211",
|
455
439
|
...
|
456
440
|
|
457
441
|
RelatonIsoBib::IsoBibliographicItem.new **bib_hash
|
@@ -474,7 +458,7 @@ The ISO standards use a subset of the generic bibliographic fields specified in
|
|
474
458
|
** Technical Committee, Subcommittee, Workgroup, Secretariat
|
475
459
|
** Technical Committee Number, Subcommittee Number, Workgroup Number
|
476
460
|
** Technical Committee Type, Subcommittee Type, Workgroup Type (e.g. JTC)
|
477
|
-
** Organization:Name (ISO; other standards
|
461
|
+
** Organization:Name (ISO; other standards organizations, for standards jointly published with ISO)
|
478
462
|
* ICS: refer https://www.iso.org/publication/PUB100033.html
|
479
463
|
* Status
|
480
464
|
** Stage, Substage
|
@@ -484,7 +468,7 @@ The ISO standards use a subset of the generic bibliographic fields specified in
|
|
484
468
|
* Relations
|
485
469
|
** Obsoletes, Updates
|
486
470
|
|
487
|
-
All FormattedString instances are returned by default as
|
471
|
+
All FormattedString instances are returned by default as a text/plain string; if required, they are returned as a text/html string.
|
488
472
|
|
489
473
|
== Development
|
490
474
|
|