• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

filip_e

Iniciando com XML

7 mensagens neste tópico

Iniciando com XML

Antes de tudo deve-se ter noções básicas de elementos, atributos e valores e de como montar um documento em XML.

Elementos (normalmente contem texto). Ex:

<nome>filip_e</nome>
<empresa> Impacta Tecnologia</empresa>
Atributo (descreve o texto). Ex.:
<nome cargo='Instrutor'>filip_e</nome>

Aqui o atributo cargo descreve que filip_e e instrutor

Exemplo: cadastro.xml

<?xml version="1.0"?>
<cadastro>
<ficha n="1">
<nome cargo="Instrutor">filip_e</nome>
<periodo>Integral</periodo>
<forum status="Moderador">XML</forum>
</ficha>
</cadastro>

Importante

Ha diferença entre maiúsculas e minúsculas, ou seja, Nome não e igual a nome

As tags de fechamento são obrigatórias

E obrigatório o elemento raiz - root (elemento que contem todos os elementos)

Não e obrigatório o uso do prolog <?xml version='1.0'?>

O documento xml pode conter comentários como o HTML

COD1 - O documento XML do projeto

<?xml version="1.0" ?>
<agenda>
<contato>
<campo id="Nome" taborder="1">
<valor>filip_e</valor>
</campo>
<campo id="Sobrenome" taborder="2">
<valor>Costa</valor>
</campo>
<campo id="residencial" taborder="3">
<valor>Rua Bandeirantes</valor>
</campo>
<campo id="Comercial" taborder="4">
<valor>Paulista, 1009</valor>
</campo>
<campo id="telefone" taborder="5">
<valor>944446</field_value>
</campo>
<campo id="email" taborder="6">
<valor>propileneglicol@zipmail.com.br</valor>
</campo>
</contato>
</agenda>

Este e o documento XML do projeto. Se aberto no Browser (IE 5.0) terá como resposta uma estrutura de arvore como a do código acima. Agora precisamos apresenta-lo de uma forma agradável ao cliente. Esta e uma característica importante do XML, ele separar apresentação e dados.

Definindo que a única tarefa do XML e o gerenciamento dos dados, e que o XML vem com o poder inigualável de conseguir reutilizar os dados espalhos em um pagina Web, visto que ele esta demarcada com tags que auxiliam sua descrição e filtragem.

Formatando os dados

Agora precisara de uma folha de estilo que formate os dados de seus documentos XML e os exiba no Browser. Com estas folhas de estilo, denominadas XSLT pode-se separa dados, filtra-los ou reordena-los de acordo com uma regra ou condição estipulada no código.

Perceba aqui enorme diferença para as folhas de estilos para HTML, no caso CSS, que apenas formatam texto, como HTML.

Um documento XSLT, como um documento XML, deve iniciar com a prolog de declaração de tipo de documento XML. Logo, apos devem ser declarados a namespce para a folha de estilo:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

Logo apos isto o processador procura um modelo a ser aplicado ao root

<xsl: template match="/"

e inicia-se a criação do documento em HTML com a seleção dos elementos que desejamos selecionar do documento XML.

Esta seleção é feita através de

<xsl:value-of select="expr" />

Porem vale ressaltar que anteriormente foi selecionado um caminho através do atributo SELECT,

<xsl:for-each select="cadastro/ficha">

onde esta sendo selecionado ficha do elemento cadastro.

Veja como ficaria uma folha de estilo para o arquivo de exemplo cadastro.xml

Exemplo XSLT: (cadastro.xsl)

<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<table border="1">
<tr>
<td>
<font face="verdana" size="-1"><center>Nome</center></font>
</td>
<td>
<font face="verdana" size="-1"><center>Periodo</center></font>
</td>
</tr>
<xsl:for-each select="cadastro/ficha">
<tr>
<td>
<font face="verdana" size="-1">
<b>
<xsl:value-of select="nome" />
</b>
</font>
</td>
<td>
<font face="verdana" size="-1">
<xsl:value-of select="periodo" />
</font>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

