6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/relaton_bib/xml_parser.rb', line 6
def from_xml(xml)
doc = Nokogiri::XML(xml)
bibitem = doc.at "/bibitem"
BibliographicItem.new(
id: bibitem[:id],
type: bibitem[:type],
fetched: bibitem.at("./fetched")&.text,
titles: fetch_titles(bibitem),
link: fetch_link(bibitem),
docid: fetch_docid(bibitem),
docnumber: bibitem.at("./docnumber")&.text,
dates: fetch_dates(bibitem),
contributors: fetch_contributors(bibitem),
edition: bibitem.at("./edition")&.text,
version: fetch_version(bibitem),
biblionote: fetch_note(bibitem),
language: bibitem.xpath("./language").map(&:text),
script: bibitem.xpath("./script").map(&:text),
abstract: fetch_abstract(bibitem),
docstatus: fetch_status(bibitem),
copyright: fetch_copyright(bibitem),
relations: fetch_relations(bibitem),
series: fetch_series(bibitem),
medium: fetch_medium(bibitem),
place: bibitem.xpath("./place").map(&:text),
extent: fetch_extent(bibitem),
accesslocation: bibitem.xpath("./accesslocation").map(&:text),
classification: fetch_classification(bibitem),
validity: fetch_validity(bibitem),
)
end
|