0

David Carlisle blogspot exslt node-set関数に続いて、以下をスタイルシートに追加しました。

...xmlns:msxsl="urn:schemas-microsoft-com:xslt"...

<msxsl:script language="jscript" implements-prefix="exslt">
    this['node-set'] = function (x) {
        return x;
    }
</msxsl:script>

私が正しく理解していればthis、関数名にダッシュがあるため、(を使用して)javascriptで関数を定義するこの方法が必要です。として定義すると機能function node-set(){...}せず、this['z']と同等this.zです。
問題は、このスクリプトがXMLSpyのscript-validatorによって拒否されることです。

スクリプトコンパイルエラー(スクリプトの開始と比較して):

1行目、文字3:構文エラー

1行目、文字31:予期される識別子 "this ['node-set'] = function(x){return x;}"

定義するときはまったく問題ありませんが、ダッシュのない関数名が使用されている場合 でもfunction nodeset(){...}、どういうわけか構文を使用できません。this['...']this['nodeset']

誰かが私がこれについて何をすべきか知っていますか?デビッド、多分?:-)

4

1 に答える 1

0

これを Altova サポート デスクに確認し、"this" を使用する際のエラーについて尋ねたところ、次のような回答がありました。

The code in question is non-standard for XSLT 1.0, using MSXML-only features.

明確な答えではありませんが、これは XML Spy の JavaScript バージョンが「これ」をサポートしていないことを意味していると推測します。
したがって、必要な場所にコードを含め、ブラウザーのリストで XML + 参照されたスタイルシートを開いてコードを確認します。xslt の編集または保存中に XML Spy が言及する JavaScript エラーを気にする必要はありません。

于 2012-03-27T08:25:14.730 に答える