[
Lists Home |
Date Index |
Thread Index
]
- From: nisse@lysator.liu.se (Niels Möller)
- To: Steinar Bang <sb@metis.no>
- Date: 06 Dec 1999 10:54:19 +0100
Steinar Bang <sb@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@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)
|