def compare_xml_nodes(expected_node, actual_node)
return false unless actual_node.instance_of? expected_node.class
case actual_node
when REXML::Document
true
when REXML::DocType
compare_doctypes(expected_node, actual_node)
when REXML::Element :
compare_elements(expected_node, actual_node)
when REXML::CData
compare_texts(expected_node, actual_node)
when REXML::Text
compare_texts(expected_node, actual_node)
when REXML::Comment
compare_comments(expected_node, actual_node)
when REXML::Instruction
compare_pi(expected_node, actual_node)
when REXML::XMLDecl
compare_xml_declaration(expected_node, actual_node)
else
puts "Unknown node type #{actual_node.class}"
false
end
end