XML

Da Wikipédia, a enciclopédia livre.
Ir para a navegação Ir para a pesquisa
Disambiguation note.svg Desambiguação - Se você estiver procurando por outros significados, consulte XML (desambiguação) .
XML
XML.svg
Extensão .xml
Tipo MIME application/xml
text/xml
Desenvolvido por W3C
Cara Linguagem de marcação
Extensão de SGML
Alargado a XHTML , RSS , Atom e outros
Formato aberto ? sim

Em informática , XML (abreviatura de eXtensible Markup Language , lit. "extensible markup language") é uma metalinguagem para a definição de linguagens de marcação , ou seja, uma linguagem baseada em um mecanismo sintático que permite definir e controlar o significado dos elementos contidos em um documento ou texto.

O nome indica que se trata de uma linguagem extensível, pois permite a criação de tags customizadas e é uma tentativa de produzir uma versão simplificada da Standard Generalized Markup Language (SGML), que permite definir novas linguagens de marcação.

História

O World Wide Web Consortium (W3C), após a guerra dos navegadores (ou seja, a situação que ocorreu nos anos noventa em que a Microsoft e a Netscape introduziram, com cada nova versão de seu navegador , uma extensão proprietária para o HTML oficial), foi forçado a seguir o extensões individuais para a linguagem HTML. [ a conexão não é clara ]

O W3C teve que escolher quais recursos padronizar e quais deixar de fora da especificação HTML oficial. Foi nesse contexto que começou a surgir a necessidade de uma linguagem de marcação que desse mais liberdade na definição de tags, mas permanecendo em um padrão.

O "projeto XML", que começou no final da década de 1990 como parte da Atividade SGML do W3C, despertou tanto interesse que o W3C criou um grupo de trabalho, denominado XML Working Group , composto por especialistas mundiais em tecnologias SGML . E uma comissão , XML Editorial Review Board , responsável pela elaboração das especificações do projeto.

Em fevereiro de 1998, a especificação tornou-se uma recomendação oficial sob o nome Extensible Mark-up Language , versão 1.0. Logo percebeu-se que XML não se limitava apenas ao contexto web, mas era algo mais: uma ferramenta que permitia sua utilização nos mais diversos contextos, desde a definição da estrutura do documento , até a troca de informações entre diferentes sistemas , da representação de imagens à definição de formatos de dados .

Usos

Comparado ao HTML , XML tem uma finalidade muito diferente: enquanto o primeiro define uma gramática para a descrição e formatação de páginas da web ( layout ) e, em geral, hipertextos , o segundo é uma metalinguagem usada para criar novas linguagens, adequadas para descrever documentos. Embora o HTML tenha um conjunto de tags bem definido e restrito, com o XML é possível definir as suas próprias de acordo com suas necessidades.

Hoje em dia, XML também é amplamente utilizado como meio de exportação de dados entre diferentes SGBDs . Muito difundido é o uso em arquivos de configuração de aplicativos e sistemas operacionais .

Sintaxe

Aqui está um exemplo típico de um arquivo XML, que pode ser visualizado em qualquer navegador simplesmente salvando o texto em um arquivo com a extensão .xml .

 <? xml version = "1.0" encoding = "UTF-8"?>
<users>
    < anos do usuário = "20" >
        <name> Ema </name>
        <surname> Princi </surname>
        <address> Torino </address>
    </user>
    < anos do usuário = "54" >
        <name> Máx </name>
        <surname> Rossi </surname>
        <address> Roma </address>
    </user>
</user>

A primeira linha indica a versão do XML em uso e especifica a codificação UTF-8 para a interpretação correta dos dados.

Os caracteres especiais que tornariam o documento malformado devem ser substituídos pelas respectivas entidades XML:

Personagem Entidade
E &amp;
< &lt;
> &gt;
" &quot;
' &apos;

Deve-se notar que apenas os três primeiros [ ou apenas os 2 primeiros? ] entidades devem ser sempre respeitadas, enquanto o último &apos; em alguns casos, ele não é gerenciado (como no iPhone iOS 3.1.3 e posterior).

Tags ou rótulos

