300x250 AD TOP

adv1

Formulário de contato

25 de março de 2012

Tags: , , ,

"Content is not allowed in prolog" - Entendendo exceção no Seam

Recentemente tive um problema de edição em um arquivo .xhtml utilizando JBoss Seam, Richfaces e afins.

A princípio a mensagem de erro não dizia muito a respeito da causa do mesmo:

com.sun.facelets.FaceletException: Error Parsing /consulta.xhtml: Error Traced[line: 1] Content is not allowed in prolog.

"O conteúdo não é permitido no prólogo". Mas que conteúdo? Em qual prolog?

Depois de dar uma pesquisada descobri que o erro acontece em vista de terem sido colocados alguns caraceteres inválidos antes da declaração de documento xml na página xhtml.

Em outras palavras, a primeira coisa que deve constar em um documento xml (afins) deve ser:

<?xml version="1.0" encoding="utf-8"?>

Qualquer coisa antes disso, até mesmo um simples espaço em branco, pode gerar o erro em questão.

Por fim, lembre-se de que a declaração de documento xml segue o padrão de encoding definido. Logo temos:

<!-- Incorreto -->
<?xml version="1.0" encoding="UTF-8"?>

<!-- Correto -->
<?xml version="1.0" encoding="utf-8"?>

É importante ater a estes detalhes para evitar dores de cabeça e perda de tempo... :-)