(Nos han mandado esto a última hora)...
Nuestro profesor nos ha mandado hacer un proyecto, en el que damos formato a los datos de un XML con XSL.
Para la maquetación nos ha dicho que no debemos usar tablas, sino utilizar CSS. Cosa todavía no había intentado...
¿Cómo aplico una hoja de estilo a un XSL?
He probado con ponerlo en el header, tal como se haría en HTML, pero me da errores.
Código:
Error de lectura XML: mal formado
Ubicación: .../clima.xsl
Número de línea 6, columna 13
Tal que así:
Código
<head> <link rel=StyleSheet href="style.css" type="text/css"> </head>
--
Este es el XML dado:
Código
<?xml version="1.0" encoding="ISO-8859-15" ?> <?xml-stylesheet type="text/xsl" href="clima.xsl"?> <root id="33044" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.aemet.es/xsd/localidades.xsd"> <origen> <productor>Agencia Estatal de Meteorología - AEMET. Gobierno de España</productor> <web>http://www.aemet.es</web> <enlace>http://www.aemet.es/es/eltiempo/prediccion/municipios?l=33044</enlace> <language>es</language> <copyright>&#169; AEMET. Autorizado el uso de la información y su reproducción citando a AEMET como autora de la misma.</copyright> <nota_legal>http://www.aemet.es/es/nota_legal</nota_legal> </origen> <elaborado>2013-06-03T09:05:03</elaborado> <nombre>Oviedo</nombre> <provincia>Asturias</provincia> <prediccion> <dia fecha="2013-06-03"> <prob_precipitacion periodo="00-12">0</prob_precipitacion> <prob_precipitacion periodo="12-24">0</prob_precipitacion> <prob_precipitacion periodo="00-06">0</prob_precipitacion> <prob_precipitacion periodo="06-12">0</prob_precipitacion> <prob_precipitacion periodo="12-18">0</prob_precipitacion> <prob_precipitacion periodo="18-24">0</prob_precipitacion> <cota_nieve_prov periodo="00-12"></cota_nieve_prov> <cota_nieve_prov periodo="12-24"></cota_nieve_prov> <cota_nieve_prov periodo="00-06"></cota_nieve_prov> <cota_nieve_prov periodo="06-12"></cota_nieve_prov> <cota_nieve_prov periodo="12-18"></cota_nieve_prov> <cota_nieve_prov periodo="18-24"></cota_nieve_prov> <estado_cielo periodo="00-12" descripcion="Poco nuboso">12</estado_cielo> <estado_cielo periodo="12-24" descripcion="Poco nuboso">12</estado_cielo> <estado_cielo periodo="00-06" descripcion="Despejado">11n</estado_cielo> <estado_cielo periodo="06-12" descripcion="Poco nuboso">12</estado_cielo> <estado_cielo periodo="12-18" descripcion="Poco nuboso">12</estado_cielo> <estado_cielo periodo="18-24" descripcion="Poco nuboso">12</estado_cielo> <viento periodo="00-12"> <direccion>NE</direccion> <velocidad>20</velocidad> </viento> <viento periodo="12-24"> <direccion>E</direccion> <velocidad>20</velocidad> </viento> <viento periodo="00-06"> <direccion>C</direccion> <velocidad>0</velocidad> </viento> <viento periodo="06-12"> <direccion>NE</direccion> <velocidad>20</velocidad> </viento> <viento periodo="12-18"> <direccion>E</direccion> <velocidad>20</velocidad> </viento> <viento periodo="18-24"> <direccion>E</direccion> <velocidad>5</velocidad> </viento> <racha_max periodo="00-12"></racha_max> <racha_max periodo="12-24">45</racha_max> <racha_max periodo="00-06"></racha_max> <racha_max periodo="06-12"></racha_max> <racha_max periodo="12-18">40</racha_max> <racha_max periodo="18-24"></racha_max> <temperatura> <maxima>18</maxima> <minima>8</minima> <dato hora="06">8</dato> <dato hora="12">16</dato> <dato hora="18">16</dato> <dato hora="24">11</dato> </temperatura> <sens_termica> <maxima>18</maxima> <minima>8</minima> <dato hora="06">8</dato> <dato hora="12">16</dato> <dato hora="18">16</dato> <dato hora="24">11</dato> </sens_termica> <humedad_relativa> <maxima>90</maxima> <minima>60</minima> <dato hora="06">80</dato> <dato hora="12">65</dato> <dato hora="18">60</dato> <dato hora="24">90</dato> </humedad_relativa> <uv_max>7</uv_max> </dia> <dia fecha="2013-06-04"> <prob_precipitacion periodo="00-12">0</prob_precipitacion> <prob_precipitacion periodo="12-24">0</prob_precipitacion> <prob_precipitacion periodo="00-06">0</prob_precipitacion> <prob_precipitacion periodo="06-12">0</prob_precipitacion> <prob_precipitacion periodo="12-18">0</prob_precipitacion> <prob_precipitacion periodo="18-24">0</prob_precipitacion> <cota_nieve_prov periodo="00-12"></cota_nieve_prov> <cota_nieve_prov periodo="12-24"></cota_nieve_prov> <cota_nieve_prov periodo="00-06"></cota_nieve_prov> <cota_nieve_prov periodo="06-12"></cota_nieve_prov> <cota_nieve_prov periodo="12-18"></cota_nieve_prov> <cota_nieve_prov periodo="18-24"></cota_nieve_prov> <estado_cielo periodo="00-12" descripcion="Despejado">11</estado_cielo> <estado_cielo periodo="12-24" descripcion="Despejado">11</estado_cielo> <estado_cielo periodo="00-06" descripcion="Despejado">11n</estado_cielo> <estado_cielo periodo="06-12" descripcion="Despejado">11</estado_cielo> <estado_cielo periodo="12-18" descripcion="Despejado">11</estado_cielo> <estado_cielo periodo="18-24" descripcion="Despejado">11</estado_cielo> <viento periodo="00-12"> <direccion>NE</direccion> <velocidad>15</velocidad> </viento> <viento periodo="12-24"> <direccion>NE</direccion> <velocidad>15</velocidad> </viento> <viento periodo="00-06"> <direccion>C</direccion> <velocidad>0</velocidad> </viento> <viento periodo="06-12"> <direccion>NE</direccion> <velocidad>15</velocidad> </viento> <viento periodo="12-18"> <direccion>NE</direccion> <velocidad>15</velocidad> </viento> <viento periodo="18-24"> <direccion>C</direccion> <velocidad>0</velocidad> </viento> <racha_max periodo="00-12"></racha_max> <racha_max periodo="12-24"></racha_max> <racha_max periodo="00-06"></racha_max> <racha_max periodo="06-12"></racha_max> <racha_max periodo="12-18"></racha_max> <racha_max periodo="18-24"></racha_max> <temperatura> <maxima>19</maxima> <minima>9</minima> <dato hora="06">9</dato> <dato hora="12">18</dato> <dato hora="18">17</dato> <dato hora="24">13</dato> </temperatura> <sens_termica> <maxima>19</maxima> <minima>9</minima> <dato hora="06">9</dato> <dato hora="12">18</dato> <dato hora="18">17</dato> <dato hora="24">13</dato> </sens_termica> <humedad_relativa> <maxima>100</maxima> <minima>55</minima> <dato hora="06">100</dato> <dato hora="12">60</dato> <dato hora="18">55</dato> <dato hora="24">80</dato> </humedad_relativa> <uv_max>7</uv_max> </dia> <dia fecha="2013-06-05"> <prob_precipitacion periodo="00-12">5</prob_precipitacion> <prob_precipitacion periodo="12-24">15</prob_precipitacion> <cota_nieve_prov periodo="00-12"></cota_nieve_prov> <cota_nieve_prov periodo="12-24"></cota_nieve_prov> <estado_cielo periodo="00-12" descripcion="Despejado">11</estado_cielo> <estado_cielo periodo="12-24" descripcion="Intervalos nubosos">13</estado_cielo> <viento periodo="00-12"> <direccion>NE</direccion> <velocidad>15</velocidad> </viento> <viento periodo="12-24"> <direccion>NE</direccion> <velocidad>15</velocidad> </viento> <racha_max periodo="00-12"></racha_max> <racha_max periodo="12-24"></racha_max> <temperatura> <maxima>21</maxima> <minima>11</minima> </temperatura> <sens_termica> <maxima>21</maxima> <minima>11</minima> </sens_termica> <humedad_relativa> <maxima>85</maxima> <minima>60</minima> </humedad_relativa> <uv_max>7</uv_max> </dia> <dia fecha="2013-06-06"> <prob_precipitacion periodo="00-12">35</prob_precipitacion> <prob_precipitacion periodo="12-24">70</prob_precipitacion> <cota_nieve_prov periodo="00-12"></cota_nieve_prov> <cota_nieve_prov periodo="12-24">2400</cota_nieve_prov> <estado_cielo periodo="00-12" descripcion="Intervalos nubosos">13</estado_cielo> <estado_cielo periodo="12-24" descripcion="Muy nuboso con tormenta">53</estado_cielo> <viento periodo="00-12"> <direccion>C</direccion> <velocidad>0</velocidad> </viento> <viento periodo="12-24"> <direccion>NO</direccion> <velocidad>5</velocidad> </viento> <racha_max periodo="00-12"></racha_max> <racha_max periodo="12-24"></racha_max> <temperatura> <maxima>19</maxima> <minima>12</minima> </temperatura> <sens_termica> <maxima>19</maxima> <minima>12</minima> </sens_termica> <humedad_relativa> <maxima>90</maxima> <minima>55</minima> </humedad_relativa> <uv_max>7</uv_max> </dia> <dia fecha="2013-06-07"> <prob_precipitacion>90</prob_precipitacion> <cota_nieve_prov>2200</cota_nieve_prov> <estado_cielo descripcion="Muy nuboso con tormenta">53</estado_cielo> <viento> <direccion>C</direccion> <velocidad>0</velocidad> </viento> <racha_max></racha_max> <temperatura> <maxima>16</maxima> <minima>10</minima> </temperatura> <sens_termica> <maxima>16</maxima> <minima>10</minima> </sens_termica> <humedad_relativa> <maxima>95</maxima> <minima>75</minima> </humedad_relativa> <uv_max>7</uv_max> </dia> <dia fecha="2013-06-08"> <prob_precipitacion>95</prob_precipitacion> <cota_nieve_prov>2200</cota_nieve_prov> <estado_cielo descripcion="Muy nuboso con tormenta">53</estado_cielo> <viento> <direccion>NO</direccion> <velocidad>10</velocidad> </viento> <racha_max></racha_max> <temperatura> <maxima>15</maxima> <minima>9</minima> </temperatura> <sens_termica> <maxima>15</maxima> <minima>9</minima> </sens_termica> <humedad_relativa> <maxima>100</maxima> <minima>80</minima> </humedad_relativa> </dia> <dia fecha="2013-06-09"> <prob_precipitacion>80</prob_precipitacion> <cota_nieve_prov>2500</cota_nieve_prov> <estado_cielo descripcion="Muy nuboso con tormenta">53</estado_cielo> <viento> <direccion>N</direccion> <velocidad>10</velocidad> </viento> <racha_max></racha_max> <temperatura> <maxima>16</maxima> <minima>9</minima> </temperatura> <sens_termica> <maxima>16</maxima> <minima>8</minima> </sens_termica> <humedad_relativa> <maxima>100</maxima> <minima>85</minima> </humedad_relativa> </dia> </prediccion> </root>
--
Antes de meter nada más intenté meter la hoja de estilo, pero no pude.
De momento sólo tengo esto, en lo que leo un dato para probar que enlazan XSL con XML, el dato aparece, pero en cuanto intento enchufar la hoja de estilo, casca todo...
Código
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <link rel=StyleSheet href="style.css" type="text/css"> </head> <body> <div class = "caja"> <div class = "titulo"> Prediccion Meteorologica para los proximos 3 dias </div> <div class = "cuadro"> <div class = "texto"> Localidad: <xsl:value-of select="root/nombre"/> </div> </div> </div> </body> </html> </xsl:template> </xsl:stylesheet>