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

Marco Antoniotti marcoxa at cs.nyu.edu
Thu Apr 21 19:52:16 UTC 2011


On Apr 21, 2011, at 15:06 , David Lichteblau wrote:

> Hi,
> 
> Quoting Marco Antoniotti (marcoxa at cs.nyu.edu):
>> here is the example on LWM:
> 
> what is LWM?

Lispworks Mac


> 
>> CL-USER 17 > (cxml:parse #P"CellCycle-1991Tys-2.xml" (cxml:make-whitespace-normalizer (make-instance 'sax:default-handler)) :validate nil)
>> NIL
>> 
>> CL-USER 18 > (with-open-file (f #P"CellCycle-1991Tys-2.xml" :direction :input)
>>              (cxml:parse f (cxml:make-whitespace-normalizer (make-instance 'sax:default-handler)) :validate nil))
>> 
>> Error: Binary operation READ-BYTE attempted on character stream #<STREAM::LATIN-1-FILE-STREAM /Users/marcoxa/Projects/Genomics/biolosyst/sbmlambda/tests/CellCycle-1991Tys-2.xml>.
>>  1 (abort) Return to level 0.
>>  2 Return to top loop level 0.
> [...]
>>   Parse an XML document from @var{input}, which can be a string, pathname,
>>   octet vector, or stream.
> [...]
>> It appears that you need a 'xstream', but this is against the doc string content (and IMHO, against common sense).
> 
> Not an xstream, no (those are internal to cxml and would only be used
> very rarely by user code).
> 
> What you need is a _binary_ stream though (and the docstring could
> indeed be improved to say "octet vector, or octet stream" rather than
> just "octet vector, or stream".
> 
> In other words, add :element-type '(unsigned-byte 8) to the
> with-open-file.

Ok.  But the file is not a binary file.

Marco








> 
> 
> d.
> 

--
Marco Antoniotti






More information about the cxml-devel mailing list