From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2007-07-13 12:15:17
X-Mailer: Decimail Webmail 3alpha16
Content-Type: text/plain; format="flowed"
Stefan Seefeld wrote:
> Phil Endecott wrote:
>> For example, I
>> might need to efficiently find all the <foo> nodes in a large tree.
>> How would I do that with your library?
> You'd do an XPath query.
I'm pretty sure that libxml2 would visit every node in the tree to do
that. With XSLT you can use the "key" mechanism to make this more
efficient, but XPath alone doesn't get you that.
>> I think that there are a lot of useful techniques that can't be done
>> using a libxml2 backend, including the symbol-table idea that I have
>> mentioned before and the whole business of pointer semantics i.e. deep
>> vs. shallow copy, copy-on-write and so on.
> Right. But I don't see that as a limitation of my approach. Rather, I'd
> use a different way to achieve that anyway.
Can you elaborate?
>>> However, as I tried to point out numerous times, I do believe it is important
>>> to be able to bind highly efficient XML library backends, and not reinvent
>>> everything from scratch.
>> There is certainly an opportunity for a C++ XML library that "binds
>> highly efficiently to an XML library backend", but I feel that that
>> opportunity is already filled by xmlwrapp
>> (http://sourceforge.net/projects/xmlwrapp/) and libxml++
>> (http://libxmlplusplus.sourceforge.net/) both of which have quite
>> liberal licenses. What does yours offer that they don't?
> I did some work on libxml++ some years ago, but then parted when it became
> apparent that libxml++ was to be glued to tightly into GNOME (the choice of
> unicode string is fixed, i.e. not parametrized as in my proposal), and other
> unfortunate decisions.
> Incidentally, the approach I had taken in the way I bind to libxml2 there
> was part of an earlier proposal I submitted to boost (many years ago). Then,
> people suggested alternatives that eventually let me to the current approach.
> May I suggest that you search the boost ML archives to find more details.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk