[Glade-devel] Why libxml2 and not GMarkupParser?



--Boundary-00=_H4z//kBTqav1Peo
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi list,

Just out of curiosity: why does libglade2 depend on libxml2?

I admit I am somewhat ignorant about the internals of libglade2, but at first 
glance I could not find anything that could not also be done with 
GMarkupParser, which is part of GLib. Or am I missing something here?

Admittedly GMarkupParser is not quite as refined as libxml2 - especially in 
the error handling -, but then: if the .glade file is faulty, you're in 
trouble anyway. The .glade XML files don't seem to use things like namespaces 
or non-standard entities either, so GMarkupParser should be able to handle 
them just fine, at least as far as I can see.

libxml2 is 924 kB of size on my system. I think getting rid of this particular 
dependency would be quite nice. Of course it doesn't make much difference for 
full-fledged GNOME apps, but for Gtk+-only applications it seems a worthwhile 
optimisation, and might make libglade more attractive for applications that 
are designed to run also in memory-restricted environments (e.g. embedded 
systems etc.).  Getting rid of libxml2 should decrease application start-up 
time as well (although I am not sure how relevant this is on modern desktop 
systems).

Any thoughts on this?

I've tried to make libglade2 use GMarkupContext instead of libxml2.  Attached 
a first, tentative patch that should achieve this. So far it seems to work 
fine, even though it has not gotten too much testing.

Cheers
-Tim







--Boundary-00=_H4z//kBTqav1Peo
Content-Type: application/x-bzip2;
  name="libglade-2.0-nolibxml2-2004-Jan-07.diff.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
        filename="libglade-2.0-nolibxml2-2004-Jan-07.diff.bz2"

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

--Boundary-00=_H4z//kBTqav1Peo--





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]