2013-01-15 3 views
0

그것은 자바 스크립트 변수를 사용하여다른 파일의 javascript 변수를 사용하여 xsl 변수를 만드는 방법은 무엇입니까?

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

를 사용하여 XSL 변수를 만들 수 있습니까?

변수 "country"는 xslt에 포함되지 않은 다른 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; 
}); 
}); 
}; 

더 좋은 방법이 있다면 , 회신을 부탁드립니다. 미리 감사드립니다.

+0

그래서 국가를 XSL에 전달 하시겠습니까? 또는 XSL에서 검색 할 수 있습니까? – JLRishe

+0

javascript의 JSON 값을 사용하여 xsl로 전달한 후 xsl로 전달하고 싶습니다. – emochoco

답변

1

값을 XSL로 전달하려는 경우 일반적인 메커니즘은 매개 변수를 사용하는 것입니다.

<xsl:stylesheet ....> 

    ..... 

    <xsl:param name="country" /> 

    ..... 

을 그리고 당신은 값이 "국가"매개 변수를위한 것입니다 것을 나타내는, 외부 코드에서 그 값을 전달할 것이다 : 당신의 XSL의 최상위 레벨에서 매개 변수를 선언합니다.

나는 자바 스크립트에서 XSLT 매개 변수를 사용하여 경험이 없지만,이 튜토리얼은 어떻게 그렇게 할에 대한 정보를 갖고있는 것 같아요 :

잘 모르겠어요하지만 모질라는이 정보를 제공

Passing XSLT parameters with JavaScript

어떻게 크로스 브라우저 호환 방식 중 어느 쪽 것은 다음 XSLT가 JAV 포함하여 HTML 페이지를 생성하는

Using the Mozilla JavaScript interface to XSL

0

클라이언트 측 XSLT를 사용하는 가장 일반적인 방법은 대신. 이 방법을 사용하면 JS가 실행되기 전에 XSLT가 실행을 중지하므로 JS가 XSLT에 영향을 줄 수있는 방법이 없습니다. 물론 프로그래밍 방식으로 XSLT 변환을 실행하여 자바 스크립트 API를 통해 호출 할 수도 있습니다.이 경우 API를 사용하여 매개 변수를 설정하여 정보를 변환에 전달할 수 있습니다.

관련 문제