[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] sax + startElement
- From: Daniel Veillard <veillard redhat com>
- To: Jovan Kostovski <chombium gmail com>
- Cc: xml gnome org
- Subject: Re: [xml] sax + startElement
- Date: Fri, 9 Feb 2007 12:09:33 -0500
[Re Cc'ing the list since the informations may be useful for others and worth
archiving, Daniel]
On Fri, Feb 09, 2007 at 05:46:07PM +0100, Jovan Kostovski wrote:
> On 2/9/07, Daniel Veillard <veillard redhat com> wrote:
> > I would suggest to avoid SAX unless you have critical performance
> >requirements, it will make your code 10 times easier to maintain if
> >you use the reader instead:
> > http://xmlsoft.org/xmlreader.html
>
> That's the reason why I tried usung SAX. I have to write a parser that will
> work on embedded computer. It has a 200 MHz CPU with 128MB RAM
> but there will be some big configuration files in (xml format) to handle.
> The compiled code size matters too.
> I saw from the examples that XMLReader is much more cleaner and easier
> to use, but what are the system resouces needed comparing to SAX.
> Since XMLReader is an interface to SAX2 it needs more memory, right?
Perfectly right, that one of the few use case where using SAX makes sense,
I would still try to use SAX version 2 though it's a bit more complex, the
parser is faster, does more (namespace handling), and requires less allocation
at run time.
The main change are Element start and end callbacks, see
http://xmlsoft.org/html/libxml-SAX2.html#xmlSAX2StartElementNs
http://xmlsoft.org/html/libxml-SAX2.html#xmlSAX2EndElementNs
you need a special magic version in SAX
http://xmlsoft.org/html/libxml-parser.html#XML_SAX2_MAGIC
see for example
static xmlSAXHandler debugSAX2HandlerStruct
in testSAX.c in the source distribution,
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]