Linguagem de marcação

Da Wikipédia, a enciclopédia livre
Ir para navegação Pular para pesquisar
Exemplo de RecipeBook, uma linguagem simples baseada em XML para a criação de receitas. A marcação pode ser convertida em HTML , PDF e Rich Text Format usando uma linguagem de programação ou XSL .

No processamento de texto por computador, uma linguagem de marcação é um sistema para anotar um documento de uma forma que seja visualmente distinguível do conteúdo. [1] É usado apenas para formatar o texto, de forma que quando o documento for processado para exibição, a linguagem de marcação não apareça. [2] A ideia e a terminologia evoluíram da "marcação" de manuscritos em papel (ou seja, as instruções de revisão pelos editores), que tradicionalmente é escrita com uma caneta vermelha ou lápis azul nos manuscritos dos autores. [3]Essa "marcação" normalmente inclui correções de conteúdo (como ortografia, pontuação ou movimento do conteúdo) e também instruções tipográficas , como tornar um título maior ou em negrito.

Na mídia digital , este "azul texto de instrução lápis" foi substituído por etiquetas que indicam idealmente o que as partes do documento são , ao invés de detalhes de como eles podem ser mostrados em algum display. Isso permite que os autores evitem formatar todas as instâncias do mesmo tipo de coisa de forma redundante (e possivelmente inconsistente). Também evita a especificação de fontes e dimensões que podem não se aplicar a muitos usuários (como aqueles com monitores de tamanhos diferentes, visão prejudicada e software de leitura de tela).

Os primeiros sistemas de marcação normalmente incluíam instruções de composição, como troff , TeX e LaTeX fazem, enquanto o Scribe e a maioria dos sistemas de marcação modernos nomeiam componentes e, posteriormente, processam esses nomes para aplicar formatação ou outro processamento, como no caso de XML .

Algumas linguagens de marcação, como o HTML amplamente usado , têm semântica de apresentação predefinida - o que significa que sua especificação prescreve alguns aspectos de como apresentar os dados estruturados em uma mídia específica. HTML, como DocBook , Open eBook , JATS e inúmeros outros, é uma aplicação específica das meta-linguagens de marcação SGML e XML . Ou seja, SGML e XML permitem que os usuários especifiquem esquemas particulares , que determinam apenas quais elementos, atributos e outros recursos são permitidos e onde.

Uma característica extremamente importante da maioria das linguagens de marcação é que elas permitem a combinação de marcações diretamente em fluxos de texto. Isso acontece o tempo todo em documentos: algumas palavras em uma frase devem ser enfatizadas ou identificadas como um nome próprio, termo definido ou outro item especial. Isso é muito diferente estruturalmente dos bancos de dados tradicionais , onde é, por definição, impossível ter dados que estão (por exemplo) em um registro, mas não em qualquer campo. Da mesma forma, a marcação para textos em linguagem natural deve manter a ordem: não seria suficiente transformar cada parágrafo de um livro em um registro de "parágrafo", onde esses registros não mantêm a ordem.

Etimologia

A marcação de substantivo é derivada da prática de publicação tradicional chamada "marcação" de um manuscrito , [4] que envolve a adição de anotações manuscritas na forma de instruções de impressão simbólicas convencionais - nas margens e no texto de um artigo ou de um manuscrito impresso . É um jargão usado na prova de codificação .

Durante séculos, essa tarefa foi realizada principalmente por tipógrafos qualificados, conhecidos como "markup men" [5] ou "d markers" [6], que marcavam o texto para indicar qual tipo de letra , estilo e tamanho deveriam ser aplicados a cada parte, e então passou o manuscrito a outros para composição à mão ou à máquina.

A marcação também era comumente aplicada por editores, revisores, editores e designers gráficos e, de fato, por autores de documentos, todos os quais também podem marcar outras coisas, como correções, alterações, etc.

Tipos de linguagem de marcação

Existem três categorias gerais principais de marcação eletrônica, articuladas em Coombs, Renear e De Rose (1987), [7] e Bray (2003). [8]

Marcação de apresentação

O tipo de marcação usado por sistemas tradicionais de processamento de texto : códigos binários embutidos no texto do documento que produzem o efeito WYSIWYG ("o que você vê é o que você obtém "). Essa marcação geralmente fica oculta dos usuários humanos, até mesmo de autores e editores. Falando propriamente, tais sistemas usam marcação procedural e / ou descritiva por baixo, mas convertem-na para "presente" para o usuário como arranjos geométricos do tipo.

