Campus - (XML) Aula 1Pessoal, XML e o Codigo de Internet Pre Programavel, e Lucas, pare de mandar Torpedos pedindo as respostas das provas de PHP Super Codificados, eu so darei para quem fez a prova! Quem le o significado da sigla XML - Extensible Markup Language - pode ser levado a pensar que e apenas uma linguagem a mais, como tantas outras. Entretanto, a palavra chave em XML, o "X" da questao, e "extensivel". Isso significa que XML esta em um nivel de abstracao onde ela e considerada uma meta-linguagem. Em termos mais simples, uma meta linguagem e capaz de permitir a criacao de outras linguagens. Esta criacao se da basicamente pela definicao de novos conjuntos de tags, e pelas regras que um documento XML deve seguir. E importante perceber que XML e um meio e nao um fim, ou seja, nao basta criar novas tags, e necessario tambem definir o que elas significam e como um dado programa deve interpreta-las. Para darmos um exemplo, seja o seguinte fragmento de HTML descrevendo uma faixa de um CD: &lt;dl&gt; &lt;dt&gt;Gente Humilde &lt;dd&gt;por Chico Buarque, Vinicius de Moraes e Garoto &lt;ul&gt; &lt;li&gt;produtor: Chico Buarque &lt;li&gt;gravadora: Polygram &lt;li&gt;duraOo: 3min 21 seg &lt;li&gt;gravado em 1974 &lt;li&gt;intUrprete: Chico Buarque &lt;/ul&gt; E uma tendencia natural em muitos artigos e livros mostrar o mesmo exemplo em XML, como se segue: &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;iso-8859-1&amp;quot;?&amp;gt; &lt;MUSICA&gt; &lt;TITULO&gt; Gente Humilde&lt;/TITULO&gt; &lt;COMPOSITOR&gt; Chico Buarque&lt;/COMPOSITOR&gt; &lt;COMPOSITOR&gt; Vinicius de Moraes&lt;/COMPOSITOR&gt; &lt;COMPOSITOR&gt; Garoto&lt;/COMPOSITOR&gt; &lt;PRODUTOR&gt; Chico Buarque&lt;/PRODUTOR&gt; &lt;GRAVADORA&gt; Polygram&lt;/GRAVADORA&gt; &lt;DURACAO&gt; 3min 21seg &lt;/DURACAO&gt; &lt;ANO&gt; 1974&lt;/ANO&gt; &lt;INTERPRETE&gt; Chico Buarque&lt;/INTERPRETE&gt; &lt;/MUSICA&gt; Nao ha nada errado com o exemplo, alias ele parece fazer sentido e ser facil de entender. O que esta sutilmente subentendido e que neste caso voce, o leitor, esta fazendo o processamento XML de forma ate mesmo inconsciente. O fato de usarmos tags como MUSICA ou TITULO e apenas uma conveniencia para nos, humanos, podermos ler e entender melhor. Mas XML aceitaria perfeitamente um documento como: &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;iso-8859-1&amp;quot;?&amp;gt; &lt;M&gt; &lt;T321&gt; Gente Humilde&lt;/T321&gt; &lt;CP&gt; Chico Buarque&lt;/CP&gt; &lt;CP&gt; Vinicius de Moraes&lt;/CP&gt; &lt;CP&gt; Garoto&lt;/CP&gt; &lt;PD&gt; Chico Buarque&lt;/PD&gt; &lt;GDA&gt; Polygram&lt;/GDA&gt; &lt;DR&gt; 3min 21seg &lt;/DR&gt; &lt;a&gt;1974&lt;/a&gt; &lt;IP&gt; Chico Buarque&lt;/IP&gt; &lt;/M&gt; O fato e, um documento XML necessita de alguem, ou algum programa, que o processe, transformando-o seja em uma pagina HTML, seja usando o conteudo para inserir num banco de dados ou usar como um comando. Este e 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 transformacao nos tags XML em tags reconhecidos por HTML. Fazemos isso atraves de um programa que vai percorrer o documento XML, reconhecer cada tag e determinar qual a saida desejada. E neste ponto que a chance de confusao aparece. Ha diversas maneiras de fazer este processamento, tanto implicitas como explicitas. Por implicita entende-se que o browser fara a transformacao internamente. Por explicita entende-se que escreveremos um programa especializado. As transformacoes