Hi Thomas!
Wir kommen schon näher. ;-) Danke nochmal für deine Mühe.
So sieht meine XML Datei zur Zeit aus:
-----------------------------------------------
<pages startpage="#2" id="#1">
<page id="#2">
<text id="#3">
<const>Link auf zweite Seite</const>
<link id="#4">#5</link>
</text>
</page>
<page id="#5">
<text id="#6">
<const>Link auf erste Seite</const>
<link id="#4">#2</link>
</text>
</page>
</pages>
------------------------------------------------
Und meine XSL:
------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
<xsl:param name="pageid" />
<xsl:template match="/">
<html>
<head>
<title>Untitled</title>
</head>
<body>
xsl:choose
<xsl:when test="$pageid = ''">
<xsl:apply-templates select="//page[@id=ancestor::project/@startpage]" />
</xsl:when>
xsl:otherwise
<xsl:apply-templates select="//page[@id = '$pageid']" />
</xsl:otherwise>
</xsl:choose>
</body>
</html>
</xsl:template>
<xsl:template match="page">
<a href="index.php?id=1&pageid={text/link}">
<xsl:value-of select="text/const" />
</a>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------
Ich gebe diesen id also nun als 2. Parameter, weil meine Seite in CMS in einer Seite mit id=1 eingebunden wird. Alles klappt ganz gut und der Link für die Startpage wird richtig ausgegeben und sieht so aus:
<a href="index.php?id=1&pageid=#5">Link auf zweite Seite</a>
Wenn ich nun drauf klicke, sollte er checken und merken, dass der $pageid nicht leer ist und also machen, was im xsl:otherwise steht. Das tut er aber nicht. Der Link steht richtig in der Adressleiste aber nichts ändert sich am Inhalt. :-(
Ist da was du mit Caches gemeint hast? Habe die Seite 100mal neu geladen mit dem Parameter $pageid aber irgendwie checkt er das nicht und nichts ändert sich.