buenas,
a ver si aclaramos tus dudas. en la mayoría de los casos los warning en realidad no son errores, simplemente son advertencias de detalles que debes estar conciente y que aplican posiblemente solo en ese momento. por ejemplo, el warning del charset por lo general ocurre cuando introduces directamente el código en el validador. cuando el servidor recibe el código, lo recibe en charset utf-8 porque así esta configurado el servicio de validación. también sucede cuando le dices al validador en que charset leer el código. por lo general puedes prescindir de ese detalle.
el caso del warning de html5 siempre aparecerá hasta que el estandar este completamente finalizado. de por si es un aviso para indicarte que puede ser que hoy valide pero mañana no. tienes que tener cuidado porque puede ser que en un momento dado realicen un cambio al draft de html5, de ahí el punto anterior.
el del warning de xhtml no se a que se refiere. tienes que leer detenidamente el mensaje para saber la razón. en fin, dependiendo el modo que estes realizando la validación siempre recibirás uno que otro warning. si no quieres ver los warning debes utilizar otro modo sin aplicar parámetros, por ejemplo validación por URL. y sobre un código que valide, por lo general debes tener la estructura mínima de acuerdo al DTD declarado. por ejemplo...
HTML 4.01
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
</head>
<body><div>
</div></body>
</html>
XHTML 1.0
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
</head>
<body><div>
</div></body>
</html>
HTML5
Código:
<!DOCTYPE html>
<html>
<head>
<title>I AM YOUR DOCUMENT TITLE REPLACE ME</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body><div>
</div></body>
</html>