Re: XML libs (was Re: gconf backend)

On Sun, Sep 28, 2003 at 12:41:53PM -0400, Havoc Pennington wrote:
> The reason the daemon can use multiple XML libs is that a) it's really
> easy to allow multiple and b) I don't want someone to not use the
> package because I chose the wrong dependency. It's intended to be in the
> suite and fontconfig also has the libxml-or-expat thing.

  I'm happy to finally get the reason of all this stated. I was suspecting
it, just wanted to get a confirmation, finally.

> >   I just checked, by disabling all optional options of libxml2
> > I get to around 250K of code. I could easilly trim this down a lot
> > by removing all the validation code, and tree modification code.
> > Assuming I do this and allow to generate a libtinyxml2 along
> > libxml2:
> >     - would you use this
> >     - would you back-up this change at the Red Hat distro level
> >       and avoid any objection I may get in the process.
> > I think this option would be useful for my user base on embedded
> > systems. This would duplicate code but not API/implementations/debug
> > existing APIs to build a tree or stream with the reader or SAX1/2
> > interfaces would be intact (except for the validation capabilities).
> I think a libtinyxml2 with expat-level functionality would be
> interesting to explore, but _please_ don't API/ABI-freeze it until it's
> been banged on and reviewed for several months and people have actually
> used it. Perhaps it should be on a branch, I don't know.

  I don't want a separate API. I want the libxml2 API. I'm not interested
in trying to follow exactly expat API. If you want to use expat then
use it. A separate API on top of libxml2 used by nobody will not get review
and won't get testing, there is zero interest to that.

> Note that the API can't share symbols with main libxml if it's used by
> any libraries, because if there are shared symbols you can't use both
> libxml flavors in one process. For example GLib can't start using

  Well that makes the whole idea moot. Forget about it, that will
be reserved to those who really can't have libxml2, i.e. people
doing PDA things. I don't want to maintain 2 interfaces forced to be
separated without really really good reasons.

  Current libxml2 configured with --with-minimum on my tree is
around 200KB, with DOM, SAX1, SAX2 the reader interface, and
serialization. I will strip that further for the interested people.


Daniel Veillard      | Red Hat Network
veillard redhat com  | libxml GNOME XML XSLT toolkit | Rpmfind RPM search engine

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