Now while fixing compilation of GXml’s implementation of DOM4, I found lot of API incompatibilities between existing generic GXml API using Gee collections and DOM4 interfaces.

In some cases when API incompatibilities comes from methods names, no problem, because just instruct Valac to override the correct interface, but properties is another beast.

Properties should be same type between interfaces if you want to implement one property with the same name in two or more interfaces.

While I see lot of advantages to use DOM4 API, because it is well documented in its specification, I’m using it when conflicts appear, modifying existing one in GXml.

Doing so and while GXml is perfectly usable in many cases, like embedded in Python code for web pages, DOM4’s API is more binding friendly than Vala’s generic one, while the last is powerful and easy to use in Vala code.

All this work will be present in upcoming GXml 0.11 version, for you to test. Next versions of 0.11.x series will be to fix DOM4 implementations by adding Unit Tests.


Today I’ve finished to prototype most DOM4 interfaces implementation on GNode series.

I’m starting to fix building and some issues here and there. All my work is in my local repository jet, just want to provide a buildable commit to you, releasing a 0.11.0 development release.

DOM4 makes some changes, making old DOM implementation in GXml, well, obsolete. Once I’ve finished to add all Unit Test and passing, I think I can promote a new release 0.12.

May be at 0.14 release window and with user’s feedback on DOM4 implementation, I can remove old DOM implementation and all xNode classes, by cleaner, faster and more maintainable GNode classes.

There are lot of interfaces in DOM4 I have no implementations in GXml, just leave there to implement later. I hope we can have a clean interfaces before to implement in order to avoid API changes, but any way, this is why we are at 0.x release series.