David Carlisle blogspot exslt node-set function Nach mir die unten an mein Sheet hinzugefügt:Xslt javascript: Fehler beim Versuch Funktion mit einem Strich mit Namen zu definieren
...xmlns:msxsl="urn:schemas-microsoft-com:xslt"...
<msxsl:script language="jscript" implements-prefix="exslt">
this['node-set'] = function (x) {
return x;
}
</msxsl:script>
Wenn ich richtig verstehe, auf diese Weise eine Funktion in Javascript definieren (mit this
) ist notwendig wegen des Bindestrichs im Funktionsnamen; Definieren Sie es als function node-set(){...}
wird nicht funktionieren und this['z']
entspricht this.z
.
Das Problem ist, dass dieses Skript vom Skript-Validator in XML Spy abgelehnt wird.
Script Compiler-Fehler (n) (relativ zum Skript beginnen):
Linie 1, Zeichen 3: Syntaxfehler
Linie 1, Zeichen 31: Erwartete Kennung " dieser [ 'Knoten -Set '] = function (x) {return x;} "
kein Problem, wenn ich function nodeset(){...}
definieren, aber irgendwie ist es mir nicht erlauben, um das Konstrukt zu verwenden this['...']
, nicht einmal this['nodeset']
wo ein Funktionsname ohne Bindestriche verwendet wird.
Wer weiß, was ich tun soll? David, vielleicht?
:-)
Versuchen Sie, den Abstand zwischen '' function'' und '' (x) '' zu löschen, so dass es nur '' function (x) '' liest. Der '' Expected identifier'' lässt mich denken, dass der Parser eine Form von '' function funcName (x) '' 'oder' 'function (x)' 'erwartet - also Leerzeichen, die signifikant sind. –
kein Glück - selbe Fehler :-(Ich habe auch versucht, die Leerzeichen um die '=' zu entfernen, nur für den Fall. – Maestro13
Nun, Javascript erlaubt named Funktionen zugewiesen werden Variablen. Was ist mit '' this ['Knoten-Set'] ?. = function nodeset (x) { '' –