|
Boost : |
From: Jose (jmalv04_at_[hidden])
Date: 2006-10-28 13:56:40
On 10/28/06, Sebastian Redl <sebastian.redl_at_[hidden]> wrote:
>
> Hi,
>
> Once again I'm turning to the list for discussion about a design issue
> in the XML library. This time I hope to avoid any discussion about the
> implementation on the library and focus on interface only.
>
> The interface in question is the reader interface, also known as pull
> interface. Like SAX, the pull interface is an event-based interface.
> There are a few event types (roughly, StartElement, EndElement,
> Characters, and a few more for other XML features), all of which provide
> come with some additional data: the element name, the character data, etc.
The criteria I would apply for choosing the interface are:
- performance
- custom-parsing simplicity
- extensibility
Based on this the best interface is 1) .
I think the best approach is to learn from the C++ XmlPullParser that you
mention in your
September 7 thread: http://www.extreme.indiana.edu/xgws/xsoap/xpp/
What is missing is the ability to handle partial files + good UNICODE
support + optimizations
If you agree that performance is a key requirement, at which XPP already
excels, then
you might want to focus on the recent ideas for creating an XML tree without
memory allocations.
http://www.nathanm.com/2006/09/15/techniques-for-parsing-xml-documents.html
Once you have the XML stored in a tree it is viable to implement path and
query
operators which are really necessary.
I'm glad you're tackling the xml library as this is an area I find the C++
community is behind
the Java .NET camps
regards
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk