关注David Carlisle blogspot exslt node-set function我将以下内容添加到我的样式表中:
...xmlns:msxsl="urn:schemas-microsoft-com:xslt"...
<msxsl:script language="jscript" implements-prefix="exslt">
this['node-set'] = function (x) {
return x;
}
</msxsl:script>
如果我理解正确,这种在javascript中定义函数的方法(使用this
)是必要的,因为函数名称中有破折号;将其定义为function node-set(){...}
将无效,this['z']
相当于this.z
问题是这个脚本被XML Spy中的脚本验证器拒绝。
脚本编译错误(相对于脚本开始):
第1行,角色 3:语法错误
第1行,第31个字符:预期标识符“ this ['node-set'] = function(x){return x; }“
当我定义function nodeset(){...}
时完全没问题,但不知何故它不允许我使用构造this['...']
,甚至不使用this['nodeset']
,其中使用没有破折号的函数名。
任何人都知道我该怎么办?大卫,也许? : - )
答案 0 :(得分:0)
我在Altova支持台检查过这个问题,询问使用&#34;这个&#34;时的错误,他们回答如下:
The code in question is non-standard for XSLT 1.0, using MSXML-only features.
不是一个明确的答案,但我推断这意味着XML Spy的javascript版本不支持&#34;这个&#34;。
因此,我将在需要它的地方包含代码,只需在浏览器列表中打开XML +引用的样式表来检查代码,而不必担心XML Spy在xslt编辑或保存期间提到的javascript错误。