2015-05-22 166 views
0

我需要做的裏面的for-each中的for-each獲得七次 「jmeno」 爲每個 「TYM」 我試圖用它來解決它,但我得到的只有一個jmeno每個tym,你可以在上面的xslt中看到。感謝您的幫助的for-each的for-each

我需要做這樣的事情:

   <xsl:for-each select="/futsalovy_turnaj/registrovane_tymy/tym"> 
        <table style="width: 900px;background:#83B75E; margin-top: 10px;border:0;cellpadding: 0; cellspacing:0;" cellpadding="0" cellspacing="0" id="#{generate-id(nazev_tymu)}"> 
        <tr><td><span style="float: left;padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
         <xsl:value-of select="nazev_tymu"/> 
        </span><span style="float: right;padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
         Počet registrovaných hráčů: <xsl:value-of select="pocet_registrovanych_hracu"/> 
        </span> 
        </td></tr> 
        <tr style="background:#9BD273;"><td> 
         <xsl:for-each select="/futsalovy_turnaj/registrovane_tymy/tym"> 
          <xsl:value-of select="soupiska_tymu/hrac/jmeno"/> 
         </xsl:for-each> 
        </td>   
        </tr> 
       </table>       
       </xsl:for-each> 

有它不工作的問題,它只是第一個循環,但第二個不工作。而在上面的xslt中,它僅適用於每個tym中的一個jmeno。

<?xml version="1.0" encoding="UTF-8"?> 
<futsalovy_turnaj> 
    <zakladni_informace> 
     <nazev_turnaje>Futsal turnaj ABC</nazev_turnaje> 
     <datum_konani>2015-07-10</datum_konani> 
     <startovne mena="czk">300</startovne> 
     <misto_konani> 
      <adresa> 
       <ulice>Německá</ulice> 
       <cislo_popisne>8</cislo_popisne> 
       <mesto>Praha</mesto> 
       <psc>102 00</psc> 
      </adresa> 
     </misto_konani> 
     <ceny_pro_tymy> 
      <prvni_misto>Pohár a voucher na 3000Kč</prvni_misto> 
      <druhe_misto>diplom</druhe_misto> 
      <treti_misto>diplom</treti_misto> 
      <ctvrte_misto>diplom</ctvrte_misto> 
     </ceny_pro_tymy> 
     <komentar>Turnaje se zúčastní čtyřy týmy. Turnaj bude odehrán v jeden den, bude se hrát ve 
      dvou halách 2x20 minut, v počtu hráčů 4+1, veřejnost má vstup zdarma, ale kapacita haly 
      je pro veřejnost omezená na padesát lidí.</komentar> 
    </zakladni_informace> 

    <registrovane_tymy> 
     <tym id_tymu="1"> 
      <nazev_tymu>FC Most</nazev_tymu> 
      <pocet_registrovanych_hracu>7</pocet_registrovanych_hracu> 
      <soupiska_tymu> 
       <hrac id_hrace="1"> 
        <jmeno>Pavel Křen</jmeno> 
        <datum_narozeni>1991-11-27</datum_narozeni> 
        <pozice>Brankář</pozice> 
       </hrac> 
       <hrac id_hrace="2"> 
        <jmeno>Petr Novák</jmeno> 
        <datum_narozeni>1986-12-11</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="3"> 
        <jmeno>Adam Duraj</jmeno> 
        <datum_narozeni>1990-03-27</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="4"> 
        <jmeno>Pavel Němec</jmeno> 
        <datum_narozeni>1990-12-06</datum_narozeni> 
        <pozice>Záložník</pozice> 
       </hrac> 
       <hrac id_hrace="5"> 
        <jmeno>Martin Drda</jmeno> 
        <datum_narozeni>1992-06-14</datum_narozeni> 
        <pozice>Záložník</pozice> 
       </hrac> 
       <hrac id_hrace="6"> 
        <jmeno>Václav Košíř</jmeno> 
        <datum_narozeni>1995-12-30</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
       <hrac id_hrace="7"> 
        <jmeno>David Pilík</jmeno> 
        <datum_narozeni>1990-07-14</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
      </soupiska_tymu> 
     </tym> 
     <tym id_tymu="2"> 
      <nazev_tymu>FK Teplice</nazev_tymu> 
      <pocet_registrovanych_hracu>7</pocet_registrovanych_hracu> 
      <soupiska_tymu> 
       <hrac id_hrace="8"> 
        <jmeno>Adam Vidle</jmeno> 
        <datum_narozeni>1991-08-15</datum_narozeni> 
        <pozice>Brankář</pozice> 
       </hrac> 
       <hrac id_hrace="9"> 
        <jmeno>Libor Kyril</jmeno> 
        <datum_narozeni>1992-08-21</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="10"> 
        <jmeno>David Krk</jmeno> 
        <datum_narozeni>1992-05-11</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="11"> 
        <jmeno>Martin Sus</jmeno> 
        <datum_narozeni>1989-03-21</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="12"> 
        <jmeno>Ondřej Koník</jmeno> 
        <datum_narozeni>1989-07-26</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
       <hrac id_hrace="13"> 
        <jmeno>Michal Dan</jmeno> 
        <datum_narozeni>1989-11-22</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
       <hrac id_hrace="14"> 
        <jmeno>Henriq Bastos</jmeno> 
        <datum_narozeni>1988-06-11</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
      </soupiska_tymu> 
     </tym> 
     <tym id_tymu="3"> 
      <nazev_tymu>FC Jablotron</nazev_tymu> 
      <pocet_registrovanych_hracu>7</pocet_registrovanych_hracu> 
      <soupiska_tymu> 
       <hrac id_hrace="15"> 
        <jmeno>Michal Šibek</jmeno> 
        <datum_narozeni>1988-04-24</datum_narozeni> 
        <pozice>Brankář</pozice> 
       </hrac> 
       <hrac id_hrace="16"> 
        <jmeno>Libor Krsek</jmeno> 
        <datum_narozeni>1987-10-17</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="17"> 
        <jmeno>David Kohn</jmeno> 
        <datum_narozeni>1992-06-22</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="18"> 
        <jmeno>Sebastian Bohm</jmeno> 
        <datum_narozeni>1986-04-22</datum_narozeni> 
        <pozice>Záložník</pozice> 
       </hrac> 
       <hrac id_hrace="19"> 
        <jmeno>Petr Pavel</jmeno> 
        <datum_narozeni>1985-11-13</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
       <hrac id_hrace="20"> 
        <jmeno>Štěpán Pavlík</jmeno> 
        <datum_narozeni>1986-03-12</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
       <hrac id_hrace="21"> 
        <jmeno>Martin Krmaš</jmeno> 
        <datum_narozeni>1987-06-14</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
      </soupiska_tymu> 
     </tym> 
     <tym id_tymu="4"> 
      <nazev_tymu>FC Admira</nazev_tymu> 
      <pocet_registrovanych_hracu>7</pocet_registrovanych_hracu> 
      <soupiska_tymu> 
       <hrac id_hrace="22"> 
        <jmeno>Michal Polák</jmeno> 
        <datum_narozeni>1990-11-24</datum_narozeni> 
        <pozice>Brankář</pozice> 
       </hrac> 
       <hrac id_hrace="23"> 
        <jmeno>Pavel Romel</jmeno> 
        <datum_narozeni>1990-06-12</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="24"> 
        <jmeno>Michal Loeb</jmeno> 
        <datum_narozeni>1992-03-20</datum_narozeni> 
        <pozice>Obránce</pozice> 
       </hrac> 
       <hrac id_hrace="25"> 
        <jmeno>Pavel Vorel</jmeno> 
        <datum_narozeni>1992-12-23</datum_narozeni> 
        <pozice>Záložník</pozice> 
       </hrac> 
       <hrac id_hrace="26"> 
        <jmeno>David Jeblý</jmeno> 
        <datum_narozeni>1991-11-12</datum_narozeni> 
        <pozice>Záložník</pozice> 
       </hrac> 
       <hrac id_hrace="27"> 
        <jmeno>Petr Koník</jmeno> 
        <datum_narozeni>1992-09-26</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
       <hrac id_hrace="28"> 
        <jmeno>Romelo Gasto</jmeno> 
        <datum_narozeni>1990-08-14</datum_narozeni> 
        <pozice>Útočník</pozice> 
       </hrac> 
      </soupiska_tymu> 
     </tym> 
    </registrovane_tymy> 

    <rozpis_zapasu> 
     <zapas id_zapasu="1"> 
      <tymy_v_zapasu>FC Most - FK Teplice</tymy_v_zapasu> 
      <cas_vykopu>10:00</cas_vykopu> 
      <hala_zapasu>A</hala_zapasu> 
     </zapas> 
     <zapas id_zapasu="2"> 
      <tymy_v_zapasu>FC Admira - FC Jablotron</tymy_v_zapasu> 
      <cas_vykopu>10:00</cas_vykopu> 
      <hala_zapasu>B</hala_zapasu> 
     </zapas> 
     <zapas id_zapasu="3"> 
      <tymy_v_zapasu>FC Most - FC Admira</tymy_v_zapasu> 
      <cas_vykopu>11:00</cas_vykopu> 
      <hala_zapasu>A</hala_zapasu> 
     </zapas> 
     <zapas id_zapasu="4"> 
      <tymy_v_zapasu>FK Teplice - FC Jablotron</tymy_v_zapasu> 
      <cas_vykopu>11:00</cas_vykopu> 
      <hala_zapasu>B</hala_zapasu> 
     </zapas> 
     <zapas id_zapasu="5"> 
      <tymy_v_zapasu>FC Most - FC Jablotron</tymy_v_zapasu> 
      <cas_vykopu>12:00</cas_vykopu> 
      <hala_zapasu>A</hala_zapasu> 
     </zapas> 
     <zapas id_zapasu="6"> 
      <tymy_v_zapasu>FK Teplice - FC Admira</tymy_v_zapasu> 
      <cas_vykopu>12:00</cas_vykopu> 
      <hala_zapasu>B</hala_zapasu> 
     </zapas> 
    </rozpis_zapasu> 

</futsalovy_turnaj> 

<xsl:template match="/"> 
     <html> 
      <body style="background:#BCDAA6; margin:0;"> 
      <head> 
       <title><xsl:value-of select="futsalovy_turnaj/zakladni_informace/nazev_turnaje"/> 
       </title> 
      </head> 
       <div style="width: 900px;height: 100%;margin: auto;"> 
        <div style="width: 900px;background:#83B75E;"> 
         <h1 style="padding: 5 0 5 10;"> 
         <font color="white"> 
         <xsl:value-of select="futsalovy_turnaj/zakladni_informace/nazev_turnaje"/> 
         </font> 
         </h1> 
        </div> 

        <table style="width: 900px;background:#83B75E; margin-top: 10px;border:0;cellpadding: 0; cellspacing:0;" cellpadding="0" cellspacing="0"> 
        <tr><td><p style="padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
           Zakladní informace: 
        </p> 
        </td></tr> 
        <tr style="background:#9BD273;"><td> 
         <p style="padding: 15 10 5 10;font-size: 14px;color: white;line-height: 20px;"> 
          <b>Název turnaje: </b> <xsl:value-of select="futsalovy_turnaj/zakladni_informace/nazev_turnaje"/><br/> 
          <b>Datum: </b> <xsl:value-of select="futsalovy_turnaj/zakladni_informace/datum_konani"/><br/> 
          <b>Startovné: </b> <xsl:value-of select="futsalovy_turnaj/zakladni_informace/startovne"/>&#160;<xsl:value-of select="/futsalovy_turnaj/zakladni_informace/startovne/@mena"/><br/><br/> 
          <b>Místo konání: </b> <xsl:value-of select="futsalovy_turnaj/zakladni_informace/misto_konani/adresa/ulice"/>&#160;<xsl:value-of select="futsalovy_turnaj/zakladni_informace/misto_konani/adresa/cislo_popisne"/>, <xsl:value-of select="futsalovy_turnaj/zakladni_informace/misto_konani/adresa/mesto"/>, <xsl:value-of select="futsalovy_turnaj/zakladni_informace/misto_konani/adresa/psc"/><br/> 
          <b>Ceny za umístění: </b> </p> 
          <ol style="color: white;padding-left: 150px; margin-top:-25px;padding-bottom: 10px;"> 
           <li><xsl:value-of select="futsalovy_turnaj/zakladni_informace/ceny_pro_tymy/prvni_misto"/></li> 
           <li><xsl:value-of select="futsalovy_turnaj/zakladni_informace/ceny_pro_tymy/druhe_misto"/></li> 
           <li><xsl:value-of select="futsalovy_turnaj/zakladni_informace/ceny_pro_tymy/treti_misto"/></li> 
           <li><xsl:value-of select="futsalovy_turnaj/zakladni_informace/ceny_pro_tymy/ctvrte_misto"/></li> 
          </ol> 
         <p style="padding: 15 10 5 10;font-size: 14px;color: white;line-height: 20px;"><b>Komentář: </b> <xsl:value-of select="futsalovy_turnaj/zakladni_informace/komentar"/> 
          <br/> 
          <b>Registrované týmy: </b><xsl:for-each select="futsalovy_turnaj/registrovane_tymy/tym"><a href="#{generate-id(nazev_tymu)}"><xsl:value-of select="nazev_tymu"/></a>,&#160;</xsl:for-each></p> 
        </td>   
        </tr> 
        </table> 

        <xsl:for-each select="/futsalovy_turnaj/registrovane_tymy/tym"> 
         <table style="width: 900px;background:#83B75E; margin-top: 10px;border:0;cellpadding: 0; cellspacing:0;" cellpadding="0" cellspacing="0" id="#{generate-id(nazev_tymu)}"> 
         <tr><td><span style="float: left;padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
          <xsl:value-of select="nazev_tymu"/> 
         </span><span style="float: right;padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
          Počet registrovaných hráčů: <xsl:value-of select="pocet_registrovanych_hracu"/> 
         </span> 
         </td></tr> 
         <tr style="background:#9BD273;"><td> 

           <xsl:value-of select="soupiska_tymu/hrac/jmeno"/> 

         </td>   
         </tr> 
        </table>       
        </xsl:for-each> 

       </div> 
      </body> 
     </html> 
    </xsl:template> 

回答

0

解決由:

    <xsl:for-each select="futsalovy_turnaj/registrovane_tymy/tym"> 
         <table style="width: 900px;background:#83B75E; margin-top: 10px;border:0;cellpadding: 0; cellspacing:0;" cellpadding="0" cellspacing="0" id="#{generate-id(nazev_tymu)}"> 
         <tr><td><span style="float: left;padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
          <xsl:value-of select="nazev_tymu"/> 
         </span><span style="float: right;padding: 5 10 5 10;font-size: 20px; font-weight: bold;color: white"> 
          Počet registrovaných hráčů: <xsl:value-of select="pocet_registrovanych_hracu"/> 
         </span> 
         </td></tr> 
         <tr style="background:#9BD273;"><td> 
          <xsl:for-each select="soupiska_tymu/hrac"> 
          <xsl:value-of select="jmeno"/> 
          </xsl:for-each> 
         </td>   
         </tr> 
        </table>       
        </xsl:for-each>