Nota: Este artigo é sobre conceito de informática. Para o termo econômico, consulte, veja Markup.
Em informática, uma linguagem de marcação (do inglês: markup language) é um conjunto de sinais aplicados nos textos ou em dados para definir sua configuração e aparência em uma página web.[1] O termo "marcação" vem da sinalética e das "marcas de revisão" (em inglês: revision marks) utilizada por redatores em provas de impressão de jornais e manuscritos.[2] As marcações não são exibidas no trabalho final, ou seja, a pessoa que acessa a página web online não consegue ver as marcações.
A marcação de dados, conceito recente, envolve a codificação simples de sequências de dados (no formato texto-puro) existente em um arquivo de computador, ou seja, é a capacidade de uma sequência de dados ser lida tanto por pessoas quanto por máquinas. Para esse fim, a linguagem mais utilizada atualmente é a XML (um subtipo da SGML) e suas variantes.
História
A primeira linguagem de marcação criada foi a SGML (acrônimo de Standard Generalized Markup Language ou Linguagem Padronizada de Marcação Genérica - linguagem padrão ISO 8879) no final da década de 1960 com o objetivo de construir um sistema portável para manipulação de documentos.[1] O desenvolvimento da SGML possibilitou o surgimento do HTML (HyperText Markup Language) no final da década de 1980, criado pelo pesquisador Berners-Lee, revolucionando a maneira de visualização das páginas online na Web. Atualizado em 2014 o HTML está na versão HTML5, que unificou tais melhorias e princípios.[1]
Em 1996, o engenheiro Jon Bosak desenvolveu o XML (eXtensible Markup Language) também com base na linguagem SGML, com o intuito de utilizar as marcações para descrever a estrutura dos conteúdos,[1] usando a potencialidade e flexibilidade da linguagem SGML de forma simplificada (embora sendo a forma restrita de SGML, o XML conserva todo o poder das características do antecessor sem a sua complexidade).[3] Em 2000, foi desenvolvida a XHTML (eXtensible Hypertext Markup Language), combinando as linguagens HTML e XML. Sendo responsável pela melhoria na exibição de páginas online e na acessibilidade do conteúdo.[1]
Aplicação
Linguagens de marcação são usadas também na indústria editorial para marcar a formatação (ou exibição gráfica) de páginas. Se a marcação for padronizado, ou puder ser processado por um programa de computador, garante o intercâmbio de uma publicação complexa entre autores e entre editores.[4] Uma linguagem de marcação amplamente usada para texto é a HTML, que vem perdendo espaço para a sua evolução, o XHTML por conta desta ser mais eficiente para separação entre a estrutura e o conteúdo de uma página de forma mais organizada e eficiente.[4]
Exemplos de marcação de dados, são instruções de definição de tipo tais como aquelas encontradas em troff e LaTeX, e marcadores estruturais tais como etiquetas XML.[4] Algumas linguagens de marcação, tal como HTML, possuem semântica de apresentação, isto é, esta linguagem também especifica como o dado estruturado será mostrado, porém outras linguagens de marcação, tal como XML, não possuem semântica predefinida.[4]
Exemplos
Exemplo da sintaxe SGML:
<QUOTE TYPE="exemplo">
Tipicamente algo como <ITALICS>isto</ITALICS>
</QUOTE>
Exemplo da sintaxe XML:
<?xml version="1.0" encoding="ISO-8859-1"?><receitanome="pão"tempo_de_preparo="5 minutos"tempo_de_cozimento="1 hora"><titulo>Pãosimples</titulo><ingredientes><ingredientequantidade="3"unidade="xícaras">FarinhadeTrigo</ingrediente><ingredientequantidade="7"unidade="gramas">Fermento</ingrediente><ingredientequantidade="1.5"unidade="xícaras"estado="morna">Água</ingrediente><ingredientequantidade="1"unidade="colheres de chá">Sal</ingrediente></ingredientes><instrucoes><passo>Misturetodososingredientes,edissolvabem.</passo><passo>Cubracomumpanoedeixeporumahoraemumlocalmorno.</passo><passo>Misturenovamente,coloquenumabandejaeassenumforno.</passo></instrucoes></receita>
Um exemplo de XHTML (usado dentro das tags <html></html>):
<htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"/><title>Dados para Cadastro</title></head><body><formaction=""><fieldset><legend>Dados para Cadastro</legend><labelfor="nome">Nome:</label><inputtype="text"name="nome"id="nome"/><br/><labelfor="tipo">Tipo:</label><inputtype="text"name="tipo"id="tipo"/><br/><labelfor="data">Data:</label><inputtype="text"name="data"id="data"/><br/><inputtype="submit"value="enviar"/></fieldset></form></body></html>