Method: IsoDoc::Function::Lists#dl_parse

Defined in:
lib/isodoc/function/lists.rb

#dl_parse(node, out) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/isodoc/function/lists.rb', line 69

def dl_parse(node, out)
  out.dl  **dl_attr(node) do |v|
    node.elements.select { |n| dt_dd? n }.each_slice(2) do |dt, dd|
      v.dt **attr_code(id: dt["id"]) do |term|
        dt_parse(dt, term) 
      end
      v.dd  **attr_code(id: dd["id"]) do |listitem|
        dd.children.each { |n| parse(n, listitem) }
      end
    end
  end
  node.elements.reject { |n| dt_dd? n }.each { |n| parse(n, out) }
end