On Thu, Sep 28, 2017 at 10:57 PM, Greg Stein <gst...@gmail.com> wrote:
> On Wed, Sep 27, 2017 at 12:10 PM, William A Rowe Jr <wr...@rowe-clan.net>
> wrote:
>>...
>>
>> After deeper consideration, this was fundamentally wrong.
>>
>> For those less familiar with the Win32 build, we failed to decouple
>> a "project" called "xml" which was, in fact, our idea of how expat
>> should be built.
>
>
> Strictly speaking, the xml module is an API that creates a memory-efficient
> DOM of an XML document, so that mod_dav could easily consume it. The API
> originated from mod_dav's needs.

Indeed, that's how I've understood it.

> Another way to view it, is that Expat is a streaming/callback model, but
> mod_dav needed a random-access model. The xml code and API is that bridge.

Right.

>> Already, apr-util has crypto libs, dbm providers, dbd providers, all
>> but one are external libraries maintained by external groups with
>> their own recommended build mechansims.
>
> More background: Expat *source* was added to the apr-util library back in
> 1999 or 2000 or somesuch. At the time, the library wasn't normally packaged
> and easily available. The choice was made to include it, to help downstream
> users in a "batteries included" form, but have enough autoconf magic to also
> use a pre-installed Expat package.

And wasn't generally distributed in any mainline linux distribution (ignoring
Win32 entirely)...

> Nowadays, it makes no sense to keep carrying around the Expat source.
>
> Regarding whether to use Expat and/or libxml under the API covers ... I
> don't have any insight or opinion on that. ... I just have insight on the
> API and Expat's presence cuz, well, it's my fault :-)

Not fault. It was a good choice. libxml2 is a suitable replacement. Our
abstraction wasn't serious, because we choose to bundle it base on the
then-current maintenance.

Now, there is a serious community around the maintenance of the codebase,
and it is and should be "out of our hands". In some small measure, expat
grew due to apr's adoption. But it is not our place to be everything to
everybody. Let the maintainers promulgate their codebase now, we are
simply consumers.

Reply via email to