El objeto de este mini-tutorial es desarrollar una aplicación práctica sencilla utilizando XML (eXtended Mark-up Language) y ASP (Active Server Pages). Para saber un poco más de XML, visita la "Introducción a XML en castellano" o cualquiera de las miles de páginas que existen en la red sobre el tema.
Para almacenar las firmas de los visitantes a nuestro website vamos a utilizar un documento XML de la siguiente forma:
<?xml version="1.0" encoding="ISO-8859-1"?>
<guestbook>
<item>
<author>Andres</author>
<email>andres@correo.com</email>
<datetime order="200005161603">16-5-2000 (16:03)</datetime>
<ip>197.50.123.14</ip>
<text>Hola, me gusta tu tutorial</texto>
</item>
<item>
<author>Juan</author>
<email>juan@email.es</email>
<datetime order="200005171413">17-5-2000 (14:13)</datetime>
<ip>195.2.170.174</ip>
<text>Saludos desde Albacete</text>
</item>
</guestbook>
Este documento XML contiene un elemento guestbook, que a su vez contiene elementos item. Un DTD para este documento sería el siguiente;
<!ELEMENT guestbook (item*)>
<!ELEMENT item (author, email, datetime, ip, text)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT ip (#PCDATA)>
<!ELEMENT text (#PCDATA)>
<!ELEMENT datetime (#PCDATA)>
<!ATTLIST datetime order CDATA #REQUIRED>
La razón de almacenar la fecha y hora de dos maneras diferentes en el elemento datetime es tener un formato para visualización (dd-mm-aaaa hh:mm) y otro para ordenación (yyyymmddhhmm) sin tener que hacer cambios de formato de fecha.
La transformación de XML a HTML la realizamos en el servidor, para asegurarnos una compatibilidad 100% con cualquier navegador web, utilizando el parser MSXML de Microsoft.
El documento XSLT que va a realizar la transformación es el siguiente (utilizando la implementación inicial de Microsoft para XSL)
<?xml version='1.0' encoding='UTF-7'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<xsl:for-each select="guestbook/item" order-by="-datetime/@order">
<P><B><xsl:value-of select="author"/></B><BR/>
<A>
<xsl:attribute name="href">mailto:<xsl:value-of select="email"/>
</xsl:attribute>
<xsl:value-of select="email"/>
</A>
<BR/>
<xsl:value-of select="text"/>
<I><xsl:value-of select="datetime"/></I>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Es fácil ver que lo que hacemos es iterar a través de todos los elementos item contenidos en guestbook, y presentarlos como un documento HTML.
Usuarios que han visto este tema también han visto...
- Rotación de banners en ASP
- Paginar resultados cada X registros
- Bloquear IPs a través de un array con ASP
- Utilizando SAFileUp para realizar un upload
- Calculando Fechas y Horas en ASP

Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.