View Single Post
  #1 (permalink)  
Old Jun 4th, 2007, 16:10
kool77 kool77 is offline
Junior Member
Join Date: May 2007
Location: bahrain
Posts: 25
Thanks: 0
Thanked 0 Times in 0 Posts
background color in xml

Hi everyone,

I was doing this example in xml, I don't know how to change the color of data in a table using xsl file ..

like this pic
http://img46.imageshack.us/img46/5739/xsluv8.jpg

the code of the color is at the end
Code: Select all
<xsl:choose>
            <xsl:when test="PRICE[. $le$ 9]">
                        <tr bgcolor="#cccc66">
<th><xsl:value-of select="TITLE" /></th>
<th><xsl:value-of select="ARTIST" /></th>
<th><xsl:value-of select="COUNTRY" /></th>
<th><xsl:value-of select="COMPANY" /></th>
<th><xsl:value-of select="PRICE" /></th>
<th><xsl:value-of select="YEAR" /></th>
</tr>
 
 
         </xsl:when>
 
         <xsl:otherwise>
                      <tr>

<th><xsl:value-of select="TITLE" /></th>
<th><xsl:value-of select="ARTIST" /></th>
<th><xsl:value-of select="COUNTRY" /></th>
<th><xsl:value-of select="COMPANY" /></th>
<th><xsl:value-of select="PRICE" /></th>
<th><xsl:value-of select="YEAR" /></th>

                      </tr> 
         </xsl:otherwise>
       </xsl:choose>

</table>

here is the full code of xsl

Code: Select all
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body bgcolor='#ffe4c4'>
<table border='2'>
<xsl:for-each select="CATALOG/CD[COUNTRY='UK']"> 

<tr><th>title</th> <th>artist</th> <th>country</th> <th>company</th> <th>price</th> <th>year</th></tr>
<tr><th><xsl:value-of select="TITLE" /></th>
<th><xsl:value-of select="ARTIST" /></th>
<th><xsl:value-of select="COUNTRY" /></th>
<th><xsl:value-of select="COMPANY" /></th>
<th><xsl:value-of select="PRICE" /></th>
<th><xsl:value-of select="YEAR" /></th>
</tr>
<xsl:if match=".[ARTIST='Rod Stewart']">  
      <tr>
        <td><b><xsl:value-of select="TITLE"/></b></td>
        <td><b><xsl:value-of select="ARTIST"/></b></td>
        <td><b><xsl:value-of select="COUNTRY"/></b></td>
        <td><b><xsl:value-of select="COMPANY"/></b></td>
        <td><b><xsl:value-of select="PRICE"/></b></td>
        <td><b><xsl:value-of select="YEAR"/></b></td>
      </tr> 
</xsl:if>

</xsl:for-each>
<xsl:choose>
            <xsl:when test="PRICE[. $le$ 9]">
                        <tr bgcolor="#cccc66">
<th><xsl:value-of select="TITLE" /></th>
<th><xsl:value-of select="ARTIST" /></th>
<th><xsl:value-of select="COUNTRY" /></th>
<th><xsl:value-of select="COMPANY" /></th>
<th><xsl:value-of select="PRICE" /></th>
<th><xsl:value-of select="YEAR" /></th>
</tr>
 
 
         </xsl:when>
 
         <xsl:otherwise>
                      <tr>

<th><xsl:value-of select="TITLE" /></th>
<th><xsl:value-of select="ARTIST" /></th>
<th><xsl:value-of select="COUNTRY" /></th>
<th><xsl:value-of select="COMPANY" /></th>
<th><xsl:value-of select="PRICE" /></th>
<th><xsl:value-of select="YEAR" /></th>

                      </tr> 
         </xsl:otherwise>
       </xsl:choose>

</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
and here is the xml code

