Saltar para o conteúdo

XML

Origem: Wikipédia, a enciclopédia livre.
XML
Extensão do arquivo .xml
MIME application/xml,[1]
text/xml[2]
Desenvolvido por W3C
Lançamento 1996(27–28 anos)
Última versão 1.0(26 de novembro de 2008;há 15 anos)
Tipo de formato Linguagem de marcação
Variante de SGML
Variado para XHTML,RSS,Atom,KML
Página oficial XML 1.0

Eminformática,XML(Extensible Markup Language) é um tipo delinguagem de marcaçãodaW3C,derivadada linguagem SGML, utilizada para compartilhamento fácil de informações por intermédio dainternet,[3]através da criação de documentos com dados organizados hierarquicamente para ser usado por diferentes sistemas informatizados (portabilidade); ou seja, tem objetivo de garantir que documentos codificados de acordo com suas regras possam ser transportados de um ambiente dehardwareesoftwarepara outro sem perda de informação,[3]usando a potencialidade e flexibilidade da SGML de forma simplificada.[4]

É um dos subtipos daSGML(acrônimodeStandard Generalized Markup LanguageouLinguagem Padronizada de Marcação Genérica- linguagem padrãoISO 8879) capazes de descrever diversos tipos de dados.

Entre linguagens baseadas em XML incluem-seXHTML(formato para páginasWeb),RDF,SDMX,SMIL,MathML(formato para expressões matemáticas),NCL,XBRL,XSILeSVG(formato gráfico vetorial). A principal característica do XML, de criar uma infraestrutura única para diversas linguagens, é que linguagens desconhecidas e de pouco uso também podem ser definidas sem maior trabalho e sem necessidade de serem submetidas aos comitês de padronização.

História[editar|editar código-fonte]

A primeira linguagem de marcação criada foi a SGML no final da década de 1960 com o objetivo de construir um sistema portável para manipulação de documentos.[5]O desenvolvimento da SGML possibilitou o surgimento doHTML(HyperText Markup Language) no final dadécada de 1980,criado pelo pesquisador Berners-Lee, revolucionando a maneira de visualização das páginas online naWeb.Atualizado em 2014 o HTML está na versãoHTML5,que unificou tais melhorias e princípios.[5]

Em 1996, o engenheiro Jon Bosak desenvolveu oXML(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,[5]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).[4]Em 2000, foi desenvolvida aXHTML(eXtensible Hypertext Markup Language), combinando as linguagens HTML e XML. Sendo responsável pela melhoria na exibição de páginas online e naacessibilidadedo conteúdo.[5]

Características[editar|editar código-fonte]

Em meados da década de 1990, oWorld Wide Web Consortium(W3C) começou a trabalhar em uma linguagem de marcação (do inglês:markup language) que combinasse a flexibilidade daSGMLcom a simplicidade daHTML.O princípio do projeto era criar uma linguagem que pudesse ser lida por software, e integrar-se com as demais linguagens. Sua filosofia seria incorporada por vários princípios importantes:

  • Separação do conteúdo da formatação
  • Simplicidade e legibilidade, tanto para humanos quanto para computadores
  • Possibilidade de criação detagssem limitação
  • Criação de arquivos para validação de estrutura (chamadosDTDs)
  • Interligação debancos de dadosdistintos
  • Concentração na estrutura da informação, e não na sua aparência

O XML é um formato para a criação de documentos com dados organizados de forma hierárquica, como se vê, frequentemente, em documentos de texto formatados,imagens vetoriaisoubancos de dados.

Pela sua portabilidade, já que é um formato que não depende das plataformas de hardware ou de software, um banco de dados pode, através de uma aplicação, escrever em um arquivo XML, e um outro banco distinto pode ler então estes mesmos dados.

Exemplo[editar|editar código-fonte]

Este exemplo demonstra a sintaxe flexível do XML sendo usada para descrever umareceitadepão:

<?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>

Onde temos na primeira linha:

<receitanome="pão"tempo_de_preparo="5 minutos"tempo_de_cozimento="1 hora">

"Receita" é o nome principal para o seu documento. Note que a semelhança entre XML eHTMLé grande, na 1ª linha abrimos atagReceita e na última linha a fechamos, como emHTML,assim se estendendo por todo o exemplo.

