Hallo,
Kann vielleicht noch jemand das mit dem DOM erklären?
Schau Dir mein Beispiel mit dem Datum an. In der XSL-Datei gibt es eine leere xsl:variable. Diese wird vor dem Prozessieren mit einem Wert belegt.
Im XSL-Dokument auf Root-Level (noch vor dem ersten xsl:template) definieren:
<xsl:variable name="varname">...</xsl:variable>
Ein HTML-Dokument mit JavaScript-Block erstellen:
xmlfile="test.xml";
xslfile="test.xsl";
// XML laden
xmlinput=new ActiveXObject("MSXML2.DOMDocument");
xmlinput.async=false;
xmlinput.load(xmlfile);
// XSL laden
xslinput=new ActiveXObject("MSXML2.DOMDocument");
xslinput.async=false;
xslinput.load(xslfile);
// xsl:variable-Definitionen
obj=xslinput.documentElement.getElementsByTagName("xsl:variable");
obj[0].firstChild.nodeValue=xmlfile;
// generierten HTML-Code ausgeben
htmloutput=xmlinput.transformNode(xslinput.documentElement);
// htmloutput geeignet ausgeben
xmlinput bzw. xslinput beinhalten die DOM-Trees der beiden Dokumente. Vor der Verarbeitung wird im XSL-Tree der Wert der ersten xsl:variable im Dokument verändert (hier auf den Wert xmlfile, also den aktuellen XML-Dateinamen gesetzt).
MfG, Thomas