Following David Carlisle blogspot exslt node-set function I added the below to my stylesheet:
...xmlns:msxsl="urn:schemas-microsoft-com:xslt"...
<msxsl:script language="jscript" implements-prefix="exslt">
this['node-set'] = function (x) {
return x;
}
</msxsl:script>
If I understand correctly, this way of defining a function in javascript (using this) is necessary because of the dash in the function name; defining it as function node-set(){...} will not work and this['z'] is equivalent to this.z.
The problem is that this script is rejected by the script-validator in XML Spy.
Script Compile Error(s) (relative to script begin):
Line 1, Character
3: Syntax errorLine 1, Character 31: Expected identifier ”
this[‘node-set’] = function (x) { return x; } “
No problem at all when I define function nodeset(){...} but somehow it does not allow me to use the construct this['...'], not even this['nodeset'] where a function name without dashes is used.
Anyone know what I should do about this? David, perhaps? 🙂
I checked this with Altova support desk, asking about the error when using “this”, and they replied as follows:
The code in question is non-standard for XSLT 1.0, using MSXML-only features.Not a clear answer, but I deduce that this implies that XML Spy’s javascript version does not support “this”.
I will thus include the code where I need it and just check the code by opening the XML + referred stylesheet in a list of browsers, not bothering about the javascript error that XML Spy mentions during xslt edit or save.