For our use we're only interested in a very small subset of XHTML. We use a rich text editor to let clients edit the contents of their web sites, and we don't want any tags included that could disrupt the design of the page. So only the most basic markup is allowed.
Should be easy to extend the script to take into account more of the elements specified in the HTML 5 draft, if anybody wants a more permissive purification...
Best of all, we just open-sourced the script.
Grab it from Github: http://github.com/biilmann/javascript-xhtml-purifier
Original anouncement (in Spanish): http://domestika.org/foros/956-kode/hilos/73209-depuracion_d...