Andy Clark wrote:
> First, there are times when a pull-parse doesn't generate any
> events before returning. In other words, you can have a NOP
> step. This isn't all that bad but it would be nice if we could
> guarantee that an event would be generated per call.
hi,
that would just require pull parser to continue scanning until gets some
event.
> Second, there are times within the document and DTD pull
> parsing when multiple events are generated in the same step.
> In the document parsing this can occur whenever some component
> "downstream" in the pipeline generates additional events (e.g.
> the namespace binder generates start/endPrefixMapping events).
>
> In the DTD parsing, multiple events occur quite often because
> the code is not currently setup as a full state machine. The
> code would need to be reworked in order to separate out the
> callbacks better.
that would be required to properly get events (or we loose them).
alternatively they could be buffered but this introduces extra overhead...
> I don't have the time to do all of this myself. Therefore, I
> would really like to get some help in working on either one
> of these areas so that the Xerces2 reference implementation
> can be a good pull-parsing engine.
i can take a look on all of this as i have been writing / working with XML
pull parser interfaces for last year however i need to have something to
start with.
few specifics questions
* where are setInputSource/parseDocument methods (are they in CVS?)
* i have drilled down AbstractSAXParser to XMLParser looked on parse() in
StandardParserConfiguration and XMLDocumentScanner scanDocument(boolean)
but i could not find how enable it to support pull parsing (ie. to pass
false) and use XMLDocumentScannerImpl - what am i missing?
could you post your example that you are using to check pull parsing - i
imagine that you setup parser, register callbacks, pass input, and then do
parse-some-input and check what is back?
thanks,
alek
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]