XML - Validação

Validationé um processo pelo qual um documento XML é validado. Um documento XML é considerado válido se seu conteúdo corresponder aos elementos, atributos e declaração do tipo de documento associado (DTD) e se o documento obedecer às restrições nele expressas. A validação é tratada de duas maneiras pelo analisador XML. Eles são -

  • Documento XML bem formado
  • Documento XML válido

Documento XML bem formado

Diz-se que um documento XML é well-formed se aderir às seguintes regras -

  • Os arquivos XML não DTD devem usar as entidades de caracteres predefinidas para amp(&), apos(single quote), gt(>), lt(<), quot(double quote).

  • Deve seguir a ordem da tag. ou seja, a tag interna deve ser fechada antes de fechar a tag externa.

  • Cada uma de suas tags de abertura deve ter uma tag de fechamento ou deve ser uma tag de finalização automática (<title> .... </title> ou <title />).

  • Deve ter apenas um atributo em uma tag de início, que precisa ser colocado entre aspas.

  • amp(&), apos(single quote), gt(>), lt(<), quot(double quote) entidades diferentes dessas devem ser declaradas.

Exemplo

A seguir está um exemplo de um documento XML bem formado -

<?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?>
<!DOCTYPE address
[
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>

<address>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</address>

O exemplo acima é considerado bem formado como -

  • Ele define o tipo de documento. Aqui, o tipo de documento éelement tipo.

  • Inclui um elemento raiz denominado como address.

  • Cada um dos elementos filho entre nome, empresa e telefone está incluído em sua etiqueta autoexplicativa.

  • A ordem das tags é mantida.

Documento XML válido

Se um documento XML estiver bem formado e tiver uma Declaração de Tipo de Documento (DTD) associada, será considerado um documento XML válido. Estudaremos mais sobre DTD no capítulo XML - DTDs .