Camping 1(XML) - Conteúdo
Autor: Joao Vytor | Publicado: 2010-03-14T11:38:00-07:00

Campus - (XML) Aula 1Pessoal, 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:      &amp;lt;dl&amp;gt;    &amp;lt;dt&amp;gt;Gente Humilde           &amp;lt;dd&amp;gt;por Chico Buarque, Vinícius de Moraes e Garoto             &amp;lt;ul&amp;gt;                         &amp;lt;li&amp;gt;produtor: Chico Buarque                   &amp;lt;li&amp;gt;gravadora: Polygram                   &amp;lt;li&amp;gt;duraþÒo: 3min 21 seg                   &amp;lt;li&amp;gt;gravado em 1974                   &amp;lt;li&amp;gt;intÚrprete: Chico Buarque                 &amp;lt;/ul&amp;gt;                           É uma tendência natural em muitos artigos e livros mostrar o mesmo exemplo em XML, como se segue:      &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;     &amp;lt;MUSICA&amp;gt;       &amp;lt;TITULO&amp;gt;  Gente Humilde&amp;lt;/TITULO&amp;gt;       &amp;lt;COMPOSITOR&amp;gt;  Chico Buarque&amp;lt;/COMPOSITOR&amp;gt;       &amp;lt;COMPOSITOR&amp;gt;  Vinícius de Moraes&amp;lt;/COMPOSITOR&amp;gt;       &amp;lt;COMPOSITOR&amp;gt;  Garoto&amp;lt;/COMPOSITOR&amp;gt;       &amp;lt;PRODUTOR&amp;gt;  Chico Buarque&amp;lt;/PRODUTOR&amp;gt;       &amp;lt;GRAVADORA&amp;gt;  Polygram&amp;lt;/GRAVADORA&amp;gt;       &amp;lt;DURACAO&amp;gt;  3min 21seg &amp;lt;/DURACAO&amp;gt;       &amp;lt;ANO&amp;gt;  1974&amp;lt;/ANO&amp;gt;       &amp;lt;INTERPRETE&amp;gt;  Chico Buarque&amp;lt;/INTERPRETE&amp;gt;       &amp;lt;/MUSICA&amp;gt;      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:      &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;      &amp;lt;M&amp;gt;       &amp;lt;T321&amp;gt;  Gente Humilde&amp;lt;/T321&amp;gt;       &amp;lt;CP&amp;gt;  Chico Buarque&amp;lt;/CP&amp;gt;       &amp;lt;CP&amp;gt;  Vinícius de Moraes&amp;lt;/CP&amp;gt;       &amp;lt;CP&amp;gt;  Garoto&amp;lt;/CP&amp;gt;       &amp;lt;PD&amp;gt;  Chico Buarque&amp;lt;/PD&amp;gt;       &amp;lt;GDA&amp;gt;  Polygram&amp;lt;/GDA&amp;gt;       &amp;lt;DR&amp;gt;  3min 21seg &amp;lt;/DR&amp;gt;       &amp;lt;a&amp;gt;1974&amp;lt;/a&amp;gt;     &amp;lt;IP&amp;gt;  Chico Buarque&amp;lt;/IP&amp;gt;       &amp;lt;/M&amp;gt;    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.