22   Переходное
Определение Типа Документа (ОТД)

<!--
    
Это HTML 4.01 Переходное/Transitional ОТД, которое включает
атрибуты представления и элементы, которые, как ожидает W3C, будут
исключены с целью поддержать развитие таблиц стилей. Авторы должны использовать
Строгое/Strict ОТД везде, где это возможно, но могут использовать
Transitional ОТД для поддержки атрибутов представления и элементов,
если это необходимо.
HTML 4 включает механизмы поддержки таблиц стилей, сценариев,
внедрённых объектов, улучшенную поддержку правого, левого и смешанного
направления текста и новшества в формах, позволяющие улучшить
доступность для людей с физическими проблемами.

          Проект: $ Дата: 1999/12/24 22:40:35 $

          Авторы:
              Dave Raggett <dsr@w3.org>
              Arnaud Le Hors <lehors@w3.org>
              Ian Jacobs <ij@w3.org>

    Информация о  HTML 4.01 находится на:

        http://www.w3.org/TR/1999/REC-html401-19991224


   Спецификация HTML 4.01 включает дополнительные синтаксические ограничения,
   которые не могут быть выражены в ОТД.
-->
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Transitional//EN"
  -- типичное использование:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    ...
    </head>
    <body>
    ...
    </body>
    </html>


URI, используемый как системный идентификатор с public-идентификатором,
позволяет ПА загрузить ОТД и наборы объектов, как это необходимо.
FPI для Strict HTML 4.01 DTD:
"-//W3C//DTD HTML 4.01//EN"
Эта версия strict DTD:
http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd
Авторы должны использовать Строгое ОТД, если только они не хотят представить ЭУ
пользовательским агентам, которые не (адекватно) поддерживают таблицы стилей.
Если Вы создаёте документ с использованием фрэймов, записывайте FPI:
"-//W3C//DTD HTML 4.01 Frameset//EN".
Эта версия ОТД набора фрэймов/frameset:

http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd

Используйте следующие (относительные) URI для ОТД и определения объектов этой спецификации:

    "strict.dtd"
    "loose.dtd"
    "frameset.dtd"
    "HTMLlat1.ent"
    "HTMLsymbol.ent"
    "HTMLspecial.ent"

-->

<!--======================= Импортированные Имена ====================================-->

<!-- Переключатель характеристик для набора фрэймов -->
<!ENTITY % HTML.Frameset "IGNORE">

<!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" -- Uniform Resource Identifier, см. [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" -- цвет sRGB: #RRGGBB это 16-ричное значение -->

<!-- 16 хорошо известных названий цветов и их sRGB-значения:

    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;        #ПРЕДПОЛАГАЕТСЯ  -- цвет фона документа --
  text        %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет текста --
  link        %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет гиперссылки --
  vlink       %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет помещённой гиперссылки --
  alink       %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет выбранной гиперссылки --
  ">

<!--========================= Символьные Мнемоники =========================-->

<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin1//EN//HTML"
   "HTMLlat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols//EN//HTML"
   "HTMLsymbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special//EN//HTML"
   "HTMLspecial.ent">
%HTMLspecial;
<!--========================= Родовые Атрибуты ===============================-->

<!ENTITY % coreattrs
 "id          ID             #ПРЕДПОЛАГАЕТСЯ  -- уникальный идентификатор документа --
  class       CDATA          #ПРЕДПОЛАГАЕТСЯ  -- список разделённых пробелами классов --
  style       %StyleSheet;   #IПРЕДПОЛАГАЕТСЯ  -- ассоциированная информация стиля --
  title       %Text;         #ПРЕДПОЛАГАЕТСЯ  -- информативный заголовок --"
  >

<!ENTITY % i18n
 "lang        %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  dir         (ltr|rtl)      #ПРЕДПОЛАГАЕТСЯ  -- направление текста --"
  >

<!ENTITY % events
 "onclick     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- щёлкнула кнопка указателя мыши --
  ondblclick  %Script;       #ПРЕДПОЛАГАЕТСЯ  -- дважды щёлкнула кнопка указателя мыши --
  onmousedown %Script;       #ПРЕДПОЛАГАЕТСЯ  -- кнопка указателя мыши была нажата --
  onmouseup   %Script;       #ПРЕДПОЛАГАЕТСЯ  -- кнопка указателя мыши была отпущена --
  onmouseover %Script;       #ПРЕДПОЛАГАЕТСЯ  -- указатель мыши был проведён над --
  onmousemove %Script;       #ПРЕДПОЛАГАЕТСЯ  -- указатель мыши был проведён внутри --
  onmouseout  %Script;       #ПРЕДПОЛАГАЕТСЯ  -- указатель мыши был убран (с элемента) --
  onkeypress  %Script;       #ПРЕДПОЛАГАЕТСЯ  -- клавиша была нажата и отпущена --
  onkeydown   %Script;       #ПРЕДПОЛАГАЕТСЯ  -- клавиша была нажата --
  onkeyup     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- клавиша была отпущена --"
  >

