XSLT no servidor
- Página Anterior XSLT no Cliente
- Próxima Página Editar XML com XSLT
Devido ao fato de que não todos os navegadores suportam o XSLT, outra solução é realizar a conversão de XML para XHTML no servidor.
Solução Multibrowser
Nos capítulos anteriores, explicamos como usar o XSLT no navegador para realizar a conversão de XML para XHTML. Criamos um segmento de JavaScript que usa o parser XML para a conversão. A solução JavaScript não funciona em navegadores que não têm parser XML. Para que os dados XML sejam aplicáveis a qualquer tipo de navegador, devemos realizar a conversão do documento XML no servidor e enviá-lo como XHMTL para o navegador.
Esta é outra vantagem do XSLT. Um dos objetivos de design do XSLT é tornar possível a conversão de dados de um formato para outro no servidor e retornar dados legíveis para todos os tipos de navegadores.
Arquivos XML e XSL
Veja este documento XML que já foi apresentado em capítulos anteriores:
<?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>
e bem como os estilos XSL anexos:
<?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>Minha Coleção 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>
Por favor, note que este arquivo XML não contém referências ao arquivo XSL.
Importante:A frase acima indica que o arquivo XML pode ser transformado usando vários diferentes catálogos de estilo XSL.
Converter XML em XHTML no servidor
Este é o código-fonte para converter arquivos XML em XHTML no servidor:
<% 'Carregar XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) 'Carregar XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) 'Transformar arquivo Response.Write(xml.transformNode(xsl)) %>
Dica:Se você não sabe como escrever ASP, pode aprender com o nossoASP Tutorial》
O primeiro código cria uma instância do parser do XML da Microsoft e carrega o arquivo XML na memória. O segundo código cria outra instância do parser e carrega o arquivo XSL na memória. A última linha de código usa o documento XSL para transformar o documento XML e enviar o resultado como XHTML para seu navegador. Tarefa concluída!
- Página Anterior XSLT no Cliente
- Próxima Página Editar XML com XSLT