En muchas ocasiones he escrito código Javascript en una web de XHTML y al intentar validar unas veces funcionaba y otras no. Probando un poco más me di cuenta que cuando escribía código Javascript con ampersans (&) y signos de menor o mayor (< >) el código no validaba. Es cuando caigo en la solución, si XHTML no deja de ser un XML, probemos a poner un CDATA.
<script>
//<![CDATA[
alert('hola xhtml mundo');
//]]>
</script>
Con esto ya podemos escribir código Javascript embebido sin que por ello no nos valide nuestra web.