2010-11-08 14 views
22

Estoy en el proceso de aplicar un enfoque "HTML4.5" a un sitio XHTML1.0 Strict existente. La idea es cambiar el doctype y aplicar clases semánticas que coincidan con los nuevos elementos de HTML5 (< div class="aside">, etc.) y hacer todo lo que pueda, sin que Internet Explorer (IE) se rompa (por ejemplo, aplicando nuevos atributos de tipo <input>).& nbsp hace que falle la validación de HTML5

El único problema que he encontrado es que el validador de W3C no le gusta &nbsp; o &copy;, mientras que html5.validator.nu no tiene ningún problema.

Sé que los validadores de HTML5 son experimentales en esta etapa. ¿Debo reemplazar &nbsp; con algo? ¿Entonces qué?

Mi conjunto de caracteres en este sitio en particular es UTF-8.

Respuesta

32

&nbsp; está bien en el text/html HTML5 y lo valida para mí en W3.

Donde no validate está en XHTML5. Las únicas entidades incorporadas en XML son &amp;, &lt;, &gt;, &quot; y &apos;. XHTML1 trajo la lista de entidades HTML por medio de la DTD referenciada por <!DOCTYPE>, pero (X) HTML5 ya no usa una DTD, lo que significa que en la serialización XML no puede usar las entidades HTML.

Una referencia de caracteres como &#xA0; sigue estando bien. Y si está publicando su página en la codificación correcta, puede incluir un personaje U + 00A0 No-Break Space directamente sin escaparse:  . (Por supuesto que va a ser molesto para editar si su editor de texto no distingue visualmente el no-break y el espacio estándar.)

0

Sólo tiene que sustituir todo el &nbsp; con &#160;

+4

supongo que la entidad decimal correcto para '   'debe ser'   'o uno también podría usar la entidad hexadecimal'   ' – Gauts

Cuestiones relacionadas