W3CREC-html32-970114

Спецификация HTML 3.2

Рекомендация W3C от 14 января 1997 года

Автор: Дейв Раггетт (Dave Raggett)
<dsr@w3.org>
Перевод на русский: Радик Усманов (Radik Usmanov)
<radik@nsp.chg.ru>

Статус данного документа

Данный документ был рассмотрен членами группы W3C и другими заинтересованными сторонами и принят руководством W3C в качестве рекомендации. Данная рекомендация является неизменным документом и может быть использована в качестве исходного материала при создании ссылок или при цитировании в других документах в качестве норматива. Задача организации W3C в деле создания данной Рекомендации заключается в том, чтобы привлечь к ней внимание и способствовать широкому распространению данной спецификации. В конечном итоге это ведет к увеличению возможностей и универсальности Web.

Полный список рекомендаций, поддерживаемых организацией W3C, а также другие документы технического характера можно найти по адресу http://www.w3.org/pub/WWW/TR/.


Аннотация

Язык разметки гипертекста (HTML) является простым средством разметки, предназначенным для создания гипертекстовых документов, легко переносимых с одной платформы на другую. Документы на языке HTML, являющегося разновидностью SGML, имеют универсальную семантику, которая дает возможность предоставлять информации из большого набора приложений. Данная спецификация определяет версию 3.2 языка HTML. Цель разработчиков HTML 3.2 заключалась в обобщении практических рекомендаций, накопленных с начала 1996 года, а также в том, чтобы подготовить замену для версии 2.0 языка HTML (RFC 1866).


Содержание


Введение в язык HTML 3.2

Стандарт HTML 3.2 является спецификацией языка разметки гипертекста, предложенной организацией W3C и разработанной в начале 1996 года в кооперации с такими поставщиками, как IBM, Microsoft, Netscape Communication Corporation, Novell, SoftQuad, Spyglass, и Sun Microsystems. Версия 3.2 языка HTML дополнена такими широко распространенными элементами, как таблицы, апплеты и обтекание текстом изображений. При этом обеспечивается полная обратная совместимость с ныне существующим стандартом HTML 2.0.

W3C совместно с упомянутыми фирмами продолжает работу над расширением возможностей элементов языка HTML, таких как feagures, объекты мультимедиа, скрипты, типы стилей, разметка (layout), формы, математические символы, и над интернационализацией языка. W3C планирует включить результаты этой работы в следующие версии языка HTML.

HTML как частный случай SGML

Язык HTML 3.2 является реализацией SGML - стандартного обобщенного языка разметки (Standard Generalized Markup Language), отвечающей требованиям международного стандарта ISO 8879. Являясь реализацией SGML, синтаксис документа HTML 3.2 определяется комбинацией деклараций SGML и определений для типов документов (DTD). Данная спецификация дает определенную интерпретацию для элементов HTML 3.2, а также накладывает новые ограничения на допустимый синтаксис самого языка, что вызвано трудностями его формализации в DTD.

В языке SGML используются довольно сложные правила для границ записей (records). В частности, конец записи, следующий сразу за стартовым тэгом, должен игнорироваться. Например, разметка:

<P>
Текст

эквивалентна:

<P>Текст

Аналогично, должен игнорироваться конец записи, стоящий непосредственно перед завершающим тэгом. Например:

Текст
</P>

эквивалентно:

Текст</P>

Если не осуществляется разметка специального текста (например, текста с элементами PRE), в языке HTML последовательность из нескольких следующих друг за другом пробелов считается эквивалентной одному пробелу (в ASCII его десятичный код - 32). Подобные правила оставляют за авторами значительную свободу при внесении изменений в уже размеченный текст. Заметим, что в дальнейшие реализации языка HTML будет включена интерпретация для символа горизонтальной табуляции (в ASCII десятичный код 9), связанная с внесением в ассоциированную таблицу стиля некого правила для табуляций.

Объекты SGML, встречающиеся в контексте PCDATA или в атрибутах CDATA, должны адекватно расшифровываются анализатором языка. Например, &#233; должно заменятся на символ из набора ISO Latin-1 с десятичным кодом 233 (прописная буква e со знаком акцента). Данный символ могло также представить в виде записи, содержащей его название, например &eacute;. Даже сам символ & можно включить в текст, воспользовавшись записью с его названием: &amp;.

Спецификация HTML позволяет не ставить в кавычки атрибуты CDATA, если в них содержатся только буквы (от a до z и от A до Z), дефисы (в ASCII десятичный код 45) и точки (в ASCII десятичный код 46). В общем же случае значение атрибута может быть записано внутри двойных или одинарных кавычек (в ASCII их десятичные коды - 34 и 39 соответственно). Внутри атрибута, помещенного в двойные кавычки, можно ставить символы одинарных кавычек, и наоборот.

Заметим, что некоторые браузеры конечных пользователей требуют использования сокращенной записи для следующих атрибутов: COMPACT, ISMAP, CHECKED, NOWRAP, NOSHADE и NOHREF. Эти программы не воспринимают синтаксис типа COMPACT=COMPACT или ISMAP=ISMAP, хотя такая возможность и допускается в спецификации HTML 3.2 DTD.

Декларации SGML и DTD, используемые в спецификации HTML 3.2, даются в приложениях к данному документу. Остальные основополагающие принципы лексического анализа языка HTML даны в статье Дена Коннолли WD-html-lex.


Структура документов HTML


Элемент HEAD и его производные

TITLE

STYLE and SCRIPT

ISINDEX

BASE

META

LINK


Элемент BODY и его производные

Элементы на уровне блоков и текста

Заголовки

ADDRESS

Блочные элементы разметки


Параграфы

Списки

Предварительно отформатированный текст

DIV и CENTER

BLOCKQUOTE

FORM

HR - горизонтальные линейки

Таблицы


Элементы текстового уровня

Элементы, задающие шрифт, используемый при разметке документа

Элементы разметки фраз

Поля заполняемых форм

INPUT текстовые поля, радиокнопки, контрольные ящички, ...

меню SELECT

Поля для ввода нескольких строк текста TEXTAREA

Специальные элементы текстового уровня


Пример SGML Open Catalog для языка HTML 3.2


Декларация языка HTML 3.2 в SGML


Определение типов в документе HTML 3.2