Class: Metanorma::Iso::Sts::Transformer::ReferenceTransformer

Inherits:
Transformer::Base
  • Object
show all
Defined in:
lib/metanorma/iso/sts/transformer/reference_transformer.rb

Instance Method Summary collapse

Instance Method Details

#transform_bibitem(bibitem, index) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/metanorma/iso/sts/transformer/reference_transformer.rb', line 32

def transform_bibitem(bibitem, index)
  build_ordered(::Sts::IsoSts::Ref) do |ref|
    ref.id = "biblref_#{index}"

    lbl = ::Sts::IsoSts::Label.new(content: ["[#{index}]"])
    ref.label lbl

    mc = build_mixed_citation(bibitem)
    ref.mixed_citation mc if mc

    std = build_std_for(bibitem)
    ref.std std if std
  end
end

#transform_list(ref_section) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/metanorma/iso/sts/transformer/reference_transformer.rb', line 7

def transform_list(ref_section)
  normative = ref_section.normative == "true"

  build_ordered(::Sts::IsoSts::RefList) do |rl|
    rl.id = id_for(ref_section)
    rl.content_type = normative ? "norm-refs" : "bibl"

    if ref_section.title
      rl.title transform_title(ref_section.title)
    end

    if ref_section.p && !ref_section.p.empty?
      ref_section.p.each do |para|
        rl.p paragraph_transformer.transform(para)
      end
    end

    if ref_section.references && !ref_section.references.empty?
      ref_section.references.each_with_index do |bibitem, idx|
        rl.ref transform_bibitem(bibitem, idx + 1)
      end
    end
  end
end