Marcação procedural

A marcação é incorporada ao texto, que fornece instruções para os programas processarem o texto. Exemplos bem conhecidos incluem troff , TeX e PostScript . Espera-se que o processador execute o texto do início ao fim, seguindo as instruções encontradas. O texto com essa marcação é frequentemente editado com a marcação visível e diretamente manipulado pelo autor. Os sistemas de marcação procedural populares geralmente incluem construções de programação e macros ou sub-rotinassão comumente definidos para que conjuntos complexos de instruções possam ser chamados por um nome simples (e talvez alguns parâmetros). Isso é muito mais rápido, menos sujeito a erros e de fácil manutenção do que repetir as mesmas instruções ou semelhantes em muitos lugares.

Marcação descritiva

A marcação é usada especificamente para rotular partes do documento pelo que são, em vez de como devem ser processadas. Sistemas bem conhecidos que fornecem muitos desses rótulos incluem LaTeX , HTML e XML . O objetivo é separar a estrutura do documento de qualquer tratamento ou versão particular dele. Essa marcação é frequentemente descrita como " semântica ". Um exemplo de marcação descritiva seria a <cite>tag HTML , que é usada para rotular uma citação. A marcação descritiva - às vezes chamada de marcação lógica ou marcação conceitual - incentiva os autores a escrever de uma forma que descreva o material conceitualmente, em vez de visualmente. [9]

Há um borramento considerável das linhas entre os tipos de marcação. Em sistemas modernos de processamento de texto, a marcação de apresentação é freqüentemente salva em sistemas orientados para marcação descritiva, como XML , e então processada proceduralmente por implementações . A programação em sistemas de marcação procedural, como o TeX , pode ser usada para criar sistemas de marcação de alto nível que são mais descritivos por natureza, como o LaTeX .

Nos últimos anos, várias linguagens de marcação pequenas e amplamente não padronizadas foram desenvolvidas para permitir que os autores criem texto formatado por meio de navegadores da web , como os usados ​​em wikis e fóruns da web . Às vezes, são chamadas de linguagens de marcação leves . Markdown , BBCode e a linguagem de marcação usada pela Wikipedia são exemplos dessas linguagens.

História de linguagens de marcação

GenCode

A primeira apresentação pública bem conhecida de linguagens de marcação no processamento de texto por computador foi feita por William W. Tunnicliffe em uma conferência em 1967, embora ele preferisse chamá-la de codificação genérica. Pode ser visto como uma resposta ao surgimento de programas como o RUNOFF, em que cada um usava suas próprias notações de controle, muitas vezes específicas para o dispositivo de composição de destino. Na década de 1970, Tunnicliffe liderou o desenvolvimento de um padrão denominado GenCode para a indústria editorial e, posteriormente, foi o primeiro presidente do comitê da Organização Internacional de Padronização que criou a SGML , a primeira linguagem de marcação descritiva padrão. Designer de livroStanley Rice publicou especulações em linhas semelhantes em 1970. [10]

Brian Reid , em sua dissertação de 1980 na Carnegie Mellon University , desenvolveu a teoria e uma implementação funcional da marcação descritiva em uso real. No entanto, o pesquisador da IBM Charles Goldfarb é mais comumente visto hoje como o "pai" das linguagens de marcação. Goldfarb teve a ideia básica enquanto trabalhava em um sistema de gerenciamento de documentos primitivo destinado a escritórios de advocacia em 1969 e ajudou a inventar o IBM GML no mesmo ano. GML foi divulgado publicamente pela primeira vez em 1973.

Em 1975, Goldfarb mudou-se de Cambridge, Massachusetts para o Vale do Silício e tornou-se um planejador de produto no IBM Almaden Research Center . Lá, ele convenceu os executivos da IBM a implantar o GML comercialmente em 1978 como parte do produto Document Composition Facility da IBM, e ele foi amplamente usado nos negócios dentro de alguns anos.

SGML, que era baseado em GML e GenCode, era um projeto ISO trabalhado por Goldfarb no início de 1974. [11] Goldfarb eventualmente se tornou presidente do comitê SGML. SGML foi lançado pela ISO como o padrão ISO 8879 em outubro de 1986.

