dey: Unterschiedliche XSL, Auswahl abhängig von URL parameter

Hallo,

ich habe jetzt einige Quellen durch, Google und Archiv.
Daraus geht hervor, dass ich den Parameter der URL in xsl:param übernehmen kann:
http://forum.de.selfhtml.org/archiv/2004/8/t88558/#m527938
http://www.drweb.de/xml/xml_workshop5.shtml
Nirgendwo steht allerdings explizit wie

  • der URL parameter und
  • das dazugehörige xsl:param auszusehen hat
    so dass ich den Parameter der URL im XSL weiterverarbeiten kann.

Kann das mal einer mit einem Beispiel darstellen?

bydey

--
-- noch immer ein erfolgloser <DIV> Jünger --
  1. Hallo dey,

    Parameterübergabe per URL hab ich auch noch nicht gesehen.
    Hätt aber nen Vorschlag, wenn Du Dich auf den M$-Parser beschränkst:
    Man muss nen sog. XSLT-Prozessor erstellen und an diesen die Parameter übergeben

    var xslt = new ActiveXObject("Msxml2.XSLTemplate");
    var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
    var xslProc;
    xslDoc.async = false;
    xslDoc.resolveExternals = false;
    xslDoc.load('deinxsl.xsl');

    xslt.stylesheet = xslDoc;

    xslProc = xslt.createProcessor();
    xslProc.input = oXML;
    xslProc.addParameter("Parameter1", "blabla");
    xslProc.addParameter("Parameter2", "nochmehrblabla");
    xslProc.transform();
    document.getElementById("irgendeindivoderso").innerHTML= xslProc.output;

    Im XSL:

    <xsl:param name="Parameter1"/>
    <xsl:param name="Parameter2"/>

    Die Parameter sind dann benutzbar wie eine Variable.

    Gruß

    Oll Lee

    1. Hallo Oll Lee,

      Hallo dey,

      Parameterübergabe per URL hab ich auch noch nicht gesehen.
      Hätt aber nen Vorschlag, wenn Du Dich auf den M$-Parser beschränkst:
      Man muss nen sog. XSLT-Prozessor erstellen und an diesen die Parameter übergeben

      var xslt = new ActiveXObject("Msxml2.XSLTemplate");
      var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
      var xslProc;
      xslDoc.async = false;
      xslDoc.resolveExternals = false;
      xslDoc.load('deinxsl.xsl');

      xslt.stylesheet = xslDoc;

      xslProc = xslt.createProcessor();
      xslProc.input = oXML;
      xslProc.addParameter("Parameter1", "blabla");
      xslProc.addParameter("Parameter2", "nochmehrblabla");
      xslProc.transform();
      document.getElementById("irgendeindivoderso").innerHTML= xslProc.output;

      Im XSL:

      <xsl:param name="Parameter1"/>
      <xsl:param name="Parameter2"/>

      Die Parameter sind dann benutzbar wie eine Variable.

      Die Lösung kannte ich schon, aber die Einschränkung ist nicht akzeptabel. Dennoch danke.

      bydey

      --
      -- noch immer ein erfolgloser <DIV> Jünger --
  2. Hallo,

    ich habe jetzt einige Quellen durch, Google und Archiv.
    Daraus geht hervor, dass ich den Parameter der URL in xsl:param übernehmen kann:
    http://forum.de.selfhtml.org/archiv/2004/8/t88558/#m527938

    Daraus geht wenig hervor.

    http://www.drweb.de/xml/xml_workshop5.shtml

    Und daraus noch weniger.

    Nirgendwo steht allerdings explizit wie

    • der URL parameter und
    • das dazugehörige xsl:param auszusehen hat
      so dass ich den Parameter der URL im XSL weiterverarbeiten kann.

    Kann das mal einer mit einem Beispiel darstellen?

    Ja, wenn du nach meinem Namen und xsl und javascirpt und variable im Archiv (2005-2003 richen)sucht, findest du die kompletten Beispiele die ich schon gepostet habe.

    Grüße
    Thomas