STADT Campus

www.brcampus.blogger.com.br Prepare-se para fazer o destino
da sua vida, em empregos,
facudades o que for!!!

Vestibular Estácio

www.Estacio.br/Vestibular Matricule-se e Ganhe Material Didático. Prova dia 13/03. Acesse!

Universidade Federal -UBA

www.viveenbuenosaires.com Sem Mensalidade e Sem Vestibular! Estude em Buenos Aires - Argentina.

domingo, 14 de março de 2010

Camping 1(XML) - Conteúdo

Campus - (XML) Aula 1

Pessoal, XML é o Codigo de Internet Pré Programavel, e Lucas, pare de mandar Torpedos pedindo as respostas das provas de PHP Super Codificados, eu só darei para quem fez a prova! Quem lê o significado da sigla XML - Extensible Markup Language - pode ser levado a pensar que é apenas uma linguagem a mais, como tantas outras. Entretanto, a palavra chave em XML, o "X" da questão, é "extensível". Isso significa que XML está em um nível de abstração onde ela é considerada uma meta-linguagem. Em termos mais simples, uma meta linguagem é capaz de permitir a criação de outras linguagens. Esta criação se dá basicamente pela definição de novos conjuntos de tags, e pelas regras que um documento XML deve seguir.

É importante perceber que XML é um meio e não um fim, ou seja, não basta criar novas tags, é necessário também definir o que elas significam e como um dado programa deve interpretá-las. Para darmos um exemplo, seja o seguinte fragmento de HTML descrevendo uma faixa de um CD:

<br /> &amp;lt;dl&amp;gt;<br /> &amp;lt;dt&amp;gt;Gente Humilde <br /> &amp;lt;dd&amp;gt;por Chico Buarque, Vinícius de Moraes e Garoto <br /> &amp;lt;ul&amp;gt;<br /> <br /> &amp;lt;li&amp;gt;produtor: Chico Buarque <br /> &amp;lt;li&amp;gt;gravadora: Polygram <br /> &amp;lt;li&amp;gt;duraþÒo: 3min 21 seg <br /> &amp;lt;li&amp;gt;gravado em 1974 <br /> &amp;lt;li&amp;gt;intÚrprete: Chico Buarque <br /> &amp;lt;/ul&amp;gt;<br />

É uma tendência natural em muitos artigos e livros mostrar o mesmo exemplo em XML, como se segue:

<br /> &amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;iso-8859-1&amp;amp;quot;?&amp;amp;gt; <br /> &amp;lt;MUSICA&amp;gt;<br /> <br /> &amp;lt;TITULO&amp;gt;<br /> Gente Humilde&amp;lt;/TITULO&amp;gt;<br /> <br /> &amp;lt;COMPOSITOR&amp;gt;<br /> Chico Buarque&amp;lt;/COMPOSITOR&amp;gt;<br /> <br /> &amp;lt;COMPOSITOR&amp;gt;<br /> Vinícius de Moraes&amp;lt;/COMPOSITOR&amp;gt;<br /> <br /> &amp;lt;COMPOSITOR&amp;gt;<br /> Garoto&amp;lt;/COMPOSITOR&amp;gt;<br /> <br /> &amp;lt;PRODUTOR&amp;gt;<br /> Chico Buarque&amp;lt;/PRODUTOR&amp;gt;<br /> <br /> &amp;lt;GRAVADORA&amp;gt;<br /> Polygram&amp;lt;/GRAVADORA&amp;gt;<br /> <br /> &amp;lt;DURACAO&amp;gt;<br /> 3min 21seg &amp;lt;/DURACAO&amp;gt;<br /> <br /> &amp;lt;ANO&amp;gt;<br /> 1974&amp;lt;/ANO&amp;gt;<br /> <br /> &amp;lt;INTERPRETE&amp;gt;<br /> Chico Buarque&amp;lt;/INTERPRETE&amp;gt;<br /> <br /> &amp;lt;/MUSICA&amp;gt;<br />

