Streams, protocols, documents and fragments

Matthew Sergeant (EML) Matthew.Sergeant at
Wed Feb 24 17:28:52 GMT 1999

> -----Original Message-----
> From:	Borden, Jonathan [SMTP:jborden at]
> 	Mark, I think it is just a simple implementation issue. We have XML
> parsers
> whose model is one XML document per stream (e.g. java inputStream). A
> multi-doc protocol can chop the stream into sub-streams to be passed to
> the
> XML parser. By employing an external delimiter, the protocol doesn't need
> to
> understand or parse the XML itself in order to detect "end-of-doc" even
> though the logical information is there. Otherwise the protocol
> implementation needs to understand XML syntax in order to detect
> "end-of-doc"
Perl's XML::Parser (and by logic I assume this comes from expat) already
does this - you can attach an IO handle (which can be an IO::Socket if you
want it to come from a socket) to the XML parser, tell it what the stream
delimiter is (e.g. ^L) and leave it merrily parsing XML. You have to tell it
to parse again when it stops, because that's how it says "I've reached the
end of one stream" - but it works fine. This is probably true of other
languages that use expat to parse XML for them.

Perl on Win32, PerlScript, ASP, Database, XML
GCS(GAT) d+ s:+ a-- C++ UL++>UL+++$ P++++$ E- W+++ N++ w--@$ O- M-- !V 
!PS !PE Y+ PGP- t+ 5 R tv+ X++ b+ DI++ D G-- e++ h--->z+++ R+++

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list