Mi pare ci sia un po' di confusione.

Il pezzo di cui sopra, in XHTML va scritto cosi`:

<script type="text/javascript">
//<![CDATA[
var imm = document.getElementById('ID_IMMAGINE');
if(imm.width > 150) imm.width = 150;
//]]>
</script>

Non so se in XML sia la stessa cosa, ma immagino che dentro CDATA non venga fatto il parsing XML, per cui non viene individuato che si tratta di uno script.

Il simbolo > e` la chiusura di un tag. Non puoi usarlo fuori da un CDATA come simbolo di maggiore.

Ma perche` non usi gli script esterni come consigliato?