Avatar billede kanyle Nybegynder
28. juli 2003 - 10:30 Der er 7 kommentarer

Tabel med varierende farver i rækkerne

Hvordan laver jeg følgende i XSL:
Jeg har en tabel hvor man kan indsætte et vilkårligt antal rækker.  Jeg har en "header række (headerRow) som hvis text()='yes' skal have baggrundsfarven blå. Resten af rækkerne skal veksle mellem hvid og grå, men altid med den første række efter headeren værende hvid.

Man har yderligere mulighed for at vælge at headerRow skal være flere på flere steder i tabellen, hvor igen rækken efter headerRow skal være hvid, efterfulgt af grå..

I håb om, der er nogen der kan komme med en løsning :-)

/kanyle


Uddrag af XML:
<table>
    <row>
        <cell>
            <rowHead>yes</rowHead>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        </row>
        <row>
        <cell>
            <rowHead>no</rowHead>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        </row>
        <row>
        <cell>
            <rowHead>no</rowHead>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
    </row>
    <row>
        <cell>
            <rowHead>yes</rowHead>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
    </row>
    <row>
        <cell>
            <rowHead>no</rowHead>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
        <cell>
            <item></item>
        </cell>
    </row>
</table>
Avatar billede atoft Nybegynder
29. juli 2003 - 14:09 #1
Er det hmtl tabel som skal være resultatet?
Avatar billede bearhugx Nybegynder
29. juli 2003 - 16:13 #2
Avatar billede kanyle Nybegynder
29. juli 2003 - 20:27 #3
atoft> jeps
bearhugx> Hvor er det lige, eksemplet er.. Jeg kan ikke finde det, der skal til for at komme videre :-(

/kanyle
Avatar billede trolle Nybegynder
04. november 2003 - 19:44 #4
Hvad med noget i stil med:
(hvis den foerste altid skal vaere blaa)

<xsl:template match="table">
  <table>
    <xsl:apply-templates mode="white"/>
  </table>
</xsl:template>

<xsl:template match="row[contains(child::rowHead,'yes')]" mode="white">
  <tr background="BLÅ">
    <xsl:apply-templates mode="white"/>
  <tr>
</xsl:template>

<xsl:template match="row[contains(child::rowHead,'yes')]" mode="gray">
  <tr background="BLÅ">
    <xsl:apply-templates mode="white"/>
  <tr>
</xsl:template>

<xsl:template match="row[contains(child::rowHead,'no')]" mode="white">
  <tr background="HVID">
    <xsl:apply-templates/>
  <tr>
</xsl:template>

<xsl:template match="row[contains(child::rowHead,'no')]" mode="gray">
  <tr background="GRAA">
    <xsl:apply-templates/>
  <tr>
</xsl:template>

jeg haaber det hjaelper lidt. Det burde skifte mellem de to farver og blive genstartet hver gang en ny row header kommer!
Avatar billede trolle Nybegynder
04. november 2003 - 19:44 #5
ups... Det var et svar mulighed! .. ;)
Avatar billede trolle Nybegynder
04. november 2003 - 19:46 #6
Man burde kunne rette i sine tidligere post... eller ogsaa skulle jeg laese mine ting ordentlig igennem foer jeg submitter!
(den mangler at rent faktisk skifte mode)

<xsl:template match="row[contains(child::rowHead,'no')]" mode="white">
  <tr background="HVID">
    <xsl:apply-templates mode="gray"/>
  <tr>
</xsl:template>

<xsl:template match="row[contains(child::rowHead,'no')]" mode="gray">
  <tr background="GRAA">
    <xsl:apply-templates mode="white"/>
  <tr>
</xsl:template>
Avatar billede trolle Nybegynder
05. november 2003 - 03:42 #7
hmmm... Det virker nok egentlig ikke... den mode skift jeg lavede har vist kun virkning paa elementernes egne boern, ikke dens 'soeskende-rows'...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester