Christian: XSL Variablen übergabe

Ja ich weiss das das hier bestimt schon tausendmal erklärt wurde
doch das was ich gefunden habe hat mich leider noch
nicht wirklich weitergebracht :/

Ich kanns auch recht schwer erklären aber ich versuch es mal:

Also ich habe meine User Tabelle

http://phaenom/xcars/user/user.html

diese wird aus

http://phaenom/xcars/xml/user.xml

und einem xsl generiert diese Tabelle wird in ein DIV geladen

XSL:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <table border="1">
   <tr align="center">
    <td>Nickname</td>
    <td>Details</td>
   </tr>

<xsl:for-each select="root">
    xsl:apply-templates
     <xsl:sort select="Nickname" order="ascending"/>
    </xsl:apply-templates>
   </xsl:for-each>
  </table>
 </xsl:template>

<xsl:template match="User">
  <tr>
   <td>
    <xsl:value-of select="Nickname"/>
   </td>
   <td>
    <a>
     <xsl:attribute name="href">UserDetail.html?UserID=<xsl:value-of select="UserID"/>
     </xsl:attribute>
     Details
    </a>
   </td>
  </tr>
 </xsl:template>
</xsl:stylesheet>

nun soll auf der folge seite die Informationen zum
einzelnen User angezeigt werden

http://phaenom/xcars/user/UserDetail.html

diese seite hat wieder ein div in die die Tabelle geladen werden soll

Daten sind wieder in der User.xml

doch das XSL soll dynamisch sein
jetziges XSL :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:variable name="myID">1</xsl:variable>

<xsl:template match="/">

<table border="1">
   <tr align="center">
    <td>Nickname</td>
    <td>ID</td>
   </tr>
   <xsl:for-each select="root/User[UserID=$myID]">
    <tr>
     <td>
      <xsl:value-of select="Nickname"/>
     </td>
     <td>
      <xsl:value-of select="$myID"/>
     </td>
    </tr>
   </xsl:for-each>
  </table>
 </xsl:template>
</xsl:stylesheet>

Mein problem ist jetzt das die variable $myUserID
dynamisch sein muss und aus der vorhergehenden Seite stammen muss

leider bekomm ich es nicht hin
vieleicht kann mir jemand helfen

oder ein weg nenen der funktioniert

mfg Christian

