OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: nestable C/C++ XML parser?

[ Lists Home | Date Index | Thread Index ]
  • From: Mike Williams <mikew@o3.co.uk>
  • To: Paul Miller <stele@fxtech.com>
  • Date: 08 Dec 1999 09:40:02 +0000

  >>> On Tue, 07 Dec 1999 13:57:43 -0500,
  >>> "Paul" == Paul Miller <stele@fxtech.com> wrote:

  Paul> No, I did want things pushed at me (via callbacks), but I want the
  Paul> opportunity to do some object-specific processing "inside" one of the
  Paul> callbacks, after the next set of *nested* elements were processed. This
  Paul> requires a nestable parser, where I can pick up the parsing inside a
  Paul> different scope. 

What about using nestable *handlers*.  Say you're parsing something like
this:

    ...
    <foo>
        <bar>xxx</bar>
    </foo>
    ...

When your main handler sees the <foo> tag, create a new "FooHandler"
object.  Your main handler would then need to delegate all events to the
FooHandler, until the corresponding </foo> is seen.

Not that this is particularly easy to implement.  In fact, I started to
implement something similar (in Java), but got fed up ... I've reverted to
using a DOM as input, for the time being.  

The main complication is that the delegating handler has to maintain a
context-stack while it's delegating, in order to match the correct
end-tag.  One way around this might be to get the FooHandler to notify the
main handler when it's finished.

Just an idea ...

-- 
Mike Williams

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)






 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS