[cxml-devel] Counter-intuitive API for cxml:parse on LWM?

David Lichteblau david at lichteblau.com
Thu Apr 21 20:51:11 UTC 2011


Quoting Marco Antoniotti (marcoxa at cs.nyu.edu):
> Ok.  But the file is not a binary file.

The fundamental reason XML files need to be processed using binary
streams instead of character streams in (portable) Common Lisp is that
an XML parser needs to read the first few bytes before it can know which
external format to parse the file as.

Implemented using a Common Lisp character stream, that would require a
switch of the external format in the middle, using (setf
stream-external-format).  But that function doesn't exist in portable
Lisp.  (One of the few Lisps that supports it is Allegro with its
simple-streams, but we aim to support more Lisps than just Allegro.  We
also aim for more speed than typical gray streams-based implementations
of this idea offer.)


d.




More information about the cxml-devel mailing list