On Sun, Oct 01, 2006 at 11:33:48AM +0200, Joachim Zobel wrote:
> Am Freitag, den 29.09.2006, 09:13 -0400 schrieb Daniel Veillard: 
> > On Thu, Sep 28, 2006 at 10:07:30PM +0200, Joachim Zobel wrote:
> >   look at the entry points in SAX2.c 
> >   http://xmlsoft.org/html/libxml-SAX2.html
> > but I don't think anyone ever tried to plug libxml2 on top of expat
> > and it may require some debugging
> 
> This looks pretty good. If I understand this correctly, XML parsing in
> libxml2 goes through the SAX2 interface and the the SAX2.c functions are
> the callbacks that pass the SAX events to the higher level stuff. 

  Yes, when not using the older SAXv1 interfaces.

> So this means I can move from expat to libxml2 (the SAX interface is
> quite similiar) and put the higher level libxml2 functionality into
> seperate filters, that can be glued together controlled by processing
> instructions, possibly a special namespace and apache config.

  Some of the entry points are different from the old expat for example
support for namespaces, check 
   http://xmlsoft.org/html/libxml-SAX2.html#xmlSAX2StartElementNs
for example attributes are given using 4 string pointers. Also everything
is always converted to UTF-8 it's not in the document native encoding.

> The goal is to build something that can (for example) run a streaming
> XPath expression and treat all matches as tiny seperate documents that
> are processed by an xslt stylesheet.

  You will still need to build some kind of tree to process with libxslt,
but that should be doable (but not trivial).

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
[EMAIL PROTECTED]  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to