Introdução
XML (Extensible Markup Language) é uma linguagem de marcação de dados que provê um formato para descrever dados estruturados facilitando declarações mais precisas do conteúdo e resultados mais significativos de busca através de múltiplas plataformas. Um elemento XML pode ter dados declarados como sendo preços de venda, taxas de preço, um título de livro, a quantidade de chuva, ou qualquer outro tipo de elemento de dado.
HTML e XML Os dois derivam da mesma inspiração, o SGML(Standard Generalized Markup Language). Ambos identificam elementos em uma página e ambos utilizam sintaxes similares. Ambos fazem o uso de tags e atributos (definidos com name = “value”).
Diferenças entre XML e HTML
O HTML descreve a aparência e as ações em uma página na rede enquanto o XML não descreve nem aparência nem ações, mas sim o que cada trecho de dados é ou representa. Em outras palavras, o XML descreve o conteúdo do documento. Enquanto o HTML especifica cada sentido para as tags e atributos, o XML usa as tags somente para delimitar trechos de dados, ou seja, enquanto em um documento HTML uma tag
indica um parágrafo, no XML essa tag pode indicar um preço, um parâmetro, uma pessoa, inclusive algo que não tenha nada a ver com um p como, por exemplo, autores de livros. As regras de formatação para documentos XML são mais rígidas do que para documentos HTML. Os arquivos XML são arquivos de texto, mas não são tão destinados à leitura comum. Os documentos XML são arquivos de texto porque facilitam que os programadores “dubuguem” mais facilmente as aplicações, de forma que um simples editor de textos pode ser usado para corrigir um erro em um arquivo XML.
Características da linguagem XML
O XML provê um padrão que pode codificar o conteúdo, as semânticas e as esquematizações para uma grande variedade de aplicações desde simples até as mais complexas, dentre elas:
• Um simples documento; • Um registro estruturado tal como uma ordem de compra de produtos; • Um objeto com métodos e dados como objetos Java ou controles ActiveX; • Um registro de dados. Um exemplo seria o resultado de uma consulta a bancos de dados; • Apresentação gráfica, como interface de aplicações de usuário; • Entidades e tipos de esquema padrões, dentre outros; • Todos os links entre informações e pessoas na web.
Uma característica importante é que uma vez tendo sido recebido o dado pelo cliente, tal dado pode ser manipulado, editado e visualizado sem a necessidade de reacionar o servidor. Dessa forma, os servidores têm menor sobrecarga, reduzindo a necessidade de computação e reduzindo também a requisição de banda passante para as comunicações entre cliente e servidor.
Separação entre dados e apresentação
A mais importante característica do XML se resume em separar a interface com o usuário (apresentação) dos dados estruturados. O HTML especifica como o documento deve ser apresentado na tela por um navegador e o XML define o conteúdo do documento. Por exemplo, em HTML são utilizadas tags para definir tamanho e cor de fonte, assim como formatação de parágrafo. No XML você utiliza as tags para descrever os dados, como exemplo tags de assunto, título, autor, conteúdo, referências, datas, etc...
Tags
• Tags são palavras encapsuladas por sinais ‘<‘ e ‘>’. • Um documento XML é um texto com tags de marcação e outras informações. • Documentos bem estruturados têm casamento das tags de início e fim.
Exemplo: ...<bla attr="val" ...>...</bla>... | | | | | | | uma tag finalizadora de elemento | | o contexto do elemento | um atributo com nome attr e valor val, com valores delimitados por ' ou " uma tag inicializadora de elemento com nome bla
Notação para elementos vazios: ...<bla attr="val".../>...
Os documentos XML são sensíveis à letras maiúsculas e minúsculas.
Documentos com DTDs
• No XML as regras que definem um documento são ditadas por DTDs (Document Type Definitions). Mas os DTDs são opcionais e os dados enviados com um DTD são conhecidos como dados XML válidos. Os dados enviados sem DTD são conhecidos como dados bem formatados. • Com os dados XML válidos e com os bem-formatados, o documento XML se torna auto-descritivo porque as tags dão idéia de conteúdo e estão misturadas com os dados.
As DTDs nada mais são do que formas de se descrever classes de documentos XML (como gramáticas para outras linguagens).
Problemas com DTDs: • se muito simples não tem poder expressivo de descrição; • se for muito complexa terá uma sintaxe horrível; O que define formalmente quais elementos e quais combinações possíveis são permitidas dentro de um documento XML é o "schema", ou seja, esquema.
Um exemplo de DTD:
<!DOCTYPE recipecollection [ ... <!ELEMENT recipe (title,author?,date?,description,ingredients,preparation,related)> <!ATTLIST recipe id ID
- REQUIRED
category (breakfast|lunch|dinner|dessert|unknown)
- IMPLIED>
<!ELEMENT title (#PCDATA)> <!ELEMENT author ANY> ... ]> Solução para as DTDs: usar linguagens de esquemas (schema languages) tais como DSD, XML Schema, etc…
Ferramentas XML
Parsers (analisadores)
Programas de análise da formatação e gramática mais conhecidos (Parsers):
• Expat (www.jclark.com/xml/expat.html): Escrito em C (passado para outras linguagens), e utilizado por LIBWWW, Apache, Netscape, DSD,… • XML4J (www.alphaworks.ibm.com/tech/xml): Tem como desenvolvedora a AlphaWorks, em Java, é baseado em Apache Xerces, e suporta DOM e SAX.
Editores:
São utilitários que permitem a edição do documento XML.
• Xeena (www.alphaWorks.ibm.com/tech/xeena) Desenvolvido pela AlphaWorks, em Java, com a sintaxe de visualização de árvore direcionada para a edição.
Browsers (navegadores)
Dentre os mais conhecidos estão o Netscape Navigator 5 e o Internet Explorer 5.
Realizam várias funções, dentre elas análise e validação de documentos XML, apresentação visual (rendering) com XSL e CSS, e acesso aos scripts via DOM.
Download
Segue em anexo o texto acima: