relaton-iso-bib 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9f99c30bfb243452c65a6d360870fdee10666c5943523fbfb9fa3a4621b74cf
4
- data.tar.gz: 6b89f2abf535eca4eb2f2228825e4c4e35ee43c837898d549f68abe37859dc92
3
+ metadata.gz: e5643471617a1871a10b52251f403444b783fcc4c3ccea5bb002d101dd1193d8
4
+ data.tar.gz: d8729ecaf1bee4908050c1ce8c220185c86bdcbecfd2e71a2580751394f4823e
5
5
  SHA512:
6
- metadata.gz: 7b06406809884e1059d4dbf7e58875bb052e6d9ed1abe1f6ee58036b224f336cc662d6ba7d9ee6359d4216c80ca504803116b1ad848c1fc544d12483b6b790ae
7
- data.tar.gz: 7f93851f6f71d1d37871b3735aa6033e1c8ea5711d2246258cf91a7161c587f6d16168d4d3111168fce7f29d76ec654f113eaa55477bf3cf5c88ec81fa7e6978
6
+ metadata.gz: '088b4e7edb2ea24090e2bd53b751ee7a2505e7670b490ab45f9edabbf185f6eaa4208e8b1cfb59adc9065f8e979bf92a7df9ff63c3157f0387a4f1a12155bc8f'
7
+ data.tar.gz: bdb6797ab989763eefaafb6d84b3c4d6f88fc93c3f0010aa044287fe23b2a5b6f867ae284c71e4c9913b164af5d1e25c46d1f3adb441a3f99af48318a68c7b01
@@ -40,11 +40,14 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
40
40
  ),
41
41
  docnumber: "123456",
42
42
  title: [
43
- { title_intro: "Geographic information", title_main: "Metadata",
44
- title_part: "Part 1: Fundamentals", language: "en", script: "Latn" },
45
- { title_intro: "Information géographique", title_main: "Métadonnées",
46
- title_part: "Information géographique", language: "fr",
47
- script: "Latn" },
43
+ { type: "title-intro", content: "Metadata", language: "en", script: "Latn" },
44
+ { type: "title-main", content: "Geographic information", language: "en", script: "Latn" },
45
+ { type: "title-part", content: "Part 1: Fundamentals", language: "en", script: "Latn" },
46
+ { type: "main", content: "Metadata - Geographic information - Part 1: Fundamentals", language: "en", script: "Latn" },
47
+ { type: "title-intro", content: "Métadonnées", language: "fr", script: "Latn" },
48
+ { type: "title-main", content: "Information géographique", language: "fr", script: "Latn" },
49
+ { type: "title-part", content: "Partie 1: Principes de base", language: "fr", script: "Latn" },
50
+ { type: "main", content: "Information géographique - Métadonnées - Partie 1: Principes de base", language: "fr", script: "Latn" },
48
51
  ],
49
52
  edition: "1",
50
53
  version: RelatonBib::BibliographicItem::Version.new("2019-04-01", ["draft"]),
@@ -52,7 +55,7 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
52
55
  script: ["Latn"],
53
56
  type: "international-standard",
54
57
  docstatus: RelatonBib::DocumentStatus.new(stage: "60", substage: "60"),
55
- dates: [{ type: "published", on: "2014-04" }],
58
+ date: [{ type: "published", on: "2014-04" }],
56
59
  abstract: [
57
60
  { content: "ISO 19115-1:2014 defines the schema required for ...",
58
61
  language: "en", script: "Latn", format: "text/plain" },
@@ -62,20 +65,21 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
62
65
  contributor: [
63
66
  { entity: { name: "International Organization for Standardization",
64
67
  url: "www.iso.org", abbreviation: "ISO" },
65
- role: ["publisher"] },
68
+ role: [type: "publisher"] },
66
69
  {
67
70
  entity: RelatonBib::Person.new(
68
71
  name: RelatonBib::FullName.new(
69
72
  completename: RelatonBib::LocalizedString.new("John Smith"),
70
73
  ),
71
74
  ),
72
- role: ["author"],
75
+ role: [type: "author"],
73
76
  },
74
77
  ],
