The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Notes on LibXML/GDOME compatability:

LibXML differences
==================

LibXML non-conformance (to be confirmed)
========================================
    The following methods have different behaviour in LibXML and
    GDOME. I think these are non-conformances in LibXML.

    Node::getAttribute
      LibXML returns undef when the attribute has not been set
      GDOME returns empty string

    Node::getLocalName
      LibXML returns node name for DOM Level 1 documents
      GDOME returns undef

    Document->getNodeName
      LibXML returns 'text' for text node
      GDOME returns '#text' for text node

    Document->importNode
      LibXML if set 2nd argument allows moves (not copies) nodes
      GDOME if set 2nd argument specifies a deep copy

    Node->getElementsByTagName
    Node->getElementsByLocalName
      LibXML getElementsByTagName ignores namespaces
      LibXML getElementsByLocalName returns results of getElementsByTagName?


Methods with api differences
============================
    The following methods work differently between LibXML and GDOME.

    XML::GDOME->parse_string
      LibXML throws an exception with an empty document
      GDOME returns ''

    Document->toString
      LibXML includes 'encoding="UTF-8"' in xml tag
      GDOME does not include encoding (UTF-8 implied by default)

    Node->find
      LibXML returns typed objects
      GDOME returns the string

    Node->findnodes
      LibXML returns NodeList object in scalar context
      GDOME only works in array context


Methods not implemented in GDOME
================================
    The following methods are not part of the W3C DOM and have not
    been implemented in GDOME.

      XML::LibXML->parse_html_*
      XML::LibXML->parse_xml_chunk
      XML::LibXML::Document->new
      XML::LibXML::Document->URI
      XML::LibXML::Document->setDocumentElement
      XML::LibXML::Node->isEqual
      XML::LibXML::Element->new
      XML::LibXML::Text->new
      XML::LibXML::Attr->new
      XML::LibXML::Comment->new
      XML::LibXML::DocumentFragment->new