Попробуйте обернуть свой javascript в <xsl:text>
- элемент вместо раздела CDATA. Это, по крайней мере, сохранит ваши разрывы строк, которые вы сделали внутри. Я не уверен, заботятся ли сотрудники CDATA о переносе строк.
<script type="text/javascript"><xsl:text>
// ©2011
function function(){
// do stuff...
}
</xsl:text></script>
Вы также должны попытаться использовать method=html
вместо xml, поскольку вы генерируете html-контент.
Кроме того: я думаю, что отступ = да относится только к отступу XML-элементов. Я не думаю, что этот механизм заботится о разделах «Текст» или «CDATA», поэтому вам придется самостоятельно переносить строки (как вы уже делали это в своем javascript).