Thomas J.S.: XSL und Bedingungen

Beitrag lesen

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>&#160;
  xsl:choose
   <xsl:when test="Assoziierter_Kunde = 0 and Nr = $assoc">
      <b>ja</b>&#160;
          <xsl:if test="$telnum1"><u>telnumm assoc.k:(<xsl:value-of select="$telnum1" />)</u>&#160;</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>&#160;
         <xsl:if test="$telnum1"><u>telnumm assoc.k:(<xsl:value-of select="$telnum1" />)</u>&#160;</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&#160;
         <xsl:if test="$telnum2"><u>telnumm assoc.k:(<xsl:value-of select="$telnum2" />)</u>&#160;</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>