Как включить тег script в файл xsl?

Я работаю на старом сайте, который использует java и xsl. Как я могу внедрить файл script в файл xsl? Верх файла:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="shipmentPackageInfo.xsl"/>

<script src="/fs/scripts/shipment/shipment.js"></script>

разбивает приложение

- ОБНОВЛЕНИЕ -

Существует еще один файл с именем pageHeader.xsl, в котором есть все теги script внутри

<xsl:output method="html"/>
  <xsl:template match="PageHeaderData">

Ответ 2

Взгляните на мой ответ на XSLT не позволит мне использовать самозакрывающиеся теги img и br

Self-закрытие script тегов (<script src="code.js"/ > ) может привести к тому, что файлы JavaScript не загружаются, поэтому внутри вашего XSLT может потребоваться некоторый текст внутри тега script, чтобы он не закрывался сам и заставить его работать.

<script src="code.js>//</script>

Ответ 3

О, мне это нравится:

... ...
        </body>
<script language="javascript"><![CDATA[
var a_patch = function(){
    var links = document.getElementsByTagName("a");
    for (var i=0; i<links.length; i++){
        var link = links[i];
        var text = link.innerHTML;
        ... ...
    }
};
a_patch();
]]></script>
</html>

Ответ 4

вы должны вставить тэг script в блок шаблона или он сломается...

т

<xsl:template match="/">
    <script src="/fs/scripts/shipment/shipment.js"></script>
</xsl:template>

Ответ 5

EDITED

Вот решение, которое работает

Предполагая, что это ваш xsl, и вы включаете xsl, как вы упомянули. В этом случае я назвал его include.xsl. Я просто вызываю шаблон, называемый заголовками, который выдает ссылку на javascript.

Основной файл XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 version="1.0">
    <xsl:include href="include.xsl"/>

    <xsl:template match="/">
        <xsl:call-template name="headers"/>
        <bar>
           <xsl:value-of select="root"/>
        </bar>
    </xsl:template>
</xsl:stylesheet>

include.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
   <xsl:template name="headers">
        <script src="/fs/scripts/shipment/shipment.js"></script>
   </xsl:template>
</xsl:stylesheet>

Вывод:

<?xml version="1.0" encoding="utf-8"?>
<script src="/fs/scripts/shipment/shipment.js"/>
<bar>foo</bar>

Ответ 6

 <script type="text/javascript" src="/Scripts/script.js">
     <xsl:comment>script</xsl:comment>
 </script>