Miamiomc: Wert durch Clicken als Auswahl

Hallo Gemeinde,

folgendes Problem, zumindest für mich:

Ich erstelle per XSL eine Tabelle in der ich die Werte Anzeige (Versionen). Durch anklicken eines Eintrags sollen in einem anderen Fenster die Daten dieser Version dargestellt werden.

Die XSL-Datei für die Auswahltabelle sieht wie folgt aus:

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8"/>
<title>xmlVersion</title>
<style type="text/css"></style>
<link rel="stylesheet" href="css/menue.css" type="text/css"/>
</head>
<body bgcolor="#FFFFFF" marginwidth="4" leftmargin="4" marginheight="0" topmargin="0" vlink="" alink="">
<table cellpadding="0" cellspacing="0" border="0" width="67" id="CTRL1">
<colgroup><col style="WIDTH: 2.38cm"/></colgroup>
 <tbody id="CTRL2">
 <xsl:for-each select="xmlVersion">
  <xsl:value-of select="fx:CacheCurrentNode(.)"/>
  <tr><td>
  <a href="version/prtt_content.htm" target="prtt"> <xsl:value-of select="Version"/></a>
 </td></tr>
 </xsl:for-each>
 </tbody>
 </table>
</body>
</html>

Dabei sollte durch die danach aufgerufenen Dateien nur Daten dargestellt werden, bei denen der Wert Version der entspricht die angeklickt wurde. Der Wert der angeklickt sollte solange beibehalten werden, bis ein neuer Wert durch anklicken vergeben wird.

Die XSL-Datei zur Anzeige der Daten sieht z.B. wie folgt aus:

<table cellpadding="0" cellspacing="0" border="0" width="600">
<tbody id="CTRL2">
<xsl:for-each select="Test">
          <tr><td><xsl:value-of select="Wert1"/></td>
          <td><xsl:value-of select="Wert2"/></td>
   <td><xsl:value-of select="Wert3"/></td>
          </tr>
</xsl:for-each>
</tbody>
</table>

Was habe ich dabei zu beachten? Kann bestimmt nichts "großes" sein. Bin aber bei meiner Suche im Archiv nicht drauf gekommen.

Danke

  1. Hallo,

    Was habe ich dabei zu beachten? Kann bestimmt nichts "großes" sein. Bin aber bei meiner Suche im Archiv nicht drauf gekommen.

    Sorry für's Meckern, aber zuerst solltest du dein XSL und das HTML darin in Ordnung bringen. Diese gemsichte Groß- und Kleinschreibung ist echt schlechter Stil.
    Dann hast du:

    <tbody id="CTRL2">
    <xsl:for-each select="xmlVersion">
      <xsl:value-of select="fx:CacheCurrentNode(.)"/>
      <tr><td>

    Das heisst, du hast in der Ausgabe dann Text zwischen <tbody> und <tr>.
    (Offenbar verwendest du XSLT 2.0)

    folgendes Problem, zumindest für mich:

    Ich erstelle per XSL eine Tabelle in der ich die Werte Anzeige (Versionen). Durch anklicken eines Eintrags sollen in einem anderen Fenster die Daten dieser Version dargestellt werden.

    <a href="version/prtt_content.htm" target="prtt"> <xsl:value-of select="Version"/></a>

    Damit verlinkt du lediglich nur auf die _html_ Seite "version/prtt_content.htm".

    Die XSL-Datei zur Anzeige der Daten sieht z.B. wie folgt aus:

    Wo wird diese XSL-Datei denn aufgerufen?
    Wie machst du die Transformation? Im Browser? Am Server?
    Du gibts so wenig Informationen, dass ich dir hier nicht wirklich helfen kann.

    Grüße
    Thomas

    1. Hallo Thomas,

      Vielen Dank für das Gemeckere. Groß- und Kleinschreibung wurde so generiert (Export MS Access). Gleiches gilt für den Text zwischen <tbody> und <TR>. Die Datei muss ich eh komplett neu schreiben, wenn ich dann weis wie.

      In der prtt_content.htm wird in einem iframe eine HTML-Datei zur XSL-Ausführung aufgerufen. Insgesamt werden 8 verschiedene Anzeigevarianten (HTML/XSL) aufgerufen. Vorher wird in dem Frame eine andere html-Datei(Statisch) angezeigt. In diesem Zusammnenhang möchte ich den Wert/die Variable/den Parameter an die "zweite" XSL übergeben, um damit nur die Daten dieser Version anzuzeigen. In der HTML steht also immer die gleiche XSL die dann aufgrund der Übergabe verschiedene Daten anzeigen soll.

      Die HTML-Datei dazu sende ich dir gerne inkl. VB-Script zu.

      1. Hallo,

        Vielen Dank für das Gemeckere. Groß- und Kleinschreibung wurde so generiert (Export MS Access). Gleiches gilt für den Text zwischen <tbody> und <TR>. Die Datei muss ich eh komplett neu schreiben, wenn ich dann weis wie.

        In der prtt_content.htm wird in einem iframe eine HTML-Datei zur XSL-Ausführung aufgerufen.

        Das genau war meine Frage: "zur XSL-Ausführung", wer führ das aus? Der Server? Der Browser?

        Insgesamt werden 8 verschiedene Anzeigevarianten (HTML/XSL) aufgerufen. Vorher wird in dem Frame eine andere html-Datei(Statisch) angezeigt. In diesem Zusammnenhang möchte ich den Wert/die Variable/den Parameter an die "zweite" XSL übergeben,

        Ja, das war mir klar. Aber wenn du nicht sagt, _was_ die XML-Tranformation ausführt, kann ich dir nichts sagen, oder nur so:
        Wenn die Transformation am Server ausgeführt wird, kannst du den Parameter an das XSLT als URL-Paramter übergeben. Wenn die Transformation im Browser ausgeführt wird, bist du an JavaScript angewiesen.

        Hilft dir nicht wirklich weiter.
        Du bist wohl so sehr in der Sache drinn, dass für dich manche Dinge so selbstverständdlich sind, dass du nicht mal nachdenkst, aber von außen betrachtet, kennt man diese gegebenheit nicht und es gibt einfach zu viele Möglichkeiten um jetzt "rate mal" zu spielen.

        Die HTML-Datei dazu sende ich dir gerne inkl. VB-Script zu.

        Kannst du machen, aber ich werde das erst am abend oder gar erst morgen bekommen/lesen.

        Grüße
        Thomas

        1. Hallo Thomas,

          ich schreib das Ganze mal ins Reine um es Verständlich zu machen. Kann aber etwas dauern.

          Trotzdem schonmal vielen Dank für deine Hinweise.

          Lothar