[racket] XML library: representing CDATA

From: Ryan Culpepper (ryan at cs.utah.edu)
Date: Wed Jan 4 19:47:27 EST 2012

On 01/03/2012 08:47 PM, John Clements wrote:
>
> On Jan 3, 2012, at 3:09 PM, Neil Van Dyke wrote:
>
>> I don't know what the *stock* XML parsing does, but I have used
>> Oleg Kiselyov's SSAX parser a lot in Racket-based production apps,
>> and it does handle CDATA.
>>
>> Oleg spent a lot of time on XML, including learning things about it
>> that its designers might not have known, and the SSAX parser has
>> handled every case of valid XML that I've thrown at it so far.
>>
>> You can read about SSAX, and the SXML format it uses, at:
>> http://okmij.org/ftp/Scheme/xml.html
>>
>> You can use this PLaneT package to get SSAX, but see the above URL for documentation:
>> http://planet.racket-lang.org/display.ss?package=ssax.plt&owner=lizorkin
>
> No! Don't use this one.  We forked this code and cleaned it up a bit, to get:
>
> http://planet.racket-lang.org/display.ss?package=sxml2.plt&owner=clements
>
> 1) It doesn't have the insane require chain, so it installs fast,
> 2) it contains both the SSAX and the SXML,
> 3) It's PLT-ized in a few other ways.
>
> Ryan worked on the code a bit as well, and coincidentally I just
> pushed this out as a new planet package today.

I've got a bunch more unpushed commits, and I'll send you another pull 
request once I go back and find where and how severely I broke backwards 
compatibility.

IIRC, there's some extremely useful functional update code (much nicer 
than pre-post-order) that isn't documented at all in the current package.

Ryan


Posted on the users mailing list.