Mais conteúdo relacionado Semelhante a Un Dato Varios Formatos: Generado Salidas con XSLT (20) Mais de Carlos Gabriel Asato (20) Un Dato Varios Formatos: Generado Salidas con XSLT2. Cuál es el Problema?
Hay gran diversidad de plataformas, equipos y
sistemas que utilizan datos geoespaciales
GPS, Celulares, navegadores, aplicaciones
diversas, etc.
Ante esta realidad, Cómo hago para que una
mayor cantidad de usuarios usen mis datos sin
que esto signifique un gran esfuerzo?
7. Datos GeoRSS
<?xml version="1.0" encoding="ISO-8859-1"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
<author> <name>CONAE</name> </author>
<title>CONAE - Focos de Calor</title> <updated>2008-09-22T17:19:30Z</updated>
<entry>
<author> <name>CONAE</name> </author>
<id>CONAE_Focos_de_Calor_Foco_1</id>
<title>CONAE - Focos de Calor - Imagen 1 Foco 1</title>
<subtitle>Satelite AQUA - Instrumento MODIS</subtitle>
<updated>2008-09-22T17:19:30Z</updated>
<georss:point>-33.560902 -59.450153</georss:point>
</entry>
......
<entry>
<author> <name>CONAE</name> </author>
......
</feed>
9. Qué es XSLT
XSL (Extensible Stylesheet Language) Familia
de lenguajes basados en XML que permite
describir cómo la información contenida en un
documento XML debe ser transformada.
XSLT: Metodología de transformación de
documentos XML
Es un estándar de W3C
10. XSL == Style Sheets para XML
XSLT transformar
XPath navegar
XSL-FO formatear
11. Paquetes Libres Utilizados
Python
http://www.python.org/
Se utilizó para ejecutar los servicios web, leer y agregar los xml.
Kernow
http://kernowforsaxon.sourceforge.net/
Es una aplicación visual para ejecutar transformaciones XLST, XQuery y Esquemas XML, basado en
SAXON.
SAXON XSLT
http://saxon.sourceforge.net/
13. <?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:gml="http://www.opengis.net/gml">
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<img width="100" src="gpip.jpg"/><br/>
<img src="institutos.jpg"/><br/>
Código XSL 1
14. Código XSL 2
<!-- HAY QUE HACER QUE FILTRE LOS DATOS DE NODOS QUE NO TIENEN NINGUNA POBLACION-->
<xsl:for-each select="//hspot/provincia">
<xsl:sort select="./nombre" />
<xsl:value-of select="./nombre"/><br/>
<table border="1" style="font-family:arial; font-size:10pt" >
<tr><td colspan="3"><xsl:value-of select="../gml:Point/gml:coordinates"/><br/>Tipo de cobertura de suelo:<xsl:value-of select="..
/LandUse"/></td></tr>
<xsl:for-each select="../provincia">
<tr>
<xsl:choose>
<xsl:when test=".//localidad/distancia < 3">
<td width="400" bgcolor="red">
<xsl:value-of select=".//localidad/nombre"/><br/>
<xsl:variable name="ymin" select="number(substring-before(../gml:Point/gml:coordinates,',')) - .1" />
<xsl:variable name="ymax" select="number(substring-before(../gml:Point/gml:coordinates,',')) + .1" />
<xsl:variable name="xmin" select="number(substring-after(../gml:Point/gml:coordinates,',')) - .1" />
<xsl:variable name="xmax" select="number(substring-after(../gml:Point/gml:coordinates,',')) + .1" />
15. Código XSL 3
<img width="400" height="400" src="http://www.sig.igm.gov.ar/wmsconnector/com.esri.wms.Esrimap/PROSIGA_V?
REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&BBOX={$xmin},{$ymin},{$xmax},{$ymax}&LAYERS=22,
21,19,16,15,14,13,12,11,10,2&SRS=EPSG:4326&WIDTH=400&HEIGHT=400&FORMAT=image/jpeg" />
</td>
</xsl:when>
<xsl:when test=".//localidad/distancia > 6">
<td width="400" bgcolor="green"><xsl:value-of select=".//localidad/nombre"/></td>
</xsl:when>
<xsl:when test=".//localidad/distancia > 3 and .//localidad/distancia < 6">
<td width="400" bgcolor="yellow"><xsl:value-of select=".//localidad/nombre"/></td>
</xsl:when>
<xsl:otherwise>
<td width="400" ><xsl:value-of select=".//localidad/nombre"/></td>
</xsl:otherwise>
</xsl:choose>
16. GPX
<?xml version="1.0" encoding="UTF-8"?><gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gml="
http://www.opengis.net/gml" xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/2" version="1.0"
creator="GPIP" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://wwww.topografix.com/GPX/1/0/gpx.
xsd">
<name>GPIP - Focos de Calor</name>
<author>GPIP</author><email>ipozzi@sgp.gob.ar</email><email>g_asato2000@yahoo.com</email><url>http://gpip.
ign.gob.ar</url><time/>
<keywords>hotspot, MODIS, CONAE, GPIP, hazard management</keywords><description>Focos de calor
detectados con Modis y procesados por CONAE. Procesamiento XML GPIP </description><wpt lon="-60.737354" lat="
-19.60397" >
 "><sym>Dangerous Area</sym><name>GPIP HotSpot</name><desc>
Foco de calor
Fecha: 2010-11-01T14:25:09Z
Coordenadas del punto: -19.60397, -60.737354
Tipo de cobertura de suelo:
Poblaciones cercanas al foco de calor
</desc>
</wpt>
<wpt lon="-63.891727" lat="-19.253773" >
 "><sym>Dangerous Area</sym><name>GPIP
HotSpot</name><desc>
*******
20. Conclusiones
La gran ventaja de utilizar XSLT para generar
salidas es que con un sólo origen de
información uno puede satisfacer los
requerimientos y necesidades de distintos
usuarios en distintas plataformas