Thomas J.S.: Wie kann ich folgenden Link in der tabelle setzen?

Beitrag lesen

Hallo,

Hi, kurz das Grundproblem: Habe eine Liste mit Publikationen als xml. Diese soll nun in einem ersten Schritt alle Publikationen in einer Tabelle veröffentlichen. Dabei werden jedoch nicht alle Elemente aufgeführt (zb die zusammenfassung hier abstract der publikation). In der Tabelle möchte ich nun realisieren, das bei einem mausklick auf den abstract dieser in einer neuen datei (am besten mit einem neuen xsl) angezeigt wird. Also ich klicke abstract bei der entsprechenden Publikation und es erscheint ein neues fentser, nur das hier nicht mehr alle publikationen angegeben sind, sonderen nur noch die ausgewählte und entsprechender elemente. Wie kann ich das realisieren?

Du sagst leider nicht ob du die XML/XSL-Transformation am Server machst oder dem Bowser überlässt.
Da könntest du deine Frage mit der Übergabe eines Paramters lösen, in etwa so wie unten, aber ohne, dass du eine neue XSL-Datei dafür brauchst.

(code ist natürlich zu ergänzen)

Grüße
Thomas

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:param name="wpnumber" />
...
<xsl:template match="/">
 <html>
  <head><title></title></head>
  <body>
   xsl:choose
    <xsl:when test="$wpnumber != ''">
     <xsl:apply-templates select="workingpaper[wp_number = $wpnumber]" />
    </xsl:when>
    xsl:otherwise
     <xsl:apply-templates select="list" />
    </xsl:otherwise>
   </xsl:choose>
  </body>
 </html>
</xsl:template>

<xsl:template match="list">
<table cellpadding="4" cellspacing="4" width="97%" border="0" align="center">
 <xsl:for-each select="workingpaper">
 ...
 <div align="center"><a href="deinxml.xml?wpnumber={wp_number }">Abstract</a></div>
 ...
 </xsl:for-each>
</table>
</xsl:template>

<xsl:template match="workingpaper">
 ...
</xsl:template>