W3C | translations

XML em 10 pontos

A tradução foi concluída em 21 de Novembro de 2001, Versão original em Inglês: XML in 10 points, Contato: Thomas Ziegler

(7, de fato...)

XML, XLink, Namespace, DTD, Schema, CSS, XHTML... se XML é novidade para você, deve ser difícil saber por onde começar. Este sumário em 10 pontos tenta compreender os conceitos básicos permitindo ao iniciante visualizar a floresta por entre as árvores. E se você pretende fazer uma apresentação sobre XML, porque não começar com estes 10 pontos? Eles foram oferecidos para o seu uso.


1. XML é uma maneira de representar dados estruturados em um arquivo de texto

Para "dados estruturados", imaginamos coisas tais como folhas de cálculo, lista de endereços, parâmetros de configuração, transações financeiras, desenhos técnicos etc. Programas que produzem tais dados freqüentemente os armazena em disco, onde ele pode utilizar um formato binário ou formato texto. O último permite que você, se necessário, verifique os dados sem o programa que o produziu. XML é uma coleção de regras, diretivas, convenções, como você queira denominá-lo, para projetar formatos textuais para tais dados, de uma maneira que produza arquivos que sejam fáceis de gerar e ler (por um computador), que não seja ambíguo, evite problemas comuns, tais como carência de extensibilidade, carência de suporte por internacionalização/localização e dependência de plataforma.

2. Parece um pouco com HTML mas não é HTML

Como HTML, XML faz uso de tags (palavras envolvidas por "<" e ">") e atributos (da forma name="value"), mas enquanto HTML especifica o que cada tag e atributo significa (e freqüentemente como o texto entre eles irá aparecer no navegador), XML usa as tags somente para delimitar elementos de dados, e deixa a interpretação dos dados completamente para a aplicação que a lê. Em outras palavras, se você ver "'<'p'>'" em um arquivo XML, não assuma que é um parágrafo. Dependendo do contexto, ele pode ser um preço, um parâmetro, uma pessoa, um p... (a propósito, quem disse que ele deve ser uma palavra com "p"?).

3. XML é texto, mas não é de fácil leitura

Como eu disse antes, arquivos XML são arquivos texto, mas como o HTML é de difícil leitura para humanos. Eles são arquivos texto porque permitem que pessoas experientes (tais como programadores) eliminem erros mais facilmente das aplicações, e em emergências, ele pode usar um simples editor de texto para reparar um arquivo XML danificado. Porém as regras para arquivos XML são muito mais rígidas que para HTML. Uma tag esquecida, ou um atributo sem aspas tornam sem uso o arquivo, enquanto em HTML tal prática é freqüentemente permitida, ou pelo menos tolerada. Esta escrito na especificação oficial da XML: Se o arquivo esta danificado, a aplicação deve interromper imediatamente o processamento e emitir um erro.

4. XML é uma família de tecnologias

Existe XML 1.0, a especificação que define o que "tags" e "atributos" são, mas em torno do XML 1.0, há uma crescente coleção de módulos opcionais que provêem coleções de "tags" e "atributos", ou diretivas para trabalhos específicos. Existe, por exemplo, Xlink (continua em desenvolvimento desde novembro de 1999), que descreve uma maneira padrão de adicionar Hyperlinks a um arquivo XML. XPointer & XFragments (também continuam em desenvolvimento) são sintaxes para pontuar as partes de um documento XML. (Um XPointer assemelha-se a uma URL, mas em vez de pontuar os documentos na web, ele pontua partes de um documento XML) CSS, a linguagem de folhas de estilos, é aplicada a XML assim como é para HTML. XSL (Outono 1999) é uma linguagem avançada para expressar folhas de estilos. Ela é baseada sobre a XSLT, uma linguagem de transformação que é freqüentemente útil mesmo fora da XSL, para re-arranjar, adicionar ou eliminar tags e atributos. O DOM é uma coleção padrão de funções chamada para manipular arquivos XML (e HTML) a partir de uma linguagem de programação. XML Namespaces é uma especificação que descreve como você pode associar uma URL a cada tag e atributo em um documento XML. O uso da URL depende da aplicação que lê a URL, todavia. (RDF, padrão do W3C para metadados, usado para ligar cada metadado a um arquivo que defini o tipo daquele dado.) Os XML Schemas 1 e 2 ajudam a desenvolver e a definir precisamente seus próprios formatos baseados em XML. Existem muito mais módulos e ferramentas disponíveis ou em desenvolvimento. Fique de olho na W3C's technical reports page.

5. XML é prolixo, mas não é um problema

Visto que XML é um formato textual, utiliza tags para delimitar os dados, arquivos XML são quase sempre maiores que formatos equivalentes. Esta foi uma decisão consciente dos desenvolvedores da XML. As vantagens do formato textual são evidentes (veja 3 acima), e as desvantagens sempre podem ser compensadas em um nível diferente. Espaço em disco já não é tão caro como costumava ser, programas como o zip e gzip podem comprimir arquivos muito bem e muito facilmente. Estes programas estão disponíveis para quase todas as plataformas (e geralmente são grátis). Para completar, protocolos de comunicação tais como protocolos de modem e HTTP/1.1 (O protocolo central da web) podem comprimir dados no momento da transmissão, economizando largura de banda tanto efetivamente quanto em formato binário.

6. XML é novo, mas nem tanto

O desenvolvimento da XML começou em 1996 e é um padrão da W3C desde Fevereiro de 1998, o que pode deixar suspeitar que é uma tecnologia imatura. Mas de fato a tecnologia não é muito nova. Antes da XML havia a SGML, desenvolvida no começo dos anos 80, um padrão ISO desde 1986, e amplamente utilizado para grandes projetos de documentação. E obviamente HTML, cujo desenvolvimento começou em 1990. Os projetistas da XML simplesmente extraíram as melhores partes da SGML, guiados pela experiência com HTML, e produziram uma coisa que não é menos potente que SGML, mas é muito mais regular e simples de usar. Algumas evoluções, todavia, são difíceis de distinguir de revolução... E é preciso ser dito que enquanto SGML é muito mais usado para documentação técnica, com XML ocorre exatamente o contrário.

7, 8, 9...

Estes não sei ainda.

10. A licença da XML é livre, indiferente de plataforma e bem suportada

Escolhendo XML como base para algum projeto, você terá a sua disposição um grande e crescente conjunto de ferramentas (uma delas já pode satisfazer suas necessidades!) e engenheiros especialistas na tecnologia. Optar por XML é como escolher SQL para banco de dados: você tem que construir a sua própria base de dados e seus próprios programas/procedimentos que a manipulam, mas existem muitas ferramentas disponíveis e muitas pessoas que podem ajudá-lo. E visto que XML, como uma tecnologia da W3C, é livre de licenciamento, você pode construir seus próprios programas sobre ela sem pagar nada a ninguém. O grande e crescente suporte significa que você não esta ligado a nenhum fornecedor. XML nem sempre é a melhor solução, mas deve sempre ser levada em consideração.


Bert Bos
Criado em Março 1999 (ultima atualização: 07 de Fevereiro de 2001)

Copyright © 1999-2001 W3C® ( MIT, INRIA, Keio), All Rights Reserved.