troff e nroff

Alguns exemplos iniciais de linguagens de marcação de computador disponíveis fora da indústria editorial podem ser encontrados em ferramentas de composição em sistemas Unix , como troff e nroff . Nestes sistemas, os comandos de formatação eram inseridos no texto do documento para que o software de composição pudesse formatar o texto de acordo com as especificações do editor. Foi um processo iterativo de tentativa e erro para imprimir um documento corretamente. [12] Disponibilidade de WYSIWYG ("o que você vê é o que você obtém") software de publicação suplantou muito uso dessas linguagens entre usuários casuais, embora trabalhos de publicação sérios ainda usem marcação para especificar a estrutura não visual dos textos, e editores WYSIWYG agora geralmente salvam documentos em uma marcação -formato baseado em idioma.

TeX para fórmulas

Outro importante padrão de publicação é o TeX , criado e aprimorado por Donald Knuth nas décadas de 1970 e 1980. TeX concentrou-se no layout detalhado de descrições de texto e fontes para compor livros de matemática. Isso exigiu que Knuth despendesse um tempo considerável investigando a arte da composição . TeX é usado principalmente na academia , onde é um padrão de fato em muitas disciplinas científicas. Um pacote de macros TeX conhecido como LaTeX fornece um sistema de marcação descritiva no topo do TeX e é amplamente usado pela comunidade científica e pela indústria editorial. [13]

Scribe, GML e SGML

A primeira linguagem a fazer uma distinção clara entre estrutura e apresentação foi Scribe , desenvolvida por Brian Reid e descrita em sua tese de doutorado em 1980. [14] Scribe foi revolucionário em uma série de maneiras, inclusive introduzindo a ideia de estilos separados do documento marcado e de uma gramática que controla o uso de elementos descritivos. O Scribe influenciou o desenvolvimento da Generalized Markup Language (mais tarde SGML), [15] e é um ancestral direto do HTML e do LaTeX . [16]

No início da década de 1980, a ideia de que a marcação deveria focar nos aspectos estruturais de um documento e deixar a apresentação visual dessa estrutura para o intérprete levou à criação do SGML . A linguagem foi desenvolvida por um comitê presidido por Goldfarb. Ele incorporou ideias de muitas fontes diferentes, incluindo o projeto da Tunnicliffe, GenCode. Sharon Adler, Anders Berglund e James A. Marke também foram membros importantes do comitê SGML.

SGML especificou uma sintaxe para incluir a marcação em documentos, bem como uma para descrever separadamente quais tags eram permitidas, e onde (a Definição de Tipo de Documento ( DTD ), mais tarde conhecida como esquema ). Isso permitiu que os autores criassem e usassem qualquer marcação que desejassem, selecionando as tags que faziam mais sentido para eles e que fossem nomeadas em seus próprios idiomas naturais, ao mesmo tempo que permitia a verificação automática. Assim, SGML é propriamente uma meta-linguagem , e muitas linguagens de marcação particulares são derivadas dela. Do final dos anos 80 em diante, a maioria das novas linguagens de marcação substanciais foram baseadas no sistema SGML, incluindo, por exemplo, TEI e DocBook. SGML foi promulgado como um padrão internacional pela Organização Internacional de Padronização , ISO 8879, em 1986. [17]

SGML encontrou ampla aceitação e uso em campos com requisitos de documentação em grande escala. No entanto, muitos o acharam incômodo e difícil de aprender - um efeito colateral de seu projeto tentar fazer muito e ser muito flexível. Por exemplo, a SGML tornou as tags finais (ou tags iniciais, ou mesmo ambas) opcionais em certos contextos, porque seus desenvolvedores pensaram que a marcação seria feita manualmente por uma equipe de suporte sobrecarregada que gostaria de salvar as teclas digitadas [ carece de fontes ] .

HTML