danke schonmal im vorraus

  1. Ja ich weiss das das hier bestimt schon tausendmal erklärt wurde
    doch das was ich gefunden habe hat mich leider noch
    nicht wirklich weitergebracht :/

    Deine Frage kann man nicht beantworten. Sowas ist nicht vorgesehen und wenn es geht hängt das von proprietären Features ab über die man nichts sagen kann weil du die relevante Software nicht nennst.

    1. Ja ich weiss das das hier bestimt schon tausendmal erklärt wurde
      doch das was ich gefunden habe hat mich leider noch
      nicht wirklich weitergebracht :/

      Deine Frage kann man nicht beantworten. Sowas ist nicht vorgesehen und wenn es geht hängt das von proprietären Features ab über die man nichts sagen kann weil du die relevante Software nicht nennst.

      ähm Software ? naja ich habe ein iis und mein ie6

      es soll auch auf dem ie6 laufen

      und wie sowas geht nicht ist nicht vorgesehen das ja herbe
      das heist es gibt keine möglichkeit ein usertabelle zu haben
      und on click userdetails zu bekommen es muss doch möglich sein

      -= Hardcore =- jetzt steh ich aber aufm Schlauch muss ich jetzt
      für jede Detail Seite eine eigene XSL Datei erstellen
      fehlt nur noch das ich den Code in Stein hämmern muss :]

      lol mal Scherz bei Seite es muss doch eine möglichkeit geben

  2. Hallo,

    Ja ich weiss das das hier bestimt schon tausendmal erklärt wurde
    doch das was ich gefunden habe hat mich leider noch
    nicht wirklich weitergebracht :/

    Es wurde nur 89 mal erklärt.

    »»http://phaenom/xcars/user/UserDetail.html

    Die Seite gibt es nicht.

    http://phaenom/xcars/xml/user.xml

    Die Seite gibt es auch nicht.

    Mein problem ist jetzt das die variable $myUserID
    dynamisch sein muss und aus der vorhergehenden Seite stammen muss

    Verarbeitest du dein XML Serverseitig oder überläßt du die XML-XSL-Transformation dem Brwoser?

    1. ja: du kannst nur versuchen etwas zu scripten. Thomas Meinike hat dazu schon mehr als einmal sein Beispiel im Archiv erklärt und verlink: fuktioniert nur mit dem IE.

    2. nein: dann kannst du versuchen deine Variable als URL-Paramter zu übergeben:
      Aber: <xsl:attribute name="href">UserDetail.html?UserID=<xsl:value-of select="UserID"/>
      Was soll das denn werden? Warum die HTML-Datei? Was steht in dieser Datei dass du dort deine Variable abfragen willst?

    Es wäre außerdem günstiger wenn du hier xsl:param verwenden würdest, du kannst in XSL keine globale Variablen ändern.

    Also im zweiten XSL datei:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:param name="UserID" />

    Bitte beachte, dass du als URL-Parameter "UserID" definiert hat, dann muss du auch diese als Paramter verwenden und nicht "myID" !!

    Grüße
    Thomas

    1. Hallo,

      Ja ich weiss das das hier bestimt schon tausendmal erklärt wurde
      doch das was ich gefunden habe hat mich leider noch
      nicht wirklich weitergebracht :/

      Es wurde nur 89 mal erklärt.

      »»http://phaenom/xcars/user/UserDetail.html

      Die Seite gibt es nicht.

      http://phaenom/xcars/xml/user.xml

      Die Seite gibt es auch nicht.

      OK Sorry Seiten falsch verlinkt statt phaenom isses www.x-cars.de

      Mein problem ist jetzt das die variable $myUserID
      dynamisch sein muss und aus der vorhergehenden Seite stammen muss

      Verarbeitest du dein XML Serverseitig oder überläßt du die XML-XSL-Transformation dem Brwoser?

      Die Transformation geschieht Client Seitig

      1. ja: du kannst nur versuchen etwas zu scripten. Thomas Meinike hat dazu schon mehr als einmal sein Beispiel im Archiv erklärt und verlink: fuktioniert nur mit dem IE.

      aha hmm naja dann werd ich mich morgen mal wieder auf die Suche machen (suche schon seit 2 Tagen)

      soll nur auf dem IE6+ laufen

      1. nein: dann kannst du versuchen deine Variable als URL-Paramter zu übergeben:
        Aber: <xsl:attribute name="href">UserDetail.html?UserID=<xsl:value-of select="UserID"/>
        Was soll das denn werden? Warum die HTML-Datei? Was steht in dieser Datei dass du dort deine Variable abfragen willst?

      Steht halt noch drin war der erste versuch über den Query String
      mit nem Javascript und xsl:eval an die Variable zu kommen

      Es wäre außerdem günstiger wenn du hier xsl:param verwenden würdest, du kannst in XSL keine globale Variablen ändern.

      Also im zweiten XSL datei:
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
       <xsl:param name="UserID" />

      Bitte beachte, dass du als URL-Parameter "UserID" definiert hat, dann muss du auch diese als Paramter verwenden und nicht "myID" !!

      Grüße
      Thomas

      Ohman ich raffs einfach noch nicht ich glaub ich bin zusehr ASP
      geschädigt :] und blick es einfach noch net naja
      alles fällt gleich schnell nur der Groschen nicht ;]

      mfg Christian

      1. Hallo,

        aha hmm naja dann werd ich mich morgen mal wieder auf die Suche machen (suche schon seit 2 Tagen)

        also: du suchst nach xsl, variable, javascript und mit meinem tip nach "meinike"
        http://selfsuche.teamone.de/cgi-bin/hack.cgi?suchausdruck=meinike+xsl+javascript+variable&lang=on&feld=alle&index_5=on&hits=alle

        war doch nicht so schlimm, oder? ;-)

        Grüße
        Thomas