use-modules : sxml simple use-modules : ice-9 match ; define a template define template quote html head : title "test" body h1 "test" message "the header" p "it " : em "works!" br " it actually works!" ; transform it define template2 let loop : l template match l : 'message a ... ` p : @ : style "margin-left: 2em" strong ,(map loop a) : a ... map loop a a . a ; write xml to the output port sxml->xml template2 newline