Em 1989, o cientista da computação Sir Tim Berners-Lee escreveu um memorando propondo um sistema de hipertexto baseado na Internet , [18] então especificou o HTML e escreveu o navegador e o software do servidor na última parte de 1990. A primeira descrição publicamente disponível de HTML foi um documento denominado "HTML Tags", mencionado pela primeira vez na Internet por Berners-Lee no final de 1991. [19] [20] Ele descreve 18 elementos que compreendem o design inicial relativamente simples do HTML. Exceto pela tag de hiperlink, estes foram fortemente influenciados pelo SGMLguid , um SGML internoformato de documentação baseado no CERN, e muito semelhante ao esquema de amostra no padrão SGML. Onze desses elementos ainda existem no HTML 4. [21]

Berners-Lee considerava HTML um aplicativo SGML. A Internet Engineering Task Force (IETF) a definiu formalmente como tal com a publicação em meados de 1993 da primeira proposta para uma especificação HTML: "Hypertext Markup Language (HTML)" Internet-Draft de Berners-Lee e Dan Connolly , que incluía um Definição do tipo de documento SGML para definir a gramática. [22] Muitos dos elementos de texto HTML são encontrados no relatório técnico da ISO de 1988 TR 9537 Techniques for using SGML , que por sua vez cobre os recursos das primeiras linguagens de formatação de texto, como a usada pelo comando RUNOFF desenvolvido no início dos anos 1960 para o CTSS(Sistema de compartilhamento de tempo compatível) sistema operacional. Esses comandos de formatação foram derivados daqueles usados ​​por compositores para formatar documentos manualmente. Steven DeRose [23] argumenta que o uso de HTML de marcação descritiva (e a influência de SGML em particular) foi um fator importante para o sucesso da Web, devido à flexibilidade e extensibilidade que possibilitou. HTML se tornou a principal linguagem de marcação para a criação de páginas da web e outras informações que podem ser exibidas em um navegador da web e é provavelmente a linguagem de marcação mais usada no mundo hoje.

XML

XML (Extensible Markup Language) é uma meta linguagem de marcação amplamente utilizada. O XML foi desenvolvido pelo World Wide Web Consortium , em um comitê criado e presidido por Jon Bosak . O principal objetivo do XML era simplificar o SGML, focando em um problema específico - documentos na Internet. [24] XML continua a ser uma meta-linguagem como SGML, permitindo aos usuários criar quaisquer tags necessárias (portanto, "extensível") e, em seguida, descrevendo essas tags e seus usos permitidos.

A adoção de XML foi ajudada porque cada documento XML pode ser escrito de forma que também seja um documento SGML, e os usuários e software SGML existentes poderiam mudar para XML com bastante facilidade. No entanto, o XML eliminou muitos dos recursos mais complexos do SGML para simplificar os ambientes de implementação, como documentos e publicações. Ele parecia encontrar um meio termo entre simplicidade e flexibilidade, além de oferecer suporte a ferramentas de validação e definição de esquema muito robustas, e foi rapidamente adotado para muitos outros usos. XML agora é amplamente usado para comunicar dados entre aplicativos, para serializar dados de programa, para protocolos de comunicação de hardware, gráficos vetoriais e muitos outros usos, bem como documentos.

XHTML

Desde Janeiro de 2000, todas as Recomendações W3C para HTML têm sido baseadas em XML, em vez de SGML, usando a abreviatura XHTML (E x tensible H Yper T ext M arkup L anguage). A especificação da linguagem requer que os documentos XHTML da Web sejam documentos XML bem formados . Isso permite documentos mais rigorosos e robustos ao usar tags familiares de HTML.

Uma das diferenças mais notáveis ​​entre HTML e XHTML é a regra de que todas as tags devem ser fechadas : tags HTML vazias, como <br>devem ser fechadas com uma tag final regular ou substituídas por um formulário especial: <br />(o espaço antes de ' /' na tag final é opcional, mas freqüentemente usado porque permite que alguns navegadores da Web pré-XML e analisadores SGML aceitem a tag). Outra é que todos os valores de atributo em tags devem estar entre aspas. Por fim, todos os nomes de tags e atributos no namespace XHTML devem estar em minúsculas para serem válidos. O HTML, por outro lado, não fazia distinção entre maiúsculas e minúsculas.

Outras aplicações baseadas em XML

Muitos aplicativos baseados em XML agora existem, incluindo o Resource Description Framework como RDF / XML , XForms , DocBook , SOAP e Web Ontology Language (OWL). Para obter uma lista parcial deles, consulte Lista de linguagens de marcação XML .

Características de linguagens de marcação

