damit es klarar ist was ich meine,
hier eine berenigte variante:
grüße
thomas
------------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/root">
<xsl:variable name="assoc" select="//Kunde/Assoziierter_Kunde" />
<html>
<head></head>
<body>
<xsl:for-each select="Kunde">
<xsl:variable name="num" select="Nr" />
<xsl:variable name="assocnum" select="Assoziierter_Kunde" />
<xsl:variable name="telnum1" select="following-sibling::Kunde[Assoziierter_Kunde = $num]/TelNr | preceding-sibling::Kunde[Assoziierter_Kunde = $num]/TelNr" />
<xsl:variable name="telnum2" select="following-sibling::Kunde[Nr = $assocnum]/TelNr | preceding-sibling::Kunde[Nr = $assocnum]/TelNr" />
<p>
<i><xsl:value-of select="position()" /></i> 
xsl:choose
<xsl:when test="Assoziierter_Kunde = 0 and Nr = $assoc">
<b>ja</b> 
<xsl:if test="$telnum1"><u>telnumm assoc.k:(<xsl:value-of select="$telnum1" />)</u> </xsl:if>
(nummer:<xsl:value-of select="Nr" /> / assoc.kunde:<xsl:value-of select="Assoziierter_Kunde" /> / telnum:<xsl:value-of select="TelNr" />)
</xsl:when>
<xsl:when test="Assoziierter_Kunde = 0 and not(Nr = $assoc)">
<b>nein</b> 
<xsl:if test="$telnum1"><u>telnumm assoc.k:(<xsl:value-of select="$telnum1" />)</u> </xsl:if>
(nummer:<xsl:value-of select="Nr" /> / assoc.kunde:<xsl:value-of select="Assoziierter_Kunde" /> / telnum:<xsl:value-of select="TelNr" />)
</xsl:when>
xsl:otherwise
trifft keines zu 
<xsl:if test="$telnum2"><u>telnumm assoc.k:(<xsl:value-of select="$telnum2" />)</u> </xsl:if>
(nummer:<xsl:value-of select="Nr" /> / assoc.kunde:<xsl:value-of select="Assoziierter_Kunde" /> / telnum:<xsl:value-of select="TelNr" />)
</xsl:otherwise>
</xsl:choose>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>