|
Boost : |
Subject: Re: [boost] [ANN] libstudxml - modern XML API for C++
From: Boris Kolpackov (boris_at_[hidden])
Date: 2014-05-21 16:48:33
Hi Dominique,
Just a few comments/corrections without getting into the whole SAX vs
DOM vs Pull debate:
Dominique Devienne <ddevienne_at_[hidden]> writes:
> But it's actually harder that it looks to properly implement a
> standard compliant XML parser dealing correctly with DTDs, character
> and system entities, encodings, namespaces, space normalizations,
> default attributes from inline or out-of-line DTDs, etc, etc...
Completely agree. Implementing a conforming, non-validating XML 1.0
parser and making sure that it actually does conform (that is, it
is well tested) is a big job.
> That you base your library on the long established Expat parser, from
> James Clark, one of the world's XML expert, is probably a good thing,
Expat is probably the world's most widely used XML parser if you
consider how many scripting languages and mobile/embedded platforms
use it under the hood for their XML APIs.
> although the fact it hasn't seen any release since 2007 is a bit
> worrying...
There was actually 2.1.0 release in 2012 that somehow didn't make
it to the website's news section:
http://sourceforge.net/projects/expat/files/expat/
But, generally, Expat is very mature and the bulk of the changes
these days are bug fixes.
> Many people don't care about these XML "details", but any library
> worthy of boost that wants to be a foundational building block (in
> Niall's term) at the bottom of a Boost/C++ XML ecosystem should strive
> for full conformance IMHO, or at least provide all the low-level tools
> to allow another library on top to be conformant.
100% agree.
> Sounds like your library targets the lower-level parsing part, but
> even that is non-trivial and rarely truly conformant in the many XML
> libraries out there, so hopefully you're aware of all this, and will
> explicitly document your conformance level, or lack thereof.
Already do. See Implementation Notes:
http://www.codesynthesis.com/projects/libstudxml/doc/intro.xhtml#6
Boris
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk