つまりこういうことです

def format_xml arr
  return "<!doctype html
>#{_format_xml [arr]}"
end
def _format_xml(arr, args = {})
  args = {
    :pre => false
  }.merge(args)
  return_text = 
  arr.each_with_index do |item, index|
    if item.instance_of? Array
      inner = item[1..-1]
      return_text << "<#{item[0]}"
      if item[1].instance_of? Hash
        inner = item[2..-1]
        item[1].each do |key, val|
          return_text << " #{key}="#{val.gsub(/"/, &quot;)}""
        end
      end
      if item[0] =~ /(?:are|met)a|base(?:font)?|[bh]r|col|frame|i(?:mg|nput|sindex)|link|param/
        return_text << "
/>"
      else
        if item[0] =~ /s(?:tyle|cript)/
          return_text << ">
#{inner[0].gsub(/^/,   )}"
        else
          if item[0] == :pre
            inner_text = _format_xml(inner, args.merge(:pre => true))
          else
            inner_text = _format_xml(inner, args)
          end
          if inner.length == 1 and
             (inner[0].instance_of? Array or ! inner_text.index("
")) and
             return_text.length - (return_text.rindex("
") || 0) + (inner_text.index("
") || 0) < 80
            return_text << ">#{inner_text}"
          else
            return_text << "
  >"
            return_text << inner_text.gsub(/(?<=
)/,   )
          end
        end
        if index == arr.length - 1
          return_text << "</#{item[0]}>"
        else
          return_text << "</#{item[0]}
>"
        end
      end
    else
      if args[:pre]
        return_text << item.gsub(/
/, "<br
/>")
      else
        return_text << item
      end
    end
  end
  return return_text
end

format_xmlにわびさび方式を引数として渡すと、HTML5の文書にして返してくれます。以上。

内容はインデント付きでそれなりに見やすくしたジェームズ・クラーク式記法です。

気に入ったので作った

追記

都のことなので、これはジェームズ・クラーク式記法ではないということになる。

Clark記法

などと紛らわしいので、カッコ付きにしておきました