Estas en:

Catálogo de servicios
Autentia (PDF 6,2MB)

tríptico de Autentia
En formato comic...

Acceso de usuarios registrados:

Deseo registrarme

He olvidado mis datos de acceso

Registra tu empresa:

Descubre las ventajas de registrar tu empresa en AdictosAlTrabajo...

Registrar mi empresa

Listado de empresas ya registradas

Google

Últimos tutoriales

+Noticias Destacadas

+Comentarios Cómic

  2009-08-28 - 11:17:42 AM
   rcanales escribío:
    Completamente de acuerdo contigo. Yo no se quien hace las cuentas en tu empresa [...]
  2009-08-28 - 07:01:44 AM
   Anonimo escribío:
    pues yo tengo el cuello rigido como una piedra porque el aire acondicionado esta [...]
  2009-07-23 - 10:32:12 PM
   Jaime escribío:
    definitivamente la parte mas divertida es la de programar, y la explotacion lo v [...]
  2009-05-13 - 11:26:33 PM
   williarim escribío:
    Quiero felicitar al autor de estas historietas! Gracias por compartir con todos [...]
  2009-05-13 - 04:40:59 PM
   rcanales escribío:
    Hola Brunoise: Todo tiene perspectiva. El función de tus forma de ser y ver e [...]

+Enlaces


Tutorial desarrollado por

Roberto Canales Mora

Creador y propietario de AdictosAlTrabajo.com, Director General de Autentia S.L., Ingeniero Técnico de Telecomunicaciones y Executive MBA por el Instituto de Empresa 2007. Perfíl Technorati

Experto en formación en: Dirección de proyectos informáticos, análisis y diseño UML, arquitectura Web, patrones de diseño y JEE a todos los niveles.

Puedes consultar mi CV y alguna de mis primeras aplicaciones (de los 90) aquí

Catálogo de servicios de Autentia

Descargar (6,2 MB)

Descargar en versión comic (17 MB)

AdictosAlTrabajo.com es el Web de difusión de conocimiento de Autentia.

Catálogo de cursos

Fecha de creación del tutorial: 2005-03-04

XML

XML, XSL y RSS

Me ha sugerido un amigo que, si voy a publicar un canal de RSS, que podía asociarle una hoja de estilo XSL para verlo como una página HTML en su navegador. Como esto, a parte de ser sencillo, es rápido, os voy a recordar como hacerlo (aunque ya lo vimos en su momento).

  • Un documento XML es un fichero de texto que tiene que cumplir unas sencillas reglas para estar bien formado y ser válido. Contiene datos y la estructura de esos datos.
  • Un documento XSL es un tipo de documento XML que podemos utilizar para dar formato a un documento XML.
  • Si en un documento XML especificamos que tiene asociado un documento XSL (plantilla XSL), si mostramos el documento XML con una herramienta un poco "lista", esta automáticamente será capaz de recuperar la plantilla y combinar las dos cosas.

El navegador Microsoft Explorer es suficientemente listo para hacer este trabajo.

Pasos a seguir

Primero, elegimos como queremos que quede la pagina html, en un editor HTML. Como habéis podido observar, mi capacidad estética es reducida así que si alguien se ofrece ;-)

