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.