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: 7.526 ]

Por: Hugo Cerqueira em 30/10/2015


Introdução



Embora a sintaxe XML seja fácil de assimilar, existem alguns detalhes que, quando desconhecidos, podem confundir quem lê o documento XML. Um deles é o uso de um elemento especial chamado CDATA. Este elemento é usado para situações que poderiam requerer o uso extensivo de entidades.

Uma outra característica é o uso de elementos que contém um prefixo, com dois pontos como separador. Trata-se de um contexto (ou namespace), ou seja, é uma maneira de identificar um contexto específico para aquele elemento.

Por fim, outro aspecto importante da linguagem é a validação e padronização de documentos, por meio de linguagens como Document Type Definition - DTD e XML Schema. Tudo isso vou apresentar neste artigo.

PCDATA x CDATA

Na linguagem XML, todo o conteúdo do documento (exceto comentários) é interpretável, isto é, até mesmo o texto contido entre as tags de abertura e fechamento de um elemento está sujeito à interpretação, não sendo considerado um texto simples. Isso é necessário porque dentro do texto pode haver outros elementos ou entidades, que deverão ser interpretados e transformados. Este texto, portanto, é chamado de Parsed Character Data (PCDATA), isto é, um texto que está sujeito à interpretação.

No entanto, não é raro que um documento XML deva armazenar o conteúdo de um script, consulta SQL ou mesmo um trecho de um documento HTML. É sabido que linguagens como JavaScript, Shell Script, SQL, HTML, entre muitas outras podem conter várias ocorrências de caracteres reservados para a linguagem XML, como o sinal de menor (<) e o "e comercial" (&). Imagine quantas entidades poderiam ter que ser usadas nestes documentos.

O uso extensivo de entidades, além de demandar mais processamento do interpretador, pode tornar a leitura do documento mais difícil, especialmente para alguém que queira analisar um código dentro do documento. Por isso, existe um elemento especial na linguagem XML, chamado Character Data (CDATA), isto é, um elemento cujo conteúdo não está sujeito à interpretação.

A diferença do elemento CDATA para o comentário é que o conteúdo de um elemento CDATA é de relevância para a aplicação e terá algum tratamento. Comentários, por outro lado, não tem essa relevância e são usados apenas para clarificar o que significa o conteúdo daquele documento. Em outras palavras, o conteúdo de um comentário não será usado pelas aplicações (ou pelo menos, não deve ser).

É importante saber também que elementos CDATA não podem ser aninhados, isto é, não é possível criar um elemento CDATA dentro de outro CDATA. Elementos CDATA começam com "<![CDATA[" e terminam com "]]>". Todo o conteúdo que estiver entre estes caracteres será tratado como texto simples. Veja abaixo um exemplo de uso deste elemento:

<script linguagem="JavaScript">
   <![CDATA[
      function(numero, mensagem) {
          if (numero < 3 && mensagem != "") {
              alert(mensagem);
          }
      }
   ]]>
</script>

É claro que o uso do elemento CDATA não se restringe a scripts e marcações. Para qualquer situação em que o uso de entidades se tornaria repetitivo, é bom considerar o uso deste elemento.

    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

Acessibilidade na Web

Entenda o XML - Parte 1

psql - Conheça o básico

Leitura recomendada

Camada de Transporte TCP/IP e Aplicação

Entenda o XML - Parte 2

EditorConfig - Padronização de código para seus projetos

Instalação e configuração do LMS Moodle no Linux

Instalando o Java Plug-in no Mozilla

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts