2010-11-08 24 views
22

Sono in procinto di applicare un approccio "HTML4.5" a un sito XHTML1.0 Strict esistente. L'idea è di cambiare il doctype e applicare classi semantiche corrispondenti ai nuovi elementi di HTML5 (< div class="aside">, ecc.) E fare tutto ciò che posso farla franca, senza rottura di Internet Explorer (IE) applicando nuovi attributi di tipo <input>.& nbsp causa un errore di convalida HTML5

L'unico problema che ho riscontrato è che il validatore del W3C non ama &nbsp; o &copy;, mentre html5.validator.nu non ha alcun problema.

So che i validatori HTML5 sono sperimentali in questa fase. Devo sostituire &nbsp; con qualcosa? E allora?

Il mio set di caratteri su questo particolare sito è UTF-8.

risposta

32

&nbsp; va bene nel codice HTML text/html e convalida per me al W3.

Dove non è valido in XHTML5. Le uniche entità incorporate in XML sono &amp;, &lt;, &gt;, &quot; e &apos;. XHTML1 ha inserito l'elenco di entità HTML mediante la DTD a cui fa riferimento <!DOCTYPE>, ma (X) HTML5 non utilizza più una DTD, pertanto nella serializzazione XML non è possibile utilizzare le entità HTML.

Un riferimento di carattere come &#xA0; è ancora a posto. E se stai servendo la tua pagina nella giusta codifica puoi semplicemente includere un personaggio U + 00A0 No-Break Space direttamente senza fuggire:  . (Naturalmente che sta per essere fastidioso per modificare se il vostro editor di testo non distingue visivamente il no-break e lo spazio standard.)

0

semplicemente sostituire tutti i &nbsp; con &#160;

+4

Credo che l'entità decimale corretto per '   'dovrebbe essere'   'o si potrebbe anche usare l'entità esadecimale'   ' – Gauts

Problemi correlati