Bueno mi problema es con xml y xsl
Tengo este codigo en xml
Código:
y tengo este otro en xsl<?xml version="1.0" encoding="iso-8859-15"?>
<?xml-stylesheet type="text/xsl" href="empresas.xsl"?>
<Bolsa dia="5-7-2001" hora="11:34">
<Empresa indice="general">
<Nombre>General Motors</Nombre>
<Simbolo>GMO</Simbolo>
<Precio>28.875</Precio>
</Empresa>
<Empresa indice="tecno">
<Nombre>Adobe</Nombre>
<Simbolo>ADB</Simbolo>
<Precio>92.250</Precio>
</Empresa>
<Empresa indice="tecno">
<Nombre>Microsoft</Nombre>
<Simbolo>MSF</Simbolo>
<Precio>20.313</Precio>
</Empresa>
<Empresa indice="general">
<Nombre>Coca-Cola</Nombre>
<Simbolo>COC</Simbolo>
<Precio>38.895</Precio>
</Empresa>
<Empresa indice="tecno">
<Nombre>Sun Microsystems</Nombre>
<Simbolo>SUN</Simbolo>
<Precio>45.119</Precio>
</Empresa>
</Bolsa>
Código:
vale la cosa es que quiero poner en la tabla que de colores, es decir, que para las empresas cuyo precio sea mayor que 75 aparezcan en azul y a las menores de 25 aparezca las celdas rojas. El problema es que me sale siempre azul, al poner el estilo con td, pero es que no se como ponerlo.<?xml version="1.0" encoding="iso-8859-15"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<center><h1><xsl:value-of select="/Bolsa/@dia"/>-----<xsl:value-of select="/Bolsa/@hora"/></h1></center>
<table border="1">
<!--CABECERA TITULO DE LA TABLA-->
<tr>
<td>Indice</td>
<td>Nombre</td>
<td>Simbolo</td>
<td>Precio</td>
</tr>
<xsl:for-each select="/Bolsa/Empresa">
<!--ORDENAR POR PRECIO-->
<xsl:sort select="Precio"/>
<!--AQUI FILTRA LOS COLORES , SI ES MAYOR QUE 75 AZUL
SI ES MENOR QUE 25 ROJO-->
<xsl:if test="Precio/text()>'75'">
<style type="text/css">
td {color:blue}
</style>
</xsl:if>
<!--<xsl:if test="Precio/text()<'25'">
<style type="text/css">
td{ color:red;}
</style>
</xsl:if>-->
<tr>
<!--FILTRA CUAL TIENE UN INDICE GENERAL Y CUAL NO
PARA PONER EL *-->
<xsl:if test="@indice!='general'">
<td><xsl:value-of select="@indice"/></td>
<td><xsl:value-of select="Nombre/text()"/></td>
<td><xsl:value-of select="Simbolo/text()"/></td>
<td><xsl:value-of select="Precio/text()"/></td>
</xsl:if>
<xsl:if test="@indice='general'">
<td><xsl:value-of select="@indice"/></td>
<td><xsl:value-of select="concat('*',' ',Nombre/text())"/></td>
<td><xsl:value-of select="Simbolo/text()"/></td>
<td><xsl:value-of select="Precio/text()"/></td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Espero su ayuda por favor.
Gracias
EDITO: ME SALE EL ERROR: ERROR LECTURA XML MAL FORMADO SI PONGO LO QUE HAY DENTRO DEL COMENTARIO QUE ES ESTO:
<!--<xsl:if test="Precio/text()<'25'">
<style type="text/css">
td{ color:red;}
</style>
</xsl:if>-->
PD: LAS MAYUSCULAS SON PARA RESALTAR NO PARA GRITAR