XML, como HTML , usa marcadores, chamados de tags , para atribuir semântica ao texto. As tags podem conter informações de duas maneiras: por meio de parâmetros ou encerrando texto ou outros tipos de informações. Segue-se que podem ser tags de abertura, seguidas necessariamente de tags de fechamento (entre as quais você pode ter um conteúdo) ou tags que abrem e fecham, e podem, portanto, fornecer informações apenas por meio de seus parâmetros.

Cada rótulo começa e termina com colchetes angulares ( <> ) (que em outros contextos seriam os sinais menores e maiores), enquanto a marca de fechamento ou marca de fechamento é representada pela barra ( / ). Aqui estão alguns exemplos de tags:

 <tagExample parameter1 = "tag de abertura" features = "apenas a tag de abertura tem parâmetros" >
    contente
</tagExample>
<tagAutoclosing parameter1 = "self-fechando rótulo" características = "não tem rótulo de fechamento" />

XML permite comentários entre <!-- --> Por exemplo:

 <! - Este é um comentário ->

XML é muito estrito quanto à sintaxe a ser seguida em relação ao HTML e, portanto, é necessário respeitar algumas regras:

  1. as tags não podem começar com números ou caracteres especiais e não podem conter espaços;
  2. as tags devem ser balanceadas, ou seja, erros de aninhamento não são permitidos, por exemplo:
 <book>
  <name> Mario </name>
  <sobrenome> Rossi
</rubrica>

A marca do cognome não foi fechada, portanto, o XML está mal formado.

 <book>
  <name> Mario </name>
  <sobrenome> Rossi
</rubrica> </surname>

A tag de cognome foi fechada após a tag de rubrica , novamente o XML não está bem formado.

 <book>
  <name> Mario </name>
  <surname> Rossi </SURNAME>
</rubrica>

XML diferencia maiúsculas de minúsculas, portanto, a marca do cognome e a marca do COGNOME são consideradas duas marcas diferentes; O XML novamente não está bem formado.

Também é possível definir tags vazias que são abertas e fechadas imediatamente:

 <rubrica> </rubrica>

Ou de forma abreviada:

 <agenda />

Para ser interpretado corretamente, um documento XML deve estar formatado corretamente, ou seja, deve ter as seguintes características:

  • Um prólogo , que é a primeira instrução que aparece escrita no documento. No nosso caso: <?xml version="1.0" encoding="UTF-8"?> .
  • Um único elemento raiz (também conhecido como nó raiz , chamado de elemento raiz ) que contém todos os outros nós no documento. Em nosso exemplo: <utenti> .
  • No documento, todas as tags devem ser balanceadas.

Se o documento XML não contiver erros, ele está bem formado . Se o documento estiver bem formado e também atender aos requisitos estruturais definidos no esquema XML ou arquivo DTD associado, ele é chamado de válido .

Vantagens do XML

As vantagens do XML geralmente são resumidas com a sigla SPEED, também significada com o significado da palavra em inglês (ou seja, "velocidade"). A velocidade é, antes de tudo, a principal razão de muitas empresas migrarem para o e-commerce: resposta mais rápida às necessidades do cliente, entrega mais rápida de informações aos clientes e parceiros da cadeia de suprimentos; processamento mais rápido de pedidos recebidos via Internet. O arquônimo deriva de Armazenamento, Publicação e Troca de Documentos Eletrônicos ("armazenamento, publicação e troca de documentos eletrônicos").

Em XML, as informações específicas do aplicativo estão contidas em "tags", marcadas com colchetes < > , que descrevem o conteúdo de um documento. Cada tag define um tipo de elemento e, ao delimitar cada um dos dados com tags, podemos entender sua estrutura mesmo que não conheçamos a aplicação que o gerou. Como os dados são autodescritivos, os parceiros também serão capazes de entendê-los e processá-los. Além disso, eles também podem ser gerenciados no futuro, quando os aplicativos que os geraram se tornarem obsoletos.

A extensibilidade é outro recurso vencedor do XML, pois é possível para os programadores reutilizarem documentos XML existentes simplesmente estendendo-os com novas tags, deixando os elementos-chave do documento original permanecerem compreensíveis por todos os usuários.