Creamos ahora una plantilla XSL que sea capaz de mostrar los datos. Os recomiendo este enlace si queréis saber más sobre como resolver problemas típicos con xsl (  http://www.topxml.com/xsltStylesheets/xslt_filtering_sorting.asp  )

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">

El HTML de cabecera

<table>
<xsl:for-each select="*//item" order-by="pubDate">
<tr><td><xsl:value-of select="title"/></td></tr>
<tr><td><xsl:value-of select="link"/></td></tr>
<tr><td><xsl:value-of select="description"/></td></tr>
<tr><td><xsl:value-of select="author"/></td></tr>
<tr><td><xsl:value-of select="pubDate"/></td></tr>
<tr><td><hr/></td></tr>
</xsl:for-each>
</table>

El HTML del Pie

</xsl:template>
</xsl:stylesheet>
 

Con la plantilla XSL nuestro documento XML queda tal que así:

Solamente introduciendo en el XML la linea rojo, especificamos que XSL le corresponde

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="adictos.xsl"?>

Ahora unimos los dos conceptos y construimos la plantilla definitiva

Editar el documento XSL a mano es bastante complicado (para inexpertos) por lo que vamos a localizar un programa gratuito para ayudarnos en la edición.

Programa auxiliar para la edición y transformación de XML y XSL

Un programa simple y que consuma pocos recursos podrá ser http://www.xmlcooktop.com/. No olvidéis que ya hablamos en su momento e otras herramientas

Vamos al Web a descargarla

Pinchando en descarga, podemos acceder al fichero comprimido

Lo descargamos y ejecutamos

Y ya tenemos la herramienta y es bastante sencilla e intuitiva

En la primera lengüeta seleccionamos el XML fuente

En la tercera, el XSL a editar

Si pulsamos al botón XSLT, podemos ir viendo la transformación

De nuestro documento XSL ( http://www.adictosaltrabajo.com/rss/adictos.xsl ), me gustaría destacar como hacer algunas cosas:

Como conseguir limitar el conjunto de elementos a mostrar de una arbol XML (en rojo) y como llamar a otra plantilla para formatear la fecha (azul):

 <xsl:for-each select="*//item[position() &lt;= 10]">

<tr><td><b><a href="{link}"> <xsl:value-of select="title"/> </a></b></td></tr>
<tr><td><xsl:value-of select="description"/></td></tr>
<tr><td><br/> <b><xsl:text>Autor: </xsl:text></b> <xsl:value-of select="author"/></td></tr>
<tr><td>
<i>
<xsl:call-template name="transformaFecha">
   <xsl:with-param name="node" select="pubDate"/>
</xsl:call-template>

</i>
</td></tr>
<tr><td><hr/></td></tr>
</xsl:for-each>

También como formatear una fecha (sin usar librerías externas) que viene en el formato Thu, 03 Mar 2005 08:12:23 GMT

<xsl:template name="transformaFecha">

<xsl:param name="node"/>

<xsl:variable name="MesTexto" select="substring(string($node),9,3)"/>
<xsl:variable name="Mes">
<xsl:choose>


<xsl:when test="$MesTexto='Jan'">
<xsl:text>01</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Feb'">
<xsl:text>02</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Mar'">
<xsl:text>03</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Apr'">
<xsl:text>04</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='May'">
<xsl:text>05</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Jun'">
<xsl:text>06</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Jul'">
<xsl:text>07</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Aug'">
<xsl:text>08</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Sep'">
<xsl:text>09</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Oct'">
<xsl:text>10</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Nov'">
<xsl:text>11</xsl:text>
</xsl:when>
<xsl:when test="$MesTexto='Dec'">
<xsl:text>12</xsl:text>
</xsl:when>
</xsl:choose>
 

</xsl:variable>

<xsl:variable name="date" select="concat(substring(string($node),13,4),'-',$Mes,'-',substring(string($node),6,2))"/>
<xsl:value-of select="$date"/>

</xsl:template>

Conclusiones

XML y XSL es una buena combinación y, además, una implementación del patrón MVC (Modelo-Vista-Controlador):

  • El modelo es la estructura del documento XML
  • La vista el XSL
  • En controlador sería la rutina que generaría en XML e invocaría al motor XSL

Para mi gusto, XML y XSL permita hacer aplicaciones de un modo rápido y, cuando conoces un poco XSL, de un modo no muy complejo, aunque tiene ciertos inconvenientes.....  sobre todo que se acaba desvirtuando en modo (XML) para satisfacer a la plantilla (XSL)

Hay que decidir en cada proyecto la opción arquitectónica más adecuada.

¿Qué te ha parecido el tutorial? Déjanos saber tu opinión y ¡vota!

Muy malo Malo Regular Bueno Muy bueno
 


(Sólo para usuarios registrados)

» Registrate y accede a esta y otras ventajas «

Anímate y coméntanos lo que pienses sobre este tutorial

Puedes opinar o comentar cualquier sugerencia que quieras comunicarnos sobre este tutorial; con tu ayuda, podemos ofrecerte un mejor servicio.


(Sólo para usuarios registrados)

» Registrate y accede a esta y otras ventajas «

Autor Mensaje de usuario registrado
Autor Mensaje de usuario anónimo
Antonio Rocha Fecha de envío: 2007-07-19 - 01:08:56 AM
gracias a su tutorial pude resolver un gran problema que tenia en mi trabajo con relacion a los links y sxl. muy buen materia de verdad


Creative Commons License Esta obra está licenciada bajo licencia Creative Commons de Reconocimiento-No comercial-Sin obras derivadas 2.5

Recuerda

Autentia te regala la mayoría del conocimiento aquí compartido (Ver todos los tutoriales). Somos expertos en: J2EE, Struts, JSF, C++, OOP, UML, UP, Patrones de diseño ... y muchas otras cosas.

¿Nos vas a tener en cuenta cuando necesites consultoría o formación en tu empresa?, ¿Vas a ser tan generoso con nosotros como lo tratamos de ser con vosotros?

Somos pocos, somos buenos, estamos motivados y nos gusta lo que hacemos ...

Autentia = Soporte a Desarrollo & Formación.

info@autentia.com

Tutoriales recomendados

Nombre Resumen
Fecha
Visitas Valoración Votos Pdf
Transformación de mensajes en SOA con OpenESB En este tutorial vamos a mostrar con un ejemplo práctico una de las capacidades esenciales de todo sistema de integración, y por tanto característica del Enterprise Service Bus de SOA: la tranformación de mensajes. 2010-01-29 320 - -
Patrones de diseño de XML Schema En este tutorial vamos a analizar y mostrar con ejemplos los cuatro principales patrones de diseño de XML Schema: Russian Doll, Salami Slice, Venetian Blind y Garden of Eden. 2010-01-07 757 Muy bueno 1
Contract-First web services con Visual Studio 2008 Utilizaremos Visual Studio 2008 con el addin WSCF.blue para generar contract-first web services (servicios web dirigidos por contrato) 2009-12-11 989 - -
StAX (Xml Pull Parser): Streaming API para XML En este tutorial veremos una introducción a StAX un Parser de tipo Pull y Stream XML. 2009-06-20 2680 - -
Broadcast con Ustream En este tutorial vamos a descubrir una web gratuita de Broadcasting en internet 2009-05-28 4630 - -
Registro de Web Services con Apache jUDDI. Configuración y ejemplo Veamos como podemos catalogar y buscar web services bajo la especificación UDDI (Universal Description, Discovery and Integration) 2009-04-13 4772 - -
Generación de XML Schema (XSD) y DTD a partir de documentos XML En este tutorial aprenderemos a generar XML Schema (XSD) y DTD a partir de documentos XML 2009-03-15 3913 - -
Edicion de video MPEG2 Este tutorial pretende ser una sencilla y práctica guía para editar y "tunear" nuestros pequeños videos caseros con herramientas gratuitas pero muy efectivas. 2009-02-27 3021 - -
Integración Selenium / Maven 2 / Surefire / Cargo / Tomcat 6 Con este tutorial se pretende integrar en nuestro proyecto : Maven, Selenium, Surefire, Cargo y Tomcat 6 con el objetivo de incluir y ejecutar las pruebas de integración dentro del ciclo de vida de Maven. 2009-02-26 1879 - -
Introducción teórica a XPath Con este tutorial se pretende enseñar de forma teórica el uso de expresiones XPath pensando sobre todo en su posible uso con el paquete Selenium u otras aplicaciones. 2009-02-26 2681 - -

Nota:

Los tutoriales mostrados en este Web tienen como objetivo la difusión del conocimiento. Los contenidos y comentarios de los tutoriales son responsabilidad de sus respectivos autores. En algún caso se puede hacer referencia a marcas o nombres cuya propiedad y derechos es de sus respectivos dueños. Si algún afectado desea que incorporemos alguna reseña específica, no tiene más que solicitarlo. Si alguien encuentra algún problema con la información publicada en este Web, rogamos que informe al administrador rcanales@adictosaltrabajo.com para su resolución.