О спецификации HTML 4.0

Проверка корректности документа


Многие авторы проверяют свои документы в ограниченном наборе браузеров, считая, что, если эти браузеры могут представить их документ, то документ является допустимым. К сожалению, это весьма неэффективное средство проверки документов, поскольку браузеры разработаны так, чтобы поддерживать и некорректные документы, представляя их настолько хорошо, насколько это возможно.

Для проверки корректности следует проверять документы с помощью грамматического анализатора SGML типа nsgmls (см. ), чтобы убедиться в их соответствии HTML 4.0 DTD. Если объявление типа Вашего документа включает URI, а синтаксический анализатор SGML поддерживает такой тип системных идентификаторов, он получит DTD прямо. В противном случае Вы можете использовать примерный каталог SGML. Предполагается, что DTD сохранено в виде файла "strict.dtd", а комбинации находятся в файлах "HTMLlat1.ent", "HTMLsymbol.ent" и "HTMLspecial.ent". В любом случае убедитесь, что синтаксический анализатор SGML поддерживает Unicode. Подробнее см. в документации по утилите для проверки корректности.

Помните, что несмотря на то, что такая проверка полезна и настоятельно рекомендуется, она не гарантирует полного соответствия документа спецификации HTML 4.0. Причина заключается в том, что синтаксический анализатор SGML использует только данное DTD SGML, в котором не отражены все аспекты корректного документа HTML 4.0. В частности, синтаксический анализатор SGML гарантирует корректность синтаксиса, структуры, списка элементов и их атрибутов. Но он не может отследить, например, такие ошибки как установка недопустимого значения атрибута элемента (например, "foo" или "12.5"). Хотя в данной спецификации значение этого атрибута ограничивается только "целыми числами, представляющими длину в пикселах", в DTD оно определено только как тип , для которого допустимы любые значения. Проверить полностью соответствие HTML 4.0 может только специальная программа.

Тем не менее, такая проверка все равно настоятельно рекомендуется, поскольку она позволяет обнаружить большой спектр ошибок.



Содержание раздела