Method: IsoDoc::Function::Lists#dl_parse

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

#dl_parse(node, out) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/isodoc/function/lists.rb', line 66

def dl_parse(node, out)
  out.dl  **attr_code(id: node["id"]) 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