<!-- Зарезервированный Переключатель Характеристик -->
<!ENTITY % HTML.Reserved "IGNORE">

<!-- Эти атрибуты зарезервированы для возможного использования в будущем -->
<![ %HTML.Reserved; [
<!ENTITY % reserved
 "datasrc     %URI;          #ПРЕДПОЛАГАЕТСЯ  -- одиночный или табличный Data Source --
  datafld     CDATA          #ПРЕДПОЛАГАЕТСЯ  -- свойство или имя столбца --
  dataformatas (plaintext|html) plaintext -- text или html --"
  >
]]>

<!ENTITY % reserved "">

<!ENTITY % attrs "%coreattrs; %i18n; %events;">

<!ENTITY % align "align (left|center|right|justify)  #IMPLIED"
                   -- по умолчанию: left для ltr параграфов, right для rtl --
  >

<!--======================= Разметка Текста ======================================-->

<!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; покрывает инлайн- или "text-level" элементы -->
<!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;)*          -- I18N BiDi over-ride -->
<!ATTLIST BDO
  %coreattrs;                          -- id, class, style, title --
  lang        %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  dir         (ltr|rtl)      #REQUIRED -- направление текста --
  >

<!ELEMENT BASEFONT - O EMPTY           -- базовый размер шрифта -->
<!ATTLIST BASEFONT
  id          ID             #ПРЕДПОЛАГАЕТСЯ  -- уникальный идентификатор документа --
  size        CDATA          #НЕОБХОДИМ -- базовый размер шрифта для элемента FONT --
  color       %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет текста --
  face        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- список разделённых
						запятыми названий шрифтов --
  >

<!ELEMENT FONT - - (%inline;)*         -- локальное изменение шрифта -->
<!ATTLIST FONT
  %coreattrs;                          -- id, class, style, title --
  %i18n;                       -- lang, dir --
  size        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- [+|-]nn, например, size="+1", size="4" --
  color       %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет текста --
  face        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- список разделённых
						запятыми названий шрифтов --
  >

<!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;   #ПРЕДПОЛАГАЕТСЯ  -- документ был загружен --
  onunload        %Script;   #ПРЕДПОЛАГАЕТСЯ  -- документ был удалён --
  background      %URI;      #ПРЕДПОЛАГАЕТСЯ  -- текстуры для фона документа --
  %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;                              -- 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;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- информативный тип содержимого --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- именованный конец гиперссылки --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  hreflang    %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  target      %FrameTarget;  #ПРЕДПОЛАГАЕТСЯ  -- целевой фрэйм --
  rel         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок вперёд --
  rev         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- типы ссылок назад --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  shape       %Shape;        rect      -- для использования с клиентскими картами --
  coords      %Coords;       #ПРЕДПОЛАГАЕТСЯ  -- для использования с клиентскими картами --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  >

<!--=============== Клиентские Карты Изображений (на стороне клиента) ==================-->

<!-- Могут быть размещены в том же документе или в отдельном, 
     но второе ещё не поддерживается достаточно широко.
-->

<!ELEMENT MAP - - ((%block;) | AREA)+ -- клиентская карта изображений -->
<!ATTLIST MAP
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #НЕОБХОДИМ -- для ссылок usemap --
  >

<!ELEMENT AREA - O EMPTY               -- область клиентской карты -->
<!ATTLIST AREA
  %attrs;                              -- %coreattrs, %i18n, %events --
  shape       %Shape;        rect      -- управление интерпретацией координат --
  coords      %Coords;       #ПРЕДПОЛАГАЕТСЯ  -- список разделённых запятыми размеров --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  target      %FrameTarget;  #ПРЕДПОЛАГАЕТСЯ  -- целевой фрэйм --
  nohref      (nohref)       #ПРЕДПОЛАГАЕТСЯ  -- этот регион не имеет action --
  alt         %Text;         #НЕОБХОДИМ	     -- краткое описание --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  >

<!--======================== Элемент LINK ==================================-->

<!--
  Значения взаимоотношений могут быть использованы:
a) для специфических для данного документа панелей/меню при использовании
с элементом LINK в "шапке" документа, например,
start, contents, previous, next, index, end, help;
b) для ссылки на отдельную таблицу стилей (rel=stylesheet);
c) для создания ссылки на скрипт (rel=script);
d) таблицами стилей для управления тем, как коллекции узлов
html отображаются в напечатанных документах;
e) для создания ссылки на версию данного документа для печати,
напр., postscript или pdf версию (rel=alternate media=print).
-->