Vantagens e desvantagens[editar|editar código-fonte]

Com relação aos outros "formatos universais para intercâmbio de dados" já propostos e experimentados, o XML apresenta diversas vantagens técnicas, mas são as vantagens não-técnicas que o tornam um tópico de tão grande importância:

  • É um padrão "de fato" e formalmente: num universo onde cada desenvolvedor e cada fabricante tem a liberdade de criar e impor seu próprio formato, a aceitação do XML tem sido vista como o seu maior trunfo
  • Tem sua origem em uma instituição de padronização das mais abertas e dinâmicas, oW3C
  • Baseia-se na experiência de sucesso doSGML,sendo considerado inclusive o "sucessor da SGML"

Vantagens técnicas[editar|editar código-fonte]

  • É baseado em texto simples
    Com relação aos formatos não-texto (binários), um debate existe desde os tempos do SGML, mas ainda hoje a comunidade de usuários e desenvolvedores prefere o texto ao binário, e as opções do tipotxt.zip(texto comprimido) tais como oOpenDocumentsão a saída mais largamente adotada
  • SuportaUnicode,permitindo que a maior parte da informação codificada em linguagem humana possa ser comunicada
  • Pode representar as estruturas de dados relevantes da computação: listas, registros, árvores
  • É autodocumentado (DTDseXML Schemas): o próprio formato descreve a sua estrutura e nomes de campos, assim como valores válidos
  • A sintaxe restrita e requerimentos deparsingtornam os algoritmos de análise mais eficientes e consistentes
  • É editável, devido à popularidade do XML nos dias de hoje, com diferentes níveis de automação, em qualquer ambiente:
    • Sem automação: editores txt antigos, tais comovi
    • Com recurso automático de destaque: a maior parte dos editores txt modernos oferece recursos para destaque de XML (distinção visual entre tag, atributo e conteúdo)
    • Com recursos de visualização e controle (folding) da hierarquia: editores txt mais especializados e editores simples acoplados anavegadores
    • Com recursos de validação e análise sintática: ferramentas um pouco mais sofisticadas, orientadas a programadores, tais como asIDEs,ou orientadas a conteúdo, tais como editoresXHTML,ambos vêm se adaptando para lidar com outros formatos XML, interpretandoDTD,XSLTouXSD

Desvantagens técnicas[editar|editar código-fonte]

As desvantagens em geral se restringem às aplicações que não demandam maior complexidade, tais como vetores, listas associativas (chave-valor) e informações relativas a configuração, em que o bom senso estabelece a melhor escolha (entre o XML ou um formato menos popular).

O "XML simples" pode ser substituído por formatos mais simples, comoproperties,TOML,YAML,JSONeSimple Outline XML.Os principais critérios para se avaliar a demanda por um formato mais simples são:

  • Velocidade: a grande quantidade de informação repetida prejudicando a velocidade detransferência real de informação(quando esta é transportada na forma de XML)
  • Editabilidade txt: o arquivo "XML simples" (como se pode vernos exemplosacima) pode ser bem pouco intuitivo, dificultando sua edição comeditores txtpor pessoasleigas,mais ainda no caso de volume de dados muito grandes, onde o XML pode sequer ser facilmente editável por pessoas experientes

O formatoproperties,por exemplo, é mais fácil de ser editado por leigos, por ser apenas uma lista de itens do tipochave-valor,e oJSONé um exemplo de um formato mais prático e rápido em contextoJavascript.

O exemplo abaixo equivale ao exemplo dareceita de pãoe demonstra como um XML, mesmo sendo sintaticamente válido, pode ficar de difícil leitura quando criado por ferramentas geradoras de código. A interpretação e a edição de grandes arquivos XML nãoindentadossão ainda mais complexas para todos,leigosou experientes:

<?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">Farinha</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>

Uso com Banco de Dados[editar|editar código-fonte]

Um dos principais requisitos para a integração de sistemas de informações é a existência de um mecanismo que possa mediar e compatibilizar a troca de informações entre sistemas que utilizam diferentes formas de representações. O XML para banco de dados é uma forma de resolver esse problema, utilizando uma técnica que faz essa interação de dados de uma forma que não seja perdida ou deixada nenhuma informação relevante contida em qualquer uma das bases de dados que serão integradas.

Quando Usar[editar|editar código-fonte]

