Настоящият документ е превод на статията "Don't use “custom DTDs!”".
Оригиналната версия на документа се намира само на уебсайта на W3C http://www.w3.org/Style/customdtd.
Това НЕ е официален документ на W3C. Всички авторски права принадлежат на W3C.
Превод: Александър Дичев (към всички преводи).
Преводът е направен на 25.06.2008 и е обновен последно на 13.09.2010.
Страницата на W3C Style съдържа <blink> елемент. <blink> не е валиден HTML елемент, но въпреки това страницата е валидна според някои HTML валидатори. Какъв е трика?
В действителност страницата е синтактично валидна, защото елемента е деклариран в документа. Докато елементите са правилно декларирани, страницата е валидна по смисъла на SGML/XML.
Но страницата не е семантично валидна. Това е SGML документ, но не е HTML документ. Не съществува официален стандарт, който да дефинира, какво означава <blink>.
Страницата на W3C Style използва нестандартен елемент на шега. Ако помните историята на CSS вероятно си спомняте, че една от причините за появата на CSS е прецизно да се предотврати измислянето на свой нестандартни елементи от всеки браузър, като <blink>.
Технически, добавянето на нестандартен елемент е постигнато чрез написването на “измислен DTD” и включването му в първия ред на документа (DOCTYPE реда). Нестандартен DTD може да се направи, например, чрез копиране на HTML4 DTD и изменянето му.
Не правете това! Необходимо е документите да имат, както правилен синтаксис, така и значение. SGML и XML дефинират само синтаксис. HTML и XHTML дефинират значение. Ако добавите елементи, които не са дефинирани от стандарта, само Вие знаете значението им. И след 20 или 50 години, може и Вие вече да не го знаете вече…
Разбира се, можете да експериментирате, например, като работите върху създаването на бъдещи формати, но освен при тези изключения, трябва да използвате правилни елементи.