XSLT en el servidor
- Página anterior XSLT en el cliente
- Página siguiente Editar XML con XSLT
Dado que no todos los navegadores admiten XSLT, otra solución es completar la conversión de XML a XHTML en el servidor.
Solución multiplataforma
En el capítulo anterior, explicamos cómo usar XSLT en el navegador para realizar la conversión de XML a XHTML. Creamos un segmento de JavaScript que utiliza un analizador XML para la conversión. La solución JavaScript no funciona en navegadores sin analizador XML. Para que los datos XML sean compatibles con cualquier tipo de navegador, debemos convertir el documento XML en el servidor y luego enviarlo como XHMTL al navegador.
Esta es otra ventaja de XSLT. Uno de los objetivos de diseño de XSLT es permitir la conversión de datos de un formato a otro en el servidor y proporcionar datos legibles para todos los tipos de navegadores.
Archivos XML y XSL
Vea este documento XML que se ha mostrado en el capítulo anterior:
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . . </catalog>
así como las hojas de estilo XSL adjuntas:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"} xmlns:xsl="http://www.w3.org/1999/XSL/Transform" <xsl:template match="/"> <html> <body> <h2>Mi Colección de CDs</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Título</th> <th align="left">Artista</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title" /></td> <td><xsl:value-of select="artist" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Tenga en cuenta que este archivo XML no contiene referencias a los archivos XSL.
Importante:La frase anterior indica que los archivos XML pueden ser transformados usando múltiples hojas de estilo XSL diferentes.
Convertir XML en XHTML en el servidor
Este es el código fuente para convertir archivos XML en XHTML en el servidor:
<% Cargar XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) Cargar XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) Transformar archivo Response.Write(xml.transformNode(xsl)) %>
Consejo:Si no conoce cómo escribir ASP, puede aprender en nuestroTutorial ASP》。
El primer código crea una instancia del analizador XML de Microsoft y luego carga el archivo XML en la memoria. El segundo código crea otra instancia del analizador y luego carga el archivo XSL en la memoria. La última línea de código utiliza el documento XSL para transformar el documento XML y enviar los resultados como XHTML a su navegador. Tarea completada!
- Página anterior XSLT en el cliente
- Página siguiente Editar XML con XSLT