Uma característica comum de muitas linguagens de marcação é que elas misturam o texto de um documento com instruções de marcação no mesmo fluxo de dados ou arquivo. Isso não é necessário; é possível isolar a marcação do conteúdo do texto, usando ponteiros, deslocamentos, IDs ou outros métodos para coordenar os dois. Essa "marcação de impasse" é típica das representações internas que os programas usam para trabalhar com documentos marcados. No entanto, a marcação incorporada ou "embutida" é muito mais comum em outros lugares. Aqui, por exemplo, está uma pequena seção de texto marcada em HTML:

< h1 > Anatídeos </ h1 > 
< p > 
A família < i > Anatídeos </ i > inclui patos, gansos e cisnes,
mas < em > não </ em > os screamers intimamente relacionados.
</ p >

Os códigos entre colchetes angulares <like this>são instruções de marcação (conhecidas como tags), enquanto o texto entre essas instruções é o texto real do documento. Os códigos h1, pe emsão exemplos de marcação semântica , no sentido de que descrevem a finalidade pretendida ou o significado do texto que incluem. Especificamente, h1significa "este é um título de primeiro nível", psignifica "este é um parágrafo" eemsignifica "esta é uma palavra ou frase enfatizada". Um programa que interpreta tal marcação estrutural pode aplicar suas próprias regras ou estilos para apresentar as várias partes do texto, usando diferentes tipos de letra, negrito, tamanho da fonte, recuo, cor ou outros estilos, conforme desejado. Por exemplo, uma tag como "h1" (nível de cabeçalho 1) pode ser apresentada em uma fonte grande sem serifa em negrito em um artigo ou pode ser sublinhada em um documento monoespaçado (estilo máquina de escrever) - ou pode simplesmente não alterar a apresentação em tudo.

Em contraste, a itag em HTML 4 é um exemplo de marcação de apresentação , que geralmente é usada para especificar uma característica particular do texto sem especificar o motivo dessa aparência. Nesse caso, o ielemento determina o uso de uma fonte em itálico. No entanto, no HTML 5 , esse elemento foi reaproveitado com um uso mais semântico: para denotar uma extensão de texto em uma voz ou humor alternativo, ou de outra forma deslocado da prosa normal de uma maneira que indica uma qualidade diferente de texto . Por exemplo, é apropriado usar o ielemento para indicar uma designação taxonômica ou uma frase em outro idioma. [25] A alteração foi feita para facilitar a transição do HTML 4 para o HTML 5 da maneira mais suave possível, para que os usos obsoletos de elementos de apresentação preservassem a semântica pretendida mais provável.

A Text Encoding Initiative (TEI) publicou extensas diretrizes [26] sobre como codificar textos de interesse nas ciências humanas e sociais, desenvolvidas ao longo de anos de trabalho cooperativo internacional. Essas diretrizes são usadas por projetos que codificam documentos históricos, as obras de estudiosos, períodos ou gêneros específicos e assim por diante.

Idioma

Embora a ideia da linguagem de marcação tenha se originado com documentos de texto, há um uso cada vez maior de linguagens de marcação na apresentação de outros tipos de informação, incluindo listas de reprodução , gráficos vetoriais , serviços da web , distribuição de conteúdo e interfaces de usuário . A maioria deles são aplicativos XML, porque XML é uma linguagem bem definida e extensível.

O uso de XML também levou à possibilidade de combinar várias linguagens de marcação em um único perfil, como XHTML + SMIL e XHTML + MathML + SVG . [27]

Veja também

