Hi Racket Users, I'm using se-path*/list to extract values from an XML collection but I found a strange behaviour when the extracted values contain entities.
For example, given the following XML: <bands> <name>Derek & the Dominos</name> <name>Nick Cave & the Bad Seeds</name> </bands> when I extract a list of band names with (se-path*/list '(name) xe) I'd expect this result: '("Derek & the Dominos" "Nick Cave & the Bad Seeds") but what I actually receive is: '("Derek " "&" " the Dominos" "Nick Cave " "&" " the Bad Seeds") Is this the intended behaviour? How can I overcome this and make se-path*/list return one string for tag? Here's my test code, I'm running Racket v5.3.6 on Linux x86_64 and maybe I'm doing overlooking something because I'm new to Racket. Thank you in advance! Best regards, Giacomo #lang racket (require xml xml/path) (define xe (string->xexpr "<bands><name>Derek & the Dominos</name><name>Nick Cave & the Bad Seeds</name></bands>")) (module+ test (require rackunit) ;; what I get (check-equal? (se-path*/list '(name) xe) '("Derek " "&" " the Dominos" "Nick Cave " "&" " the Bad Seeds")) ;; what I'd expect (check-equal? (se-path*/list '(name) xe) '("Derek & the Dominos" "Nick Cave & the Bad Seeds")))
____________________ Racket Users list: http://lists.racket-lang.org/users