Данный документ является переводом статьи "Don't use “custom DTDs”!".
Оригинальная версия документа существует только на сайте W3C https://www.w3.org/Style/customdtd
Данный перевод НЕ является официальным документом W3C.
Все Авторские Права Принадлежат W3C.
Данный документ может содержать ошибки перевода и опечатки.
Автор перевода: Евгений Скрипец, работает сейчас над проектом Speed Lab. Все переводы автора: en, ru, uk
Локальная версия: https://www.indeep76.com/Style/customdtd_ru.html
W3C страничка стилей содержит элемент <blink>. <blink> не является элементом HTML и, кроме того, страница корректна согласно некоторым HTML валидаторам. В чем фокус?
Фактически, страница синтаксически валидна, потому как элемент заявлен в документе. До тех пор, пока элементы должным образом заявляются, страница валидна согласно SGML/XML.
Но страница не семантически валидна. Это - SGML документ, но он не является HTML документом. Нет официальных стандартов, определяющих значение <blink>.
Страница стиля W3C использует нестандартные элементы в качестве объекта. Если вам известна история CSS, вы должны помнить, что одной из причин возниконовения CSS было стремление избежать использования браузерами свои собственных нестандартных элементов, таких как <blink>.
Технически добавление нестандартных элементов осуществляется путем написания «пользовательского DTD» и включения его в первую линию документа (линию DOCTYPE). Пользовательский DTD можно сделать, например, путем копирования HTML4 DTD и его модификации.
Не делайте этого! Документы должны иметь значение так же, как и правильный синтаксис. SGML и XML всего лишь определяют синтаксис. HTML и XHTML определяют значение. Если вы добавляете элементы, которые не определяются стандартами, только вы лично можете знать, что они означают. И через 20 или 50 лет даже вы уже можете их не помнить…
Разумеется, вы можете экспериментировать, например, работать с будущими веб-стандартами, но не используйте частные элементы.