Andreas Hippauf: XML mit XSLT in Javascript Transformieren

Beitrag lesen

Hallo,

ich habe ne Webseite auf der ich XML Daten durch eine XSLT Transformation ausgeben möchte. Das ganze soll Clientseitig mittels Javascript funktionieren und tut es auch. Ich hab im Script eine Browserweiche für IE und Firefox drin, da die Ansätze ja verschieden sind. Im IE funktioniert bereits alles wie ich es mir vorstelle, nur mit Firefox hab ich noch ein Problem und ich find einfach keinen Hinweis auf die Lösung:

je nach angeklicktem Link parse ich das XSLT mit einem anderen Mode

<xsl:template match="/" mode="RPs" />
<xsl:template match="/" mode="andererMode" />

Parameterübergabe habe ich sowohl im IE als auch Firefox hingekriegt, aber den Mode kann ich für den Firefox nicht setzen, ich finde einfach keine Dokumentation in der das erwähnt wird. Kann der Firefox das noch nicht und ich muss mehrere XSLT-Dateien verwenden oder kann mir jemand bitte bitte den entsprechenden Befehl verraten? Hier mal der Ausschnitt mit der noch fehlenden Lücke im Firefox:

if (browser == "IE")
{
  var processor = cache.createProcessor();
  processor.input = src;

if (mode) { processor.setStartMode (mode);
    }
  if (variablename) { processor.addParameter (variablename, variablecontent); }

processor.transform();
  result = processor.output;
}

// Firefox:
if (browser == "Firefox")
{
  if (mode) {
// wie lautet der Befehl im Firefox???
  }
  if (variablename) {xsltProcessor.setParameter(null, variablename, variablecontent);}

var fragment = xsltProcessor.transformToFragment(xmlDoc, document);
    result = fragment;
}

return (result);

achja, var xsltProcessor = new XSLTProcessor();

also das Laden der XML und XSLT Datein von JS aus ist nicht mehr mein Problem, das hab ich mit Hilfe dieses Forums schon schön lösen können, mir gehts nur um das Definieren des mode-Attributs....

Ich hoffe es gibt da ne Lösung, vielen Dank schonmal im voraus

Nachtrag:

die Frage bleibt, aber mein Problem hat sich erledigt, ich habe das XSLT so umgeschrieben, das es nur noch ein Root-Element ohne mode verwendet, in dem die einzelnen modes mittels xsl:if Blöcken unterschieden werden. Der Mode wird dann anstatt echter mode mittels Param/Variable an den xsltProcessor übergeben....
Nicht schön, aber führt zumindest zum Ziel.

Das Ergebnis kann man auf meiner unten angegeben Url im linken Menue-Bereich bewundern.... Derzeit nur technisch, hübsches CSS-Design steht dann als nächstes auf dem Programm :)

Trotzdem Danke an alle, die sich mit mir den Kopf zerbrochen haben!

Wenn jemand noch ne Lösung für den ersten Ansatz findet, daran bin ich natürlich immer noch interessiert, man ist schließlich nicht immer in der glücklichen Lage Einfluss auf das XSLT nehmen zu können.