rondra: XSL code in Javascript

Beitrag lesen

hi Thomas,

Warum machst du nicht eine eigene XSL-Datei mit eigenen Templates für solche Sachen

hm, das ist eine gute Idee, daran hatte ich noch gar nicht gedacht!
Hier nochmal das Problem:
ich habe einen satz von xsl und eine js datei. in dieser js datei haabe ich alle functionen die die xsl benötigen zusammengefasst.
Mein Problem ist ja , dass ich auch xsl:value-of ausdrücke in diesen functions nutzen muss. beisp einer solchen function in der js:

function deleteConfirm(x)
{
Check = confirm(x);
if(Check == true)
window.location.href = "seite.html?modus=<xsl:value-of select="//dok/@modus"/>;
}

Das Beisp. klappt natürlich nicht , solange sie in der js. datei drinsteht. Vorher -bevor ich aufgeräumt habe- stand diese function IN jeder XSL. So gings damals in der XSL:

<script>
<xsl:text disable-output-escaping="yes">
 function deleteConfirm(x)
  {
  Check = confirm(x);
  if(Check == true)
    window.location.href = "seite.html?modus=</xsl:text>
<xsl:value-of select="//dok/@modus"/><xsl:text disable-output-escaping="yes">;
}
</script>

Aber wie gesagt, ich wollte diese function "zentralisieren" und habe sie in eine js gepackt und nun funzt das natürlich nicht. Wegen dem
<xsl:text disable-output-escaping="yes"> am anfang in der js, da gibts exceptions.

Hatte die Hoffnung dass es vielleihct eine einfache möglichkeit gibt aber Du hast es schon gesagt: ich könnte statt einer js eine weitere XSL anlegen und solche Problem-functionen darin sammeln.

Vielen dank Thomas,
das setzte ich mal um. bin gespannt!

viele grüsse
Rondra

Hallo,

habe ich gemeint, dass ích eine xsl habe, die auf eine .js datei referenziert. Diese js-datei beinhaltet diese function, die aus der xsl heraus aufgerufen wird. es ist natürlich möcglich wie Du schriebst diese function in die xsl reinzuschreiben, aber damit erzeuge ich redundanzen, da ich die function auch in anderen xsls einsetzen muss.

deshalb habe ich die function in einer js datei gekapselt und möchte sie aus verschiedenen xsls heraus aufrufen. Beim aufrufen soll diese function parameter durch xsl-tags erhalten (also <xsl:value-of select="//eins/@ab"/>). Genau an diesem Punkt habe ich das Problem.

Warum machst du nicht eine eigene XSL-Datei mit eigenen Templates für solche Sachen, die kannst du dann per xsl:import in andere XSLs laden und per xs:with-param dann die Templates an entsprechenden Stellen laden und neue Werte einfügen.

Abe so genau verstehe ich das Problem noch immer nicht, bzw. ich kann den Fehler einfach nicht nachvollziehen.

Grüße
Thomas