[plt-scheme] Favorite library for parsing XML in PLT 4? 3?

From: Ben Simon (benjisimon at gmail.com)
Date: Mon Apr 13 17:06:06 EDT 2009

On Tue, Apr 7, 2009 at 4:19 PM, Grant Rettke <grettke at acm.org> wrote:

> What is your favorite library for parsing XML in PLT 4?
> If nothing is available, then what do you use for PLT<4, R5 or R6 Scheme?
>

Back when I was using SISC [1], I nearly always turned to ssax and sxpath.
This especially made sense because SISCweb [2] worked natively with SXML.

But recently, I've been using the xml module and scheme/match (see: [3] as
an example) and there's something about the solution I like. Whole
match-the-shape of the xml expression / destructure on the fly is really
cool.

I really wish scheme/match was less verbose so that code like [4]:

 (filter-map
   (match-lambda
     [(list-no-order (list 'title _ title)
                     (list 'link
                           (list-no-order
                            (list 'href url)
                            (list 'rel (regexp #rx"^http://.*#cellsfeed$"))
                            _ ...))
                     (list 'gs:rowCount _ row-count)
                     (list 'gs:colCount _ col-count)
                     _ ...)
      (make-worksheet title url (s->n row-count) (s->n col-count))]
     [_ #f])
   (url->xexpr spreadsheet-url))


wasn't so ugly.

I keep thinking the solution is to put a nice macro around scheme/match that
is more xml'ish - but I'll be darned if I can come up with: (a) the macro
and (b) what's xml'ish would actually look like :-).

-Ben

[1] - http://sisc-scheme.org/
[2] - http://siscweb.sourceforge.net
[3] -
http://benjisimon.blogspot.com/2009/04/another-plt-scheme-google-spreadsheets.html
[4] - http://code.ideas2executables.com/scheme-gdata/spreadsheets.ss


-- 
Have an idea for software?  I can make it happen -
http://www.ideas2executables.com
My Blog: http://benjisimon.blogspot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20090413/707cf10b/attachment.html>

Posted on the users mailing list.