Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error Parsing /page.xhtml: Error Traced[line: 42] The entity "nbsp" was referenced, but not declared

I'd like to use non breaking spaces in my JSF page. I know, in plain HTML I could use   for this and this works fine. However, when I put those   in a Facelets page, then it errors as follows:

Error Parsing /page.xhtml: Error Traced[line: 42] The entity "nbsp" was referenced, but not declared.

How is this caused and how can I solve it?

like image 751
Fahim Parkar Avatar asked Oct 22 '12 13:10

Fahim Parkar


2 Answers

Facelets is a XML based view technology. XML has only five predefined entities. The   is not among them. It works only when used in plain HTML or in legacy JSP (note: it doesn't work in JSPX as that's also XML based!).

To fix this, you either need to declare the entity yourself in the doctype of the very XHTML file containing the   entity,

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

or, better, use the (hexa)decimal notation instead:

&#xA0; or &#160;

In an average IDE it should be trivial to perform a "find and replace in all files" and replace every occurrence of &nbsp; by &#xA0;.

like image 137
BalusC Avatar answered Nov 04 '22 00:11

BalusC


Try using &amp;#160;. for more information on entities you can refer following url HTML ISO-8859-1 Reference

like image 14
Sanjeevi.V Avatar answered Nov 04 '22 01:11

Sanjeevi.V