Module: Relaton::Bib::Converter::BibXml

Defined in:
lib/relaton/bib/converter/bibxml.rb,
lib/relaton/bib/converter/bibxml/to_rfcxml.rb,
lib/relaton/bib/converter/bibxml/from_rfcxml.rb,
lib/relaton/bib/converter/bibxml/to_rfcxml_referencegroup.rb,
lib/relaton/bib/converter/bibxml/from_rfcxml_referencegroup.rb

Defined Under Namespace

Classes: FromRfcxml, FromRfcxmlReferencegroup, ToRfcxml, ToRfcxmlReferencegroup

Constant Summary collapse

ORGNAMES =
{
  "IEEE" => "Institute of Electrical and Electronics Engineers",
  "W3C" => "World Wide Web Consortium",
  "3GPP" => "3rd Generation Partnership Project",
}.freeze
RFCPREFIXES =
%w[RFC BCP FYI STD].freeze

Class Method Summary collapse

Class Method Details

.from_item(item, include_keywords: true) ⇒ Object

Forward: ItemData -> Rfcxml model



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/relaton/bib/converter/bibxml.rb', line 19

def self.from_item(item, include_keywords: true) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
  if bcp?(item)
    ToRfcxmlReferencegroup.new(
      item, include_keywords: include_keywords
    ).transform
  else
    ToRfcxml.new(
      item, include_keywords: include_keywords
    ).transform
  end
end

.to_item(xml) ⇒ Object

Reverse: XML string -> ItemData



39
40
41
42
43
44
45
46
47
# File 'lib/relaton/bib/converter/bibxml.rb', line 39

def self.to_item(xml)
  if xml.include?("<referencegroup") || xml.include?("<Referencegroup")
    referencegroup = Rfcxml::V3::Referencegroup.from_xml(xml)
    FromRfcxmlReferencegroup.new(referencegroup).transform
  else
    reference = Rfcxml::V3::Reference.from_xml(xml)
    FromRfcxml.new(reference).transform
  end
end