DESIGN: design document (used for newattr branch right now)
BackedNode.vala: clean up a little
Attr.vala: make Attr extend from BackedNode; treat its internal xmlAttr as an xmlNode; removes a lot of code
Document.vala: add the ability to lookup attributes, since we'll map xmlAttr to GXmlAttr for caching in our Document now
NamedNodeMap.vala: add NamedMap interface and the NamedAttrMap implementation; may change NamedMap to NamedNodeMap yet; this will replace the GLib.HashTable usage for GXml.Node.attributes, and will allow us to rip out all the GXml<>libxml2 syncing code that occurs, since our NamedAttrMap will update the underlying libxml2 structures immediately when changes occur
Node.vala: changed attributes from a GLib.HashTable to a GXml.NamedAttrMap
Element.vala: switch from GLib.HashTable for attributes to GXml.NamedAttrMap; greatly simplify Attr handling within Element by bumping a lot to GXml.NamedAttrMap, and by removing the need to sync between GLib.HashTable and libxml2
BackedNode.vala: remove HashTable attributes definition (use GXml.Node's default implementation anyway); don't need to sync elements now
Makefile.am: add NamedNodeMap.vala
NodeList.vala: deprecated AttrNodeList; we'll use the more generic one for xmlNodes
Document.vala: remove the need to sync elements! yay!
DocumentTest.vala, ElementTest.vala: make changes to account for the switch from a GLib.HashTable attributes to a GXml.NamedNodeMap; we should consider supporting GLibHashTable methods for backwards compatibility though (lookup, size, etc)
DocumentTest.vala, ElementTest.vala: make changes to account for the switch from a GLib.HashTable attributes to a GXml.NamedNodeMap; we should consider supporting GLibHashTable methods for backwards compatibility though (lookup, size, etc)
DESIGN: add section on how to handle Xml.Attr <> GXml.Attr
Attr.vala: parent_node, previous_sibling, and next_sibling are supposed to be NULL for Attr according to W3C
BackedNode.vala: add internal function set_xmlnode, mostly so we can replace the xmlNode a GXmlNode points to in the case of GXmlAttrs when we're manipualting them through our GXmlNamedAttrMap (which is how Elements handle them, through that)
Document.vala, gxml/Makefile.am: clean up some whitespace and remove some comments
NamedNodeMap.vala: change GXmlNamedAttrMap so that we can preserve and return old Attrs as we should according to W3C DOM
test/SerializableTest.vala,SerializationTest.vala: update test expectations because GXmlSerialization now returns Documents, not just Nodes (since our change in the memory model)
test/XPathExressionTest.vala: use get_named_item () instead of [] to access attrs