relaton-iso-bib 1.3.0 → 1.4.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: 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: []