& nbsp вызывает сбой проверки HTML5 - PullRequest
22 голосов
/ 08 ноября 2010

Я нахожусь в процессе применения подхода "HTML4.5" к существующему сайту XHTML1.0 Strict.Идея состоит в том, чтобы изменить тип документа и применить семантические классы, соответствующие новым элементам HTML5 (<<code>div class="aside"> и т. Д.), И сделать все, что мне удастся, без взлома Internet Explorer (IE) (например, применяя новый <input>).Атрибуты типа).

Единственная проблема, с которой я столкнулся, заключается в том, что валидатору W3C не нравятся &nbsp; или &copy;, в то время как html5.validator.nu не имеет проблем.

Я знаю, что валидаторы HTML5 на данном этапе экспериментальны.Должен ли я заменить &nbsp; на что-то?Если да, то что?

Моя кодировка на этом конкретном сайте - UTF-8.

Ответы [ 2 ]

32 голосов
/ 09 ноября 2010

&nbsp; хорошо в text/html HTML5, и это подтверждает для меня на W3.

Где это не будет проверять, находится в XHTML5.Единственными встроенными объектами в XML являются &amp;, &lt;, &gt;, &quot; и &apos;.XHTML1 внесен в список сущностей HTML с помощью DTD, на который ссылается <!DOCTYPE>, но (X) HTML5 больше не использует DTD, поэтому в сериализации XML нельзя использовать сущности HTML.

Ссылка на символ, такая как &#xA0;, все еще в порядке.И если вы обслуживаете свою страницу в правильной кодировке, вы можете просто включить символ пробела U + 00A0 без перерыва без экранирования: .(Конечно, редактирование будет раздражать, если ваш текстовый редактор визуально не различает непрерывный и стандартный пробел.)

0 голосов
/ 24 января 2012

Просто замените все &nbsp; на &#160;

...