USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  ASP - Active Server Page    (Miscelâneas)

Título da Dica:  Fazer páginas utilizando ficheiros XSL
Postada em 23/10/2003 por ^HEAVY-METAL^            
Tem-se falado muito em XML, DOM e XSLT em conjugação com ASPs. Alguns de vós já devem ter feito alguma coisa nessa área. Este artigo é para os que nunca tiveram contacto com essa tecnologia, fornecendo um pequeno exemplo do que pode ser feito.

Este exemplo é composto por 3 ficheiros. Para poder testar o seu funcionamento, basta possuir instalado no PC o Personal Web Server e o Internet Explorer 5.0.

Ficheiro : exemplo.xml

O xml (eXtensible Markup Language) permite guardar informação e aceder à mesma. Assim como poderão ver de seguida, vai ser utilizado para guardar a informação que é independente da plataforma utilizada.

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="exemplo.xsl"?>
<!-- a linha acima permite que caso este ficheiro seja aberto com o IE5 o xsl abaixo descrito lhe seja aplicado sem necessidade do .asp -->
<exemplo>
<!-- Isto é um comentário -->

<titulo>Pequeno exemplo</titulo>
<!-- assim como foi utilizado o nome 'titulo' ou 'exemplo' podiam ter sido usados outros -->

<ficheiros>

  <ficheiro>
   <nome>exemplo.xml</nome>
   <descricao>Contém o código que neste momento está a ler :)
   </descricao>
  </ficheiro>

  <ficheiro>
   <nome>exemplo.xsl</nome>
   <descricao>Contém a formatação que irá ser aplicada ao xml
   </descricao>
  </ficheiro>

  <ficheiro>
   <nome>exemplo.asp</nome>
   <descricao>O ficheiro ASP</descricao>
  </ficheiro>

</ficheiros>

<exemplo>

Ficheiro : exemplo.xsl

Este ficheiro define como o xml deverá ser transformado num formato reconhecido pelo browser. Imagine que pretende os dados contidos no xml sejam consultados por vários browsers, mas que os mesmos não são compativeis entre si. Neste caso pode manter o xml e fazer um xsl especifico para cada tipo de browser.

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">
<!-- a linha acima é utilizada para para indicar que é uma template que corresponde à raiz do documento xml -->
<html>
<body>
<h1><xsl:value-of select="exemplo/titulo"/></h1>
<xsl:apply-templates select="exemplo/ficheiros"/>
</body>
</html>
</xsl:template>

<xsl:template match="ficheiros">
<table border="2">
  <tr>
   <th>Nome</th>
   <th>Descrição</th>
  </tr>
  <xsl:apply-templates select="ficheiro"/>
</table>
</xsl:template>

<xsl:template match="ficheiro">
  <tr>
   <th><xsl:value-of select="nome"/></th>
   <th><xsl:value-of select="descricao"/></th>
  </tr>
</xsl:template>

</xsl:stylesheet>

Ficheiro : exemplo.asp

<%
    '**** Criação dos objectos que irão conter o xml e o xsl *****
    ' o domXML irá conter o xml original
    Set domXML= Server.CreateObject("Microsoft.XMLDOM")

    ' o domStyle irá conter o stylesheet
    Set domStyle= Server.CreateObject("Microsoft.XMLDOM")

    '**** o Load do xml em memória****
    domXML.async = False
    domXML.Load Server.MapPath ("exemplo.xml")

    '**** o Load do xsl em memória ****
    domStyle.async = False
    domStyle.Load Server.MapPath("exemplo.xsl")

    'o xsl é aplicado ao xml sendo o resultado devolvido ao browser
    Response.Write domXML.transformNode(domStyle)

    'Limpo as variaveis
    Set domXML= Nothing
    Set domStyle= Nothing
%>

Este ficheiro está escrito em VBScript e faz com que o xsl seja aplicado ao xml devolvendo em seguida o resultado.


T+,
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página