75
- copyright: { owner: {
76
- name: "International Organization for Standardization",
77
- abbreviation: "ISO", url: "www.iso.org"
78
- }, from: "2014" },
78
+ copyright: [{
79
+ owner: [{
80
+ name: "International Organization for Standardization",
81
+ abbreviation: "ISO", url: "www.iso.org"
82
+ }], from: "2014" }],
79
83
  link: [
80
84
  { type: "src", content: "https://www.iso.org/standard/53798.html" },
81
85
  { type: "obp",
@@ -90,7 +94,7 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
90
94
  formattedref: RelatonBib::FormattedRef.new(content: "ISO 19115:2003"),
91
95
  docstatus: RelatonBib::DocumentStatus.new(stage: "60", substage: "60"),
92
96
  ),
93
- bib_locality: [
97
+ locality: [
94
98
  RelatonBib::BibItemLocality.new("updates", "Reference form"),
95
99
  ],
96
100
  ),
@@ -105,7 +109,7 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
105
109
  series: [
106
110
  RelatonBib::Series.new(
107
111
  type: "main",
108
- title: RelatonIsoBib::TypedTitleString.new(
112
+ title: RelatonBib::TypedTitleString.new(
109
113
  type: "title-main", content: "ISO/IEC FDIS 10118-3", language: "en", script: "Latn",
110
114
  ),
111
115
  place: "Serie's place",
@@ -133,7 +137,7 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
133
137
  ),
134
138
  ],
135
139
  accesslocation: ["accesslocation1", "accesslocation2"],
136
- classification: RelatonBib::Classification.new(type: "type", value: "value"),
140
+ classification: [RelatonBib::Classification.new(type: "type", value: "value")],
137
141
  validity: RelatonBib::Validity.new(
138
142
  begins: Time.new(2010, 10, 10, 12, 21),
139
143
  ends: Time.new(2011, 2, 3, 18,30),
@@ -156,9 +160,9 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
156
160
  ics: [{ field: 35, group: 240, subgroup: 70 }],
157
161
  )
158
162
 
159
- => #<RelatonIsoBib::IsoBibliographicItem:0x007fe5198c4370
163
+ => #<RelatonIsoBib::IsoBibliographicItem:0x007fc0b88c66a0
160
164
  @abstract=
161
- [#<RelatonBib::FormattedString:0x007fe5198bcaa8 @content="ISO 19115-1:2014 defines the schema required for ...", @format="text/plain", @language=["en"], @script=["Latn"]>,
165
+ [#<RelatonBib::FormattedString:0x007fc0b88c5ae8 @content="ISO 19115-1:2014 defines the schema required for ...", @format="text/plain", @language=["en"], @script=["Latn"]>,
162
166
  ...
163
167
  ----
164
168
 
@@ -167,50 +171,44 @@ item = RelatonIsoBib::IsoBibliographicItem.new(
167
171
  [source,ruby]
168
172
  ----
169
173
  item.title
170
- => [#<RelatonIsoBib::TypedTitleString:0x007fe5198ad4e0
171
- @title=#<RelatonBib::FormattedString:0x007fe5198acd10 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
172
- @type="title-main">,
173
- #<RelatonIsoBib::TypedTitleString:0x007fe5198ac590
174
- @title=#<RelatonBib::FormattedString:0x007fe5198a7ab8 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
174
+ => [#<RelatonBib::TypedTitleString:0x007fc08e95a640
175
+ @title=#<RelatonBib::FormattedString:0x007fc08e95a500 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
175
176
  @type="title-intro">,
176
- #<RelatonIsoBib::TypedTitleString:0x007fe5198a6f00
177
- @title=#<RelatonBib::FormattedString:0x007fe5198a6578 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
177
+ #<RelatonBib::TypedTitleString:0x007fc08e95a460
178
+ @title=#<RelatonBib::FormattedString:0x007fc08e95a320 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
179
+ @type="title-main">,
180
+ #<RelatonBib::TypedTitleString:0x007fc08e95a280
181
+ @title=#<RelatonBib::FormattedString:0x007fc08e95a140 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
178
182
  @type="title-part">,
179
- #<RelatonIsoBib::TypedTitleString:0x007fe5198a5d08
180
- @title=
181
- #<RelatonBib::FormattedString:0x007fe5198a5268 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
183
+ #<RelatonBib::TypedTitleString:0x007fc08e95a0a0
184
+ @title=#<RelatonBib::FormattedString:0x007fc08e959f60 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
182
185
  @type="main">,
183
- #<RelatonIsoBib::TypedTitleString:0x007fe5198a4980
184
- @title=#<RelatonBib::FormattedString:0x007fe51989edf0 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
185
- @type="title-main">,
186
- #<RelatonIsoBib::TypedTitleString:0x007fe51989d1a8
187
- @title=#<RelatonBib::FormattedString:0x007fe51989cca8 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
186
+ #<RelatonBib::TypedTitleString:0x007fc08e959ec0
187
+ @title=#<RelatonBib::FormattedString:0x007fc08e959d80 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
188
188
  @type="title-intro">,
189
- #<RelatonIsoBib::TypedTitleString:0x007fe51989c960
190
- @title=#<RelatonBib::FormattedString:0x007fe519897d20 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
189
+ #<RelatonBib::TypedTitleString:0x007fc08e959ce0
190
+ @title=#<RelatonBib::FormattedString:0x007fc08e959ba0 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
191
+ @type="title-main">,
192
+ #<RelatonBib::TypedTitleString:0x007fc08e959b00
193
+ @title=#<RelatonBib::FormattedString:0x007fc08e9599c0 @content="Partie 1: Principes de base", @format="text/plain", @language=["fr"], @script=["Latn"]>,
191
194
  @type="title-part">,
192
- #<RelatonIsoBib::TypedTitleString:0x007fe519896088
195
+ #<RelatonBib::TypedTitleString:0x007fc08e959920
193
196
  @title=
194
- #<RelatonBib::FormattedString:0x007fe519895b88
195
- @content="Métadonnées - Information géographique - Information géographique",
196
- @format="text/plain",
197
- @language=["fr"],
198
- @script=["Latn"]>,
197
+ #<RelatonBib::FormattedString:0x007fc08e9597e0 @content="Information géographique - Métadonnées - Partie 1: Principes de base", @format="text/plain", @language=["fr"], @script=["Latn"]>,
199
198
  @type="main">]
200
199
 
201
200
  item.title(lang: "en")
202
- => [#<RelatonIsoBib::TypedTitleString:0x007fe5198ad4e0
203
- @title=#<RelatonBib::FormattedString:0x007fe5198acd10 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
204
- @type="title-main">,
205
- #<RelatonIsoBib::TypedTitleString:0x007fe5198ac590
206
- @title=#<RelatonBib::FormattedString:0x007fe5198a7ab8 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
201
+ => [#<RelatonBib::TypedTitleString:0x007fc08e95a640
202
+ @title=#<RelatonBib::FormattedString:0x007fc08e95a500 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
207
203
  @type="title-intro">,
208
- #<RelatonIsoBib::TypedTitleString:0x007fe5198a6f00
209
- @title=#<RelatonBib::FormattedString:0x007fe5198a6578 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
204
+ #<RelatonBib::TypedTitleString:0x007fc08e95a460
205
+ @title=#<RelatonBib::FormattedString:0x007fc08e95a320 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
206
+ @type="title-main">,
207
+ #<RelatonBib::TypedTitleString:0x007fc08e95a280
208
+ @title=#<RelatonBib::FormattedString:0x007fc08e95a140 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
210
209
  @type="title-part">,
211
- #<RelatonIsoBib::TypedTitleString:0x007fe5198a5d08
212
- @title=
213
- #<RelatonBib::FormattedString:0x007fe5198a5268 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
210
+ #<RelatonBib::TypedTitleString:0x007fc08e95a0a0
211
+ @title=#<RelatonBib::FormattedString:0x007fc08e959f60 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
214
212
  @type="main">]
215
213
 
216
214
  item.abstract(lang: "en").to_s
@@ -222,7 +220,7 @@ item.abstract(lang: "en").to_s
222
220
  [source,ruby]
223
221
  ----
224
222
  item.shortref(item.structuredidentifier)
225
- => "ISO1-2-2014:2014"
223
+ => "ISO1-2-2014"
226
224
  ----
227
225
 
228
226
  === IsoBibliographicItem URLs
@@ -259,11 +257,11 @@ item.ics
259
257
 
260
258
  [source,ruby]
261
259
  ----
262
- item.dates
263
- => [<RelatonIsoBib::BibliographicDate:0x007fd1d92e33c8 @on=2014-01-04 00:00:00 +0100, @type="published">]
260
+ item.date
261
+ => [#<RelatonBib::BibliographicDate:0x007fc0aeb88438 @from=nil, @on=#<Date: 2014-04-01 ((2456749j,0s,0n),+0s,2299161j)>, @to=nil, @type="published">]
264
262
 
265
- item.dates.filter(type: "published").first.on
266
- => 2014-01-04 00:00:00 +0100
263
+ item.date.filter(type: "published").first.on
264
+ => #<Date: 2014-04-01 ((2456749j,0s,0n),+0s,2299161j)>
267
265
  ----
268
266
 
269
267
  === IsoBibliographicItem DocumentStatus
@@ -271,7 +269,10 @@ item.dates.filter(type: "published").first.on
271
269
  [source,ruby]
272
270
  ----
273
271
  item.status
274
- => #<RelatonBib::DocumentStatus:0x007fe5198d7808 @iteration=nil, @stage="60", @substage="60">
272
+ => #<RelatonBib::DocumentStatus:0x007fc0aeb927d0
273
+ @iteration=nil,
274
+ @stage=#<RelatonBib::DocumentStatus::Stage:0x007fc0aeb92708 @abbreviation=nil, @value="60">,
275
+ @substage=#<RelatonBib::DocumentStatus::Stage:0x007fc0aeb92690 @abbreviation=nil, @value="60">>
275
276
  ----
276
277
 
277
278
  [source,ruby]
@@ -289,10 +290,11 @@ wg = item.editorialgroup
289
290
  [source,ruby]
290
291
  ----
291
292
  item.relation
292
- => [#<RelatonBib::DocumentRelation:0x007fe5198cec80
293
- @bib_locality=[#<RelatonBib::BibItemLocality:0x007fe5198cef78 @reference_from="Reference form", @reference_to=nil, @type="updates">],
294
- @bibitem=
295
- #<RelatonIsoBib::IsoBibliographicItem:0x007fe5198d4ae0
293
+ => #<RelatonBib::DocRelationCollection:0x007fc0aeb819f8
294
+ @array=
295
+ [#<RelatonBib::DocumentRelation:0x007fc0aeb90610
296
+ @bibitem=
297
+ #<RelatonIsoBib::IsoBibliographicItem:0x007fc0aeb91330
296
298
  ...
297
299
  ----
298
300
 
@@ -305,54 +307,52 @@ which strips the part number and part title of the original, and its abstract. T
305
307
 
306
308
  [source,ruby]
307
309
  ----
308
- item.to_all_parts
309
- => true
310
-
311
- item.title(lang: "en")
312
- => [#<RelatonIsoBib::TypedTitleString:0x007fe5198ad4e0
313
- @title=#<RelatonBib::FormattedString:0x007fe5198acd10 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
314
- @type="title-main">,
315
- #<RelatonIsoBib::TypedTitleString:0x007fe5198ac590
316
- @title=#<RelatonBib::FormattedString:0x007fe5198a7ab8 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
310
+ all_parts_item = item.to_all_parts
311
+ => #<RelatonIsoBib::IsoBibliographicItem:0x007fc0aec00960
312
+ @abstract=[],
313
+ @accesslocation=["accesslocation1", "accesslocation2"],
314
+ @all_parts=true,
315
+ ...
316
+
317
+ all_arts_item.title(lang: "en")
318
+ => [#<RelatonBib::TypedTitleString:0x007fc08f388dd8
319
+ @title=#<RelatonBib::FormattedString:0x007fc08f388d10 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
317
320
  @type="title-intro">,
318
- #<RelatonIsoBib::TypedTitleString:0x007fe5198a5d08
319
- @title=
320
- #<RelatonBib::FormattedString:0x007fe5198a5268 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
321
+ #<RelatonBib::TypedTitleString:0x007fc08f388b58
322
+ @title=#<RelatonBib::FormattedString:0x007fc08f388b08 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
323
+ @type="title-main">,
324
+ #<RelatonBib::TypedTitleString:0x007fc08f3888d8
325
+ @title=#<RelatonBib::FormattedString:0x007fc08f388888 @content="Metadata – Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
321
326
  @type="main">]
322
327
 
323
- item.shortref(item.structuredidentifier)
324
- => "ISO1-2014(allparts):2014: All Parts"
328
+ all_arts_item.shortref(item.structuredidentifier)
329
+ => "ISO1(allparts):2014: All Parts"
325
330
 
326
- item.relation.last.bibitem.title
327
- => [#<RelatonIsoBib::TypedTitleString:0x007fe51b293620
328
- @title=#<RelatonBib::FormattedString:0x007fe51b293530 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
329
- @type="title-main">,
330
- #<RelatonIsoBib::TypedTitleString:0x007fe51b293350
331
- @title=#<RelatonBib::FormattedString:0x007fe51b293288 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
331
+ all_arts_item.relation.last.bibitem.title
332
+ => [#<RelatonBib::TypedTitleString:0x007fc0aeb7bd28
333
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7bad0 @content="Metadata", @format="text/plain", @language=["en"], @script=["Latn"]>,
332
334
  @type="title-intro">,
333
- #<RelatonIsoBib::TypedTitleString:0x007fe51b293120
334
- @title=#<RelatonBib::FormattedString:0x007fe51b293080 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
335
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7ba30
336
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7b8c8 @content="Geographic information", @format="text/plain", @language=["en"], @script=["Latn"]>,
337
+ @type="title-main">,
338
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7b800
339
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7b5f8 @content="Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
335
340
  @type="title-part">,
336
- #<RelatonIsoBib::TypedTitleString:0x007fe51b292f68
337
- @title=
338
- #<RelatonBib::FormattedString:0x007fe51b292ea0 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
341
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7b558
342
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7b288 @content="Metadata - Geographic information - Part 1: Fundamentals", @format="text/plain", @language=["en"], @script=["Latn"]>,
339
343
  @type="main">,
340
- #<RelatonIsoBib::TypedTitleString:0x007fe51b292d60
341
- @title=#<RelatonBib::FormattedString:0x007fe51b292cc0 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
342
- @type="title-main">,
343
- #<RelatonIsoBib::TypedTitleString:0x007fe51b292b58
344
- @title=#<RelatonBib::FormattedString:0x007fe51b292ab8 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
344
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7b148
345
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7ae00 @content="Métadonnées", @format="text/plain", @language=["fr"], @script=["Latn"]>,
345
346
  @type="title-intro">,
346
- #<RelatonIsoBib::TypedTitleString:0x007fe51b2929a0
347
- @title=#<RelatonBib::FormattedString:0x007fe51b292900 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
347
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7ac48
348
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7a888 @content="Information géographique", @format="text/plain", @language=["fr"], @script=["Latn"]>,
349
+ @type="title-main">,
350
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7a6d0
351
+ @title=#<RelatonBib::FormattedString:0x007fc0aeb7a400 @content="Partie 1: Principes de base", @format="text/plain", @language=["fr"], @script=["Latn"]>,
348
352
  @type="title-part">,
349
- #<RelatonIsoBib::TypedTitleString:0x007fe51b2927c0
353
+ #<RelatonBib::TypedTitleString:0x007fc0aeb7a2c0
350
354
  @title=
351
- #<RelatonBib::FormattedString:0x007fe51b292720
352
- @content="Métadonnées - Information géographique - Information géographique",
353
- @format="text/plain",
354
- @language=["fr"],
355
- @script=["Latn"]>,
355
+ #<RelatonBib::FormattedString:0x007fc0aeb79f28 @content="Information géographique - Métadonnées - Partie 1: Principes de base", @format="text/plain", @language=["fr"], @script=["Latn"]>,
356
356
  @type="main">]
357
357
  ----
358
358
 
@@ -367,14 +367,14 @@ which strips the date of publication of the original, and its abstract. The oper
367
367
 
368
368
  [source,ruby]
369
369
  ----
370
- item.dates
371
- => [#<RelatonBib::BibliographicDate:0x007fe5198beba0 @from=nil, @on=2014-04-01 00:00:00 +0200, @to=nil, @type="published">]
370
+ all_parts_item.date
371
+ => [#<RelatonBib::BibliographicDate:0x007fc0aeb88438 @from=nil, @on=#<Date: 2014-04-01 ((2456749j,0s,0n),+0s,2299161j)>, @to=nil, @type="published">]
372
372
 
373
- item.to_most_recent_reference
374
- item.dates
373
+ most_recent_ref_item = all_parts_item.to_most_recent_reference
374
+ most_recent_ref_item.date
375
375
  => []
376
376
 
377
- item.shortref(item.structuredidentifier)
377
+ most_recent_ref_item.shortref(most_recent_ref_item.structuredidentifier)
378
378
  => "ISO1(allparts): All Parts"
379
379
  ----
380
380
 
@@ -390,120 +390,7 @@ item.to_xml(bibdata: true)
390
390
  <title type="title-intro" format="text/plain" language="en" script="Latn">Geographic information</title>
391
391
  <title type="title-part" format="text/plain" language="en" script="Latn">Part 1: Fundamentals</title>
392
392
  <title type="main" format="text/plain" language="en" script="Latn">Metadata - Geographic information - Part 1: Fundamentals</title>
393
- <title type="title-main" format="text/plain" language="fr" script="Latn">Métadonnées</title>
394
- <title type="title-intro" format="text/plain" language="fr" script="Latn">Information géographique</title>
395
- <title type="title-part" format="text/plain" language="fr" script="Latn">Information géographique</title>
396
- <title type="main" format="text/plain" language="fr" script="Latn">Métadonnées - Information géographique - Information géographique</title>
397
- <uri type="src">https://www.iso.org/standard/53798.html</uri>
398
- <uri type="obp">https://www.iso.org/obp/ui/#!iso:std:53798:en</uri>
399
- <uri type="rss">https://www.iso.org/contents/data/standard/05/37/53798.detail.rss</uri>
400
- <docnumber>123456</docnumber>
401
- <date type="published">
402
- <on>2014</on>
403
- </date>
404
- <contributor>
405
- <role type="publisher"/>
406
- <organization>
407
- <name>International Organization for Standardization</name>
408
- <abbreviation>ISO</abbreviation>
409
- <uri>www.iso.org</uri>
410
- </organization>
411
- </contributor>
412
- <contributor>
413
- <role type="author"/>
414
- <person>
415
- <name>
416
- <completename>John Smith</completename>
417
- </name>
418
- </person>
419
- </contributor>
420
- <edition>1</edition>
421
- <version>
422
- <revision_date>2019-04-01</revision_date>
423
- <draft>draft</draft>
424
- </version>
425
- <language>en</language>
426
- <language>fr</language>
427
- <script>Latn</script>
428
- <abstract format="text/plain" language="en" script="Latn">ISO 19115-1:2014 defines the schema required for ...</abstract>
429
- <abstract format="text/plain" language="fr" script="Latn">L'ISO 19115-1:2014 définit le schéma requis pour ...</abstract>
430
- <status>
431
- <stage>60</stage>
432
- <substage>60</substage>
433
- </status>
434
- <copyright>
435
- <from>2014</from>
436
- <owner>
437
- <organization>
438
- <name>International Organization for Standardization</name>
439
- <abbreviation>ISO</abbreviation>
440
- <uri>www.iso.org</uri>
441
- </organization>
442
- </owner>
443
- </copyright>
444
- <relation type="updates">
445
- <bibitem>
446
- <formattedref>ISO 19115:2003</formattedref>
447
- <status>
448
- <stage>60</stage>
449
- <substage>60</substage>
450
- </status>
451
- </bibitem>
452
- <locality type="updates">
453
- <referenceFrom>Reference form</referenceFrom>
454
- </locality>
455
- </relation>
456
- <relation type="updates">
457
- <bibitem>
458
- <formattedref>ISO 19115:2003/Cor 1:2006</formattedref>
459
- </bibitem>
460
- </relation>
461
- <series type="main">
462
- <title type="title-main" language="en" script="Latn">ISO/IEC FDIS 10118-3</title>
463
- <place>Serie's place</place>
464
- <organization>Serie's organization</organization>
465
- <abbreviation language="en" script="Latn">ABVR</abbreviation>
466
- <from>2009-02-01</from>
467
- <to>2010-12-20</to>
468
- <number>serie1234</number>
469
- <partnumber>part5678</partnumber>
470
- </series>
471
- <series type="alt">
472
- <formattedref language="en" script="Latn">serieref</formattedref>
473
- </series>
474
- <medium>
475
- <form>medium form</form>
476
- <size>medium size</size>
477
- <scale>medium scale</scale>
478
- </medium>
479
- <place>bib place</place>
480
- <locality type="section">
481
- <referenceFrom>Reference from</referenceFrom>
482
- <referenceTo>Reference to</referenceTo>
483
- </locality>
484
- <accesslocation>accesslocation1</accesslocation>
485
- <accesslocation>accesslocation2</accesslocation>
486
- <classification type="type">value</classification>
487
- <validity>
488
- <validityBegins>2010-10-10 12:21</validityBegins>
489
- <validityEnds>2011-02-03 18:30</validityEnds>
490
- <validityRevision>2011-03-04 09:00</validityRevision>
491
- </validity>
492
- <ext>
493
- <doctype>international-standard</doctype>
494
- <editorialgroup>
495
- <technical_committee number="211" type="technicalCommittee"> ISO/TC 211 Geographic information/Geomatics</technical_committee>
496
- <subcommittee number="122" type="ISO">International Organization for Standardization</subcommittee>
497
- <workgroup number="111" type="WG">Workgroup Organization</workgroup>
498
- </editorialgroup>
499
- <ics>
500
- <code>35.240.70</code>
501
- <text>IT applications in science</text>
502
- </ics>
503
- <structuredidentifier type="sid">
504
- <project-number part="2" subpart="2">ISO 1-2:2014</project-number>
505
- </structuredidentifier>
506
- </ext>
393
+ ...
507
394
  </bibdata>"
508
395
 
509
396
  item.to_xml(bibdata: true, note: [{ type: "note type", text: "test note" }])
@@ -513,6 +400,47 @@ item.to_xml(bibdata: true, note: [{ type: "note type", text: "test note" }])
513
400
  ...
514
401
  <note format="text/plain" type="note type">test note</note>
515
402
  ...
403
+ </bibdata>"
404
+ ----
405
+ === Export bibliographic item to BibTeX
406
+
407
+ [source,ruby]
408
+ ----
409
+ item.to_bibtex
410
+ => "@international-standard{john2014a,
411
+ tile = {Information géographique - Métadonnées - Partie 1: Principes de base},
412
+ edition = {1},
413
+ author = {Smith, John},
414
+ publisher = {International Organization for Standardization},
415
+ address = {bib place},
416
+ year = {2014},
417
+ month = apr,
418
+ type = {value},
419
+ timestamp = {2018-10-21},
420
+ url = {https://www.iso.org/standard/53798.html},
421
+ month_numeric = {4}
422
+ }"
423
+ ----
424
+
425
+ === Exporting bibliographic item to AsciiBib
426
+
427
+ [source,ruby]
428
+ ----
429
+ item.to_asciibib
430
+ => "[%bibitem]
431
+ == {blank}
432
+ id:: ISOTC211
433
+ fetched:: 2020-08-19
434
+ title::
435
+ title.type:: title-intro
436
+ title.content:: Metadata
437
+ title.language:: en
438
+ title.script:: Latn
439
+ title.format:: text/plain
440
+ itle::
441
+ title.type:: title-main
442
+ title.conten:: Geographic information
443
+ ..."
516
444
  ----
517
445
 
518
446
  === Create bibliographic item form YAML
@@ -42,8 +42,11 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
+ <!-- attribute target { xsd:IDREF }, -->
45
46
  <attribute name="target">
46
- <data type="IDREF"/>
47
+ <data type="string">
48
+ <param name="pattern">\i\c*|\c+#\c+</param>
49
+ </data>
47
50
  </attribute>
48
51
  <optional>
49
52
  <attribute name="type">
@@ -61,6 +64,11 @@
61
64
  </choice>
62
65
  </attribute>
63
66
  </optional>
67
+ <optional>
68
+ <attribute name="droploc">
69
+ <data type="boolean"/>
70
+ </attribute>
71
+ </optional>
64
72
  <text/>
65
73
  </element>
66
74
  </define>
@@ -578,6 +586,8 @@
578
586
  <ref name="ol"/>
579
587
  <ref name="dl"/>
580
588
  <ref name="formula"/>
589
+ <ref name="quote"/>
590
+ <ref name="sourcecode"/>
581
591
  </choice>
582
592
  </oneOrMore>
583
593
  </element>
@@ -661,6 +671,16 @@
661
671
  </choice>
662
672
  </attribute>
663
673
  </optional>
674
+ <optional>
675
+ <attribute name="valign">
676
+ <choice>
677
+ <value>top</value>
678
+ <value>middle</value>
679
+ <value>bottom</value>
680
+ <value>baseline</value>
681
+ </choice>
682
+ </attribute>
683
+ </optional>
664
684
  <choice>
665
685
  <zeroOrMore>
666
686
  <choice>
@@ -697,6 +717,16 @@
697
717
  </choice>
698
718
  </attribute>
699
719
  </optional>
720
+ <optional>
721
+ <attribute name="valign">
722
+ <choice>
723
+ <value>top</value>
724
+ <value>middle</value>
725
+ <value>bottom</value>
726
+ <value>baseline</value>
727
+ </choice>
728
+ </attribute>
729
+ </optional>
700
730
  <choice>
701
731
  <zeroOrMore>
702
732
  <choice>
@@ -855,7 +885,7 @@
855
885
  <oneOrMore>
856
886
  <choice>
857
887
  <ref name="content"/>
858
- <ref name="preface_abstract"/>
888
+ <ref name="abstract"/>
859
889
  <ref name="foreword"/>
860
890
  <ref name="introduction"/>
861
891
  <ref name="acknowledgements"/>
@@ -922,6 +952,9 @@
922
952
  <optional>
923
953
  <attribute name="script"/>
924
954
  </optional>
955
+ <optional>
956
+ <attribute name="type"/>
957
+ </optional>
925
958
  <optional>
926
959
  <attribute name="obligation">
927
960
  <choice>
@@ -961,9 +994,6 @@
961
994
  </define>
962
995
  <define name="content-subsection">
963
996
  <element name="clause">
964
- <optional>
965
- <attribute name="type"/>
966
- </optional>
967
997
  <ref name="Content-Section"/>
968
998
  </element>
969
999
  </define>
@@ -992,6 +1022,9 @@
992
1022
  </choice>
993
1023
  </attribute>
994
1024
  </optional>
1025
+ <optional>
1026
+ <attribute name="type"/>
1027
+ </optional>
995
1028
  <optional>
996
1029
  <ref name="section-title"/>
997
1030
  </optional>
@@ -1011,9 +1044,6 @@
1011
1044
  </define>
1012
1045
  <define name="clause">
1013
1046
  <element name="clause">
1014
- <optional>
1015
- <attribute name="type"/>
1016
- </optional>
1017
1047
  <ref name="Clause-Section"/>
1018
1048
  </element>
1019
1049
  </define>
@@ -1042,18 +1072,24 @@
1042
1072
  </choice>
1043
1073
  </attribute>
1044
1074
  </optional>
1075
+ <optional>
1076
+ <attribute name="type"/>
1077
+ </optional>
1045
1078
  <optional>
1046
1079
  <ref name="section-title"/>
1047
1080
  </optional>
1048
1081
  <group>
1049
- <group>
1050
- <zeroOrMore>
1051
- <ref name="BasicBlock"/>
1052
- </zeroOrMore>
1053
- <zeroOrMore>
1054
- <ref name="note"/>
1055
- </zeroOrMore>
1056
- </group>
1082
+ <choice>
1083
+ <group>
1084
+ <zeroOrMore>
1085
+ <ref name="BasicBlock"/>
1086
+ </zeroOrMore>
1087
+ <zeroOrMore>
1088
+ <ref name="note"/>
1089
+ </zeroOrMore>
1090
+ </group>
1091
+ <ref name="amend"/>
1092
+ </choice>
1057
1093
  <zeroOrMore>
1058
1094
  <choice>
1059
1095
  <ref name="clause-subsection"/>
@@ -1180,6 +1216,9 @@
1180
1216
  <optional>
1181
1217
  <attribute name="script"/>
1182
1218
  </optional>
1219
+ <optional>
1220
+ <attribute name="type"/>
1221
+ </optional>
1183
1222
  <optional>
1184
1223
  <attribute name="obligation">
1185
1224
  <choice>
@@ -1447,11 +1486,6 @@
1447
1486
  </optional>
1448
1487
  </element>
1449
1488
  </define>
1450
- <define name="preface_abstract">
1451
- <element name="abstract">
1452
- <ref name="Basic-Section"/>
1453
- </element>
1454
- </define>
1455
1489
  <define name="term-clause">
1456
1490
  <element name="clause">
1457
1491
  <optional>
@@ -1501,4 +1535,79 @@
1501
1535
  <ref name="CitationType"/>
1502
1536
  </element>
1503
1537
  </define>
1538
+ <define name="amend">
1539
+ <element name="amend">
1540
+ <optional>
1541
+ <attribute name="id">
1542
+ <data type="ID"/>
1543
+ </attribute>
1544
+ </optional>
1545
+ <attribute name="change">
1546
+ <choice>
1547
+ <value>add</value>
1548
+ <value>modify</value>
1549
+ <value>delete</value>
1550
+ </choice>
1551
+ </attribute>
1552
+ <optional>
1553
+ <attribute name="path"/>
1554
+ </optional>
1555
+ <optional>
1556
+ <attribute name="path_end"/>
1557
+ </optional>
1558
+ <optional>
1559
+ <attribute name="title"/>
1560
+ </optional>
1561
+ <optional>
1562
+ <element name="location">
1563
+ <zeroOrMore>
1564
+ <ref name="locality"/>
1565
+ </zeroOrMore>
1566
+ </element>
1567
+ </optional>
1568
+ <zeroOrMore>
1569
+ <ref name="autonumber"/>
1570
+ </zeroOrMore>
1571
+ <optional>
1572
+ <element name="description">
1573
+ <zeroOrMore>
1574
+ <ref name="BasicBlock"/>
1575
+ </zeroOrMore>
1576
+ </element>
1577
+ </optional>
1578
+ <optional>
1579
+ <element name="newcontent">
1580
+ <zeroOrMore>
1581
+ <ref name="BasicBlock"/>
1582
+ </zeroOrMore>
1583
+ </element>
1584
+ </optional>
1585
+ <optional>
1586
+ <element name="description">
1587
+ <zeroOrMore>
1588
+ <ref name="BasicBlock"/>
1589
+ </zeroOrMore>
1590
+ </element>
1591
+ </optional>
1592
+ </element>
1593
+ </define>
1594
+ <define name="autonumber">
1595
+ <element name="autonumber">
1596
+ <attribute name="type">
1597
+ <choice>
1598
+ <value>requirement</value>
1599
+ <value>recommendation</value>
1600
+ <value>permission</value>
1601
+ <value>table</value>
1602
+ <value>figure</value>
1603
+ <value>admonition</value>
1604
+ <value>formula</value>
1605
+ <value>sourcecode</value>
1606
+ <value>example</value>
1607
+ <value>note</value>
1608
+ </choice>
1609
+ </attribute>
1610
+ <text/>
1611
+ </element>
1612
+ </define>
1504
1613
  </grammar>
@@ -253,7 +253,7 @@
253
253
  <define name="preface">
254
254
  <element name="preface">
255
255
  <optional>
256
- <ref name="preface_abstract"/>
256
+ <ref name="abstract"/>
257
257
  </optional>
258
258
  <ref name="foreword"/>
259
259
  <optional>
@@ -33,7 +33,7 @@ module RelatonIsoBib
33
33
  # @option workgroup [Integer] :number
34
34
  #
35
35
  # @param secretariat [String, NilClass]
36
- def initialize(technical_committee:, **args) # rubocop:disable Metrics/CyclomaticComplexity
36
+ def initialize(technical_committee:, **args) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/AbcSize
37
37
  @technical_committee = technical_committee.map do |tc|
38
38
  tc.is_a?(Hash) ? IsoSubgroup.new(tc) : tc
39
39
  end
@@ -46,10 +46,13 @@ module RelatonIsoBib
46
46
  @secretariat = args[:secretariat]
47
47
  end
48
48
 
49
- # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
49
+ # @return [true]
50
+ def presence?
51
+ true
52
+ end
50
53
 
51
54
  # @param builder [Nokogiri::XML::Builder]
52
- def to_xml(builder) # rubocop:disable Metrics/CyclomaticComplexity
55
+ def to_xml(builder) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity,Metrics/AbcSize, Metrics/MethodLength
53
56
  return unless technical_committee || subcommittee || workgroup ||
54
57
  secretariat
55
58
 
@@ -66,10 +69,9 @@ module RelatonIsoBib
66
69
  builder.secretariat secretariat if secretariat
67
70
  end
68
71
  end
69
- # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
70
72
 
71
73
  # @return [Hash]
72
- def to_hash
74
+ def to_hash # rubocop:disable Metrics/AbcSize
73
75
  hash = {
74
76
  "technical_committee" => single_element_array(technical_committee),
75
77
  }
@@ -160,13 +160,6 @@ module RelatonIsoBib
160
160
 
161
161
  # @return [String]
162
162
  def to_xml(builder = nil, **opts)
163
- if opts[:note]&.any?
164
- opts.fetch(:note, []).each do |n|
165
- @biblionote << RelatonBib::BiblioNote.new(
166
- content: n[:text], type: n[:type], format: "text/plain"
167
- )
168
- end
169
- end
170
163
  super builder, **opts do |b|
171
164
  if opts[:bibdata] && (doctype || respond_to?(:committee) && committee ||
172
165
  editorialgroup || ics.any? || structuredidentifier || stagename ||
@@ -218,7 +211,7 @@ module RelatonIsoBib
218
211
  end
219
212
  end
220
213
 
221
- def makeid(id, attribute, _delim = "") # rubocop:disable Metrics/CyclomaticComplexity
214
+ def makeid(id, attribute, _delim = "") # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity,Metrics/AbcSize
222
215
  return nil if attribute && !@id_attribute
223
216
 
224
217
  id ||= @docidentifier.reject { |i| i&.type == "DOI" }[0]
@@ -1,3 +1,3 @@
1
1
  module RelatonIsoBib
2
- VERSION = "1.3.0".freeze
2
+ VERSION = "1.4.0".freeze
3
3
  end
@@ -36,5 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "simplecov"
37
37
 
38
38
  spec.add_dependency "isoics", "~> 0.1.6"
39
- spec.add_dependency "relaton-bib", "~> 1.3.0"
39
+ spec.add_dependency "relaton-bib", "~> 1.4.0"
40
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton-iso-bib
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.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-08-20 00:00:00.000000000 Z
11
+ date: 2020-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.3.0
145
+ version: 1.4.0
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 1.3.0
152
+ version: 1.4.0
153
153
  description: 'RelatonIsoBib: Ruby ISOXMLDOC impementation.'
154
154
  email:
155
155
  - open.source@ribose.com
@@ -188,7 +188,7 @@ homepage: https://github.com/relaton/relaton-iso-bib
188
188
  licenses:
189
189
  - BSD-2-Clause
190
190
  metadata: {}
191
- post_install_message:
191
+ post_install_message:
192
192
  rdoc_options: []
193
193
  require_paths:
194
194
  - lib
@@ -204,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
204
  version: '0'
205
205
  requirements: []
206
206
  rubygems_version: 3.0.6
207
- signing_key:
207
+ signing_key:
208
208
  specification_version: 4
209
209
  summary: 'RelatonIsoBib: Ruby ISOXMLDOC impementation.'
210
210
  test_files: []