Oleg Paraschenko has introduced XSieve, an XML transformation language that combines XSLT and Scheme. Be warned, though — in his announcement on the xml-dev mailing list he writes:
Everyone isn’t the audience of XSieve. To use XSLT, one should be very skilled. To use Scheme, one should be very skilled. Therefore, to use XSieve, one should be very very skilled.