A prologolog abaixo deve ser inserida no documento XML para chamar a folha de estilo

<?xml:stylesheet type="text/xsl" href="cadastro.xsl"?>

Agora abra o documento XML no IE e veja o resultado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde,

Uma pequena duvida:

Para quem sabe html, vale a pena aprender XML? Em que situações é aplicado o XML? Quais as suas principais funções?

Fiquem bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aí está uma bela pergunta.

Também não vejo qual a utilização do XML (eu sei que sou cego  :) ).

Acho que o XML serve para intercâmbio de dados entre programas, mas como é que se gera o cógigo XML?

O que é que o XML pode fazer (ou o que é que faz melhor ) que não faça uma Base de Dados + Uma linguagem qualquer?

Exemplos concretos seriam bem vindos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sorry reabrir este tópico, mas já agora aproveito para responder à tua pergunta e colocar um pedido...

O XML serve essencialmente para muita coisa ;) Desencadear acções sobre ficheiros, fazer de base de dados e etc..., por exemplo:

O SMF é o software usado neste fórum, e algumas das funcionalidades que nós temos disponíveis não vinham de origem, existem alguns pacotes, chamados abreviadamente de mods, que contêm código XML para desencadear alterações nos ficheiros de raís do SMF, alterando as partes respectivas de forma a que o HTML dos templates ou ficheiros de funções fiquem com a nova funcionalidade.

Um outro exemplo pode ser o de uma página de notícias..., imagina que queres ficar com uma página HTML de um semanário, e na semana seguinte outra página e isto sem teres de ter de fazer um acesso à BD sempre que queres ver essa página (exemplo parvo, mas efim), a formatação é sempre a mesma, usando XML podes colocar os artigos dentro das devidas tags e basta-te compilar o XML que o XSLT trata de meter em HTML :D

O código XML, são tags que tu INVENTAS, só tens de as ter bem definidas no código XSLT, este sim trata de fazer a respectiva relação de dados e HTML :D

Agora a pergunta..., que livros recomendam sobre este tema? Ou sites ou tutoriais, sff :)

abraços, HecKel

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aí está uma bela pergunta.

Também não vejo qual a utilização do XML (eu sei que sou cego  :) ).

Acho que o XML serve para intercâmbio de dados entre programas, mas como é que se gera o cógigo XML?

O que é que o XML pode fazer (ou o que é que faz melhor ) que não faça uma Base de Dados + Uma linguagem qualquer?

Exemplos concretos seriam bem vindos.

Sim, serve para isso e muito mais. O XML permite-te guardar estruturas de dados em ficheiros de texto com caracterïsticas pré-definidas. XML não é uma linguagem, é uma família de linguagens 'marked up'.

Que vantagem é que isto tem? Perguntarás... várias. Foram desenvolvidos parsers que pegam num ficheiro xml e põe aquilo para dentro de estruturas de dados. Isto permite desenvolver aplicações em qualquer linguagem que falem entre si entre linguagens XML.

É o caso do XML RPC e do soap

http://www.xmlrpc.com/

http://en.wikipedia.org/wiki/SOAP

Permite tambem, por exemplo guardar uma base de dados num ficheiro de texto para que seja facilmente acedidad por qq editor de texto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estou com uma grande dúvida.. XSL e XSLT.

Pelo que li parece-me (talvez erradamente) que estão a trocar as coisas.

Neste tutorial falam em XSLT como uma forma de formatar os dados para HTML e não o é.

XSLT é uma forma de transformar XML noutro formato enquanto XSL é a forma utilizada para formatar como vai aparecer o conteúdo.

É claro que para o XSL funcionar necessita do XSLT que está a transformar o original xml

Estou eu correcto ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, estás.

No meu post anterior referi a transição de XML para HTML porque na altura era o que eu estava a tentar fazer, mas XSLT é mesmo transformar para outro formato, ou até mesmo, para outro ficheiro XML.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora