O documento discute o uso de XML para representação e troca de dados. XML permite a separação dos dados da apresentação, permitindo que os mesmos dados sejam estilizados de diferentes formas. XML também facilita a troca de dados entre empresas através da definição de padrões comuns para classes de documentos, como pedidos e pagamentos. Além disso, XML pode representar relacionamentos hierárquicos complexos entre dados.
Curso de Desenvolvimento de Sistemas Web - (X)HTML
Gerenciamento de dados XML
1. Computação Brasil março/abril e maio 2006
Tutorial Técnico
Gerenciamento de Dados XML
* Vanessa P. Braganholo estilo. Os dados permanecem inalterados. Por exemplo, um
portal Web pode desejar trocar o layout de suas páginas
O surgimento de XML [1], em 1996, revolucionou a dependendo da estação do ano. Para isso, basta que ele uti-
Web e a forma como as aplicações trocam e representam lize quatro estilos diferentes, um para cada estação do ano.
dados. Apesar de seu grande sucesso, é muito comum que
pessoas não iniciadas tenham uma idéia errada sobre XML. Troca de Dados. Grandes empresas trocam dados o
Afinal, o que é XML? Uma linguagem de programação? Um tempo todo (pedidos, ordens de compra, ordens de pa-
substituto do HTML? Nada disso. XML é uma linguagem gamento, etc.). XML facilita enormemente essa tarefa,
de representação de dados cujo foco é a semântica dos da- uma vez que é possível definir classes de documentos
dos representados e não sua forma de apresentação. usando um esquema (DTD ou XML Schema). Deste
XML é uma linguagem de marcação extensível modo, se a empresa A quer com-
(eXtensible Markup Language), derivada da SGML, de prar da empresa B, ela deve en-
onde também veio o HTML (daí a confusão). Ao contrário viar pedidos que sigam a classe
de HTML, em XML as tags não são pré-definidas. As tags de documentos determinada pela
podem ser definidas de acordo com o significado do dado empresa B. Assim, os aplicativos
que se quer representar. Por exemplo, para representar o da empresa B saberão como pro-
nome de uma pessoa, poderíamos usar a seguinte marca- cessar o pedido. Por exemplo, a
ção: <nome>João</nome> ou então <name>João</ empresa B pode determinar que
name>. Documentos XML são organizados em elemen- os pedidos que ela aceita devem
tos hierarquicamente dispostos, o que permite definir es- respeitar a estrutura mostrada na
truturas complexas. Como um exemplo, suponha que João Figura ao lado.
é um autor e sua instituição é a UFRJ. Para representar tal Antigamente, isso era feito
informação, poderíamos definir uma estrutura hierárquica através de um padrão chamado
da seguinte forma: EDI, onde os dados eram envia-
dos em pacotes e cada campo do
<autor>
pacote tinha um significado. O
<nome>João</nome>
processamento de tais dados dependia de softwares espe-
<instituição>UFRJ</instituição>
cíficos, o que não acontece mais hoje em dia. Existe inclu-
</autor>
sive um padrão para substituir o EDI, chamado XML/EDI
Tal estrutura pode ser vista como uma árvore, onde [2], que fornece um framework baseado em XML, EDI,
autor é a raiz, e nome e instituição são seus filhos. É templates, agentes e repositórios para a construção de apli-
possível aumentar mais essa hierarquia em quantos níveis cações de comércio eletrônico.
forem necessários. Cada marcação <> e </> delimita um O processamento de documentos XML pode ser feito
elemento em XML. Portanto, nome é um elemento e seu usando uma das APIs padrão: DOM [1] (API que trans-
conteúdo é João. Do mesmo modo, autor também é um forma o documento XML em uma árvore de objetos em
elemento e seu conteúdo (complexo) são os elementos memória) ou SAX [3] (API que dispara eventos à medida
nome e instituição. Note que as tags devem seguir uma em que o documento XML é processado – tais eventos
estrutura “bem formada”. Toda tag tem que ser fechada e devem ser tratados pela aplicação).
não é possível fechar a tag do elemento pai sem antes
fechar todas as tags de seus filhos. Representação de dados. A linguagem XML tam-
bém é capaz de representar relacionamentos entre os
Aplicando XML na prática dados. Tais relacionamentos podem ser expressos por
aninhamentos (relações pai/filho entre elementos) ou
Apresentação de Dados. O fato de XML não se preo- por referência (usando ID/IDREF ou XLink/XPointer
cupar com a apresentação dos dados traz uma grande van- [1]). Outro aspecto importante se refere ao tamanho
tagem. Os dados ficam separados da forma de apresenta- dos documentos XML, já que seu formato é baseado
ção, que pode ser definida por protocolos de estilos como em texto e, por isso, mais verboso. Por um lado, os
CSS (Cascading Style Sheets) ou XSLT ( Extensible dados descritos em documentos XML têm maior se-
Stylesheet Language Transformations) [1]. Toda vez que mântica devido à presença das tags. Por outro, o ta-
se deseja alterar a forma de apresentação, basta mudar o manho pode se tornar um problema, já que o uso
15