Matthias: hilfe bei Umsetzung

Hallo!

Ich bräuche mal dringend eure Hilfe, ich habe folgende Struktur:

![alternativ](file://C:\Bilder\Zwischenablage01.jpg)
Ich hoffe, das mit dem Bild funktioniert, falls nicht: wie kann man einen Screenshot einfügen?

Ich würde es gerne in einer Tabelle darstellen und zwar challeng in der ersten Spalte, alle crew-Inhalte in der 2. Spalte und response in der 3.Spalte. Hört sich ja erstmal nicht so schwer an, aber challeng darf ja nur einmal vorkommen, crew muss nicht vorkommen, kann aber mehrmals vorkommen und response auch. Es könnte aber auch so sein:

<challrsp><challeng><crew>1</crew><response>fdsdf</response><response>aaa</response><crew>2</crew><response>test</response><response>test 2</response><challrsp>

Irgendwie komme ich echt nicht weiter, ich kopiere euch mal einen Versuch von mir hinein. Ich dachte, dass ich es irgendwie abhängig von crew mache, denn für jedes crew dachte ich mache ich eine neue Zeile, aber das funktioniert irgendwie nicht so wie ich möchte, weil ja alle response in die gleiche Spalte müssen bis ein neues crew kommt.

<xsl:template match="challrsp">  
    <xsl:variable name="iAnzCrew"><xsl:value-of select="count(crew)"/></xsl:variable>  
   <tr><td><table border="0">	  
     <xsl:choose>  
	<xsl:when test="$iAnzCrew=1">  
	  <tr><td><xsl:apply-templates select="challeng"/></td><td><xsl:apply-templates select="crew"/></td><xsl:for-each select="response"><td><xsl:apply-templates select="node()"/></td></xsl:for-each></tr>  
	</xsl:when>  
	<xsl:when test="$iAnzCrew=0">  
	  <tr><td><xsl:apply-templates select="challeng"/></td><xsl:for-each select="response"><td><xsl:apply-templates select="node()"/></td></xsl:for-each></tr>  
	</xsl:when>  
	<xsl:otherwise>  
	  <xsl:apply-templates select="crew"/>  
	</xsl:otherwise>  
      </xsl:choose>  
    </table></td></tr>  
  </xsl:template>  
  
  <xsl:template match="challeng">  
    <xsl:apply-templates select="node()|*"/>  
  </xsl:template>  
  
  <xsl:template match="challrsp/crew">  
    <tr>  
      <td><xsl:apply-templates select="preceding-sibling::challeng"/></td>  
      <td><xsl:apply-templates select="crewmem"/></td>  
        <xsl:for-each select="following-sibling"><td><xsl:apply-templates select="node()"/>  
      </td></xsl:for-each>  
    </tr>  
  </xsl:template>  

Aber so schreibt er den Inhalt von challeng natürlich nicht nur beim ersten Vorkommen, sondern bei jedem crew, was ja nicht sein sollte und was noch schlimmer ist, er nimmt nicht nur die response, die direkt nach crew kommen, bis das nächste crew kommt, sondern natürlich alle response, die nach crew kommen.

Ich hoffe, dass ihr mir einen Tipp geben könnt, ich komme nämlich überhaupt nicht weiter :(
LG Matthias

  1. Om nah hoo pez nyeetz, Matthias!

    ![alternativ](file://C:\Bilder\Zwischenablage01.jpg)
    Ich hoffe, das mit dem Bild funktioniert, falls nicht: wie kann man einen Screenshot einfügen?

    Grundsätzlich ja, nur muss das Bild über eine URL erreichbar sein.

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. Om nah hoo pez nyeetz, Matthias!

      ![alternativ](file://C:\Bilder\Zwischenablage01.jpg)
      Ich hoffe, das mit dem Bild funktioniert, falls nicht: wie kann man einen Screenshot einfügen?

      Grundsätzlich ja, nur muss das Bild über eine URL erreichbar sein.

      Matthias

      Hm ich hab leider keine eigene Homepage oder so, wo ich etwas online stellen könnte :(

      Naja Struktur sieht also folgendermaßen aus, versuche es mal zu erklären:
      <challrsp> mit folgenden Unterelementen
        -challeng (muss vorkommen, aber kann nur einmal vorkommen)
        -crew (kann 0 bis unendlich mal vorkommen) im Wechsel mit
        -response (wobei response mindestens einmal bis unendlich mal vorkommen kann)

      es könnte also sein
      <challrsp><challeng></challeng><response></response><response></response><response></response></challrsp>

      oder

      <challrsp><challeng></challeng><crew></crew><response></response><response></response><crew></crew><response></response></challrsp>

      oder

      <challrsp><challeng></challeng><crew></crew><crew></crew><response></response><response></response><crew></crew><response></response></challrsp>

      Ich hoffe, man kann das einigermaßen verstehen, das Bild wäre besser gewesen, aber geht leider nicht mit dem Einfügen.
      LG Matthias

      1. Om nah hoo pez nyeetz, Matthias!

        Hm ich hab leider keine eigene Homepage oder so, wo ich etwas online stellen könnte :(

        Ich hoffe, man kann das einigermaßen verstehen, das Bild wäre besser gewesen, aber geht leider nicht mit dem Einfügen.

        Da gibt es viele Möglichkeiten.

        Matthias

        --
        1/z ist kein Blatt Papier.

        1. Om nah hoo pez nyeetz, Matthias!

          Hm ich hab leider keine eigene Homepage oder so, wo ich etwas online stellen könnte :(

          Ich hoffe, man kann das einigermaßen verstehen, das Bild wäre besser gewesen, aber geht leider nicht mit dem Einfügen.

          Da gibt es viele Möglichkeiten.

          Matthias

          oh das wusste ich nicht - das ist ja super :)

          bildlink funktioniert nicht
          LG Matthias