Entenda o XML - Parte 3

No artigo anterior apresentei a sintaxe básica da linguagem XML, expliquei sobre as entidades e falei sobre algumas diferenças entre XML e HTML. Neste artigo vou falar sobre mais algumas características importantes da linguagem XML.

[ Hits: 10.000 ]

Por: Hugo Cerqueira em 30/10/2015


Namespaces (contextos)



Em XML, o autor dos documentos tem liberdade para criá-los com a estrutura que quiser e os nomes de elementos que quiser. Dependendo dos nomes escolhidos, pode ser que haja confusão para um possível leitor do documento ou até mesmo causar comportamentos inesperados em aplicações. Portanto, para evitar confusões, é preciso contextualizar o documento.

A contextualização é feita por um recurso chamado namespace. Trata-se de um prefixo para os elementos (e/ou atributos), separado por dois pontos (:). Por exemplo:

<pessoa:nome>Fulano de Tal</pessoa:nome>

Ao acrescentar o prefixo "pessoa", eu estou deixando claro que o nome não é um nome de qualquer coisa. É o nome de uma pessoa.

Contextos são especialmente importantes quando há, dentro do mesmo documento, elementos iguais com significados diferentes. Retomando o exemplo acima, vamos supor que haja no documento um outro elemento "nome", que se refira ao nome fantasia da empresa onde essa pessoa trabalha, por exemplo. Com o uso de prefixos, essa situação fica resolvida:

<pessoa:nome>Fulano de Tal</pessoa:nome>
<empresa:nome>Companhia XPTO</empresa:nome>

Namespaces são caracterizados não apenas pelo uso de um prefixo, mas também por sua identificação. Essa identificação é feita por um atributo especial chamado xmlns, que serve para declarar um nome único para o namespace. Frequentemente esse nome é um endereço Web onde é possível encontrar informações sobre a terminologia utilizada no documento. No exemplo a seguir os namespaces estão identificados (com endereços fictícios):

<pessoa:nome xmlns:pessoa="http://www.cadastros.com.br/pessoas">Fulano de Tal</pessoa:nome>
<empresa:nome xmlns:empresa="http://www.cadastros.com.br/empresas">Companhia XPTO</empresa:nome>

A identificação de namespaces pode ser feita no próprio elemento onde há o prefixo ou em um nível superior. A vantagem de fazer essa especificação em um nível superior é a possibilidade de usar o mesmo prefixo em vários elementos sem necessidade de especificá-lo várias vezes. Por exemplo:

<cadastro xmlns:pessoa="http://www.cadastros.com.br/pessoas" xmlns:empresa="http://www.cadastros.com.br/empresas">
   <pessoa:nome>Fulano de Tal</pessoa:nome>
   <pessoa:idade>40<pessoa:idade>
   <empresa:nome>Companhia XPTO</empresa:nome>
</cadastro>

Muitas das tecnologias que são construídas sobre o XML fazem uso deste recurso. Alguns exemplos são: XLink (padrão para hiperlinks em documentos XML), XQuery (linguagem para consulta de dados estruturados em XML), XSLT (folha de estilos avançada para XML), entre muitas outras.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Namespaces (contextos)
   3. Formação x Validade
   4. Conclusão
Outros artigos deste autor

Modelos de Negócio para o Software Livre

Entenda o XML - Parte 2

Aprisionamento Tecnológico

Acessibilidade na Web

Entenda o XML - Parte 1

Leitura recomendada

Camada de Transporte TCP/IP e Aplicação

IBM apresenta Maqetta, uma contribuição open source para HTML5

Instalando o Java Plug-in no Mozilla

Acessibilidade na Web

Máquina Enigma e encriptação em XOR

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts