ckraemer: Eine Zeile einer Tabelle in XML hervorheben

Hallo,

ich habe eine XML Datei wo eine Platzierungstabelle drin ist. In der HTML Ausgabe soll immer eine Zeile mit einem bestimmten Verein hervorgehoben werden. Wie mache ich das?

XML Datei:

<?xml version="1.0" standalone="yes"?>
<TabelleGesamtMitAK>
  <Liga>
    <Name>Männer Oberliga</Name>
  </Liga>
  <Platzierung>
    <Nr>1</Nr>
    <Verein>001508504501401000000000000000000001010</Verein>
    <Spiele>8</Spiele>
    <SpieleInsgesammt>26</SpieleInsgesammt>
    <Gewonnen>7</Gewonnen>
    <Unentschieden>1</Unentschieden>
    <Verloren>0</Verloren>
    <TorePlus>253</TorePlus>
    <ToreMinus>203</ToreMinus>
    <D>50</D>
    <PunktePlus>15</PunktePlus>
    <PunkteMinus>1</PunkteMinus>
    <Name>Kassel</Name>
  </Platzierung>
  <Platzierung>
    <Nr>2</Nr>
    <Verein>001508504501401000000000000000000001013</Verein>
    <Spiele>8</Spiele>
    <SpieleInsgesammt>26</SpieleInsgesammt>
    <Gewonnen>6</Gewonnen>
    <Unentschieden>0</Unentschieden>
    <Verloren>2</Verloren>
    <TorePlus>241</TorePlus>
    <ToreMinus>208</ToreMinus>
    <D>33</D>
    <PunktePlus>12</PunktePlus>
    <PunkteMinus>4</PunkteMinus>
    <Name>Dutenh./Münchholzh. II</Name>
  </Platzierung>
  <Platzierung>
    <Nr>3</Nr>
    <Verein>001508504501401000000000000000000001005</Verein>
    <Spiele>8</Spiele>
    <SpieleInsgesammt>26</SpieleInsgesammt>
    <Gewonnen>5</Gewonnen>
    <Unentschieden>2</Unentschieden>
    <Verloren>1</Verloren>
    <TorePlus>234</TorePlus>
    <ToreMinus>214</ToreMinus>
    <D>20</D>
    <PunktePlus>12</PunktePlus>
    <PunkteMinus>4</PunkteMinus>
    <Name>Baunatal</Name>
  </Platzierung>

XSL Datei:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
  <xsl:template match="/">
    <h4><xsl:value-of select="TabelleGesamtMitAK/Liga/Name"/></h4>
    <table border="0" class="tabelle">

<xsl:for-each select="TabelleGesamtMitAK/Platzierung">
        <tr>
          <td class="nr"><b><xsl:value-of select="Nr"/></b></td>
          <td class="mannschaft1"><xsl:value-of select="Name"/></td>
          <td class="punkte"><xsl:value-of select="PunktePlus"/>:<xsl:value-of select="PunkteMinus"/></td>
        </tr>
      </xsl:for-each>
    </table>
  </xsl:template>
</xsl:stylesheet>

Vielen Dank schonmal,
Christian

  1. Hallo,

    ich habe eine XML Datei wo eine Platzierungstabelle drin ist. In der HTML Ausgabe soll immer eine Zeile mit einem bestimmten Verein hervorgehoben werden. Wie mache ich das?

    Es gibt xsl:if (Alternativ xsl:choose), d.h. Du könntest sowas machen wie:

          <xsl:for-each select="TabelleGesamtMitAK/Platzierung">  
            <tr>  
              <xsl:if test="Verein = '001508504501401000000000000000000001013'">  
                <xsl:attribute name="style">background-color: #ccc;</xsl:attribute>  
              </xsl:if>  
              <td class="nr"><b><xsl:value-of select="Nr"/></b></td>  
              <td class="mannschaft1"><xsl:value-of select="Name"/></td>  
              <td class="punkte"><xsl:value-of select="PunktePlus"/>:<xsl:value-of select="PunkteMinus"/></td>  
            </tr>  
          </xsl:for-each>
    

    Viele Grüße,
    Christian

    1. So in die Richtung hatte ich es auch schon mal, allerdings hat es bei mir keine Wirkung gezeigt, da ich bei

      <xsl:if test="Verein = '001508504501401000000000000000000001013'">  
      
      

      das 001508504501401000000000000000000001013 nicht in '' gesetzt hatte.

      Noch eine Frage, wie kann man denn die Tabellenzeilen abwechseln gestalten z.B.

      rote Zeile
      blaue Zeile
      rote Zeile
      ...

      Danke,
      Christian

      1. Hallo,

        Noch eine Frage, wie kann man denn die Tabellenzeilen abwechseln gestalten z.B.

        rote Zeile
        blaue Zeile
        rote Zeile
        ...

                  <xsl:choose>  
                    <xsl:when test="position() mod 2 = 0">  
                      <xsl:attribute name="style">background-color: #fcc;</xsl:attribut  
                    </xsl:when>  
                    <xsl:otherwise>  
                      <xsl:attribute name="style">background-color: #ccf;</xsl:attribut  
                    </xsl:otherwise>  
                  </xsl:choose>
        

        Keinr Ahnung, ob das auch effizienter möglich ist.

        Viele Grüße,
        Christian

        1. Hallo nochmal,

          xsl:choose

          <xsl:when test="position() mod 2 = 0">
                        <xsl:attribute name="style">background-color: #fcc;</xsl:attribut
                      </xsl:when>
                      xsl:otherwise
                        <xsl:attribute name="style">background-color: #ccf;</xsl:attribut
                      </xsl:otherwise>
                    </xsl:choose>

            
          Das Copy-&-Paste hat mir das "e>" von </xsl:attribute> geklaut, ich hoffe, das ist auch so klar, dass das da hin gehört. ;-)  
            
          Viele Grüße,  
          Christian  
          
          
          1. Vielen Dank für die schnelle Hilfe,
            Christian