Incluir JavaScript en línea con corchetes rizados {} en XSL

Estoy intentando transformar XML a HTML a través de un archivo XSL. Desafortunadamente, no me permite usar corchetes rizados de JavaScript {}. El siguiente es un ejemplo trivial, pero mi código real es mucho más grande.

<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    <xsl:output media-type="text/html; charset=UTF-8" encoding="UTF-8"/>
    <xsl:template match='/'>
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <title> Page Title</title>
            </head>
            <body onload="javascript: if(confirm('Are you sure?')) { return true;} else { return false;}">
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

Visual Studio me da el siguiente error:

Expected token '}', found 'true'.  ...firm('Are you sure?')) { return  -->true<-- ;} else { return false;}  

¿Hay alguna manera de incluir JavaScript en línea en XSL? Sé que puedes usar<![CDATA[ ]]> para escapar de los bloques de Javascript. Pero, ¿cómo puedo escapar de JavaScript en línea? Mi código real es demasiado grande para volver a escribir todo el JavaScript en línea como bloques de secuencia de comandos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta