Method: IsoDoc::WordFunction::Postprocess#list_add

Defined in:
lib/isodoc/word_function/postprocess.rb

#list_add(xpath, level) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/isodoc/word_function/postprocess.rb', line 82

def list_add(xpath, level)
  xpath.each do |list|
    (list.xpath(".//li") - list.xpath(".//ol//li | .//ul//li")).each do |li|
      li.xpath("./p | ./div/p").each_with_index do |p, i|
        next if p == 0
        p["class"] = "ListContLevel#{level}"
      end
      list_add(li.xpath(".//ul") - li.xpath(".//ul//ul | .//ol//ul"), level + 1)
      list_add(li.xpath(".//ol") - li.xpath(".//ul//ol | .//ol//ol"), level + 1)
    end
  end
end