Hallo Roli!
Zunächst ein paar kurze Anmerkungen:
Klar ist wohl, dass die XML Struktur nicht optimal ist;
Gedanklich ist Preis ja wohl ein Attribut des Produkts, also:
<produkt id="1" preis="200" name="super">
alternativ:
<produkt id="1">
<preis>200</preis>
<name>super</name>
</produkt>
sind sehr viel logischer...
Aber wahrscheinlich handelt es sich hier um eine Datenbank-Exzerpt,
"und dann ist halt die Relation der ID Knoten...".
Na gut - aber ich setze wenigstens voraus, dass der myid Konten der erste in der Liste ist und alle anderen attributknoten folgen.
Die Lösung sieht so aus:
<?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="/">
<html>
<head>
</head>
<body>
<table border="1">
<xsl:for-each select="//produkt/myid">
<xsl:call-template name="Schleife">
<xsl:with-param name="Ident" select="." />
</xsl:call-template>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="Schleife">
<xsl:param name="Ident" />
<tr>
<td>ident: <xsl:value-of select="$Ident"/></td>
<xsl:for-each select="//*/myid">
xsl:choose
<xsl:when test="$Ident = ./.">
<xsl:for-each select="./following-sibling::*">
<td>
<xsl:value-of select="./."/>
</td>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</tr>
</xsl:template>
</xsl:stylesheet>
Hilfreich sind hierbei http://www.zvon.org/xxl/XPathTutorial/Output/example17.html und alle anderen Knotenbeschreiber sowie http://de.selfhtml.org/xml/darstellung/xsltelemente.htm#with_param
Viele Grüsse,
Richard