Firstly, I've dropped the array deref, as I have no rationale for including it.
Secondly, MANIFEST and Changes are now updated; documentation is included in XML::LibXML::AttributeHash (which is where the bulk of the new implementation is).
The new implementation uses Tie::Hash and Hash::FieldHash, making the dereferenced hash fully usable for read-write access to the element's attributes. So you can get/set, can check "exists" on keys, iterate through them, etc.
var links = document.getElementsByTagName('a');
The one drawback is that the implementation requires Hash::FieldHash, thus adding an extra non-core dependency. However, Hash::FieldHash is very lightweight (an XS module with no non-core dependencies) and reliable (776 PASSes on CPAN testers, with just one FAIL).
Also included are a bunch of whitespace improvements for LibXML.pm (mostly removing tabs).