Se será necessário ou não armazenar as informações de uma determinada aplicação em um formato XML, deve-se analisar o objetivo de armazená-las e a forma como elas serão recuperadas. Se, por exemplo, futuramente uma aplicação utilizará apenas o formato XML, é recomendado já armazená-la nesse formato.

Abaixo, segue uma lista com possíveis cenários onde a utilização desse formato é de grande utilidade:

  • Se for necessário armazenar um bloco de informações e posteriormente recuperá-lo inteiramente;
  • Onde é necessário garantir compatibilidade com sistemas de armazenamentos, que podem não aceitar tipos de dados;
  • Quando é necessário recuperar um documento em XML.

XML em SGBD Relacionais[editar|editar código-fonte]

Como qualquer outro tipo de informação, um documento XML tende a ser armazenado em um banco de dados. E uma das formas de armazenar estes documentos é utilizandoSGBDrelacionais (Sistema de gerenciamento de banco de dados relacionais). Utilizar esta forma de armazenamento é vantajosa, pois esta já é uma tecnologia bastante utilizada e muito bem desenvolvida, o que a torna uma plataforma bem estável para utilização.

Para armazenar os dados em XML em umbanco de dados relacional,uma das formas a ser utilizada é através do tipo de dadosCLOB.Se utilizador desta forma, o banco de dados não conhecerá a estrutura desta informação, servindo apenas como um repositório de dados.

SGBDs habilitados a XML[editar|editar código-fonte]

De maneira geral, um SGBD que é habilitado para XML, realiza uma leitura de toda a estrutura de um documento XML e mapeia seus elementos, criando tipos de dados abstratos, de acordo com o XML facilitando o armazenamento e o processamento destes dados.

Integrando XML com Banco de Dados[editar|editar código-fonte]

A linguagemSQLdefine alguns operadores que quando utilizados em um banco de dados, geram um resultado dentro do padrão de XML.

Alguns exemplos de interações quando utilizado o SGBD são:

XMLELEMENT - Transforma os valores contidos no modelo relacional em estrutura XML;

XMLFOREST - Cria uma lista (Floresta) de elementos XML onde cada Operador produz um novo elemento;

Regras para a boa formação[editar|editar código-fonte]

  • Todo documento XML, além da tag introdutória, deve ter um único elemento (tag) que sirva como raiz para todos os demais elementos do documento;
  • XML écase sensitive,portanto difere letras maiúsculas e minúsculas, devendo tomar cuidado com o uso deCamelCases.
  • Todo elemento XML deve ser iniciado e fechado, exceto o que define a versão do XML usada e outras definições de tag única, exemplo <system opera= "ligado" onde= "aqui" />.
  • Comentários em XML são iguais aoHTML(<!--comentário-->).

Referências

  1. «XML Media Types, RFC 3023».IETF. Janeiro de 2001. pp. 9–11.Consultado em 4 de janeiro de 2010
  2. «XML Media Types, RFC 3023».IETF. Janeiro de 2001. pp. 7–9.Consultado em 4 de janeiro de 2010
  3. ab«Extensible Markup Language (XML) 1.0 (Fifth Edition)».W3 org.Consultado em 29 de dezembro de 2022
  4. ab«Tradução das normas XHTML 1.0 do W3C».Maujor.Consultado em 29 de dezembro de 2022
  5. abcdSoares, Alícia (18 de fevereiro de 2022).«O que é a linguagem de marcação e os principais exemplos?».Voitto.Consultado em 14 de dezembro de 2022

Taylor, Allen. SQL FOR DUMMIES 6th Ed. Wiley Publishing, Inc.2006.

Artigo SQL Magazine 8 - A tecnologia XML e sua integração com Banco de Dados, disponível em: Artigo SQL Magazine 8 - A tecnologia XML e sua integração com Banco de Dados - Acessado em: 15/06/2018.

Bibliografia[editar|editar código-fonte]

  • XML Guia de Consulta Rápida,Autor: Otávio C. Décio, Editora Novatec,ISBN 85-85184-86-8
  • XML Gerenciando Dados na WEB,Autor: Serge Abiteboul/Peter Buneman/Dan Suciu, 2000, Editora Campus,ISBN 85-352-0648-5

Ligações externas[editar|editar código-fonte]