0

を使用してxsl変数を作成することは可能ですか?

<xsl:variable name="x"><xsl:value-of select="country" /></xsl:variable>

JavaScript変数を使用していますか?

変数「国」は、xslt 内に埋め込まれていない別の JavaScript ファイルで作成されます。ajaxを使用してユーザーの所在地の国を取得しようとしています。

--------------Javascriptファイル--------------

$(document).ready(function()
{
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {       

    $.getJSON('http://ws.geonames.org/countryCode', {
    lat: position.coords.latitude,
    lng: position.coords.longitude,
    type: 'JSON'
    }, function(result) {
    country = result.countryCode;
});  
});
};

もっと良い方法があれば、返信してください。前もって感謝します。

4

2 に答える 2

1

値を XSL に渡す場合、一般的なメカニズムはパラメーターを使用することです。XSL の最上位で、次のパラメーターを宣言します。

<xsl:stylesheet ....>

  .....

  <xsl:param name="country" />

  .....

次に、外部コードからその値を渡し、その値が「country」パラメーター用であることを示します。

JavaScript で XSLT パラメーターを使用した経験はありませんが、このチュートリアルにはその方法に関する情報があるようです。

JavaScript で XSLT パラメーターを渡す

Mozilla もこの情報を提供していますが、どちらのアプローチもクロスブラウザーにどの程度準拠しているかはわかりません。

XSL への Mozilla JavaScript インターフェースの使用

于 2013-01-15T15:16:33.563 に答える
0

クライアント側 XSLT を使用する最も一般的な方法は、XSLT が Javascript を含む HTML ページを生成することです。このアプローチでは、JS が実行を開始する前に XSLT の実行が停止するため、JS が XSLT に影響を与えることはありません。もちろん、XSLT 変換をプログラムで実行し、Javascript API を介して呼び出すこともできます。その場合、その API を使用してパラメーターを設定することにより、変換に情報を渡すことができます。

于 2013-01-15T17:12:03.343 に答える