XML respondeu ao proverbial lema americano: "adote e adapte", ou seja, adote um padrão vencedor e confiável e adapte-o às suas necessidades.

Outra vantagem não desprezível do XML é a possibilidade de validá-los por meio do uso do XML Schema (XSD) [1] .

Essa possibilidade não está presente em outros formatos intercambiáveis, incluindo JSON .

Para resumir as vantagens do XML, portanto, pode-se dizer que o XML requer:

  • menos esforço de manutenção;
  • melhor reutilização;
  • maior capacidade de direcionar vários dispositivos;
  • possibilidade de reduzir os recursos dedicados à implementação de projetos.

Tecnologias de suporte XML

Linguagens de esquema (permitem criar novas linguagens XML):

  • DTD (sigla para Document Type Definition ): é um documento por meio do qual as características estruturais de um documento XML são especificadas por meio de uma série de "regras gramaticais". Em particular, define o conjunto de elementos do documento XML, as relações hierárquicas entre os elementos, a ordem de aparecimento no documento XML e quais elementos e quais atributos são opcionais ou não.
  • Esquema XML : Como o DTD, é usado para definir a estrutura de um documento XML. Hoje o W3C recomenda adotá-lo ao invés do próprio DTD, por ser uma técnica mais recente e avançada. Sua abreviatura é XSD, que significa XML Schema Definition .

Outras tecnologias relacionadas a XML:

  • XLink : é usado para vincular totalmente dois documentos XML; ao contrário dos hiperlinks clássicos que conhecemos em HTML , XLink permite que você crie links multidirecionais e semanticamente avançados.
  • XSL (acrônimo para eXtensible Stylesheet Language ): é a linguagem usada para descrever a folha de estilo de um documento XML. Sua versão estendida é XSLT (onde T significa Transformações ).
  • XPath : é uma linguagem com a qual é possível identificar partes de um documento XML e é a base de outras ferramentas para XML como o XQuery.
    Para dar suporte a esse propósito principal, ele também fornece funcionalidade básica para lidar com strings, números e dados booleanos. O seu funcionamento baseia-se na criação de uma árvore a partir do documento e a sintaxe sucinta permite endereçar uma parte específica através dos nós da árvore com o caminho de palavra simples.
  • XPointer : usado para identificar de forma única partes precisas de um documento XML; em seguida, permite seu acesso a outras linguagens ou objetos de interface.
  • XQuery : é uma linguagem de consulta projetada para ser aplicável a qualquer tipo de documento XML e é baseada no uso de XPath para especificar caminhos dentro de documentos. O XQuery possui recursos que permitem acessar várias fontes de dados para pesquisar, filtrar documentos ou reunir conteúdo de interesse.
  • SAX (Simple API for XML): é uma interface de programação, implementada em várias linguagens, que permite ler e modificar documentos XML. Através do SAX é possível implementar analisadores XML específicos. O SAX é baseado em eventos, ao contrário do DOM , e reage aos eventos de análise relatando ao aplicativo. É trabalho do programador implementar métodos para reagir a eventos de análise.
  • DOM : é uma interface de programação, como SAX, implementada em uma infinidade delinguagens deprogramação , para manipular arquivos XML. O DOM constrói uma árvore a partir do arquivo XML, onde cada nó da árvore corresponde a um elemento do arquivo; por este motivo é denominado baseado em árvore.
  • VTD-XML : DOM é mais fácil e imediato de usar do que SAX e, portanto, geralmente é preferido pelos programadores para manipular um arquivo XML; entretanto a árvore gerada pelo DOM deve ser mantida completamente na memória RAM e conseqüentemente não é possível utilizar esta interface para manipular arquivos maiores que a memória disponível no computador.
  • RSS : é um padrão utilizado para criar um documento com uma estrutura XML única, adequado para o desenvolvimento de uma troca de dados simples entre páginas Web e acessível a partir de qualquer linguagem de script . Basicamente, é um documento XML cuja estrutura de nós e tags relacionadas têm o mesmo nome.
  • SVG ( Scalable Vector Graphics ) e VML ( Vector Markup Language ) são padrões para a criação de imagens vetoriais que tiram proveito de documentos formatados em XML. Também é usado para descrever imagens bidimensionais, estáticas e dinâmicas. Lendo as instruções contidas no documento de origem XML, o intérprete desenha as figuras básicas até que a imagem esteja completa.
  • WDDX (Word Data Description Exchange): WDDX é uma estrutura de contenção de dados com a mesma estrutura de um banco de dados, criada pela Allaire hoje Macromedia e lançada Open na Organização WDDX

