# Script in XSLT einbinden



## RicoTT (12. Jan 2016)

Hallo zusammen,

ich möchte gerne in eine XML-Transformation eine Benutzerabfrage
einbauen. Es soll also während der Ausführung der Transformation 
ein Fenster geöffnet werden, in das der Nutzer Daten einträgt, welche
dann in die transformierte XML eingetragen werden.

Nach einiger Recherche glaube ich das Einfachste wäre folgendermaßen 
ein Javascript in die xslt einubauen:

```
<xsl:stylesheet ...>
<xsl:template match="/">
<script language="Javascript">
     <![CDATA[
    function test() {
          window.prompt="Ich bin ein Fenster";
    }
]]></script>

<xsl:for-each select="main_news/news/title">
    <a href="Javascript:myAlert()">
    <li/><xsl:value-of select="./@headline"/></a>
        </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
```

Hat denn jemand schonmal etwas Ähnliches versucht?


----------



## kneitzel (12. Jan 2016)

Also sowas habe ich noch nicht gemacht und ich muss gestehen, dass ich im Augenblick extrem skeptisch bin.

Also Scripte ausführen soll wohl gehen - da gäbe es z.B. http://www.ibm.com/developerworks/library/x-tipxsltjs/index.html

Aber einfach so ein Script-Tag dürfte nichts bringen. Das wäre dann eher, wenn Du aus einem XML ein HTML Dokument erstellst und der Browser dann das Script ausführt...

Wie transformierst du denn das xslt? Die meisten XML Komponenten lassen Erweiterungen zu. Wir haben dies z.B. in .Net in der Vergangenheit gemacht, da Microsoft kein xslt2 unterstützt und auch in Zukunft dies nicht plant aber wir weitere Funktionen brauchten (wie z.B. die Verarbeitung regulärer Ausdrücke) und wir haben dann einiges aus xslt2 nachgebaut.

Wenn lediglich ein Wert manuell eingegeben werden soll, dann würde ich da erst ein Dummy eintragen ("a.la. ###MyValue") und das dann per regulärer Expression austauschen oder so. Aber das hängt auch einfach von den Anforderungen ab. Was genau versuchst Du derzeit?

Konrad


----------



## RicoTT (12. Jan 2016)

Im Grunde geht es darum Daten aus einer Nutzerabfrage 
in eine XML einzutragen.
Da ich sowieso dabei bin die XML zu transformieren,
dachte ich man könnte das direkt verbinden.

Das Ganze muss allerdings nicht so gemacht werden.
Hast du vll noch einen einfacheren Weg, Daten über
eine Abfrage in die XML zu bekommen?


----------