Não há nada errado com o exemplo, aliás ele parece fazer sentido e ser fácil de entender. O que está sutilmente subentendido é que neste caso você, o leitor, está fazendo o processamento XML de forma até mesmo inconsciente. O fato de usarmos tags como MUSICA ou TITULO é apenas uma conveniência para nós, humanos, podermos ler e entender melhor.

Mas XML aceitaria perfeitamente um documento como:

<br /> &amp;amp;lt;?xml version=&amp;amp;quot;1.0&amp;amp;quot; encoding=&amp;amp;quot;iso-8859-1&amp;amp;quot;?&amp;amp;gt; <br /> &amp;lt;M&amp;gt;<br /> <br /> &amp;lt;T321&amp;gt;<br /> Gente Humilde&amp;lt;/T321&amp;gt;<br /> <br /> &amp;lt;CP&amp;gt;<br /> Chico Buarque&amp;lt;/CP&amp;gt;<br /> <br /> &amp;lt;CP&amp;gt;<br /> Vinícius de Moraes&amp;lt;/CP&amp;gt;<br /> <br /> &amp;lt;CP&amp;gt;<br /> Garoto&amp;lt;/CP&amp;gt;<br /> <br /> &amp;lt;PD&amp;gt;<br /> Chico Buarque&amp;lt;/PD&amp;gt;<br /> <br /> &amp;lt;GDA&amp;gt;<br /> Polygram&amp;lt;/GDA&amp;gt;<br /> <br /> &amp;lt;DR&amp;gt;<br /> 3min 21seg &amp;lt;/DR&amp;gt;<br /> <br /> &amp;lt;a&amp;gt;1974&amp;lt;/a&amp;gt; <br /> &amp;lt;IP&amp;gt;<br /> Chico Buarque&amp;lt;/IP&amp;gt;<br /> <br /> &amp;lt;/M&amp;gt;<br />

O fato é, um documento XML necessita de alguém, ou algum programa, que o processe, transformando-o seja em uma página HTML, seja usando o conteúdo para inserir num banco de dados ou usar como um comando.

Este é o acordo que deve existir entre os chamados "produtor" e "consumidor", ou seja, quem cria e quem processa documentos XML.

Processando um documento XML

Para processarmos um documento XML, em primeiro lugar devemos definir qual nosso objetivo. No caso mais comum, desejamos simplesmente apresentar o documento num browser. Isto significa efetuar uma transformação nos tags XML em tags reconhecidos por HTML. Fazemos isso através de um programa que vai percorrer o documento XML, reconhecer cada tag e determinar qual a saída desejada.

É neste ponto que a chance de confusão aparece. Há diversas maneiras de fazer este processamento, tanto implícitas como explícitas. Por implícita entende-se que o browser fará a transformação internamente. Por explícita entende-se que escreveremos um programa especializado. As transformações mais comuns são as implícitas, através de CSS e XSL. Isto quer dizer que browsers mais modernos são capazes de aceitar documentos XML e CSS (ou XSL), efetuando a apresentação. Neste caso, a programação é feita de maneira declarativa: a cada tag XML corresponde uma ou mais tags HTML, e no caso de XSL podemos inclusive determinar as tags HTML em função do contexto.

Em outra situação, podemos nós mesmos criar um programa para processar o documento XML, por exemplo para inserir seu conteúdo em um banco de dados. Para tanto, temos que percorrer as tags, e processá-las. Para facilitar nossa vida, como XML é estruturalmente simples e bem definida, há vários programas shareware disponíveis para fazer o processamento inicial (reconhecer as tags), chamados de parsers. As duas ferramentas mais conhecidas são o DOM (a Microsoft oferece um objeto COM para tratar), e SAX (usado mais comumente com Java).

Conclusão

XML é muito mais que uma linguagem. É uma nova maneira de definir informação. Quanto melhor entendermos seus objetivos, melhor poderemos usá-lo de maneira efetiva. Não se intimide pela "sopa de letras" - XHTML, XSLT, etc. Cada uma destas siglas define um vocabulário e um processamento específico para documentos XML.

Nenhum comentário:

Postar um comentário