For XHTML output, it is an error to generate entity references (except
the standard XML ones) as they are not guaranteed to work. Indeed
http://www.w3.org/TR/html5/the-xhtml-syntax.html#writing-xhtml-documents
says:
Note: According to the XML specification, XML processors are not
guaranteed to process the external DTD subset referenced in the
DOCTYPE. This means, for example, that using entity references for
characters in XHTML documents is unsafe if they are defined in an
external file (except for <, >, &, " and ').
Numeric character references should be generated instead, i.e. when
XHTML output is generated, numeric-entities should be ignored (or at
least, it should default to "yes").
An example of the problem:
echo "é" | tidy -asxhtml
outputs:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org" />
<title></title>
</head>
<body>
é
</body>
</html>
Note: web browsers should have no problems with entity references,
but remember that one of the purposes of XHTML (over HTML) is to
manipulate the files with XML tools.