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
____________________
Racket Users list:
http://lists.racket-lang.org/users