Если предполагается, что HTML, создаваемый вашим XSLT, содержит элемент HTML script
, то вы буквально вставляете его так же, как вы использовали элемент head
или title
. В XSLT, XSLT равен XML, вам необходимо убедиться, что ваш встроенный код Javascript не нарушает правила XML, как вы это делали с разделом CDATA, но элемент script
будет простым * Элемент 1005 *, а не элемент msxsl:script
.
Кроме этого и с использованием xsl:output method="html"
, в этом нет ничего особенного.
Сомнительно, какой ваш конкретный код в head
раздел, использующий var coll = document.getElementsByClassName("collapsible");
и пытающийся обработать эту коллекцию, должен быть достигнут до того, как будут проанализированы какие-либо элементы, но это скорее вопрос правильного использования Javascript и, возможно, обработчика событий или вызова функции вместо встроенного кода.
В зависимости от того, где выполняется ваш XSLT (клиент или сервер), все взаимодействие XSLT и Javascript может быть хрупким, добавление сценария динамически, даже без XSLT, может быть сложной кросс-браузерной задачей.