vki: xsl <> javascript variablen übergeben

Beitrag lesen

Guten Tag

Ich habe eine XML-Datei mit Polarkoordinaten (Winkel und Distanz). Die Winkel sind in gon angegebenin (Umrechnung in Radian 1 gon = 2 PI rad / 400). Ich möchte aus diesen Angaben x/y-Koordinaten berechnen und später im SVG etwas darstellen.
Das Ganze soll innerhalb eines XSL-Stylesheets geschehen.

XSL kennt ja keine trigonometrische Funktionen, weshalb ich die Umrechnung mit JavaScript machen muss. Wie kann ich jetzt aber aus dem XSL meine Winkel und Distanz-Variable an JavaScript übergeben, und nachher die x/y-Koordinaten wieder zurückgeben?

Ich habe mal eine JavaScript Funktion erstellt, die das gewünschte Resultat liefert. Dann hab ich versucht, die ins XSL einzubauen. Ich habe das mit einem Named Template versucht, um die Variablen als Parameter ins JS zu übergeben. Wie aber bekomme ich die Variablen aus dem JS ins XSL und dann aus dem Berechnungs-Template, sodass ich sie später im SVG verwenden kann?

Angehängt meine JS Funktion und mein Template.

Vielen Dank für eure Hilfe!

<html>
<head>
<script type="text/javascript">
var azi=99;
var dist=11.97;

function JSCalcCoord(azi,dist)
{
var x,y;
var radians;
var cos, sin;

radians = (azi * 400) / (2 * Math.PI);
cos = Math.cos(radians);
sin = Math.sin(radians);

x = dist * cos;
y = dist * sin;

// Neues Objekt
return {x:x,y:y};

}
</script>
</head>

<body>
<script type="text/javascript">

Koord=JSCalcCoord(azi,dist);
document.write('x-Koord: '+Koord.x+' y-Koord: '+Koord.y );

</script>

</body>
</html>

-----------------------------------------------

<xsl:template name="JSCalcCoord">  
	<xsl:param name="azi"/>  
	<xsl:param name="dist"/>  
	<SCRIPT language="JavaScript">  
		var radians =  (<xsl:value-of select="$azi"/> \* 400) / (2 \* Math.PI)";  
		var cos = Math.cos(radians);  
		var sin = Math.sin(radians);  
		var x\_koord = $dist \* $cos  
		var y\_koord = $dist \* $sin  

return {x:x,y:y}; // ???
</SCRIPT>

</xsl:template>