ok. long story, short answer:
it seems that with some libxslt versions the xslt processor leaves the content of a <script/> element unescaped when using the html output method, with others
not … therefore the following is recommended:
<script type="text/javascript">
<xsl:value-of select="/some/node"/>
<xsl:text disable-output-escaping="yes">
// ^ does the trick ...
for (var i = 0; i < 5; i++) {
// ^ works
}
</xsl:text>
</script>