|
Programacion
|
El fichero de datos 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:
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*)> 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 al Html 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)
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. El código ASP Por último, necesitamos dos rutinas escritas en VBScript (o JSCript) para realizar la transformación XML a HTML, y para añadir elementos item al documento XML a partir de un formulario en HTML. El código para realizar la transformación es muy simple usando el parser de Microsoft. xmlDoc = "data.xml" Set xmlObj = CreateObject("Microsoft.XMLDOM") Set xslObj = CreateObject("Microsoft.XMLDOM") Response.Write(xmlObj.transformNode(xslObj)) El código para añadir un elemento item al documento XML, se basa en crear el nodo item en una cadena de texto, cargar la cadena de texto en una instancia del parser, y utilizar el método appendChild del DOM para añadirlo al documento XML que almacena nuestros datos. stringNuevo = vbCrLf & " Set xmlObj = CreateObject("Microsoft.XMLDOM") Set xmlObj2 = CreateObject("Microsoft.XMLDOM") Set root = xmlObj.documentElement root.appendChild(root2) Set xmlObj = nothing Por fin, integrando este código en un solo fichero .ASP, y haciendo que el formulario se llame a si mismo: <% If Len(Trim(nombre))=0 Then If Len(Trim(texto))=0 Then ip = Request.ServerVariables("REMOTE_HOST") fecha = Day(Now) & "-" & Month(Now) & "-" & Year(Now) orden = Year(Now) If Month(Now)<10 Then orden=orden & "0" If Day(Now)<10 Then orden=orden & "0" If Hour(Now)<10 Then orden=orden & "0" If Minute(Now)<10 Then orden=orden & "0" stringNuevo = vbCrLf & " If okay Then xmlObj.Async = False xmlObj2.Async = False Set root = xmlObj.documentElement root.appendChild(root2) xmlDoc = "data.xml" Set xmlObj = CreateObject("Microsoft.XMLDOM") Set xslObj = CreateObject("Microsoft.XMLDOM") Response.Write(xmlObj.transformNode(xslObj)) <%= mensaje %> |
![]()
Informe (Xml) de Alfredo Areino
Webmaster de http://www.alfredoareino.com
Han valorado este artículo de Xml. 9 usuario(s).
Valoración media:
Este artículo ha sido leído ( 8348 veces ).
Fecha: 10/20/2005
![]()
|
|