Code: Select all
<?xml version="1.0" encoding="ISO8859-1" ?>
<?xml-stylesheet type="text/xsl" href="testxsl2.xsl"?>
<CATALOG>
  <CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Hide your heart</TITLE>
    <ARTIST>Bonnie Tylor</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
  <CD>
    <TITLE>Greatest Hits</TITLE>
    <ARTIST>Dolly Parton</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>RCA</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1982</YEAR>
  </CD>
  <CD>
    <TITLE>Still got the blues</TITLE>
    <ARTIST>Gary More</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Virgin redords</COMPANY>
    <PRICE>10.20</PRICE>
    <YEAR>1990</YEAR>
  </CD>
  <CD>
    <TITLE>Eros</TITLE>
    <ARTIST>Eros Ramazzotti</ARTIST>
    <COUNTRY>EU</COUNTRY>
    <COMPANY>BMG</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1997</YEAR>
  </CD>
  <CD>
    <TITLE>One night only</TITLE>
    <ARTIST>Bee Gees</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Polydor</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1998</YEAR>
  </CD>
  <CD>
    <TITLE>Sylvias Mother</TITLE>
    <ARTIST>Dr.Hook</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS</COMPANY>
    <PRICE>8.10</PRICE>
    <YEAR>1973</YEAR>
  </CD>
  <CD>
    <TITLE>Maggie May</TITLE>
    <ARTIST>Rod Stewart</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Pickwick</COMPANY>
    <PRICE>8.50</PRICE>
    <YEAR>1990</YEAR>
  </CD>
  <CD>
    <TITLE>Romanza</TITLE>
    <ARTIST>Andrea Bocelli</ARTIST>
    <COUNTRY>EU</COUNTRY>
    <COMPANY>Polydor</COMPANY>
    <PRICE>10.80</PRICE>
    <YEAR>1996</YEAR>
  </CD>
  <CD>
    <TITLE>When a man loves a woman</TITLE>
    <ARTIST>Percy Sledge</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Atlantic</COMPANY>
    <PRICE>8.70</PRICE>
    <YEAR>1987</YEAR>
  </CD>
  <CD>
    <TITLE>Black angel</TITLE>
    <ARTIST>Savage Rose</ARTIST>
    <COUNTRY>EU</COUNTRY>
    <COMPANY>Mega</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1995</YEAR>
  </CD>
  <CD>
    <TITLE>1999 Grammy Nominees</TITLE>
    <ARTIST>Many</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Grammy</COMPANY>
    <PRICE>10.20</PRICE>
    <YEAR>1999</YEAR>
  </CD>
  <CD>
    <TITLE>For the good times</TITLE>
    <ARTIST>Kenny Rogers</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Mucik Master</COMPANY>
    <PRICE>8.70</PRICE>
    <YEAR>1995</YEAR>
  </CD>
  <CD>
    <TITLE>Big Willie style</TITLE>
    <ARTIST>Will Smith</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1997</YEAR>
  </CD>
  <CD>
    <TITLE>Tupelo Honey</TITLE>
    <ARTIST>Van Morrison</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Polydor</COMPANY>
    <PRICE>8.20</PRICE>
    <YEAR>1971</YEAR>
  </CD>
  <CD>
    <TITLE>Soulsville</TITLE>
    <ARTIST>Jorn Hoel</ARTIST>
    <COUNTRY>Norway</COUNTRY>
    <COMPANY>WEA</COMPANY>
    <PRICE>7.90</PRICE>
    <YEAR>1996</YEAR>
  </CD>
  <CD>
    <TITLE>The very best of</TITLE>
    <ARTIST>Cat Stevens</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Island</COMPANY>
    <PRICE>8.90</PRICE>
    <YEAR>1990</YEAR>
  </CD>
  <CD>
    <TITLE>Stop</TITLE>
    <ARTIST>Sam Brown</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>A and M</COMPANY>
    <PRICE>8.90</PRICE>
    <YEAR>1988</YEAR>
  </CD>
  <CD>
    <TITLE>Bridge of Spies</TITLE>
    <ARTIST>T`Pau</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Siren</COMPANY>
    <PRICE>7.90</PRICE>
    <YEAR>1987</YEAR>
  </CD>
  <CD>
    <TITLE>Private Dancer</TITLE>
    <ARTIST>Tina Turner</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>Capitol</COMPANY>
    <PRICE>8.90</PRICE>
    <YEAR>1983</YEAR>
  </CD>
  <CD>
    <TITLE>Midt om natten</TITLE>
    <ARTIST>Kim Larsen</ARTIST>
    <COUNTRY>EU</COUNTRY>
    <COMPANY>Medley</COMPANY>
    <PRICE>7.80</PRICE>
    <YEAR>1983</YEAR>
  </CD>
  <CD>
    <TITLE>Pavarotti Gala Concert</TITLE>
    <ARTIST>Luciano Pavarotti</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>DECCA</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1991</YEAR>
  </CD>
  <CD>
    <TITLE>The dock of the bay</TITLE>
    <ARTIST>Otis Redding</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Atlantic</COMPANY>
    <PRICE>7.90</PRICE>
    <YEAR>1987</YEAR>
  </CD>
  <CD>
    <TITLE>Picture book</TITLE>
    <ARTIST>Simply Red</ARTIST>
    <COUNTRY>EU</COUNTRY>
    <COMPANY>Elektra</COMPANY>
    <PRICE>7.20</PRICE>
    <YEAR>1985</YEAR>
  </CD>
  <CD>
    <TITLE>Red</TITLE>
    <ARTIST>The Communards</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>London</COMPANY>
    <PRICE>7.80</PRICE>
    <YEAR>1987</YEAR>
  </CD>
  <CD>
    <TITLE>Unchain my heart</TITLE>
    <ARTIST>Joe Cocker</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>EMI</COMPANY>
    <PRICE>8.20</PRICE>
    <YEAR>1987</YEAR>
  </CD>
</CATALOG>
I need the output to be same as the pic but as you can see the Title and Artist ... etc appear in every row.

I'm new in xml I've just started learning.

Thank you
Reply With Quote