web-dev-qa-db-fra.com

Error Parsing /page.xhtml: Error Traced [ligne: 42] L'entité "nbsp" a été référencée mais n'a pas été déclarée.

J'aimerais utiliser des espaces insécables dans ma page JSF. Je sais, en HTML simple, je pourrais utiliser   pour cela et cela fonctionne bien. Cependant, quand je mets ces   dans une page Facelets, il se trompe comme suit:

Error Parsing /page.xhtml: Error Traced [ligne: 42] L'entité "nbsp" a été référencée, mais non déclarée.

Comment cela est-il causé et comment puis-je le résoudre?

79
Fahim Parkar

Facelets est une technologie d'affichage basée sur XML. XML a seulement cinq entités prédéfinies . Le   n'est pas parmi eux. Il ne fonctionne que lorsqu'il est utilisé en HTML pur ou dans JSP classique (remarque: cela ne fonctionne pas dans JSPX car il est également basé sur XML!).

Pour résoudre ce problème, vous devez soit déclarer l’entité vous-même dans le doctype du fichier XHTML contenant le   entité,

<!DOCTYPE html [
    <!ENTITY nbsp "&#160;"> 
]>

ou, mieux, utilisez la notation décimale (hexa) à la place:

&#xA0; or &#160;

Dans une moyenne IDE, il devrait être trivial d'effectuer une "recherche et remplacement dans tous les fichiers" et de remplacer toutes les occurrences de &nbsp; par &#xA0;.

170
BalusC

Essayez d'utiliser &amp;#160;. pour plus d'informations sur les entités, vous pouvez vous référer à l'URL suivante Référence HTML ISO-8859-1

11
Sanjeevi.V
  1. <![CDATA[&nbsp;]]> devrait fonctionner correctement. Ceci ne fonctionne pas fonctionne à l'intérieur de la valeur d'attribut, cependant.

  2. Sinon, tant que &amp; est une entité prédéfinie en XML, vous pouvez essayer &amp;nbsp; - a travaillé pour moi avec JSP basé sur XML. Cela devrait également fonctionner dans les attributs.

10
Peter and the Wolf

Pour moi, le doctype suivant permet &nbsp;:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
9
Oleg Khaschansky

ajouter

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

vers le haut du fichier