parser asynch input (Was: SAX/C++: First interface draft)
Niels Möller
nisse at lysator.liu.se
Mon Dec 6 09:54:38 GMT 1999
Steinar Bang <sb at metis.no> writes:
> I would like to add operations that can be used to "push" data to the
> parser asynchronously:
I also think this is important (and it's a sadly missing feature of
the IBM's xml4c parser, which provides another SAX-like C++ API).
But is there any reason not to use the same InputSource abstraction
for the fragment blocks? Say, something like
class Parser
{
public:
virtual void setLocale (const char *) = 0;
virtual void setEntityResolver (EntityResolver &resolver) = 0;
virtual void setDTDHandler (DTDHandler &handler) = 0;
virtual void setDocumentHandler (DocumentHandler &handler) = 0;
virtual void setErrorHandler (ErrorHandler &handler) = 0;
virtual void parse (SAXString systemId) = 0;
virtual void parse (const InputSource &input) = 0;
! virtual void parseFragment (const InputSource &input) = 0;
! virtual void parseEnd() = 0;
private:
void operator delete (void *);
};
The idea is that a document is the catenation of one or more fragments
(e.g. blocks of data that are read from a socket).
parse(source) would be equivalent to parseFragment(source);
parseEnd().
/Niels
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at 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 at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list