Module: IsoBibItem

Defined in:
lib/iso_bib_item/contribution_info.rb,
lib/iso_bib_item/person.rb,
lib/iso_bib_item/series.rb,
lib/iso_bib_item/version.rb,
lib/iso_bib_item/from_xml.rb,
lib/iso_bib_item/contributor.rb,
lib/iso_bib_item/organization.rb,
lib/iso_bib_item/document_status.rb,
lib/iso_bib_item/formatted_string.rb,
lib/iso_bib_item/localized_string.rb,
lib/iso_bib_item/iso_project_group.rb,
lib/iso_bib_item/bibliographic_date.rb,
lib/iso_bib_item/bibliographic_item.rb,
lib/iso_bib_item/iso_document_status.rb,
lib/iso_bib_item/iso_localized_title.rb,
lib/iso_bib_item/iso_bibliographic_item.rb,
lib/iso_bib_item/document_relation_collection.rb

Overview

Isobib module

Defined Under Namespace

Modules: PersonIdentifierType Classes: Address, Affilation, BibItemLocality, BibliographicDate, BibliographicItem, Contact, ContributionInfo, Contributor, ContributorRole, CopyrightAssociation, DocRelationCollection, DocumentIdentifier, DocumentRelation, DocumentStatus, FormattedString, FullName, Ics, IsoBibliographicItem, IsoDocumentId, IsoDocumentStatus, IsoLocalizedTitle, IsoProjectGroup, IsoSubgroup, LocalizedString, OrgIdentifier, Organization, Person, PersonIdentifier, Series, TypedUri

Constant Summary collapse

VERSION =
'0.2.1'.freeze

Class Method Summary collapse

Class Method Details

.from_xml(xml) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/iso_bib_item/from_xml.rb', line 5

def from_xml(xml)
  doc = Nokogiri::XML(xml)
  IsoBibliographicItem.new( 
    docid:        fetch_docid(doc),
    edition:      doc.at('/bibitem/edition')&.text,
    language:     doc.xpath('/bibitem/language').map(&:text),
    script:       doc.xpath('/bibitem/script').map(&:text),
    titles:       fetch_titles(doc),
    type:         doc.at('bibitem')&.attr(:type),
    docstatus:    fetch_status(doc),
    ics:          fetch_ics(doc),
    dates:        fetch_dates(doc),
    contributors: fetch_contributors(doc),
    workgroup:    fetch_workgroup(doc),
    abstract:     fetch_abstract(doc),
    copyright:    fetch_copyright(doc),
    link:         fetch_link(doc),
    relations:    fetch_relations(doc)
  )
end