def result(node)
result_buffer = []
id_attribute = node.id ? %Q( id="#{node.id}") : nil
classes = ['olist', node.style, node.role].compact
class_attribute = %Q( class="#{classes * ' '}")
result_buffer << %Q(<div#{id_attribute}#{class_attribute}>)
result_buffer << %Q(<div class="title">#{node.title}</div>) if node.title?
type_attribute = (keyword = node.list_marker_keyword) ? %Q( type="#{keyword}") : nil
start_attribute = (node.attr? 'start') ? %Q( start="#{node.attr 'start'}") : nil
result_buffer << %Q(<ol class="#{node.style}"#{type_attribute}#{start_attribute}>)
node.items.each do |item|
result_buffer << '<li>'
result_buffer << %Q(<p>#{item.text}</p>)
result_buffer << item.content if item.blocks?
result_buffer << '</li>'
end
result_buffer << '</ol>'
result_buffer << '</div>'
result_buffer * EOL
end