You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Greg Stein <gs...@lyra.org> on 1999/06/11 13:01:48 UTC

XML handling, step 2

Hey all,

Here is the next in the sequence of XML-handling patches for Apache.
This isn't a true patch (which needs to update Makefiles, etc). I'm
simply attaching the three new files that will be part of the patch.

This stuff provides lightweight data structures for parsed XML content.
The Expat parser is great, but its event-driven callback interface makes
it extremely difficult to handle XML in certain ways. Specifically, a
two-step parse-then-process cannot be done through an event mechanism.
These patches provide data structures for holding XML content after a
parse is completed.

The API exported here would be the "right" level for most Apache code to
use for XML handling. Directly interfacing with the parser is tougher,
and hard-wires you to a particular parser.

The intended audience for this functionality is mod_dav, mod_php, a new
config system (future), and/or third party modules that want to use XML.
Please note that an API such as this would be required to incorporate
DAV functionality into the base Apache distro.

This code is well-tested; it is a direct extract from mod_dav with a
prefix renaming (dav_ to ap_). The API is solid in terms of the output
structures, but the input sources for the parse could/should be expanded
(right now, it parses request input; there should be funcs for parsing
files and/or text buffers).

Comments, suggestions, whatever are highly appreciated. For example:
naming suggestions, API changes/additions/deletions, algorithm changes
(e.g. array of strings rather than ap_text's linked-list of strings),
doc requirements, requests for explanation, etc.

thx,
-g

--
Greg Stein, http://www.lyra.org/

Re: XML handling, step 2

Posted by Greg Stein <gs...@lyra.org>.
On Mon, 21 Jun 1999, Rodent of Unusual Size wrote:
> Greg Stein wrote:
> > Here is the next in the sequence of XML-handling patches for Apache.
> > This isn't a true patch (which needs to update Makefiles, etc). I'm
> > simply attaching the three new files that will be part of the patch.
> 
> Will this require a major MMN bump?  (I.e., does it change any
> existing interfaces?)  Is there a greater-than-nil probability

No, it only adds new typedefs and functions. All are propery prefixed to
avoid conflicts with existing libraries.

> that it will destabilise the existing build process or server?

It is (functionally) a simple layer on top of the Expat library. It pulls
together Expat and some Apache interface functions, but does not rely on
any other platform-specific libraries (nor anything beyond Expat/Apache
for that matter).

> Will it cause either/both of the main 3P modules (PHP and Perl)
> to have to issue a new release in order to build with the base
> package?

No. This is new code that they don't currently use and could not conflict
with their build/execution. Expat(-lite) itself may have an issue, but
Rasmus' tests show that that does not seem to be the case.

> If the answer to any of these is "yes," then I'm -1 on this
> for pre-2.0..  otherwise I'm +1 on concept.

A fine position :-), but this is very safe stuff.

Cheers,
-g

--
Greg Stein, http://www.lyra.org/



Re: XML handling, step 2

Posted by Rodent of Unusual Size <Ke...@Golux.Com>.
Greg Stein wrote:
> 
> Here is the next in the sequence of XML-handling patches for Apache.
> This isn't a true patch (which needs to update Makefiles, etc). I'm
> simply attaching the three new files that will be part of the patch.

Will this require a major MMN bump?  (I.e., does it change any
existing interfaces?)  Is there a greater-than-nil probability
that it will destabilise the existing build process or server?
Will it cause either/both of the main 3P modules (PHP and Perl)
to have to issue a new release in order to build with the base
package?

If the answer to any of these is "yes," then I'm -1 on this
for pre-2.0..  otherwise I'm +1 on concept.
-- 
#ken    P-)}

Ken Coar                    <http://Web.Golux.Com/coar/>
Apache Software Foundation  <http://www.apache.org/>
"Apache Server for Dummies" <http://Web.Golux.Com/coar/ASFD/>