I\'m working on an old site that uses java and xsl. How can I inculde a script file in an xsl file? Top of the file:
<script type="text/javascript" src="/Scripts/script.js">
<xsl:comment>script</xsl:comment>
</script>
There seems to be a solution here:
http://www.webdeveloper.com/forum/archive/index.php/t-20815.html
Put javascript code between <xsl:text>
tag something like below
<script type="text/javascript">
<xsl:text>
javascript here
</xsl:text>
</script>
The solution that works for:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding='utf-8' />
<xsl:output method="xml" omit-xml-declaration="yes" standalone="no" indent="yes" media-type="text/xhtml" />
is:
<script type="text/javascript">
<xsl:text disable-output-escaping="yes">
<![CDATA[
/* Your Javascript code comes here */
]]>
</xsl:text>
<xsl:comment>_</xsl:comment>
</script>
Oh, I do like this:
... ...
</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>
you must insert the script tag within a template block or it will break...
ie
<xsl:template match="/">
<script src="/fs/scripts/shipment/shipment.js"></script>
</xsl:template>
Take a look at my answer to XSLT wont allow me to use self-closing img and br tags
Self closing script tags (<script src="code.js"/
>) can cause the JavaScript files not to load, so inside of your XSLT, you may need to have some text inside the script tag to keep it from self closing and get it to work.
<script src="code.js>//</script>