Seção 4: Desenvolvedores

Q 4.17: Eu tenho que fazer uma visão geral do XML para o meu gerente / cliente / investidor / conselheiro. O que devo mencionar?

Marcação flexível multifuncional não proprietária

Tad McClellan escreve:

  • O XML não é uma linguagem de marcação. XML é uma "metalinguagem", ou seja, é uma linguagem que permite definir suas próprias linguagens de marcação (veja a definição ).

  • O XML é uma linguagem de marcação [duas declarações (aparentemente) contraditórias uma após a outra é um dispositivo de atenção que me interessa], não uma linguagem de programação. O XML é um dado: não "faz" nada, tem coisas feitas para isso.

  • XML não é proprietário: seus dados não podem ser mantidos refém por outra pessoa.

  • O XML permite o uso múltiplo de seus dados.

  • As aplicações XML bem desenhadas geralmente separam o "conteúdo" da "apresentação". Você deve descrever o que é algo como o que se parece (a exceção é conteúdo de dados numéricos ou categóricos que nunca é apresentado aos humanos).

Dizer que "os dados estão em XML" é uma declaração relativamente inútil, semelhante ao dizer "o livro está em linguagem natural". Para ser útil, o primeiro precisa especificar "usamos XML para definir nossa própria linguagem de marcação" (e dizer o que é), semelhante à especificação de "o livro está em francês’.

Um exemplo clássico de multifuncional e separação que costumo usar é uma empresa farmacêutica. Eles têm uma grande base de dados sobre um medicamento específico que eles precisam publicar como:

  • Relatórios para a FDA;

  • Informações de medicamentos para editores de diretórios / catálogos de drogas;

  • Brochuras de "prescreva-me!" para enviar aos médicos;

  • Pequenos pedaços de papel para encaixar nas caixas;

  • Etiquetas nas garrafas;

  • Duas páginas de letras finas para seguir seu anúncio no Reader's Digest;

  • Instruções para o paciente que o farmacêutico local imprime;

  • etc.

Sem separação de conteúdo e apresentação, eles precisam manter informações essencialmente idênticas em 20 lugares. Se eles perdem um lugar, as pessoas morrem, os advogados ficam ricos e a empresa de drogas fica pobre. Com XML (ou SGML), eles mantêm um conjunto de informações cuidadosamente validadas e escrevem 20 programas [ou um programa com 20 saídas (Ed)] para extrair e formatá-lo para cada aplicativo. Os mesmos 20 programas agora podem ser aplicados a todas as centenas de medicamentos que eles vendem.

Na área de desenvolvimento da Web, a maior coisa que o XML oferece é corrigir o que há de errado com o HTML

  • Os navegadores permitem que o HTML não compatível seja apresentado;

  • O HTML é restrito a um único conjunto de marcação ('tagset’).

Se você deixar o HTML quebrado trabalhar (ser apresentado), então não há motivação para corrigi-lo. As páginas da Web são, portanto, tag soup que são inúteis para processamento posterior. O XML especifica que o processamento não deve continuar se o XML não for compatível, então você continua trabalhando até que ele seja conforme. Este é mais trabalho na frente, mas o resultado não é um ponto morto.

Se você quisesse marcar o nome das coisas: pessoas, lugares, empresas, etc. em HTML, você não possui muitas opções que permitem distinguir entre elas. O XML permite que você nomeie as coisas como o que elas são:


<person>Charles Goldfarb</person> worked at <company>IBM</company>
    

Oferece uma flexibilidade que você não possui com o HTML:


<B>Charles Goldfarb</B> worked at <B>IBM</B> 
    

Com o XML, você não precisa atrelar os seus dados em marcação que restringe suas opções.