[Volgograd] HTML validator

Serge S. Fukanchik fuxx на solvo.ru
Пт Окт 3 11:54:31 MSD 2003


Ablamsky Taras писал мне ранее:
>Только вот я тоже прогнал то что получилось через validator и он
>нашел 31 ошибку, многие из которых я не понял. :(
Это из-за того что выбран неправильный DTD. Выберите тот, который болше всего
подходит. 
(по моему опыту если используется код счетчиков с mail.ru и прочих сайтов, то лучше
воспользоваться DTD HTML 3) и все эти ошибки сами собой уйдут. Или можно изменить код
счетчиков, чтобы они удовлетворяли выбранному DTD. Кстати, зачем использовать
HTML 4.01, если не пользуетесь Style Sheetами? В четветом HTML упор сделан именно на
разделение содержания и представления.

На сайте w3.org можно найти разные DTD и выбрать необходимый.

По поводу конкретных ошибок.

Ошибка с тегом script. 
В DTD 4.01 Transitional написано что атрибут `type' у тега SCRIPT обязательный
(кстати он в нем единственный обязательный ;)
И это должен быть Content-Type тела скрипта. В нашем случае это "text/javascrpt".

Ошибка с символом &.
В DTD написано что CDATA может содержать character entities (не знаю официального
перевода этого термина на русский). А User Agents должны интерпретировать CDATA
следующим образом:
заменить character entities соответствующими символами
игнорировать символы подачи каретки
заменить каждый перевод строки или табуляцию пробелом.

Сами character entities в SGML выделяются при помощи все того же символа & (например
< > & " ', так что у нас здесь противоречие между использованием
символа & как разделителя полей формы и как разделителя character entities.
Разрешить его можно заменив символ & на его character entity (& или &).
_Правильный_ UA должен будет заменить их на символ &. Я не знаю как здесь будут
себя вести _неправильные_ браузеры.

w3.org кстати, рекомендует CGI разработчикам пользоватьcя символом ; вместо &.
Можно наверное попробовать пообщаться со spylogом и с top.mail.ru по поводу кода
счетчика.

-- 
Top Ten Things Overheard At The ANSI C Draft Committee Meetings:
 
	(10) Sorry, but that's too useful.
	 (9) Dammit, little-endian systems *are* more consistent!
	 (8) I'm on the committee and I *still* don't know what the hell
	     #pragma is for.
	 (7) Well, it's an excellent idea, but it would make the compilers too
	     hard to write.
	 (6) Them bats is smart; they use radar.
	 (5) All right, who's the wiseguy who stuck this trigraph stuff in
	     here?
	 (4) How many times do we have to tell you, "No prior art!"
	 (3) Ha, ha, I can't believe they're actually going to adopt this
	     sucker.
	 (2) Thank you for your generous donation, Mr. Wirth.
	 (1) Gee, I wish we hadn't backed down on 'noalias'.



Подробная информация о списке рассылки Volgograd