Just to point.
For 0.6 version, I'm going to:
a) Adding Interfaces to provide GXml with different implementation for parsing/writting XML documents. Most interfaces provides Gee's collections API to access/modify them, making them more easy to use and faster, depending on its implementation.
b) Most classes in GXml 0.4 are moved to a prefix "x", like GXml.Document to GXml.xDocument
c) Most classes in GXml 0.4 are replaced by interfaces,for example, GXml.Document is implemented by xDocument and TwDocument classes
d) Added better support for unknown nodes
e) TwDocument use libxml 2.0 xmlTextWriter to write documents, this makes 3 to 5 times faster when you write large XML documents
f) I'm focusing my work on improve Serializable framework of GXml.
Work to come:
I) Finish renaming 0.4 classes to use an "x" prefix, and convert them to GInterfaces
Planning (suggestions welcome!)
A) Use xmlTextReader form libxml to read XML documents
B) Create DOM level 1 or 2 interfaces and implement them with "x" prefixed classes (from 0.4 release) and/or "Tw" ones
C) Re-implement xDocument and xNode, to use directly libxml structures, to avoid memory and processing overhead