Выводим javascript в XSLT

Выводим javascript в XSLT

В статистике запросов к этому сайту часто стала встречаться тема типа «вывести js в XSLT». Не знаю, что хотели авторы запроса к Google, но тема на самом деле нетривиальная, так что опишу, как
это делаю я.

Вообще, лучший способ — это выносить весь javascript-код в отдельный файл, но иногда надо вывести код в страницу (как правило, когда требуются какие-то данные от сервера) .

Проблема в том, что libxslt начнет заворачивать все в CDATA и в итоге будет куча ошибок из-за непонимания браузерами такого кода.

Делаю так:

<script type="text/javascript"><xsl:comment>//</xsl:comment>
<xsl:text>
js_var = "</xsl:text><xsl:value-of select="/value"/><xsl:text>";
//</xsl:text></script>

 

Выглядит немного по-шамански, но другого варианта я не нашел. 

Комментарии (6)

mem: 1147 total: 23 module: 13 xsl: 6