GXml-0.20 Released

GXml is an Object Oriented implementation of DOM version 4, using GObject classes and written in Vala. Has a fast and robust serialization implementation from GObject to XML and back, with a high degree of control. After serialization, provides a set of collections where you can get access to child nodes, using lists or hash tables.

New 0.20 release is the first step toward 1.0. It provides cleaner API and removes old unmaintained implementations.

GXml is the base of other projects depending on DOM4, like GSVG an engine to read SVG documents based on its specificacion 1.0.

GXml uses a method to set properties and fill declared containers for child nodes, accessing GObject internals directly, making it fast. A libxml-2.0 engine is used to read sequentially each node, but is prepared to implement new ones in the future.

A new engine, still in development, tries to read nodes in a multi-threading environment, to speed up serialization.

GXml’s engine uses interfaces. That design has provided the opportunity to implement incrementally better new implementations, also holding more than one at the same time. The main ones, uses libxml-2.0 for sequential parsing to GObject, providing a fast process; the other, use libxml-2.0 parser to its own nodes, while provides bindings to a GObject classes, but limited to the features in libxml-2.0, limitations not present in the main implementation.

Through Vala, GObject can exploit all its potential, without the verbose C syntax but getting all its speed advantages.

Libraries written in Vala, will help powerful applications to be created and open new opportunities on innovations, while push up GNOME main technologies to be used outside Linux. Interest a side, is Vala’s features to create binaries not depending on GLib/GObject, open new opportunities to other markets.

Author: despinosa

Linux and GNOME user, full time, since 2001. Actual maintainer of GXml and contributor to other projects mainly on GObject Introspection support.

One thought on “GXml-0.20 Released”

Leave a Reply

Your email address will not be published. Required fields are marked *