<!--
В данном HTML 4.0 Strict DTD исключаются атрибуты
и элементы представления, использование которых для
определения стиля W3C планирует постепенно прекратить.
Авторам следует при возможности использовать Strict DTD,
но в случае необходимости поддержки атрибутов и элементов
представления допускается использование Transitional DTD.
В HTML 4.0 включены механизмы поддержки таблиц стилей,
скриптов, внедрения объектов, улучшена поддержка направления
текста справа налево и смешанного текста, а также внесены
изменения в формы с целью обеспечения удобства работы
пользователей с физическими недостатками.
Черновик: $Дата: 1997/12/18 09:36:02 $
Авторы:
Дэйв Рэгетт <dsr@w3.org>
Арно Ле Орс <lehors@w3.org>
Ян Джейкобс <ij@w3.org>
Подробную информацию о HTML 4.0 можно найти по адресу:
http://www.w3.org/TR/REC-html40
-->
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.0 Transitional//EN"
-- Пример типичного использования:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
...
</head>
<body>
...
</body>
</html>
URI, используемый как идентификатор системы, позволяет
агенту пользователя загрузить необходимые DTD и наборы
комбинаций.
FPI для Strict HTML 4.0 DTD:
"-//W3C//DTD HTML 4.0//EN"
его URI:
http://www.w3.org/TR/REC-html40/strict.dtd
Авторы должны использовать Strict DTD, если только им не
нужно использовать управление представленим для агентов
пользователей, не поддерживающих (адекватынм образом) таблицы
стилей.
Если Вы создаете документ с фреймами, используйте
следующий FPI:
"-//W3C//DTD HTML 4.0 Frameset//EN"
и URI:
http://www.w3.org/TR/REC-html40/frameset.dtd
По отношению к HTML 4.0 поддерживаются следующие URI
"http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
"http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
"http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
"http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
"http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
"http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
Эти URI указывают на последнюю версию каждого файла.
Для ссылки на специальную версию используйте следующие URI:
"http://www.w3.org/TR/REC-html40-971218/strict.dtd"
"http://www.w3.org/TR/REC-html40-971218/loose.dtd"
"http://www.w3.org/TR/REC-html40-971218/frameset.dtd"
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"
"http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"
"http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"
-->
<!--================== Импортированные имена ====================================-->
<!ENTITY % ContentType "CDATA"
-- тип устройства в соответствии с [RFC2045]
-->
<!ENTITY % ContentTypes "CDATA"
-- разделенный запятыми список типов устройств в соответствии с [RFC2045]
-->
<!ENTITY % Charset "CDATA"
-- кодировка символов в соответствии с [RFC2045]
-->
<!ENTITY % Charsets "CDATA"
-- разделенный пробелами список кодировок символов в соответствии с [RFC2045]
-->
<!ENTITY % LanguageCode "NAME"
-- код языка в соответствии с [RFC1766]
-->
<!ENTITY % Character "CDATA"
-- отдельный символ [ISO10646]
-->
<!ENTITY % LinkTypes "CDATA"
-- разделенный пробелами список типов ссылок
-->
<!ENTITY % MediaDesc "CDATA"
-- отдельный дескриптор устройства или разделенный запятыми список
-->
<!ENTITY % URI "CDATA"
-- универсальный идентификатор ресурса,
см. [URI]
-->
<!ENTITY % Datetime "CDATA" -- информация о дате и времени. Формат даты ISO -->
<!ENTITY % Script "CDATA" -- выражение скрипта -->
<!ENTITY % StyleSheet "CDATA" -- данные таблицы стилей -->
<!ENTITY % FrameTarget "CDATA" - представление в этом фрейме -->
<!ENTITY % Text "CDATA">
<!-- Комбинации параметров -->
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- повторяющиеся элементы заголовка -->
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL | DIR | MENU">
<!ENTITY % preformatted "PRE">
<!ENTITY % Color "CDATA" -- a color using sRGB: #RRGGBB as Hex values -->
<!-- 16 широко известных названий цветов и их значения RGB:
Black (черный) = #000000 Green (зеленый) = #008000
Silver (серебряный) = #C0C0C0 Lime (лимонный) = #00FF00
Gray (серый) = #808080 Olive (оливковый) = #808000
White (белый) = #FFFFFF Yellow (желтый) = #FFFF00
Maroon (коричневый) = #800000 Navy (синий) = #000080
Red (красный) = #FF0000 Blue (голубой) = #0000FF
Purple (пурпурный) = #800080 Teal = #008080
Fuchsia (фуксия) = #FF00FF Aqua (бирюзовый) = #00FFFF
-->
<!ENTITY % bodycolors "
bgcolor %Color; #IMPLIED -- цвет фона документа --
text %Color; #IMPLIED -- цвет текста документа --
link %Color; #IMPLIED -- цвет ссылок --
vlink %Color; #IMPLIED -- цвет просмотренных ссылок --
alink %Color; #IMPLIED -- цвет выбранных ссылок --
">
<!--================ Комбинации мнемоник символов =========================-->
<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin1//EN//HTML"
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent">
%HTMLlat1;
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols//EN//HTML"
"http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent">
%HTMLsymbol;
<!ENTITY % HTMLspecial PUBLIC
"-//W3C//ENTITIES Special//EN//HTML"
"http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent">
%HTMLspecial;
<!--=================== Общие атрибуты ===============================-->
<!ENTITY % coreattrs
"idID #IMPLIED -- уникальнй дентификатор в пределах документа --
classCDATA #IMPLIED -- разделенный пробелами список классов --
style%StyleSheet; #IMPLIED -- связанная информация о стиле --
title%Text; #IMPLIED -- рекомендуемый заголовок/усиление --"
>
<!ENTITY % i18n
"lang%LanguageCode; #IMPLIED -- код языка --
dir (ltr|rtl) #IMPLIED -- направление слабого/нейтрального текста --"
>
<!ENTITY % events
"onclick%Script; #IMPLIED -- щелчок кнопки указующего устройства --
ondblclick%Script; #IMPLIED -- двойной щелчок кнопки указующего устройства --
onmousedown%Script; #IMPLIED -- нажата кнопка указующего устройства --
onmouseup%Script; #IMPLIED -- отпущена кнопка указующего устройства --
onmouseover%Script; #IMPLIED -- указатель перемещен на --
onmousemove%Script; #IMPLIED -- указатель перемещен в пределы --
onmouseout%Script; #IMPLIED -- указатель перемещен за пределы --
onkeypress%Script; #IMPLIED -- клавиша нажата и отпущена --
onkeydown%Script; #IMPLIED -- клавиша нажата --
onkeyup%Script; #IMPLIED -- клавиша отпущена --"
>
<!-- Переключатель зарезервированных возможностей -->
<!ENTITY % HTML.Reserved "IGNORE">
<!-- Следующие атрибуты зарезервированы, и, возможно, будут использоваться в будущем -->
<![ %HTML.Reserved; [
<!ENTITY % reserved
"datasrc%URI; #IMPLIED -- a один или несколько источников данных --
datafldCDATA #IMPLIED -- имя свойства или столбца --
dataformatas (plaintext|html) plaintext -- текст или html --"
>
]]>
<!ENTITY % reserved "">
<!ENTITY % attrs "%coreattrs;%i18n;%events;">
<!ENTITY % align "align (left|center|right|justify) #IMPLIED"
-- по умолчанию left для абзацев с направлением слева направо,
right для направления справа налево--
>
<!--=================== Разметка текста ======================================-->
<!ENTITY % fontstyle
"TT | I | B | U | S | STRIKE | BIG | SMALL">
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
<!ENTITY % special
"A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT |
MAP | Q | SUB | SUP | SPAN | BDO | IFRAME">
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
<!-- %inline; встроенные элементы или элементы "уровня текста"-->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle;|%phrase;)
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT (SUB|SUP) - - (%inline;)* -- верхний и нижний индекс -->
<!ATTLIST (SUB|SUP)
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT SPAN - - (%inline;)* -- общий контейнер языка/стиля -->
<!ATTLIST SPAN
%attrs; -- %coreattrs, %i18n, %events --
%reserved; -- зарезервировано для использования в будущем --
>
<!ELEMENT BDO - - (%inline;)* -- переопределение BiDi интернационализации -->
<!ATTLIST BDO
%coreattrs; -- id, class, style, title --
lang%LanguageCode; #IMPLIED -- код языка --
dir (ltr|rtl) #REQUIRED -- направление --
>
<!ELEMENTBASEFONT - O EMPTY -- базовый размер шрифта -->
<!ATTLIST BASEFONT
idID #IMPLIED -- уникальный идентификатор в пределах документа --
sizeCDATA #REQUIRED -- базовый размер шрифта для элементов FONT --
color%Color; #IMPLIED -- цвет текста --
faceCDATA #IMPLIED -- разделенный запятыми список названий шрифтов --
>
<!ELEMENT FONT - - (%inline;)* -- локлаьное переключение на шрифт -->
<!ATTLIST FONT
%coreattrs; -- id, class, style, title --
%i18n; -- lang, dir --
sizeCDATA #IMPLIED -- [+|-]nn, например, size="+1", size="4" --
color%Color; #IMPLIED -- цвет текста --
faceCDATA #IMPLIED -- разделенный запятыми список названий шрифтов --
>
<!ELEMENT BR - O EMPTY -- принудительный переход на новую строку -->
<!ATTLIST BR
%coreattrs; -- id, class, style, title --
clear (left|all|right|none) none -- управление обтеканием текста --
>
<!--================== Модели содержимого HTML ===============================-->
<!--
В HTML имеется две основных модели содержимого:
%inline; элементы уровня символа и текстовые строки
%block; элементы типа блока, например абзацы и списки
-->
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
TABLE | FIELDSET | ADDRESS">
<!ENTITY % flow "%block; | %inline;">
<!--=================== Тело документа ====================================-->
<!ELEMENT BODY O O (%flow;)* +(INS|DEL) - тело документа -->
<!ATTLIST BODY
%attrs; -- %coreattrs, %i18n, %events --
onload%Script; #IMPLIED -- документ загружен --
onunload%Script; #IMPLIED -- документ удален --
background%URI; #IMPLIED -- текстура для фона документа --
%bodycolors; -- bgcolor, text, link, vlink, alink --
>
<!ELEMENT ADDRESS - - ((%inline;)|P)* -- информация об авторе -->
<!ATTLIST ADDRESS
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT DIV - - (%flow;)* -- общий контейнер языка/стиля -->
<!ATTLIST DIV
%attrs; -- %coreattrs, %i18n, %events --
%align; -- выравнивание текста --
%reserved; -- зарезервировано для использования в будущем --
>
<!ELEMENT CENTER - - (%flow;)* -- сокращение для DIV align=center -->
<!ATTLIST CENTER
%attrs; -- %coreattrs, %i18n, %events --
>
<!--================== Элементя якоря ================================-->
<!ENTITY % Shape "(rect|circle|poly|default)">
<!ENTITY % Coords "CDATA" -- разделенный запятыми список длин -->
<!ELEMENT A - - (%inline;)* -(A) -- якорь -->
<!ATTLIST A
%attrs; -- %coreattrs, %i18n, %events --
charset%Charset; #IMPLIED -- кодировка связанного ресурса --
type%ContentType; #IMPLIED -- рекомендуемый тип содержимого --
nameCDATA #IMPLIED -- конец именованной ссылки --
href%URI; #IMPLIED -- URI связанного ресурса --
hreflang%LanguageCode; #IMPLIED -- код языка --
target%FrameTarget; #IMPLIED -- генерировать в этом фрейме --
rel%LinkTypes; #IMPLIED -- типы прямых ссылок --
rev%LinkTypes; #IMPLIED -- типы обратных ссылок --
accesskey%Character; #IMPLIED -- клавиша доступа --
shape%Shape; rect -- для использования с клиентскими
навигационными картами --
coords%Coords; #IMPLIED -- для использования с клиентскими
навигационными картами --
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
>
<!--================== Клиентские навигационные карты ============================-->
<!-- Они могут помещаться в тот же самый документ или
располагаться в отдельном документе, хотя это поддерживается еще
не повсеместно -->
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- клиентская навигационная карта -->
<!ATTLIST MAP
%attrs; -- %coreattrs, %i18n, %events --
nameCDATA #REQUIRED -- используется в usemap --
>
<!ELEMENT AREA - O EMPTY -- область клиентской навигационной карты -->
<!ATTLIST AREA
%attrs; -- %coreattrs, %i18n, %events --
shape%Shape; rect -- управляет интерпретацией координат --
coords%Coords; #IMPLIED -- разделенный запятыми список длин --
href%URI; #IMPLIED -- URI связанного ресурса --
target%FrameTarget; #IMPLIED -- генерировать в этом фрейме --
nohref (nohref) #IMPLIED -- с этой областью действие не связано --
alt%Text; #REQUIRED -- краткое описание --
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
accesskey%Character; #IMPLIED -- клавиша доступа --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
>
<!--================== Элемент ссылки ==================================-->
<!--
Значения отношения могут использоваться в основном:
а) для панелей инструментов/меню в документе при использовании
с элементом LINK в заголовке документа, например,
начало, содержание, назад, далее, указатель, конец, справка
б) для ссылки на отдельную таблицу стилей (rel=stylesheet)
в) для установки ссылки на скрипт (rel=script)
г) в таблицах стилей для управления представлением набора узлов
html в печатных версиях документов
д) для ссылки на печатную версию данного документа, например,
на версию в формате postscript или pdf (rel=alternate media=print)
-->
<!ELEMENT LINK - O EMPTY -- независящая от устройства ссылка -->
<!ATTLIST LINK
%attrs; -- %coreattrs, %i18n, %events --
charset%Charset; #IMPLIED -- кодировка связанного ресурса --
href%URI; #IMPLIED -- URI связанного ресурса --
hreflang%LanguageCode; #IMPLIED -- код языка --
type%ContentType; #IMPLIED -- рекомендуемый тип содержимого --
rel%LinkTypes; #IMPLIED -- типы прямых ссылок --
rev%LinkTypes; #IMPLIED -- типы обратных ссылок --
media%MediaDesc; #IMPLIED -- для представления на этих устройствах --
target%FrameTarget; #IMPLIED -- генерировать в этом фрейме --
>
<!--=================== Изображения ===========================================-->
<!-- Длина, определяемая в strict DTD для cellpadding/cellspacing -->
<!ENTITY % Length "CDATA" -- nn в пикселах или nn% в процентах -->
<!ENTITY % MultiLength "CDATA" -- пикселы, проценты или относительная -->
<!ENTITY % MultiLengths "CDATA" - разделенный запятыми список MultiLength -->
<!ENTITY % Pixels "CDATA" - целое число, представляющее длину в пикселах -->
<!ENTITY % IAlign "(top|middle|bottom|left|right)" -- центрировать? -->
<!-- Во избежание проблем с только тестовыми агентами пользователей,
а также сделать изображения доступными и полезными для пользователей
с невизуальными агентами, необходимо определять описания в атрибуте ALT и
не использовать серверные изображения-карты -->
<!ELEMENT IMG - O EMPTY -- внедренное изображение -->
<!ATTLIST IMG
%attrs; -- %coreattrs, %i18n, %events --
src%URI; #REQUIRED -- URI внедряемого изображения --
alt%Text; #REQUIRED -- краткое описание --
longdesc%URI; #IMPLIED -- ссылка на длинное описание (дополняет alt) --
height%Length; #IMPLIED -- переопределение высоты --
width%Length; #IMPLIED -- переопределение ширины --
usemap%URI; #IMPLIED -- использовать клиентскую навигационную карту --
ismap (ismap) #IMPLIED -- использовать серверную навигационную карту --
align%IAlign; #IMPLIED -- вертикальное или горизонтальное выравнивание --
border%Length; #IMPLIED -- ширина границы ссылки --
hspace%Pixels; #IMPLIED -- горизонтальный gutter --
vspace%Pixels; #IMPLIED -- вертикальный gutter --
>
<!-- USEMAP указывает на элемент MAP, который может находиться в
этом же или в другом документе, хотя последнее поддерживается не всегда -->
<!--==================== OBJECT ======================================-->
<!--
OBJECT используется для внедрения объектов в качестве части страниц HTML,
другому содержимому должны предшествовать элементы PARAM. Модель смешанного
содержимого SGML технически мешает такому формальному заданию...
-->
<!ELEMENT OBJECT - - (PARAM | %flow;)*
-- общий внедренный объект -->
<!ATTLIST OBJECT
%attrs; -- %coreattrs, %i18n, %events --
declare (declare) #IMPLIED -- объявить, но не инициализировать флаг --
classid%URI; #IMPLIED -- определяет реализацию --
codebase%URI; #IMPLIED -- базовый URI для classid, data, archive--
data%URI; #IMPLIED -- ссылка на аднные объекта --
type%ContentType; #IMPLIED -- тип содержимого данных --
codetype%ContentType; #IMPLIED -- тип содержимого кода --
archive%URI; #IMPLIED -- разделенный пробелами список архивов --
standby%Text; #IMPLIED -- сообщение, отображаемое во время загрузки --
height%Length; #IMPLIED -- переопределение высоты --
width%Length; #IMPLIED -- переопределение ширины --
usemap%URI; #IMPLIED -- использоватт клиентскую навигационную карту --
nameCDATA #IMPLIED -- передать как часть формы --
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
align%IAlign; #IMPLIED -- вертикальное или горизонтальное выравнивание --
border%Length; #IMPLIED -- ширина границы ссылки --
hspace%Pixels; #IMPLIED -- горизонтальный gutter --
vspace%Pixels; #IMPLIED -- вертикальный gutter --
%reserved; -- зарезервировано для использования в будущем --
>
<!ELEMENT PARAM - O EMPTY -- значение именованного свойства -->
<!ATTLIST PARAM
idID #IMPLIED -- уникальный идентификатор в пределах документа --
nameCDATA #REQUIRED -- имя свойства --
valueCDATA #IMPLIED -- значение свойства --
valuetype (DATA|REF|OBJECT) DATA -- как интерпретировать значение --
type%ContentType; #IMPLIED -- тип содержимого для значение, если valuetype=ref --
>
<!--=================== Апплет Java ==================================-->
<!--
Должен присутствовать один из атрибутов кода или объекта.
Помещайте элементы PARAM прежде другого содержимого.
-->
<!ELEMENTAPPLET - - (PARAM | %flow;)* -- апплет Java -->
<!ATTLIST APPLET
%coreattrs; -- id, class, style, title --
codebase%URI; #IMPLIED -- необязательный базовый URI для апплета --
archiveCDATA #IMPLIED -- разделенный запятыми список архивов --
codeCDATA #IMPLIED -- файл класса апплета --
objectCDATA #IMPLIED -- файл серийного апплета --
alt%Text; #IMPLIED -- краткое описание --
nameCDATA #IMPLIED -- позволять апплетам обнаруживать друг друга --
width%Length; #REQUIRED -- начальная ширина --
height%Length; #REQUIRED -- начальная высота --
align%IAlign; #IMPLIED -- вертикальное или горизонтальное выравнивание --
hspace%Pixels; #IMPLIED -- горизонтальный gutter --
vspace%Pixels; #IMPLIED -- вертикальный gutter --
>
<!--=================== Горизонтальный разделитель ==================================-->
<!ELEMENT HR - O EMPTY - горизонтальный разделитель -->
<!ATTLIST HR
%coreattrs; -- id, class, style, title --
%events;align (left|center|right) #IMPLIED
noshade (noshade) #IMPLIED
size%Pixels; #IMPLIED
width%Length; #IMPLIED
>
<!--=================== Абзацы =======================================-->
<!ELEMENT P - O (%inline;)* -- абзац -->
<!ATTLIST P
%attrs; -- %coreattrs, %i18n, %events --
%align; -- выравнивание, выравнивание текста --
>
<!--=================== Заголовки =========================================-->
<!--
Имеется шесть уровней заголовков: от H1 до
H6 (наименее значимый).
-->
<!ELEMENT (%heading;) - - (%inline;)* -- заголовок -->
<!ATTLIST (%heading;)
%attrs; -- %coreattrs, %i18n, %events --
%align; -- выравнивание, выравнивание текста --
>
<!--=================== Форматированный текст ================================-->
<!-- исключает разметку для изображений и изменения размера шрифта -->
<!ENTITY % pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT">
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) - форматирвоанный текст -->
<!ATTLIST PRE
%attrs; -- %coreattrs, %i18n, %events --
widthNUMBER #IMPLIED
>
<!--===================== Встроенные цитаты ==================================-->
<!ELEMENT Q - - (%inline;)* -- короткая встроенная цитата -->
<!ATTLIST Q
%attrs; -- %coreattrs, %i18n, %events --
cite%URI; #IMPLIED -- URI исходного документа или сообщения --
>
<!--=================== Цитаты уровня блока ================================-->
<!ELEMENT BLOCKQUOTE - - (%flow;)* -- длинная цитата -->
<!ATTLIST BLOCKQUOTE
%attrs; -- %coreattrs, %i18n, %events --
cite%URI; #IMPLIED -- URI исходного документа или сообщения --
>
<!--=================== Вставленный/удаленный текст ============================-->
<!-- INS/DEL are handled by inclusion on BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)* -- вставленный текст, удаленный текст -->
<!ATTLIST (INS|DEL)
%attrs; -- %coreattrs, %i18n, %events --
cite%URI; #IMPLIED -- информация о причинах изменений --
datetime%Datetime; #IMPLIED -- дата и время внесения изменений --
>
<!--=================== Списки ============================================-->
<!-- списки определений - DT -термин, DD - его определение -->
<!ELEMENT DL - - (DT|DD)+ -- список определений -->
<!ATTLIST DL
%attrs; -- %coreattrs, %i18n, %events --
compact (compact) #IMPLIED -- сокращенное расстояние между элементами --
>
<!ELEMENT DT - O (%inline;)* -- термин -->
<!ELEMENT DD - O (%flow;)* -- определение -->
<!ATTLIST (DT|DD)
%attrs; -- %coreattrs, %i18n, %events --
>
<!-- Упорядоченные списки (OL) стиль нумерации
1 арабские цифры 1, 2, 3, ...
a буквы в нижнем регистре a, b, c, ...
A буквы в верхнем регистре A, B, C, ...
i римские цифры, нижний регистр i, ii, iii, ...
I римские цифры, верхний регистр I, II, III, ...
Этот стиль применяется к порядковым номерам, по умолчанию для
первого элемента списка устанавливается 1.
Непосредственно в SGML это выразить нельзя вследствие проблем с
регистром.
-->
<!ENTITY % OLStyle "CDATA" -- ограничено: "(1|a|A|i|I)" -->
<!ELEMENT OL - - (LI)+ -- упорядоченный список -->
<!ATTLIST OL
%attrs; -- %coreattrs, %i18n, %events --
type%OLStyle; #IMPLIED -- numbering style --
compact (compact) #IMPLIED -- сокращенное расстояние между элементами --
startNUMBER #IMPLIED -- начальный порядковый номер --
>
<!-- Unordered Lists (UL) bullet styles -->
<!ENTITY % ULStyle "(disc|square|circle)">
<!ELEMENT UL - - (LI)+ -- неупорядоченный список -->
<!ATTLIST UL
%attrs; -- %coreattrs, %i18n, %events --
type%ULStyle; #IMPLIED -- bullet style --
compact (compact) #IMPLIED -- сокращенное расстояние между элементами --
>
<!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- список каталогов, список меню -->
<!ATTLIST DIR
%attrs; -- %coreattrs, %i18n, %events --
compact (compact) #IMPLIED
>
<!ATTLIST MENU
%attrs; -- %coreattrs, %i18n, %events --
compact (compact) #IMPLIED
>
<!ENTITY % LIStyle "CDATA" -- ограничено: "(%ULStyle;|%OLStyle;)" -->
<!ELEMENT LI - O (%flow;)* -- элемент списка -->
<!ATTLIST LI
%attrs; -- %coreattrs, %i18n, %events --
type%LIStyle; #IMPLIED -- list item style --
valueNUMBER #IMPLIED -- сброс порядкового номера --
>
<!--================ Формы ===============================================-->
<!ELEMENT FORM - - (%flow;)* -(FORM) -- интерактивная форма -->
<!ATTLIST FORM
%attrs; -- %coreattrs, %i18n, %events --
action%URI; #REQUIRED -- дескриптор серверной формы --
method (GET|POST) GET -- метод HTTP, используемый для отправки формы --
enctype%ContentType; "application/x-www-form-urlencoded"
onsubmit%Script; #IMPLIED -- форма отправлена --
onreset%Script; #IMPLIED -- форма сброшена --
target%FrameTarget; #IMPLIED -- генерировать в этом фрейме --
accept-charset%Charsets; #IMPLIED -- список поддерживаемых наборов символов --
>
<!-- Each label must not contain more than ONE field -->
<!ELEMENT LABEL - - (%inline;)* -(LABEL) - текст метки поля формы -->
<!ATTLIST LABEL
%attrs; -- %coreattrs, %i18n, %events --
forIDREF #IMPLIED -- совпадает со значением ID поля --
accesskey%Character; #IMPLIED -- клавиша доступа --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
>
<!ENTITY % InputType
"(TEXT | PASSWORD | CHECKBOX |
RADIO | SUBMIT | RESET |
FILE | HIDDEN | IMAGE | BUTTON)"
>
<!-- атрибут name обязателен для всех элементов, кроме submit & reset -->
<!ELEMENT INPUT - O EMPTY -- управляющий элемент формы -->
<!ATTLIST INPUT
%attrs; -- %coreattrs, %i18n, %events --
type%InputType; TEXT -- что должно быть введено --
nameCDATA #IMPLIED -- передать как часть формы --
valueCDATA #IMPLIED -- обязателен для кнопок с зависимой фиксацией
и флажков --
checked (checked) #IMPLIED -- для кнопок с зависимой фиксацией
и флажков --
disabled (disabled) #IMPLIED -- в данном контексте недоступно --
readonly (readonly) #IMPLIED -- для текста и пароля --
sizeCDATA #IMPLIED -- свое для каждого типа поля --
maxlengthNUMBER #IMPLIED -- максимальное число символов для текстовых полей --
src%URI; #IMPLIED -- для полей с изображениями --
altCDATA #IMPLIED -- краткое описание --
usemap%URI; #IMPLIED -- use клиентская навигационная карта --
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
accesskey%Character; #IMPLIED -- клавиша доступа --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
onselect%Script; #IMPLIED -- выделен некоторый текст --
onchange%Script; #IMPLIED -- изменено значение элемента --
accept%ContentTypes; #IMPLIED -- список типов MIME файлов для загрузки --
align%IAlign; #IMPLIED -- вертикальное или горизонтальное выравнивание --
%reserved; -- зарезервировано для использования в будущем --
>
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- выбор вариантов -->
<!ATTLIST SELECT
%attrs; -- %coreattrs, %i18n, %events --
nameCDATA #IMPLIED -- название поля --
sizeNUMBER #IMPLIED -- видимые строки --
multiple (multiple) #IMPLIED -- одиночный выбор по умолчанию --
disabled (disabled) #IMPLIED -- в данном контексте недоступно --
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
onchange%Script; #IMPLIED -- изменено значение элемента --
%reserved; -- зарезервировано для использования в будущем --
>
<!ELEMENT OPTGROUP - - (OPTION)+ -- группа параметров -->
<!ATTLIST OPTGROUP
%attrs; -- %coreattrs, %i18n, %events --
disabled (disabled) #IMPLIED -- в данном контексте недоступно --
label%Text; #REQUIRED -- для использования в иерархических меню --
>
<!ELEMENT OPTION - O (#PCDATA) -- выбираемый вариант -->
<!ATTLIST OPTION
%attrs; -- %coreattrs, %i18n, %events --
selected (selected) #IMPLIED
disabled (disabled) #IMPLIED -- в данном контексте недоступно --
label%Text; #IMPLIED -- для использования в иерархических меню --
valueCDATA #IMPLIED -- по умолчанию - содержимое элемента --
>
<!ELEMENT TEXTAREA - - (#PCDATA) -- текстовое поле из нескольких строк -->
<!ATTLIST TEXTAREA
%attrs; -- %coreattrs, %i18n, %events --
nameCDATA #IMPLIED
rowsNUMBER #REQUIRED
colsNUMBER #REQUIRED
disabled (disabled) #IMPLIED -- в данном контексте недоступно --
readonly (readonly) #IMPLIED
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
accesskey%Character; #IMPLIED -- клавиша доступа --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
onselect%Script; #IMPLIED -- выделен некоторый текст --
onchange%Script; #IMPLIED -- изменено значение элемента --
%reserved; -- зарезервировано для использования в будущем --
>
<!--
#PCDATA используется для решения проблемы смешанного содержимого,
здесь допустимы только пробельные символы!
-->
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) - группа управляющих элементов формы -->
<!ATTLIST FIELDSET
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT LEGEND - - (%inline;)* -- описание набора полей -->
<!ENTITY % LAlign "(top|bottom|left|right)">
<!ATTLIST LEGEND
%attrs; -- %coreattrs, %i18n, %events --
accesskey%Character; #IMPLIED -- клавиша доступа --
align%LAlign; #IMPLIED -- относительно набора полей --
>
<!ELEMENT BUTTON - -
(%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)
-- кнопка -->
<!ATTLIST BUTTON
%attrs; -- %coreattrs, %i18n, %events --
nameCDATA #IMPLIED
valueCDATA #IMPLIED -- отправлено на сервер при передаче --
type (button|submit|reset) submit -- для использования в качестве кнопки --
disabled (disabled) #IMPLIED -- в данном контексте недоступно --
tabindexNUMBER #IMPLIED -- положение в последовательности перехода --
accesskey%Character; #IMPLIED -- клавиша доступа --
onfocus%Script; #IMPLIED -- фокус перешел к элементу --
onblur%Script; #IMPLIED -- фокус ушел с элемента --
%reserved; -- зарезервировано для использования в будущем --
>
<!--======================= Таблицы =======================================-->
<!-- IETF HTML table standard, see [RFC1942] -->
<!--
Атрибут BORDER устанавливает толщину рамки вокруг
таблицы. По умолчанию используются пикселы.
Атрибут FRAME определяет, какие части рамки вокруг
таблицы должны представляться. Значения не совпадают с
CALS во избежание конфликтов имен с атрибутом VALIGN.
Значение "border" включено для совместимости с предыдущими версиями
<TABLE BORDER>, уступив место frame=border и border=implied
Для <TABLE BORDER=1> введены border=1 и frame=implied. В этом
случае оно может обрабатываться как frame=border для совместимости
с браузерами более старых версий.
-->
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
<!--
Атрибут RULES определяет, какие rules между ячейками будут отображаться:
Если атрибут RULES отсутстввует, предполагается:
"none", если атрибут BORDER отсутствует или BORDER=0, в противном случае "all"
-->
<!ENTITY % TRules "(none | groups | rows | cols | all)">
<!-- горизонтальное расположение таблицы относительно документа -->
<!ENTITY % TAlign "(left|center|right)">
<!-- атрибуты горизонтального выравнивания содержимого ячейки -->
<!ENTITY % cellhalign
"align (left|center|right|justify|char) #IMPLIED
char%Character; #IMPLIED -- символ выравнивания, например, char=’:’ --
charoff%Length; #IMPLIED -- смещение символа выравнивания --"
>
<!-- атрибуты вертикального выравниваиня содержимого ячейки -->
<!ENTITY % cellvalign
"valign (top|middle|bottom|baseline) #IMPLIED"
>
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT CAPTION - - (%inline;)* -- table caption -->
<!ELEMENT THEAD - O (TR)+ -- заголовок таблицы -->
<!ELEMENT TFOOT - O (TR)+ -- нижний заголовок таблицы -->
<!ELEMENT TBODY O O (TR)+ -- тело таблицы -->
<!ELEMENT COLGROUP - O (col)* -- группа столбцов таблицы -->
<!ELEMENT COL - O EMPTY -- столбец таблицы -->
<!ELEMENT TR - O (TH|TD)+ -- строка таблицы -->
<!ELEMENT (TH|TD) - O (%flow;)* -- ячейка заголовка таблицы, ячейка данных таблицы-->
<!ATTLIST TABLE -- элемент таблицы --
%attrs; -- %coreattrs, %i18n, %events --
summary%Text; #IMPLIED -- назначение/структура речевого вывода--
width%Length; #IMPLIED -- ширина таблицы --
border%Pixels; #IMPLIED -- управляет толщиной рамки вокруг таблицы --
frame%TFrame; #IMPLIED -- какие части рамки должны геренироваться --
rules%TRules; #IMPLIED -- разделители между строками столбцами --
cellspacing%Length; #IMPLIED -- расстояние между ячейками --
cellpadding%Length; #IMPLIED -- расстояние в ячейках --
align%TAlign; #IMPLIED -- положение таблицы относительно окна --
bgcolor%Color; #IMPLIED -- цвет фона ячеек --
%reserved; -- зарезервировано для использования в будущем --
datapagesizeCDATA #IMPLIED -- зарезервировано для использования в будущем --
>
<!ENTITY % CAlign "(top|bottom|left|right)">
<!ATTLIST CAPTION
%attrs; -- %coreattrs, %i18n, %events --
align%CAlign; #IMPLIED -- относительно таблицы --
>
<!--
COLGROUP объяединяет ряд элементов COL. В можете
группировать несколько семантически связанных столбцов.
-->
<!ATTLIST COLGROUP
%attrs; -- %coreattrs, %i18n, %events --
spanNUMBER 1 -- число столбцов в группе по умолчанию --
width%MultiLength; #IMPLIED -- ширина по умолчанию для вложенных COL --
%cellhalign; -- горизонтальное выравнивание в ячейках --
%cellvalign; -- вертикальное выравнивание в ячейках --
>
<!--
Элементы COL определяют свойства выраванивания для ячеек
в одном или нескольких столбцах.
Атрибут WIDTH определяет ширину столбцов, например,
width=64 ширина в пикселах
width=0.5* относительная ширина 0.5
Атрибут SPAN приводит к тому, что атрибуты одного элемента
COL приеняются к нскольким столбцам.
-->
<!ATTLIST COL -- группа и свойства столбцов --
%attrs; -- %coreattrs, %i18n, %events --
spanNUMBER 1 -- атрибуты COL влияют на N столбцов --
width%MultiLength; #IMPLIED -- указание ширины столбца --
%cellhalign; -- горизонтальное выравнивание в ячейках --
%cellvalign; -- вертикальное выравнивание в ячейках --
>
<!--
Используйте THEAD для дублирования заголовков при разрые
таблицы на страницах ли для представления статических
заголовков, когда разделы TBODY представляются на
прокручиваемой панели.
Используйте TFOOT для дублирования нижних заголовков при разрые
таблицы на страницах ли для представления статических
заголовков, когда разделы TBODY представляются на
прокручиваемой панели.
Используйте несколько разделов TBODY, если между группами строк
таблицы необходимы rules.
-->
<!ATTLIST (THEAD|TBODY|TFOOT) -- table section --
%attrs; --
%coreattrs,
%i18n,
%events --
%cellhalign; -- горизонтальное выравнивание в ячейках --
%cellvalign; -- вертикальное выравнивание в ячейках --
>
<!ATTLIST TR -- строка таблицы --
%attrs; --
%coreattrs,
%i18n,
%events --
%cellhalign; -- горизонтальное выравнивание в ячейках --
%cellvalign; -- вертикальное выравнивание в ячейках --
bgcolor%Color; #IMPLIED -- цвет фона строки --
>
<!-- Атрибут Scope проще атрибута axes для большинства таблиц -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
<!-- TH - для заголовков, TD 0 для данных, но для ячеек, действующих как то и другое используйте TD -->
<!ATTLIST (TH|TD) -- ячейка заголовка или данных --
%attrs; -- %coreattrs, %i18n, %events --
abbr%Text; #IMPLIED -- аббревиатура ячейки заголовка --
axisCDATA #IMPLIED -- группы имен связаннх столбцов --
headersIDREFS #IMPLIED -- список идентификаторов ячеек заголовков --
scope%Scope; #IMPLIED -- область действия ячеек заголовков --
rowspanNUMBER 1 -- число строк, занимаемых ячейкой --
colspanNUMBER 1 -- число столбцов, занимаемых ячейкой --
%cellhalign; -- горизонтальное выравнивание в ячейках --
%cellvalign; -- вертикальное выравнивание в ячейках --
nowrap (nowrap) #IMPLIED -- подавление переноса слов --
bgcolor%Color; #IMPLIED -- цвет фона ячейки --
width%Pixels; #IMPLIED -- ширина ячейки --
height%Pixels; #IMPLIED -- высота ячейки --
>
<!--================== Фреймы документа ===================================-->
<!--
Модель содержимого документов HTML зависит от того, следует ли за
элементом HEAD элемент FRAMESET или BODY. Широко растпространенный
пропуск начального тега BODY не позволяет определить модель
содержимого без использования размеченного раздела.
-->
<!-- Feature Switch for frameset documents -->
<!ENTITY % HTML.Frameset "IGNORE">
<![ %HTML.Frameset; [
<!ELEMENTFRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) - подразделение окна -->
<!ATTLIST FRAMESET
%coreattrs; -- id, class, style, title --
rows%MultiLengths; #IMPLIED -- список длин, по умочланию: 100% (1 строка) --
cols%MultiLengths; #IMPLIED -- список длин, по умолчанию: 100% (1 столбец) --
onload%Script; #IMPLIED -- все фреймы загружены --
onunload%Script; #IMPLIED -- все фреймы удалены --
>
]]>
<![ %HTML.Frameset; [
<!-- зарезервированные имена фреймов начинаются с "_", в противном случае - с буквы -->
<!ELEMENTFRAME - O EMPTY -- вложенное окно -->
<!ATTLIST FRAME
%coreattrs; -- id, class, style, title --
longdesc%URI; #IMPLIED -- ссылка на длинное описание (дополняет title) --
nameCDATA #IMPLIED -- имя целевого фрейма --
src%URI; #IMPLIED -- источник содержимого фрейма --
frameborder (1|0) 1 -- нужны границы фрейма? --
marginwidth%Pixels; #IMPLIED -- ширина полей в пикселах --
marginheight%Pixels; #IMPLIED -- высотав полей в пикселах --
noresize (noresize) #IMPLIED -- позволить пользователям изменять размеры фрейма? --
scrolling (yes|no|auto) auto -- наличие полосы прокрутки --
>
]]>
<!ELEMENTIFRAME - - (%flow;)* -- встроенное вложенное окно -->
<!ATTLIST IFRAME
%coreattrs; -- id, class, style, title --
longdesc%URI; #IMPLIED -- ссылка на длинное описание (дополняет title) --
nameCDATA #IMPLIED -- имя целевого фрейма --
src%URI; #IMPLIED -- источник содержимого фрейма --
frameborder (1|0) 1 -- нужны границы фрейма? --
marginwidth%Pixels; #IMPLIED -- ширина полей в пикселах --
marginheight%Pixels; #IMPLIED -- высота полей в пикселах --
scrolling (yes|no|auto) auto -- нужна ли полоса прокрутки --
align%IAlign; #IMPLIED -- вертикальное или горизонтальное выравнивание --
height%Length; #IMPLIED -- высота фрейма --
width%Length; #IMPLIED -- ширина фрейма --
>
<![ %HTML.Frameset; [
<!ENTITY % noframes.content "(BODY) -(NOFRAMES)">
]]>
<!ENTITY % noframes.content "(%flow;)*">
<!ELEMENTNOFRAMES - - %noframes.content;
-- контейнер альтернативного содержимого для представления без фреймов -->
<!ATTLIST NOFRAMES
%attrs; -- %coreattrs, %i18n, %events --
>
<!--================ Заголовок документа =======================================-->
<!-- %head.misc; определяется ранее как "SCRIPT|STYLE|META|LINK|OBJECT" -->
<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) - заголовок документа -->
<!ATTLIST HEAD
%i18n; -- lang, dir --
profile%URI; #IMPLIED -- именованный словарь метаинформации --
>
<!-- Элемент TITLE не считается частью потока текста.
Он должен отображаться, например, в виде заголовка страницы
или окна. У кажого документа должен быть ровно один заголовок.
-->
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- заголовок документа -->
<!ATTLIST TITLE %i18n>
<!ELEMENTISINDEX - O EMPTY -- запрос из одной строки -->
<!ATTLIST ISINDEX
%coreattrs; -- id, class, style, title --
%i18n; -- lang, dir --
prompt%Text; #IMPLIED -- сообщение запроса -->
<!ELEMENT BASE - O EMPTY -- базовый URI документа -->
<!ATTLIST BASE
href%URI; #IMPLIED -- URI, служащий базовым --
target%FrameTarget; #IMPLIED -- генерировать в этом фрейме --
>
<!ELEMENT META - O EMPTY -- общая метаинформация -->
<!ATTLIST META
%i18n; -- lang, dir, для использования с содержимым --
http-equivNAME #IMPLIED -- HTTP имя заголовка ответа --
nameNAME #IMPLIED -- имя метаинформации --
contentCDATA #REQUIRED -- связанная информация --
schemeCDATA #IMPLIED -- выбор формы содержимого --
>
<!ELEMENT STYLE - - %StyleSheet -- информация о стиле -->
<!ATTLIST STYLE
%i18n; -- lang, dir, для использования в заголовке --
type%ContentType; #REQUIRED -- тип содержимого языка стиля --
media%MediaDesc; #IMPLIED -- для использвоания с этими устройствами --
title%Text; #IMPLIED -- рекомендуемый заголовок --
>
<!ELEMENT SCRIPT - - %Script; -- выражения скрипта -->
<!ATTLIST SCRIPT
charset%Charset; #IMPLIED -- кодировка связанного ресурса --
type%ContentType; #REQUIRED -- тип содержимого языка скрипта --
languageCDATA #IMPLIED -- предопределенное имя языка скрипта --
src%URI; #IMPLIED -- URI внешнего скрипта --
defer (defer) #IMPLIED -- агент пользователя может отложить выполнение
скрипта --
eventCDATA #IMPLIED -- зарезервировано для использования в будущем --
for%URI; #IMPLIED -- зарезервировано для использования в будущем --
>
<!ELEMENT NOSCRIPT - - (%flow;)*
-- контейнер альтернативного содержимого для представления без скриптов -->
<!ATTLIST NOSCRIPT
%attrs; -- %coreattrs, %i18n, %events --
>
<!--================ Структура документа ==================================-->
<!ENTITY % version "version CDATA #FIXED ’%HTML.Version;’">
<![ %HTML.Frameset; [
<!ENTITY % html.content "HEAD, FRAMESET">
]]>
<!ENTITY % html.content "HEAD, BODY">
<!ELEMENT HTML O O (%html.content;) -- корневой элемент документа -->
<!ATTLIST HTML
%i18n; -- lang, dir --
%version;
>