Thread: [Sax-devel] API specs for suspend/resume capability
Brought to you by:
dmegginson
From: Karl W. <ka...@wa...> - 2003-11-03 14:32:57
|
I would like to expose suspend/resume capability of a parser through the SAX API, but there is currently no way within the specs. I was thinking like this: New method: XMLReader.Suspend() New read-only property (boolean): XMLReader.Suspended I would think it is more efficient to have this not accessed through the property extension mechanism, as it may need to be accessed frequently and would require a lookup by name every time. New read-only feature: http://xml.org/sax/features/suspendable We are working with the Delphi version of the SAX API, but we would like to be conformant with the original Java specs as much as possible, should there be some interest to update the specs. Karl |
From: Rob L. <ro...@el...> - 2003-11-03 21:03:01
|
Hi Karl, What would suspend() do? Where would you expect to call it from? I'm finding it hard to imagine a scenario where such a flag could be used, or what it would control. I guess you must be talking about a multi-threaded application - but I'm not too sure. Regards ~Rob ----- Original Message ----- From: "Karl Waclawek" <ka...@wa...> To: <sax...@li...> Sent: Monday, November 03, 2003 2:32 PM Subject: [Sax-devel] API specs for suspend/resume capability > I would like to expose suspend/resume capability of a parser > through the SAX API, but there is currently no way within the specs. > > I was thinking like this: > > New method: XMLReader.Suspend() > New read-only property (boolean): XMLReader.Suspended > I would think it is more efficient to have this not accessed through > the property extension mechanism, as it may need to be accessed > frequently and would require a lookup by name every time. > New read-only feature: http://xml.org/sax/features/suspendable > > We are working with the Delphi version of the SAX API, but we would > like to be conformant with the original Java specs as much as possible, > should there be some interest to update the specs. > > Karl > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > Does SourceForge.net help you be more productive? Does it > help you create better code? SHARE THE LOVE, and help us help > YOU! Click Here: http://sourceforge.net/donate/ > _______________________________________________ > List: sax-devel, sax...@li... > See: http://www.saxproject.org/ > https://lists.sourceforge.net/lists/listinfo/sax-devel > > |
From: Karl W. <ka...@wa...> - 2003-11-03 21:24:44
|
> Hi Karl, > > What would suspend() do? Where would you expect to call it from? It would stop, but not terminate, the parsing process, and it would be called from a handler. > I'm finding it hard to imagine a scenario where such a flag could be used, > or what it would control. The flag would not control anything, but just allow you to know if the parser returned because it is done, or because it was suspended. One could maintain that state outsied the parser, but since it is part of the parser's state - why keep it hidden and force the programmer to track it separately. > I guess you must be talking about a > multi-threaded application - but I'm not too sure. Actually, the opposite. If you want to use threads you can suspend/resume without support by the underlying parser implementation. Suspend is necessary if you want to implement a Pull API on top of SAX. Suspend is also nice if you want to parse a little, go off and do something else, come back and parse a little more. You could ask the Mozilla XML team why they needed it for their version of Expat. Karl |