3. Descripción del archivo XSL de conversión de formato (personas.xsl)
En la rutina, XSL se utiliza para formatear los datos XML y devolverlos al cliente en HTML. Este proceso también se puede llevar a cabo en el lado del cliente, pero teniendo en cuenta el problema de compatibilidad, la rutina adopta el método de formateo a través de ASP en el lado del servidor.
El contenido del archivo XSL es el siguiente:
<? Xml versión = "1.0" encoding = "gb2312"? > < xsl: Stylesheet xmlns: xsl = "http://www.w3.org/1999/xsl/transform" versión = "1.0"> < xsl: plantlate coincidente = "/personas"> < Script Language = "JavaScript"> función add () { window.open ("add.asp", "agregar", "ancho = 300, altura = 320, resize = no"); } Function Edit (Intid) { Window.open ("edit.asp? id ="+intid, "editar", "width = 300, altura = 320, resize = no"); } </script > < Tabla Align = "Center" > < TR > < td align = "right"> < a href = "javascript: add ();"> Agregue un nuevo contacto </a> </td> </tr > </tabla > < Tabla Align = "Center" CellPacing = "1" CellPadding = "2" bgcolor = "#666600"> < tr bgcolor = "#E5E5E5" > < td >< xsl: texto disable-output-escaping = "YES" > & </XSL: texto > nbsp; </td > < td > nombre </td > < TD > Nombre en inglés </TD > < TD > Teléfono móvil </TD > < TD > Tel </TD > < TD > Correo electrónico </TD > < td > qq </td > < TD > Compañía donde se encuentra </TD > </tr > < xsl: for-each select = "persona" > < tr bgcolor = "#ffffff" > < td align = "right"> < xsl: value-of select = "posicion ()"/> </td> < td style = "color:#990000"> <a> < xsl: attribute name = "href"> javascript: edit ('< xsl: valor-de select = "posicion ()"/>'); </xsl : atributo> < xsl: attribute name = "title"> Información de modificación </xsl: atributo> < xsl: value-of select = "name"/> </a> </td > < td >< xsl: valor-de select = "nick"/></td > < td >< xsl: valor de select = "móvil"/></td > < td >< xsl: value-de select = "Tel"/></TD > < td ><a>< xsl: attribute name = "href" > mailto: < xsl: value-of select = "correo electrónico"/></xsl: atributo> < xsl: valor-de select = "correo electrónico"/> </a></td > < td >< xsl: value-de select = "Qq"/></TD > < td >< xsl: value-de select = "Company"/></TD > </tr > </XSL: para cada </tabla > </xsl: plantilla > </xsl: hojas de estilo > |
La conversión en el lado del servidor se completa utilizando una función.
'************************************************** 'Descripción: formatear el archivo XML usando un archivo XSL. 'Autor: GWD 2002-11-05 'Parámetros: strxmlfile - archivo xml, ruta + nombre de archivo 'strxslfile - archivo xsl, ruta + nombre de archivo 'Return: éxito - cadena HTML formateada 'Falló - Mensaje de error personalizado '************************************************** Función formatxml (strxmlfile, strxslfile) Dim objxml, objxsl strxmlfile = server.mappath (strxmlfile) strxslfile = server.mappath (strxslfile) Establecer objxml = server.createObject ("msxml2.domDocument") Establecer objxsl = server.createObject ("msxml2.domDocument") objxml.async = falso Si objxml.load (strxmlfile) entonces objxsl.async = falso objxsl.validateOnParse = falso Si objxsl.load (strxslfile) entonces En Error Reano Siguiente 'Errores de captura en el método TransformNode Formatxml = objxml.transformnode (objxsl) Si objxsl.parseError.errorCode <> 0 entonces entonces Respuesta.Write "<Br> < HR>" Response.WRITE "Código de error:" y objxsl.parseError.ErrorCode Respuesta Respuesta Formatxml = "< spanalert" "> Formato de error de archivo xml! </span>" Final si Demás Respuesta.Write "<Br> < HR>" Response.WRITE "Código de error:" y objxsl.parseError.ErrorCode Respuesta Respuesta Formatxml = "< spanalert" "> Error cargando el archivo xsl! </span>" Final si Demás Respuesta.Write "<Br> < HR>" Response.Write "Código de error:" y objxml.parseError.errRorcode Response.Write "<Br> Error Razon Respuesta FormatXml = "< spanalert" "> Error cargando archivo xml! </span>" Final si Establecer objxsl = nada Establecer objxml = nada Función final |