Method: IsoDoc::Metadata#docstatus

Defined in:
lib/isodoc/metadata.rb

#docstatus(xml, _out) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/isodoc/metadata.rb', line 54

def docstatus(xml, _out)
  set(:unpublished, true)
  return unless s = xml.at(ns("//bibdata/status/stage#{NOLANG}"))

  s1 = xml.at(ns("//bibdata/status/stage#{currlang}")) || s
  set(:stage, status_print(s.text))
  s1 and set(:stage_display, status_print(s1.text))
  (i = xml&.at(ns("//bibdata/status/substage#{NOLANG}"))&.text) and
    set(:substage, i)
  (i1 = xml&.at(ns("//bibdata/status/substage#{currlang}"))&.text || i) and
    set(:substage_display, i1)
  (i2 = xml&.at(ns("//bibdata/status/iteration"))&.text) and
    set(:iteration, i2)
  set(:unpublished, unpublished(s.text))
  unpublished(s.text) && set(:stageabbr, stage_abbr(s.text))
end