for-each nur ausführen, wenn vorherige for-each Schleife nicht gelaufen ist

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • for-each nur ausführen, wenn vorherige for-each Schleife nicht gelaufen ist

    Moin,

    ich habe so ein Konstrukt:

    Quellcode

    1. <xsl:for-each select=".//PGR[PRO]">
    2. HTML Code
    3. <xsl:for-each select="PRO">
    4. HTML Code
    5. </xsl:for-each>
    6. </xsl:for-each>
    7. <!--Inhalt Ebene höher-->
    8. <xsl:for-each select="../PGR[PRO]">
    9. HTML Code
    10. <xsl:for-each select="PRO">
    11. HTML Code
    12. </xsl:for-each>
    13. </xsl:for-each>
    Alles anzeigen


    Dabei darf die zweite for-each-Schleife nur gestartet werden, wenn die erste Schleife nicht durchlaufen worden ist. Nur wie mache ich so was?
    Ich habe als alter PHPler einfach eine Variable gesetzt in der ersten Schleife. Wenn die gesetzt ist, dann keine zweite Schleife, wenn nicht gesetzt, dann zweite Schleife. Nur das ganze klappt so irgendwie nicht:

    Quellcode

    1. <xsl:for-each select=".//PGR[PRO]">
    2. HTML Code
    3. <xsl:variable name="iterate" select="'iterate'"/>
    4. <xsl:for-each select="PRO">
    5. HTML Code
    6. </xsl:for-each>
    7. </xsl:for-each>
    8. <!--Inhalt Ebene höher-->
    9. <xsl:for-each select="../PGR[PRO]">
    10. <xsl:if test="$iterate != 'iterate'">
    11. HTML Code
    12. <xsl:for-each select="PRO">
    13. HTML Code
    14. </xsl:for-each>
    15. </xsl:if>
    16. </xsl:for-each>
    Alles anzeigen


    Geht das überhaupt so?
  • Ich kann zwar kein XSL, aber vieleicht kannst du hiermit noch was anfangen...

    Quellcode

    1. <xsl:choose>
    2. <xsl:when test="$iterate != iterate">
    3. HTML Code
    4. </xsl:when>
    5. <xsl:otherwise>
    6. HTML Code
    7. </xsl:otherwise>
    8. </xsl:choose>


    @Krawutke
    Vielleicht solltest du mal an deiner Formatierung (Einrückung) arbeiten,
    so hat bestimmt kaum jemand lust dir zu helfen, viel zu unübersichtlich...
    mfg Pokertom
    Du bist Terrorist, warum? Siehe hier