ATPS – Linguagem Organização Transferência Dados Web
Por: david1r20 • 1/10/2015 • Trabalho acadêmico • 1.097 Palavras (5 Páginas) • 471 Visualizações
Centro Universitário Anhanguera de São Paulo
Unidade Vila Mariana
ATPS – Linguagem Organização Transferência Dados Web
São Paulo 2015
Professor
Etapa 03
Introdução
Estamos guardando, compartilhando e utilizando dados armazenados utilizando XML. O sucesso se deve a possibilidade de, de forma simples, podermos descrever nossos dados, de acordo com necessidades claras, apresentando uma facilidade incrível com que outros sistemas podem recuperá-los, utilizá-los em grande escala e com total liberdade, praticamente independente de tecnologias.
Em XML, marcamos nossos dados utilizando o mesmo conceito de tags, existentes em outras linguagens de marcação. A diferença de XML (embora não seja sua exclusividade) é que nós mesmo podemos definir as tags, de forma que as informações mantenham uma estrutura que guarda o sentido que nossos dados possuem na nossas aplicações.
Assim, por exemplo, nossa aplicação consiste em um sistema para controle de uma loja, podemos ter uma tag “produto”, assim se armazenamos as informações dos nossos arquivos em um arquivo comum, de texto plano, podemos facilmente identificar cada produto. Os dados de cada produto estarão entre uma tag de tipo “produto”, de abertura, e uma de fechamento.
Com XML podemos fazer com que nossos dados tenham um significado, uma semântica, mas, e se quisermos visualizar os dados? Nós não possuímos algo como um navegador para documentos HTML que automaticamente identique a estrutura do nosso documento, e saiba como esperamos visualizá-lo.
Folhas de Estilo para documentos XML
A motivação para criação da XSL (Extensible Stylesheet Language) é a solução para esta questão. A familia de linguagens XLS permite que você manipule arquivos XML gerando outros documentos, em formatos como HTML e PDF, e consiste de três linguagens.
- XSLT (XLS transformation) que permite transformar documentos XML em documentos HTML, por exemplo.
- A XSL Path que permite selecionar elementos de um arquivo XML, permitindo manipular os documentos XML com bastante liberdade.
- XLS-FO (XML Formatting Objects) que permite criar uma semântica de formatação para um documento XML.
Nós podemos comparar na XSL como uma forma de CSS (Cascading Style Sheets) para documentos HTML, e a seguir teremos uma visão geral do que podemos fazer com ela.
Tranformando documentos XML
A XLS Tranformations nos permite tranformar documento XML em outros documentos XML, ou documentos HTML. Com ela podemos manipular os dados de acordo com os valores, filtrar ordenar preparar os dados para exibição, adicionar elementos ou remover. A logica comum por trás da XLS é relativamente simples: para cada elemento XML nós definimos uma representação no documento de saída, embora, como dito, podemos incluir, ou remover elementos. um exemplo:
Supondo que temos um documento XML como seguinte conteúdo:
<sala>
<aluno>
<nome>RICARDO</nome>
<idade>24</idade>
<semestre>5</semestre>
</aluno>
<aluno>
<nome>MARCELO</nome>
<idade>24</idade>
<semestre>5</semestre>
</aluno>
</sala>
Podemos utilizar um estilo XSLT para transformar este arquivo como a seguir:
<xls:template match="/">
<html>
<body>
<h2>Sala</h2>
<table border="0">
<tr bgcolor="white">
<th>Nome</th>
<th>Idade</th>
<th>Semestre</th>
</tr>
<xls for-each select="sala/aluno">
<tr>
<td><xsl:value-of select="nome"/></td>
<td><xsl:value-of select="idade"/></td>
<td><xsl:value-of select="semestre"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
E com isso transformamos nosso arquivo em um documento HTML, que podemos abrir em qualquer navegador com suporte à XSL, obtendo algo como:
Sala
Nome Idade Semestre
RICARDO 24 5
MARCELO 24 5
Entendendo XSL
Como isso é feito? Vamos entender. Na primeira linha do documento XLS foi utilizando o elemento <xls:template match=”/”>. Ele tem o seguinte significado: vamos criar um modelo e aplicar a uma determinada parte, definida pelo nosso atributo “match”, como usamos uma barra, significa que estamos aplicando o nosso template a todo o documento.
O proximo elemento que desconhecemos é <xsl:for-eact select sala/aluno> que queremos iterar sobre cada elemento aluno do nosso documento XML. Os comandos HTML já
...