<!ELEMENT LINK - O EMPTY               -- a media-независимая ссылка -->
<!ATTLIST LINK
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI связанного ресурса --
  hreflang    %LanguageCode; #ПРЕДПОЛАГАЕТСЯ  -- код языка --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- информативный тип содержимого --
  rel         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- тип ссылок вперёд --
  rev         %LinkTypes;    #ПРЕДПОЛАГАЕТСЯ  -- тип ссылок назад --
  media       %MediaDesc;    #ПРЕДПОЛАГАЕТСЯ  -- для представления данным устройством --
  target      %FrameTarget;  #ПРЕДПОЛАГАЕТСЯ  -- целевой фрэйм --
  >

<!--======================== Изображения ===========================================-->

<!-- Размер определён в Строгом ОТД для cellpadding/cellspacing -->
<!ENTITY % Length "CDATA" -- размер nn в пикселах или nn% в процентах -->
<!ENTITY % MultiLength "CDATA" -- пикселы, проценты или относительный -->

<![ %HTML.Frameset; [
<!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;          #НЕОБХОДИМ -- URI изображения для внедрения --
  alt         %Text;         #НЕОБХОДИМ -- краткое описание --
  longdesc    %URI;          #ПРЕДПОЛАГАЕТСЯ  -- ссылка на полное описание (дополняет alt) --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя изображения (для сценариев) --
  height      %Length;       #ПРЕДПОЛАГАЕТСЯ  -- переопределить высоту --
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ  -- переопределить ширину --
  usemap      %URI;          #ПРЕДПОЛАГАЕТСЯ  -- использовать клиентские карты --
  ismap       (ismap)        #ПРЕДПОЛАГАЕТСЯ  -- использовать серверные карты --
  align       %IAlign;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальное
						или горизонтальное выравнивание --
  border      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- толщина бордюра ссылки --
  hspace      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- горизонтальный выступ --
  vspace      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальный выступ --
  >

<!-- 
USEMAP указывает на элемент MAP, который может находиться в этом или
внешнем документе, хотя последнее не поддерживается широко.
-->

<!--============================= OBJECT ======================================-->
<!--
OBJECT используется для внедрения объектов как части страницы HTML.
Элементы PARAM должны предшествовать другому содержимому.
Модель смешанного содержимого SGML технически предотвращает
формальную спецификацию этого ...
-->

<!ELEMENT OBJECT - - (PARAM | %flow;)*
 -- общий внедрённый объект -->
<!ATTLIST OBJECT
  %attrs;                              -- %coreattrs, %i18n, %events --
  declare     (declare)      #ПРЕДПОЛАГАЕТСЯ  -- объявляет, но не устанавливает флаг --
  classid     %URI;          #ПРЕДПОЛАГАЕТСЯ  -- идентифицирует класс --
  codebase    %URI;          #ПРЕДПОЛАГАЕТСЯ  -- базовый URI для classid, data, archive--
  data        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- ссылка на данные объекта --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- тип содержимого данных --
  codetype    %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- тип содержимого кода --
  archive     CDATA          #ПРЕДПОЛАГАЕТСЯ  -- список разделённых пробелами URI --
  standby     %Text;         #ПРЕДПОЛАГАЕТСЯ  -- сообщение для показа при загрузке --
  height      %Length;       #ПРЕДПОЛАГАЕТСЯ  -- переопределить высоту --
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ  -- переопределить ширину --
  usemap      %URI;          #ПРЕДПОЛАГАЕТСЯ  -- использовать клиентские карты --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- отправить как часть формы --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  align       %IAlign;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальное
						или горизонтальное выравнивание --
  border      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- толщина бордюра ссылки --
  hspace      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- горизонтальный выступ --
  vspace      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальный выступ --
  %reserved;                    -- зарезервирован для возможного использования в будущем --
  >

<!ELEMENT PARAM - O EMPTY              -- именованное значение свойства -->
<!ATTLIST PARAM
  id          ID             #ПРЕДПОЛАГАЕТСЯ  -- уникальный идентификатор документа --
  name        CDATA          #НЕОБХОДИМ -- имя свойства --
  value       CDATA          #ПРЕДПОЛАГАЕТСЯ  -- значение свойства --
  valuetype   (DATA|REF|OBJECT) DATA    -- как интерпретировать значение --
  type        %ContentType;  #ПРЕДПОЛАГАЕТСЯ  -- тип содержимого
						для значения, если valuetype=ref --
  >

<!--============================= Аплет Java ==================================-->
<!--
Один из атрибутов кода или объекта должен присутствовать.
Размещайте элементы PARAM перед другим содержимым.
-->
<!ELEMENT APPLET - - (PARAM | %flow;)* -- аплет Java -->
<!ATTLIST APPLET
  %coreattrs;                         -- id, class, style, title --
  codebase    %URI;          #ПРЕДПОЛАГАЕТСЯ  -- необязательный базовый URI аплета --
  archive     CDATA          #ПРЕДПОЛАГАЕТСЯ  -- список разделённых запятыми archive --
  code        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- файл класса аплета --
  object      CDATA          #ПРЕДПОЛАГАЕТСЯ  -- сериализованный файл аплета --
  alt         %Text;         #ПРЕДПОЛАГАЕТСЯ  -- краткое описание --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- позволяет аплетам обращаться друг к другу --
  width       %Length;       #НЕОБХОДИМ -- начальная ширина --
  height      %Length;       #НЕОБХОДИМ -- начальная высота --
  align       %IAlign;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальное
						или горизонтальное выравнивание --
  hspace      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- горизонтальный выступ --
  vspace      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальный выступ --
  >

<!--======================= Горизонтальная Линия ==================================-->

<!ELEMENT HR - O EMPTY -- горизонтальная линия -->
<!ATTLIST HR
  %attrs;                              -- %coreattrs, %i18n, %events --
  align       (left|center|right) #ПРЕДПОЛАГАЕТСЯ
  noshade     (noshade)      #ПРЕДПОЛАГАЕТСЯ
  size        %Pixels;       #ПРЕДПОЛАГАЕТСЯ
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ
  >

<!--========================== Параграфы =======================================-->

<!ELEMENT P - O (%inline;)*            -- параграф -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- align, выравнивание текста --
  >

<!--========================= Заголовки =========================================-->

<!--
  Есть шесть уровней заголовков: от H1 (самый верхний) до H6 (самый нижний).
-->

<!ELEMENT (%heading;)  - - (%inline;)* -- заголовок -->
<!ATTLIST (%heading;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- align, выравнивание текста --
  >

<!--====================== Форматированный Текст ================================-->

<!-- исключает разметку для изображений и изменения размера шрифта -->
<!ENTITY % pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT">

<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- форматированный текст -->
<!ATTLIST PRE
  %attrs;                              -- %coreattrs, %i18n, %events --
  width       NUMBER         #ПРЕДПОЛАГАЕТСЯ
  >

<!--===================== Инлайн-кавычки ==================================-->

<!ELEMENT Q - - (%inline;)*            -- краткое инлайн закавычивание -->
<!ATTLIST Q
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI документа-источника или сообщения --
  >

<!--=================== Кавычки блока ================================-->

<!ELEMENT BLOCKQUOTE - - (%flow;)*     -- полное закавычивание -->
<!ATTLIST BLOCKQUOTE
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI документа-источника или сообщения --
  >

<!--=================== Вставленный/Удалённый Текст ============================-->

<!-- INS/DEL обрабатываются при включении в BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)*      -- вставленный|удалённый текст -->
<!ATTLIST (INS|DEL)
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- цитирование --
  datetime    %Datetime;     #IПРЕДПОЛАГАЕТСЯ  -- дата и время --
  >

<!--========================= Список ============================================-->

<!-- Definition List/Список Определений - DT для термина, DD для определения -->

<!ELEMENT DL - - (DT|DD)+              -- список definition -->
<!ATTLIST DL
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #ПРЕДПОЛАГАЕТСЯ  -- уменьшенные пропуски между элементами --
  >

<!ELEMENT DT - O (%inline;)*           -- термин -->
<!ELEMENT DD - O (%flow;)*             -- его определение -->
<!ATTLIST (DT|DD)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!-- Ordered lists/Упорядоченные Списки (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;      #ПРЕДПОЛАГАЕТСЯ  -- стиль нумерации --
  compact     (compact)      #ПРЕДПОЛАГАЕТСЯ  -- уменьшенные пропуски между элементами --
  start       NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- начальный номер нумерации --
  >

<!-- Unordered Lists/Неупорядоченные Списки (UL). Стиль маркировки. -->
<!ENTITY % ULStyle "(disc|square|circle)">

<!ELEMENT UL - - (LI)+                 -- неупорядоченный список -->
<!ATTLIST UL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %ULStyle;      #ПРЕДПОЛАГАЕТСЯ  -- стиль маркировки --
  compact     (compact)      #ПРЕДПОЛАГАЕТСЯ  -- уменьшенные пропуски между элементами --
  >

<!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- список directory, список menu -->
<!ATTLIST DIR
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами --
  >
<!ATTLIST MENU
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #ПРЕДПОЛАГАЕТСЯ -- уменьшенные пропуски между элементами --
  >

<!ENTITY % LIStyle "CDATA" -- ограничено до: "(%ULStyle;|%OLStyle;)" -->

<!ELEMENT LI - O (%flow;)*             -- элемент списка -->
<!ATTLIST LI
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %LIStyle;      #ПРЕДПОЛАГАЕТСЯ  -- стиль элемента списка --
  value       NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- устанавливает нумерацию --
  >

<!--========================== Формы ===============================================-->

<!ELEMENT FORM - - (%flow;)* -(FORM)   -- интерактивная форма -->
<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #НЕОБХОДИМ -- обработчик формы (на сервере) --
  method      (GET|POST)     GET       -- метод HTTP, используемый для отправки формы --
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  accept      %ContentTypes; #ПРЕДПОЛАГАЕТСЯ  -- список типов MIME для подгрузки файлов --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя формы (для сценариев) --
  onsubmit    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- форма была отправлена --
  onreset     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- форма была очищена --
  target      %FrameTarget;  #ПРЕДПОЛАГАЕТСЯ  -- целевой фрэйм --
  accept-charset %Charsets;  #ПРЕДПОЛАГАЕТСЯ  -- список поддерживаемых наборов символов --
  >

<!-- Каждый лэйбл должен содержать НЕ более одного поля -->
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- текст лэйбла поля формы -->
<!ATTLIST LABEL
  %attrs;                              -- %coreattrs, %i18n, %events --
  for         IDREF          #ПРЕДПОЛАГАЕТСЯ  -- в паре к значению ID --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  >

<!ENTITY % InputType
  "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON)"
   >

<!-- имя атрибута требуется для всех, за исключением кнопок submit и reset -->
<!ELEMENT INPUT - O EMPTY              -- элемент управления (ЭУ) формы -->
<!ATTLIST INPUT
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %InputType;    TEXT      -- тип элемента --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- отправить как часть формы --
  value       CDATA          #ПРЕДПОЛАГАЕТСЯ  -- для radio-кнопок и переключателей --
  checked     (checked)      #ПРЕДПОЛАГАЕТСЯ  -- для radio-кнопок и переключателей --
  disabled    (disabled)     #ПРЕДПОЛАГАЕТСЯ  -- недоступен в данном контексте --
  readonly    (readonly)     #ПРЕДПОЛАГАЕТСЯ  -- для text и passwd --
  size        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- свой для каждого поля --
  maxlength   NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- максим. количество
						символов (для текстовых полей) --
  src         %URI;          #ПРЕДПОЛАГАЕТСЯ  -- для полей с изображением --
  alt         CDATA          #ПРЕДПОЛАГАЕТСЯ  -- краткое описание --
  usemap      %URI;          #ПРЕДПОЛАГАЕТСЯ  -- использовать клиентские карты --
  ismap       (ismap)        #ПРЕДПОЛАГАЕТСЯ  -- использовать серверные карты --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  onselect    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- некоторый текст был выделен --
  onchange    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- значение элемента было изменено --
  accept      %ContentTypes; #ПРЕДПОЛАГАЕТСЯ  -- список типов MIME для подгрузки файлов --
  align       %IAlign;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальное или
						горизонтальное выравнивание --
  %reserved;                  -- зарезервирован для возможного использования в будущем --
  >

<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- селектор опций -->
<!ATTLIST SELECT
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя поля --
  size        NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- количество видимых рядов --
  multiple    (multiple)     #ПРЕДПОЛАГАЕТСЯ  -- по умолчанию выбран один --
  disabled    (disabled)     #ПРЕДПОЛАГАЕТСЯ  -- недоступен в данном контексте --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  onchange    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- значение элемента было изменено --
  %reserved;                  -- зарезервирован для возможного использования в будущем --
  >

<!ELEMENT OPTGROUP - - (OPTION)+ -- группа опций -->
<!ATTLIST OPTGROUP
  %attrs;                              -- %coreattrs, %i18n, %events --
  disabled    (disabled)     #ПРЕДПОЛАГАЕТСЯ  -- недоступен в данном контексте --
  label       %Text;         #НЕОБХОДИМ -- для использования в иерархических меню --
  >

<!ELEMENT OPTION - O (#PCDATA)         -- выбор переключением -->
<!ATTLIST OPTION
  %attrs;                              -- %coreattrs, %i18n, %events --
  selected    (selected)     #ПРЕДПОЛАГАЕТСЯ
  disabled    (disabled)     #ПРЕДПОЛАГАЕТСЯ  -- недоступен в данном контексте --
  label       %Text;         #ПРЕДПОЛАГАЕТСЯ  -- для использования в иерархических меню --
  value       CDATA          #ПРЕДПОЛАГАЕТСЯ -- значение
						по умолчанию для содержимого элемента --
  >

<!ELEMENT TEXTAREA - - (#PCDATA)       -- многострочное текстовое поле -->
<!ATTLIST TEXTAREA
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ
  rows        NUMBER         #НЕОБХОДИМ
  cols        NUMBER         #НЕОБХОДИМ
  disabled    (disabled)     #ПРЕДПОЛАГАЕТСЯ  -- недоступен в данном контексте --
  readonly    (readonly)     #ПРЕДПОЛАГАЕТСЯ
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  onselect    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- некоторый текст был выделен --
  onchange    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- значение элемента было изменено --
  %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;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  align       %LAlign;       #ПРЕДПОЛАГАЕТСЯ  -- выравнивание относительно набора полей --
  >

<!ELEMENT BUTTON - -
     (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)
     -- кнопка push -->
<!ATTLIST BUTTON
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ
  value       CDATA          #ПРЕДПОЛАГАЕТСЯ  -- переслать на сервер при отправке (формы) --
  type        (button|submit|reset) submit   -- для использования в качестве кнопки формы --
  disabled    (disabled)     #ПРЕДПОЛАГАЕТСЯ  -- недоступен в данном контексте --
  tabindex    NUMBER         #ПРЕДПОЛАГАЕТСЯ  -- позиция в порядке табуляции --
  accesskey   %Character;    #ПРЕДПОЛАГАЕТСЯ  -- символ быстрого доступа --
  onfocus     %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент получил фокус --
  onblur      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- элемент потерял фокус --
  %reserved;                  -- зарезервирован для возможного использования в будущем --
  >

<!--============================== Таблицы =======================================-->

<!-- Стандарт IETF таблиц HTML, см. [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 отсутствует, тогда принимается:
"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;    #ПРЕДПОЛАГАЕТСЯ  -- символ выравнивания, напр., char=':' --
   charoff    %Length;       #ПРЕДПОЛАГАЕТСЯ  -- офсет символа выравнивания --"
  >

<!-- атрибуты вертикального выравнивания содержимого ячейки -->
<!ENTITY % cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

<!ELEMENT TABLE - -
     (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT CAPTION  - - (%inline;)*     -- заголовок таблицы -->
<!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;         #ПРЕДПОЛАГАЕТСЯ  -- назначение/структура для речевого вывода--
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ  -- ширина таблицы --
  border      %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- толщина рамки фрэйма вокруг таблицы --
  frame       %TFrame;       #ПРЕДПОЛАГАЕТСЯ  -- какие части фрэйма отображать --
  rules       %TRules;       #ПРЕДПОЛАГАЕТСЯ  -- линии между рядами и столбцами --
  cellspacing %Length;       #ПРЕДПОЛАГАЕТСЯ  -- пространство между ячейками --
  cellpadding %Length;       #ПРЕДПОЛАГАЕТСЯ  -- пространство между
						рамками ячеек и их содержимым --
  align       %TAlign;       #ПРЕДПОЛАГАЕТСЯ  -- позиция таблицы относительно окна --
  bgcolor     %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет фона ячеек --
  %reserved;                   -- зарезервирован для возможного использования в будущем --
  datapagesize CDATA     #ПРЕДПОЛАГАЕТСЯ -- зарезервирован
						для возможного использования в будущем --
  >

<!ENTITY % CAlign "(top|bottom|left|right)">

<!ATTLIST CAPTION
  %attrs;                              -- %coreattrs, %i18n, %events --
  align       %CAlign;       #ПРЕДПОЛАГАЕТСЯ  -- относительно таблицы --
  >

<!--
COLGROUP группирует набор элементов COL.
Позволяет группировать несколько семантически связанных столбцов.
-->
<!ATTLIST COLGROUP
  %attrs;                              -- %coreattrs, %i18n, %events --
  span        NUMBER         1         -- количество, по умолчанию, столбцов в группе --
  width       %MultiLength;  #ПРЕДПОЛАГАЕТСЯ  -- ширина по
						умолчанию для каждого столбца группы --
  %cellhalign;                         -- горизонтальное выравнивание в ячейках --
  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  >

<!--
Элементы COL определяют свойства выравнивания ячеек в одном столбце, или более.
Атрибут WIDTH определяет ширину столбцов, например,
	width=64 ширина в пикселах экрана
	width=0.5* относительная ширина 0.5
Атрибут SPAN указывает применение атрибутов одного элемента
COL к более чем одному столбцу.
-->
<!ATTLIST COL                          -- группы столбцов и свойства --
  %attrs;                              -- %coreattrs, %i18n, %events --
  span        NUMBER         1        -- атрибуты элемента COL воздействуют на N столбцов --
  width       %MultiLength;  #ПРЕДПОЛАГАЕТСЯ   -- спецификация ширины столбца --
  %cellhalign;                         -- горизонтальное выравнивание в ячейках --
  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  >

<!--
Используйте THEAD для дублирования заголовков таблицы при разбиении таблицы
по границам страницы или для статических заголовков, если разделы
TBODY просматриваются в прокручиваемой панели.
Используйте TFOOT для дублирования футеров таблицы при разбиении таблицы
по границам страницы или для статических заголовков, если разделы
TBODY просматриваются в прокручиваемой панели.
Используйте множественный выбор в разделах TBODY, если нужны линии
между группами рядов.
-->
<!ATTLIST (THEAD|TBODY|TFOOT)          -- раздел таблицы --
  %attrs;                              -- %coreattrs, %i18n, %events --
  %cellhalign;                         -- горизонтальное выравнивание в ячейках --
  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  >

<!ATTLIST TR                           -- ряд таблицы --
  %attrs;                              -- %coreattrs, %i18n, %events --
  %cellhalign;                         -- горизонтальное выравнивание в ячейках --
  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  bgcolor     %Color;        #ПРЕДПОЛАГАЕТСЯ   -- цвет фона для ряда --
  >



<!-- Scope/область видимости проще, чем атрибут заголовков в обычных таблицах -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">

<!-- TH - для заголовков, TD - для данных,
     а для ячеек, действующих и так, и так, используйте TD -->
<!ATTLIST (TH|TD)                      -- заголовочная|данных ячейка --
  %attrs;                              -- %coreattrs, %i18n, %events --
  abbr        %Text;     #ПРЕДПОЛАГАЕТСЯ  -- сокращение для заголовочной ячейки --
  axis        CDATA      #ПРЕДПОЛАГАЕТСЯ  -- список разделённых
						запятыми относительных заголовков--
  headers     IDREFS     #ПРЕДПОЛАГАЕТСЯ  -- список id-ов заголовочных ячеек --
  scope       %Scope;   #ПРЕДПОЛАГАЕТСЯ  -- область видимости,
					покрываемая заголовочными ячейками --
  rowspan     NUMBER       1         -- количество рядов, занимаемых ячейкой --
  colspan     NUMBER       1         -- количество столбцов, занимаемых ячейкой --
  %cellhalign;                         -- горизонтальное выравнивание в ячейках --
  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  nowrap      (nowrap)       #ПРЕДПОЛАГАЕТСЯ  -- отменяет перенос слов --
  bgcolor     %Color;        #ПРЕДПОЛАГАЕТСЯ  -- цвет фона ячейки --
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ  -- ширина ячейки --
  height      %Length;       #ПРЕДПОЛАГАЕТСЯ  -- высота ячейки --
  >

<!--======================== Document Frames ===================================-->

<!--
Модель содержимого документов HTML зависит от того, идёт ли после HEAD
элемент FRAMESET или BODY. Широко распространен пропуск
начального тега BODY, что делает неудобным определение модели содержимого
без использования размеченного раздела.
-->
<![ %HTML.Frameset; [
<!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- разделение окна -->
<!ATTLIST FRAMESET
  %coreattrs;                          -- id, class, style, title --
  rows        %MultiLengths; #ПРЕДПОЛАГАЕТСЯ  -- список размеров,
						по умолчанию: 100% (1 ряд) --
  cols        %MultiLengths; #ПРЕДПОЛАГАЕТСЯ  -- список размеров,
						по умолчанию: 100% (1 столбец) --
  onload      %Script;       #ПРЕДПОЛАГАЕТСЯ  -- все фрэймы загружены  -- 
  onunload    %Script;       #ПРЕДПОЛАГАЕТСЯ  -- все фрэймы удалены -- 
  >
]]>

<![ %HTML.Frameset; [
<!-- зарезервированные имена фрэймов начинаются с "_",
     в других случаях - начинаются с буквы -->
<!ELEMENT FRAME - O EMPTY              -- фрэйм -->
<!ATTLIST FRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #ПРЕДПОЛАГАЕТСЯ  -- ссылка на полное
						описание (дополняет title) --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя фрэйма
						для назначения в качестве целевого --
  src         %URI;          #ПРЕДПОЛАГАЕТСЯ  -- источник содержимого фрэйма --
  frameborder (1|0)          1         -- бордюры фрэйма --
  marginwidth %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- ширина полей в пикселах --
  marginheight %Pixels;      #ПРЕДПОЛАГАЕТСЯ  -- высота полей в пикселах --
  noresize    (noresize)     #ПРЕДПОЛАГАЕТСЯ  -- запрещает изменение размеров фрэйма --
  scrolling   (yes|no|auto)  auto      -- полоса прокрутки --
  >
]]>

<!ELEMENT IFRAME - - (%flow;)*         -- инлайн-фрэйм -->
<!ATTLIST IFRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #ПРЕДПОЛАГАЕТСЯ  -- ссылка на полное
						описание (дополняет title) --
  name        CDATA          #ПРЕДПОЛАГАЕТСЯ  -- имя фрэйма для назначения
						в качестве целевого --
  src         %URI;          #ПРЕДПОЛАГАЕТСЯ  -- источник содержимого фрэйма --
  frameborder (1|0)          1         -- бордюры фрэйма --
  marginwidth %Pixels;       #ПРЕДПОЛАГАЕТСЯ  -- ширина полей в пикселах --
  marginheight %Pixels;      #ПРЕДПОЛАГАЕТСЯ  -- высота полей в пикселах --
  scrolling   (yes|no|auto)  auto      -- полоса прокрутки --
  align       %IAlign;       #ПРЕДПОЛАГАЕТСЯ  -- вертикальное или
						горизонтальное выравнивание --
  height      %Length;       #ПРЕДПОЛАГАЕТСЯ  -- высота фрэйма --
  width       %Length;       #ПРЕДПОЛАГАЕТСЯ  -- ширина фрэйма --
  >

<![ %HTML.Frameset; [
<!ENTITY % noframes.content "(BODY) -(NOFRAMES)">
]]>

<!ENTITY % noframes.content "(%flow;)*">

<!ELEMENT NOFRAMES - - %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;          #ПРЕДПОЛАГАЕТСЯ  -- именованный словарь метаинформации --
  >

<!-- 
Элемент TITLE не является частью текста.
Он должен отображаться, например, как заголовок документа или
заголовок окна. Только один title требуется в документе.
-->
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- название документа -->
<!ATTLIST TITLE %i18n>

<!ELEMENT ISINDEX - O EMPTY            -- однострочный промпт -->
<!ATTLIST ISINDEX
  %coreattrs;                          -- id, class, style, title --
  %i18n;                               -- lang, dir --
  prompt      %Text;         #ПРЕДПОЛАГАЕТСЯ  -- промпт-сообщение -->

<!ELEMENT BASE - O EMPTY               -- базовый URI документа -->
<!ATTLIST BASE
  href        %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI, действующий как базовый URI --
  target      %FrameTarget;  #ПРЕДПОЛАГАЕТСЯ  -- отображать в этом фрэйме --
  >

<!ELEMENT META - O EMPTY               -- общая метаинформация -->
<!ATTLIST META
  %i18n;                               -- lang, dir, для использования с содержимым --
  http-equiv  NAME           #ПРЕДПОЛАГАЕТСЯ  -- имя заголовка ответа HTTP --
  name        NAME           #ПРЕДПОЛАГАЕТСЯ  -- метаинформационное имя --
  content     CDATA          #НЕОБХОДИМ      -- ассоциированная информация  --
  scheme      CDATA          #ПРЕДПОЛАГАЕТСЯ  -- выбор формы содержимого --
  >

<!ELEMENT STYLE - - %StyleSheet        -- информация о стиле -->
<!ATTLIST STYLE
  %i18n;                              -- lang, dir, для использования с title --
  type        %ContentType;  #НЕОБХОДИМ -- тип содержимого языка стилей --
  media       %MediaDesc;    #ПРЕДПОЛАГАЕТСЯ  -- разработан
						для использования с этим устройством --
  title       %Text;         #ПРЕДПОЛАГАЕТСЯ  -- информативное название --
  >

<!ELEMENT SCRIPT - - %Script;          -- операторы скрипта -->
<!ATTLIST SCRIPT
  charset     %Charset;      #ПРЕДПОЛАГАЕТСЯ  -- набор символов связанного ресурса --
  type        %ContentType;  #НЕОБХОДИМ	     -- тип содержимого языка скриптов --
  language    CDATA          #ПРЕДПОЛАГАЕТСЯ  -- предопределённое название языка скриптов --
  src         %URI;          #ПРЕДПОЛАГАЕТСЯ  -- URI внешнего скрипта --
  defer       (defer)        #ПРЕДПОЛАГАЕТСЯ  -- пользовательский агент (ПА) может отложить
					  	выполнение скрипта --
  event       CDATA     #ПРЕДПОЛАГАЕТСЯ  -- зарезервирован для возможного
						использования в будущем --
  for         %URI;     #ПРЕДПОЛАГАЕТСЯ  -- зарезервирован для возможного
						использования в будущем --
  >

<!ELEMENT NOSCRIPT - - (%flow;)*
  -- контейнер альтернативного содержимого для представления без скриптов -->
<!ATTLIST NOSCRIPT
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!--====================== Структура Документа ==================================-->

<!ENTITY % version "version CDATA #ФИКСИРОВАННЫЙ '%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;
  >