(define (namespaced-tag? tag) (let ((name (symbol->string tag))) (substring-index ":" name))) (define (strip-namespace tag) (let ((name (symbol->string tag))) (string->symbol (last (string-split name ":"))))) (define (strip-namespaces xml) (pre-post-order* xml `((*text* . ,(lambda (_ str) str)) (*default* . ,(lambda (tag elements) (if (namespaced-tag? tag) (cons (strip-namespace tag) elements) (cons tag elements)))))))