Linguagens XML mais populares

  • XForms : como o próprio nome sugere, é uma linguagem criada para criar HTML- como formas dentro de um documento XML.
  • SMIL ( Synchronized Multimedia Integration Language ): Esta linguagem definida em XML, é usada para descrever o conteúdo e gerenciar o tempo de apresentações multimídia que podem combinar vídeo, áudio, imagens e texto.
  • MathML (Mathematical Markup Language): MathML é usado para a descrição de notações matemáticas, procedendo a fixar sua estrutura e conteúdo ao mesmo tempo, para que possam ser relatados e processados ​​na web.
  • X3D (eXtensible 3D): X3D é uma linguagem que permite construir modelos tridimensionais, simples ou sofisticados. Animações e mecanismos de interação com o usuário podem ser aplicados aos objetos criados desta forma. Como linguagem, é construída sobre a Virtual Reality Modeling Language ( VRML ), por sua vez adotada como padrão internacional em 1997. Para esta última, o X3D inclui as capacidades, típicas da Extensible Markup Language (XML), de integração com outras Tecnologias da World Wide Web, validação de conteúdo e adição flexível de novas extensões de hardware, se necessário. Além disso, devemos mencionar as vantagens em relação à leveza do "perfil básico" (Perfil Core - São sete perfis, cada um dos quais agrupa um determinado conjunto de recursos comumente usados ​​para diferentes fins. Isso permite que os desenvolvedores de navegadores alcancem níveis intermediários de .X3D, sem necessariamente ter que implementar toda a especificação de uma vez) e navegadores com componentes para um download mais rápido.
  • XBRL (eXtensible Business Reporting Language): é uma linguagem usada para a comunicação e troca de dados financeiros e contábeis em formato eletrônico

XML e páginas da web: XHTML

XHTML é uma linguagem de marcação projetada para exibir páginas da Web por meio de um navegador, como HTML, e, sendo XML, respeita sua semântica. Por exemplo, em XHTML, ao contrário do HTML tradicional, as tags vazias devem ser fechadas com uma barra final (/), os atributos vazios devem ser definidos como verdadeiro ou falso , o fechamento das tags deve ser espelhado (se for uma Tag e antes de fechá-la outra é aberto, é necessário fechar primeiro a segunda tag e depois a primeira), algumas tags e atributos, em relação ao HTML 4.0, desapareceram, e há um DTD dedicado.

O tipo mime reservado para páginas XHTML é (application / xhtml + xml). Se você enviar uma página XHTML inválida, mas como texto / html, pode acontecer que ela seja exibida porque é interpretada como html (com erros, como tags fechadas como <br />) apenas por não respeitar o padrão e não goza de suas vantagens, a primeira entre as quais a portabilidade em diferentes navegadores e clientes. [2] A real vantagem de uma página XHTML é que sendo XML ela tira todas as suas vantagens, como facilidade de validação e interpretação programática. As páginas XHTML geralmente são mais facilmente acessíveis, devido à sua semântica XML.

Observação

  1. ^ Andrea Chiarelli, esquema XML e documentos XML , em HTML.it. Recuperado em 16 de outubro de 2020 .
  2. ^ (EN) Enviar XHTML como texto / html considerado prejudicial

Itens relacionados

Outros projetos

links externos

Controle de autoridade LCCN (EN) sh97007825 · GND (DE) 4501553-3 · BNF (FR) cb131774360 (data) · BNE (ES) XX546216 (data)
Internet Portal da Internet : acesse as entradas da Wikipedia que lidam com a internet