XSL Variablen übergabe
Christian
- xsl
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
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.
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
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?
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.
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
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 mussVerarbeitest du dein XML Serverseitig oder überläßt du die XML-XSL-Transformation dem Brwoser?
Die Transformation geschieht Client Seitig
- 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
- 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
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