Referências

  1. ^ "linguagem de marcação" . Dicionário Merriam-Webster .
  2. ^ "Linguagem de marcação § Explicação" . Glossário de dados da Science Europe .
  3. ^ Siechert, Carl; Bott, Ed (2013). Microsoft Office Inside Out: 2013 Edition . Pearson Education. p. 305. ISBN 978-0735669062. ... Alguns revisores preferem ir à velha escola usando uma caneta vermelha na produção impressa ....
  4. ^ CHEN, XinYing (2011). "Nós centrais das redes sintáticas chinesas". Boletim Científico Chinês . 56 (10): 735–740. doi : 10.1360 / 972010-2369 . ISSN 0023-074X . 
  5. ^ Allan Woods, Modern Newspaper Production (Nova York: Harper & Row, 1963), 85; Stewart Harral, Profitable Public Relations for Newspapers (Ann Arbor: JW Edwards, 1957), 76; e Chiarella v. United States , 445 U.S. 222 (1980).
  6. ^ Dos cadernos de HJH & DHA na composição , Kingsport Press Inc., sem data (anos 60).
  7. ^ Coombs, James H .; Renear, Allen H .; DeRose, Steven J. (novembro de 1987). "Sistemas de marcação e o futuro do processamento de texto acadêmico" . Comunicações da ACM . 30 (11): 933–947. CiteSeerX 10.1.1.515.5618 . doi : 10.1145 / 32206.32209 . S2CID 59941802 .  
  8. ^ Bray, Tim (9 de abril de 2003). "On Semantics and Markup, Taxonomy of Markup" . www.tbray.org . Recuperado em 2021-08-16 .
  9. ^ Michael Downes. "TEX e LATEX 2e"
  10. ^ Arroz, Stanley. “Estruturas de Texto Editorial (com algumas relações com estruturas de informação e controles de formato em composição computadorizada).” American National Standards Institute, 17 de março de 1970.
  11. ^ "Entrevista de 2009 com o criador do SGML Charles F. Goldfarb" . Diário do Dr. Dobb . Página visitada em 2010-07-18 .[ link morto permanente ]
  12. ^ Daniel Gilly. Unix em poucas palavras: Capítulo 12. Nroff e Troff . O'Reilly Books, 1992. ISBN 1-56592-001-5 
  13. ^ "The Definitive, Non-Technical Introduction to LaTeX, Professional Typesetting and Scientific Publishing" . Math Vault . 05-09-2015 . Página visitada em 18/07/2019 .
  14. ^ Reid, Brian. "Scribe: uma linguagem de especificação de documento e seu compilador." Ph.D. tese, Carnegie-Mellon University, Pittsburgh PA. Também disponível como Relatório Técnico CMU-CS-81-100.
  15. ^ Reid, Brian . "20 anos de marcação abstrata - algum progresso?" . xml.coverpages.org . Recuperado em 2021-08-16 .
  16. ^ HTML é uma instância particular de SGML, enquanto LaTeX foi projetado com a filosofia de separação entre conteúdo e design do Scribe em mente.
  17. ^ "ISO 8879: 1986" . ISO . Recuperado em 2021-08-15 .
  18. ^ Tim Berners-Lee, "Information Management: A Proposal." CERN (março de 1989, maio de 1990). W3.org
  19. ^ "Tags usadas em HTML" . Consórcio da World Wide Web. 3 de novembro de 1992 . Recuperado em 2021-08-16 .
  20. ^ "Primeira menção de tags HTML na lista de discussão www-talk" . Consórcio da World Wide Web. 29 de outubro de 1991.
  21. ^ "Índice de elementos em HTML 4" . Consórcio da World Wide Web. 24 de dezembro de 1999 . Recuperado em 2021-08-16 .
  22. ^ Tim Berners-Lee (9 de dezembro de 1991). "Re: documentos SGML / HTML, navegador X (postagem na lista de discussão www-talk arquivada)" . SGML é muito geral. HTML é uma aplicação específica da sintaxe básica SGML aplicada a documentos de hipertexto com estrutura simples.
  23. ^ DeRose, Steven J. "The SGML FAQ Book." Boston: Kluwer Academic Publishers, 1997. ISBN 0-7923-9943-9 
  24. ^ "Extensible Markup Language (XML)" . W3.org . Recuperado em 2021-08-16 .
  25. ^ Hickson, Ian. "Padrão de vida HTML" . WHATWG - HTML . Página visitada em 13 de setembro de 2020 .
  26. ^ "Diretrizes TEI para Codificação e Intercâmbio Eletrônico de Texto" . Tei-c.org. Arquivado do original em 03/07/2014 . Recuperado em 2021-08-16 .
  27. ^ Um perfil XHTML + MathML + SVG . W3C. 9 de agosto de 2002. Página visitada em 2021-08-16.

Ligações externas

Ouça este artigo ( 20 minutos )
Ícone falado da Wikipedia
Este arquivo de áudio foi criado a partir de uma revisão deste artigo datada de 6 de maio de 2006 e não reflete as edições subsequentes. ( 2006-05-06 )