Thomas J.S.: XSL erzeugen

Beitrag lesen

Hallo,

danke Thomas! ich habe dein Beispiel ein bisschen überarbeitet und diese verwende ich zur Zeit:
   <a href="index.php?id={substring(text/link, 2)}">
    Link <xsl:value-of select="substring(text/link, 2)" />
   </a>

»

Ich benutze phpxslt und benutze die DomDocument Methode von Php um das Dokument zu parsen. also es wird nicht mehr über IE angezeigt ;-)

OK, also verarbeitest du das XML am Server *.

Habe deine 2 Beispiele gesehen. Es wäre gut, wenn es eine Lösung ohne Java-script gibt,bzw. wie wäre die einfachste und schöne Lösung zu erreichen was ich will?
Du hast schon richtig gedacht. Ein guter Weg wäre ja die id nr als Parameter die URL zu übergeben.

Dann mache es doch so ;-)
* --> weil du das XML am Server verarbeitest, kannst du auf das JS verzeichten und mit URL-Parameter arbeiten. Hier nur skizziert:
-----------------------------------
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="id" />
 <xsl:template match="/">
  <html>
  <head>
   <title>Untitled</title>
  </head>
  <body>
   xsl:choose
    <xsl:when test="$id = ''">
     <xsl:apply-templates select="pages/page[@id = '1'] />
    </xsl:when>
    xsl:otherwise
     <xsl:apply-templates select="pages/page[@id = $id] />
    </xsl:otherwise>
   </xsl:choose>

</body>
  </html>
 </xsl:template>

<xsl:template match="page">
  <!-- was halt für page gewünscht ist -->
 </xsl:template>
</xsl:stylesheet>
-----------------------------------

Du muss nur noch dafür sorgen, dass dein index.php das Paramter an das XSL übergibt, den Rest erledigt das XSL. D.h. es wird immer nur die "Seite" dargestellt, welche man aufgerufen hat. Es sind zwar keine einzelne HTML-Seiten (nicht im den Sinne, dass die HTML-Seiten auf dem Server liegen würden - wobei du natürlich das Ergebnis der Transformation am Server cachen könntest), aber es sieht so aus.

Ob du jetzt die Links auf die "andere Seiten" so generierst, wie ich es vorschlug https://forum.selfhtml.org/?t=127564&m=824101 oder eben  anderes, hängt nur davon ab wie du das XML gestaltest.

Grüße
Thomas