HTML имеет корни в SGML, который всегда был языком спецификации структурной разметки. Поскольку HTML уже достаточно развился, всё больше его элементов представления и атрибутов заменяются другими механизмами, в особенности - таблицы стилей. Опыт показывает, что отделение структуры документа от его представления уменьшает стоимость обслуживания на основе широкого спектра платформ, носителей и т.д. и облегчает обновление документов.
HTML специфицирует три типа значений размера для атрибутов:
Pixels: Значение (%Pixels; в ОТД) является целочисленным/integer, представляя количество пикселов "канвы" (экрана, бумаги). таким образом, "50" означает 50 пикселов. Нормативную информацию об определении пиксела см. в [CSS1].
Length: Значение (%Length; в ОТД) может быть %Pixel; или процент от доступного вертикального или горизонтального пространства. Таким образом, "50%" означает половину доступного пространства.MultiLength: Значение ( %MultiLength; в ОТД) может быть %Length; относительный размер. Относительный размер имеет форму "i*", где "i" - это целое число.
Распределяя пространство между "конкурирующими" элементами, ПА сначала распределяет размер в пикселах или процентах, затем разделяет остающееся свободным пространство между "относительными размерами". Каждый "относительный размер" получает часть доступного пространства пропорционально целому числу с префиксом "*". Значение "*" эквивалентно "1*". Таким образом, если 60 пикселов пространства доступны после того, как ПА распределяет пространство в пикселах и процентах, и "конкурирующие" относительные размеры - 1*, 2* и 3*, 1* будет выделено 10 пикселов, 2* - 20 пикселов и 3* - 30 пикселов.
Значения размера нейтральны к регистру.
Каждое определение атрибута включает информацию о чувствительности его значения к регистру. Информация о регистре представлена следующими ключами:
CS
Значение чувствительно к регистру (т.е., пользовательский агент (ПА) интерпретирует "a" и "A" по-разному).
CIЗначение нечувствительно к регистру (т.е., (ПА) интерпретирует "a" и "A" одинаково).CN
Значение не является объектом, учитывающим регистр (нейтрально), напр., это набор символов из символьного набора документа.CA
Определение элемента или атрибута само предоставляет информацию о регистре.
CTПросмотрите определение типа для уточнения чувствительности к регистру.
Если значением атрибута является список, ключи применяются к каждому значению списка, если не указано иное.
Эта версия (всё на английском языке): http://www.w3.org/TR/1999/REC-html401-19991224
http://www.w3.org/TR/html401
Последняя версия HTML 4: http://www.w3.org/TR/html4
Последняя версия HTML: http://www.w3.org/TR/html
Предыдущая версия HTML 4.01: http://www.w3.org/TR/1999/PR-html40-19990824
Предыдущие рекомендации HTML 4: http://www.w3.org/TR/1998/REC-html40-19980424
Редакторы:Dave Raggett <dsr@w3.org>Arnaud Le Hors, W3CIan Jacobs, W3C
перевёл на русский язык: Александр Пирамидин, a_pyramidin@yahoo.com
Авторские права
©1997-1999 W3C® (MIT, INRIA, Keio). Все права защищены.
Права W3C по обязательствам, торговым маркам, использованию документов и лицензированию программного обеспечения соблюдены.
Официальная нормативная версия этой спецификации возможна только на английском языке и находится по адресу: http://www.w3.org/TR/1999/REC-html401-19991224
Данный перевод НЕ является официальным документом W3C.
Все Авторские Права Принадлежат W3C.
Данный документ может содержать ошибки перевода и опечатки.
Установка атрибута rows определяет количество горизонтальных кадров в наборе кадров. Установка атрибута cols определяет количество вертикальных кадров. Оба атрибута могут быть установлены одновременно для создания таблицы фрэймов.
Если атрибут rows не установлен, каждый столбец занимает всю высоту страницы. Если не установлен атрибут cols, каждый ряд занимает всю ширину страницы. Если ни один из атрибутов не установлен, фрэйм занимает всю страницу целиком.
Фрэймы создаются слева направо - столбцы, и сверху вниз - ряды. Если установлены оба атрибута, фрэймы создаются слева направо в верхнем ряду, слева направо во втором ряду и т.д.
В этом примере экран делится надвое по вертикали (т.e. создаются верхняя и нижняя половины):
<FRAMESET rows="50%, 50%"> ...остальная часть определения...
</FRAMESET>
В этом примере создано три столбца: второй имеет фиксированную ширину 250 пикселов (для отображения, например, рисунка известного размера). Первый занимает 25% оставшегося пространства, а третий - 75%:
<FRAMESET cols="1*,250,3*"> ...остальная часть определения...
</FRAMESET>
В этом примере создана таблица фрэймов 2x3:
<FRAMESET rows="30%,70%" cols="33%,34%,33%"> ...остальная часть определения...
</FRAMESET>
Предположим, что текущее окно браузера имеет высоту 1000 пикселов. Первый фрэйм занимает 30% общей высоты (300 пикселов). Второй определён точно в 400 пикселов высоты. Оставшиеся 300 пикселов делятся между оставшимися двумя фрэймами. Высота четвёртого фрэйма определена как "2*", что означает - в два раза выше, чем третий фрэйм, высота которого составляет только "*" (эквивалентно 1*). Следовательно, четвёртый фрэйм имеет высоту 200 пикселов, а третий - 100 пикселов.
<FRAMESET rows="30%,400,*,2*"> ...остальная часть определения...
</FRAMESET>
Абсолютные размеры, которые не укладываются в 100% реально доступного пространства, должны уточняться ПА. Лишнее пространство делится пропорционально между фрэймами. Если пространства не хватает, каждый фрэйм уменьшается в соответствии с установленными пропорциями.
<!ELEMENT TR - O (TH|TD)+ -- ряд таблицы --> <!ATTLIST TR -- ряд таблицы -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- горизонтальное выравнивание в ячейках -- %cellvalign; -- вертикальное выравнивание в ячейках -- >
Начальный тег: необходим, Конечный тег: не обязателен
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)
lang (язык), dir (направление текста)
title (заголовок элемента)
style (инлайн-стиль)
onkeydown, onkeyup (внутренние события)
bgcolor (цвет фона)
charoff, valign (выравнивание в ячейке)
TR действует как контейнер для ряда ячеек таблицы. Конечный тег может быть опущен.
Образец таблицы содержит три ряда, каждый из которых начинается элементом TR:
<TABLE summary="This table charts the number of cups of coffee consumed by each senator, the type of coffee (decaf or regular), and whether taken with sugar."> <CAPTION>Cups of coffee consumed by each senator</CAPTION> <TR> ...заголовочный ряд...
<TR> ...1 ряд данных...
<TR> ...2 ряд данных...
...остальная часть таблицы...
</TABLE>
Элемент META позволяет авторам HTML сообщить роботу, может ли документ быть индексирован или использован для получения дополнительных ссылок. Для этого не требуется вмешательства администратора сервера.
В этом примере робот не должен ни индексировать документ, ни анализировать его на ссылки:
<META name="ROBOTS" content="NOINDEX, NOFOLLOW">
Список терминов здесь - ALL, INDEX, NOFOLLOW, NOINDEX.
Примечание. В начале 1997 г. только некоторые роботы выполняли это, но это должно изменяться по мере того, как внимание публики будет всё более привлекаться к использованию индексирующих роботов.
С помощью сценариев авторы могут создавать динамические Web-страницы (напр., "умные формы", которые реагируют на их заполнение пользователем) и использовать HTML как средство создания сетевых приложений.
Механизм включения скриптов в документ HTML не зависит от языка скриптов.
Содержание
Введение
Дизайн документов для пользовательских агентов (ПА), поддерживающих скрипты (сценарии)
Элемент SCRIPT
Установка языка скрипта Язык по умолчанию
Локальное объявление языка скриптов
Ссылки на элементы HTML из скрипта
Внутренние события
Динамическое изменение документа
Дизайн документов для ПА, не поддерживающих скрипты
Элемент NOSCRIPT
Скрытие данных скрипта от ПА
ПА должны определять целевой фрэйм, в который нужно загружать связанный ресурс, следующим образом (приоритет от высшего к низшему):
target элемента установлен на известный фрэйм, при активации элемента (т.е. сделан переход по ссылке или форма обрабатывается), ресурс назначения для элемента должен быть загружен в целевой фрэйм.
target элемента не установлен, но есть элемент
BASE, атрибут target
элемента BASE определяет целевой фрэйм.
Если ни элемент, ни элемент BASE не имеют ссылки на целевой фрэйм, ресурс должен быть загружен во фрэйм, содержащий элемент.
Если любой атрибут target ссылается на неизвестный фрэйм F, ПА должен новое окно и фрэйм, назначить фрэйму имя F и загрузить ресурс, назначенный элементом, в новый фрэйм.
ПА могут предоставлять пользователям механизм переопределения атрибута target.
Серверные карты могут представлять интерес в тех случаях, когда карта слишком сложна , чтобы работать как карта на стороне клиента.
Можно определить серверные карты только для элементов IMG и INPUT.
IMG должен находиться внутри элемента A, а булев атрибут ismap ([CI]) должен быть установлен.
INPUT должен быть типа "image".
Когда пользователь активирует ссылку щелчком на изображении, координаты экрана передаются непосредственно тому серверу, где находится документ. Значения координат экрана выражены в пикселах относительно изображения. Нормативную информацию об определении пикселов и о том, как их обсчитывать, см. в [CSS1].
В следующем примере активный регион определяет ссылку к серверу. Таким образом, щелчок где-либо на изображении вызывает отправку координат щелчка на сервер:
<P><A href="http://www.acme.com/cgi-bin/competition"> <IMG src="game.gif" ismap alt="target"></A>
Точка щелчка предаётся на сервер так: ПА устанавливает новый URI из URI, определённого атрибутом href в элементе A, присоединением `?' с последующими координатами x и y, разделёнными запятыми. Теперь переход осуществляется по новому URI. Например, в предыдущем отрывке, если пользователь щёлкнул в точке x=10, y=27, тогда новый URI будет "http://www.acme.com/cgi-bin/competition?10,27".
ПА, не предоставляющие пользователю возможность выбора определённых координат (неграфические ПА, которые имеют только клавиатурный ввод, речевые ПА и т.д.), должны при активации гиперссылки отсылать серверу координаты "0,0".
HTML 4 это SGML приложение, соответствующее Международному Стандарту ISO 8879 -- Standard Generalized Markup Language (Стандартный Обобщённый Язык Разметки) SGML (определённому в [ISO8879]).
Примеры в тексте соответствуют определению документа строгого типа, если только пример не относится к элементам и атрибута, определённым исключительно определением документа переходного типа или определением документа типа "набор кадров"/frameset.
Из соображений краткости, большинство примеров в этой спецификации не начинаются с объявления версии HTML документа, что является обязательным в начале каждого документа HTML.
Фрагменты DTD (ОТД - определение типа документа) в определении элементов исходят из определения документов строгого типа, за исключением элементов, относящихся к кадрам.
Просмотрите, пожалуйста, раздел информация о версии HTML для выяснения того, когда нужно использовать ОТД "строгое", "переходное" или "кадры".
Комментарии, появляющиеся в ОТД HTML 4 , не имеют нормативного значения, они только информативные.
ПА не должны воспроизводить инструкции процессов SGML (например, <?full volume>) или комментарии.
Для получения информации об этой и других возможностях SGML, которые могут быть использованы в HTML, но не поддерживаются широко HTML ПА, см. раздел ограниченно поддерживаемые возможности SGML.
Раздел 3.2.2: Значения атрибутов могут содержать точки и символы подчёркивания.
SGML - объявление в HTML 4:
убран текст об up-to-date ссылках на ISO 10646. Заменено на : "Пересмотр спецификации HTML 4 может обновлять ссылку на ISO 10646 для включения дополнительных изменений."
Примечание. Общее количество кодовых точек, допустимых в наборе символов документа этого объявления SGML, включает 17 уровней [ISO10646] (17 раз по 65536). Это сделано потому, что это число ограничено размером 8 цифр в текущей версии стандарта SGML. Это не подразумевает каких-либо утверждений о возможности долгосрочных ограничений символов в UCS для первых 17 уровней. Очень вероятно, что ограничение до 8 цифр в SGML будет устранено и что эта спецификация будет обновлена.
Примечание. Строго говоря, ISO Registration Number 177 относится к первоначальному состоянию [ISO10646] в 1993 г.. Изменения после 1993 г. состояли в дополнении символов и однократной операции перемещения большого количества кодовых точек для Korean Hangul (Поправка 5). Пересмотры спецификации HTML 4 могут обновить ссылку на ISO 10646 для включения дополнительных изменений.
Набор данных формы кодируется в соответствии с типом содержимого, определённым атрибутом enctype элемента FORM.
Наконец кодированные данные пересылаются обработчику, определённому в атрибуте action с использованием протокола, указанного в атрибуте method.
Данная спецификация не определяет все соответствующие методы отправки или типы содержимого, которые могут быть использованы с формами. Однако, ПА HTML 4 должны поддерживать установленные соглашения в следующих случаях:
Если method - "get" и action - HTTP URI, ПА берёт значение action, добавляет `?' к нему, затем присоединяет набор данных формы, кодированный с использованием типа содержимого "application/x-www-form-urlencoded". Затем ПА перенаправляет всё по гиперссылке на этот URI. В этом сценарии данные формы ограничены кодами ASCII. Если method - "post" и action - HTTP URI, ПА проводит транзакцию HTTP "post", используя значение атрибута action и сообщение, созданное в соответствии с типом содержимого, определённым атрибутом enctype.
Для любых других значений action
или method
поведение не определено.
ПА должен уметь принять ответ от транзакций HTTP "get" и "post".
Набор данных формы это последовательность пар имя ЭУ/текущее значение, создаваемый из действующих ЭУ.
Определения атрибутов
width = length [CN]
Переопределяет ширину изображения и объекта.
height = length [CN]
Переопределяет высоту изображения и объекта.
Если установлены, атрибуты width
и height сообщают ПА , что нужно переопределить натуральные размеры изображения или объекта новыми значениями.
Если объектом является изображение, оно может быть обсчитано. ПА должны обсчитывать объект или изображение для установки ширины и высоты, специфицированных автором. Напоминаем, что размеры, выраженные в процентах, базируются на доступном вертикальном или горизонтальном пространстве, а не на натуральных размерах изображения, объекта или аплета.
Атрибуты height и width сообщают ПА основную идею о размерах изображения или объекта, чтобы ПА мог зарезервировать под них пространство и продолжить показ документа, пока продолжается получение данных изображения.
Последующие элементы HTML специфицируют информацию о шрифте. Хотя они и не относятся к не рекомендуемым, их использование менее предпочтительно, чем таблиц стилей.
Поскольку иногда возникают двусмысленные ситуации при установке направления определённых символов (напр., знаки препинания), спецификация [UNICODE] содержит символы для соответствующего разрешения таких ситуаций. Также Unicode включает некоторые символы управления поведением сращивания там, где это необходимо (напр., некоторые ситуации с арабскими буквами). HTML 4 включает символьные ссылки-мнемоники
для таких символов.
Следующий отрывок ОТД представляет некоторые мнемоники направления:
<!ENTITY zwnj CDATA "‌"--=zero width non-joiner--> <!ENTITY zwj CDATA "‍"--=zero width joiner--> <!ENTITY lrm CDATA "‎"--=left-to-right mark--> <!ENTITY rlm CDATA "‏"--=right-to-left mark-->
Мнемоника zwnj используется для блокировки сращивания в контексте, когда сращивание есть, но нежелательно.
Мнемоника zwj действует наоборот: она форсирует сращивание, когда его не должно быть, но оно необходимо. Например, арабская буква "HEH" используется как сокращение от "Hijri", названия исламской календарной системы. Поскольку изолированно форма "HEH" похожа на цифру пять, как принято в арабском письме (на базе индийской нумерации), для предотвращения конфликтов "HEH" с конечной цифрой пять в обозначении года используется начальная форма "HEH". В то же время, отсутствует контекст (т.е. сращивание букв), к которому "HEH" можно присоединить. Символ zwj обеспечивает такой контекст.
Также в персидских текстах встречаются случаи, когда буквы, которые обычно могут сращиваться с последующими, в курсивном соединении не делают этого. Символ zwnj используется для блокировки сращивания в таких случаях.
Другие символы, lrm и rlm, используются для форсирования направленных или нейтрально направленных символов. Например, если знак двойной кавычки вставляется между арабскими (справа-налево) и латинскими (слева-направо) буквами, направление знака кавычки на определено (закавычивает ли она арабский или латинский текст?). Символы lrm и rlm имеют свойство направления, но не имеют свойств ширины и разрыва слов/строки. См. детали в [UNICODE].
"Зеркальные" глифы символов. Вообще двунаправленный алгоритм не отражает "зеркально" глифы символов, а оставляет их без воздействия. исключение составляют символы, такие как скобки (см.
[UNICODE], таблица 4-7). В тех случаях, когда зеркальное отражение необходимо, например, для египетских иероглифов или греческих Bustrophedon, или для достижения специальных дизайнерских эффектов, этим можно управлять с помощью стилей.
Чтобы предоставить авторам более интуитивный способ ссылки на символы в символьном наборе документа, HTML предлагает символьные ссылки-мнемоники. Символьные мнемоники используют псевдонимы, так что авторы могут не запоминать кодовую позицию.
Например, символьную мнемонику å ссылающуюся на "a" с кружком сверху , "å" запомнить легче, чем å.
HTML 4 не определяет символьные мнемоники для всех символов кодового набора. В частности, нет символьной мнемоники для русской заглавной "И". Пожалуйста, просмотрите полный список символьных мнемоник, определённых в HTML 4.
Символьные мнемоники чувствительны к регистру. Так, Å ссылается на другую букву (A с кружком в верхнем регистре), а не на å (а с кружком в нижнем регистре).
Четыре символьные мнемоники должны быть упомянуты отдельно, так как они часто используются в определённых escape-последовательностях:
"<" - знак <
">" - знак >"&" - знак &"" - знак "
Автор, желающий использовать символ "<" в тексте, должен записать "<" (ASCII десятичная 60), чтобы избежать возможных конфликтов с началом тега (стартовый ограничитель тега). Так же автор должен использовать и ">" (ASCII десятеричная 62) вместо ">", чтобы избежать конфликтов со старыми браузерами, которые некорректно распознают это как конец тега (закрывающий ограничитель тега), если он появляется в значении атрибута в кавычках.
Автор должен использовать "&" (ASCII десятичное 38) вместо "&" во избежание конфликтов с обозначением начала ссылки. Автор также должен употреблять "&" в значениях атрибутов, пока символьные мнемоники допускаются внутри значений атрибутов CDATA.
Некоторые авторы используют символьную мнемонику """ для кодирования появление двойных кавычек ("), поскольку этот символ используется как ограничитель в значениях атрибутов.
Имя якоря - это значение атрибута name или id, когда используется в контексте якорей. Имена якорей должны соблюдать следующие правила:
Уникальность: Имена якорей должны быть уникальны в пределах документа.
Имена якорей, различающиеся только регистром, не могут появляться в одном документе.
Совпадение строк: Сравнение идентификаторов фрагмента и имён якорей должно выполняться с учётом регистра символов.
Таким образом, следующий пример корректен в отношении совпадения строк и должен рассматриваться ПА как совпадение:
<P><A href="#xxx">...</A> ...документ...
<P><A name="xxx">...</A>
НЕВЕРНОЕ ИСПОЛЬЗОВАНИЕ:
Это пример неверного использования имён, поскольку имена одинаковы и различаются только регистром:
<P><A name="xxx">...</A> <P><A name="XXX">...</A>
Хотя следующий отрывок HTML верен, поведение ПА в этом случае не определено; некоторые ПА могут (некорректно) рассматривать это как совпадение, а другие - нет.
<P><A href="#xxx">...</A> ...документ...
<P><A name="XXX">...</A>
Имена якорей должны быть указаны в символах ASCII. См. в приложении дополнительную информацию о не-ASCII символах в значениях атрибутов URI.
Есть вероятность того, что ПА, не распознающие элемент SCRIPT, будут рассматривать его содержимое как текст. Некоторые машины скриптов, в том числе для языков JavaScript, VBScript и Tcl, разрешают включение операторов скрипта в комментарий SGML. ПА, не распознающие элемент SCRIPT, будут тогда игнорировать комментарий, в то время как более совершенные машины скриптов "поймут", что скрипт внутри комментария должен выполняться.
Другим решением проблемы является сохранение скриптов во внешнем документе и ссылка на него с помощью атрибута src.
Комментирование скриптов в JavaScript
Машина JavaScript допускает "<!--" как начало элемента SCRIPT и игнорирует оставшиеся символы до конца строки. JavaScript интерпретирует "//" как начало комментария до конца текущей строки. Это необходимо, чтобы спрятать "-->" от разборщика JavaScript.
<SCRIPT type="text/javascript"> <!-- прячет содержимое скрипта от старых браузеров function square(i) { document.write("Вызов передан функции", i "<BR>") return i * i } document.write("Функция возвратила ",square(5),".") // конец скрытия содержимого от старых браузеров --> </SCRIPT>
Комментирование скриптов в VBScript
В VBScript одиночная кавычка указывает, что оставшаяся часть строки должна рассматриваться как комментарий. Таким образом, она может использоваться для скрытия "-->" от VBScript, например:
<SCRIPT type="text/vbscript"> <!-- Sub foo() ... End Sub ' --> </SCRIPT>
Комментирование скриптов в TCL
В Tcl символ"#" обозначает комментарий до конца строки:
<SCRIPT type="text/tcl"> <!-- прячет содержимое скрипта от старых браузеров proc square {i} { document write "Вызов передан функции $i.<BR>" return [expr $i * $i] } document write "Функция вернула [square 5]." # конец скрытия содержимого от старых браузеров --> </SCRIPT>
Примечание. Некоторые браузеры закрывают комментарий при обнаружении первого символа ">", поэтому, для того, чтобы спрятать скрипт от таких браузеров, Вы можете поменять местами операнды в операторах сравнения и смещения (напр., использовать "y < x" вместо "x > y") или использовать зависимые от языка скриптов escape-последовательности для ">".
Некоторые языки таблиц стилей поддерживают синтаксис, позволяющий авторам прятать содержимое элементов STYLE от несоответствующих ПА.
Этот пример иллюстрирует, как в CSS закомментировать содержимое элементов STYLE
так, чтобы быть уверенным наверняка, что несоответствующие ПА не будут рассматривать его как текст.
<STYLE type="text/css"> <!-- H1 { color: red } P { color: blue} --> </STYLE>
Когда данные сценария или стиля являются содержимым элемента (SCRIPT и STYLE), данные начинаются непосредственно после начального тега элемента и заканчиваются перед первым ограничителем ETAGO ("</"), после которого следует первый символ начального тега ([a-zA-Z]). Обратите внимание, что это может не быть конечный тег данного элемента. Авторы, таким образом должны избегать использования "</" в теле содержимого. Escape-механизмы специфичны для каждого языка скриптов или стилей.
НЕВЕРНЫЙ ИСПОЛЬЗОВАНИЕ:
Данные скрипта некорректно используют последовательность "</" (как часть "</EM>") перед конечным тегом SCRIPT:
<SCRIPT type="text/javascript"> document.write ("<EM>Это на будет работать</EM>") </SCRIPT>
В JavaScript этот код может быть записан верно скрытием ограничителя ETAGO перед начальным символом имени SGML:
<SCRIPT type="text/javascript"> document.write ("<EM>This will work<\/EM>") </SCRIPT>
В Tcl это может быть выполнено так:
<SCRIPT type="text/tcl"> document write "<EM>Это будет работать<\/EM>" </SCRIPT>
В VBScript проблема может быть решена при помощи функции Chr():
"<EM>Это будет работать<" & Chr(47) & "EM>"
Этот документ создавался в расчёте на читателей двух типов: авторов и разработчиков. Мы надеемся, что эта спецификация станет хорошим подспорьем авторам и разработчикам при написании эффективных, привлекательных и доступных документов без излишней детализации исполнения HTML.
Разработчики найдут здесь всё, что может им понадобиться для создания соответствующих браузеров.
Спецификация может быть использована различными методами:
Читать от начала до конца
Спецификация начинается общим представлением HTML и становится всё более и более детализированной к концу.
Быстрый доступ к информации
Чтобы получить информацию о синтаксисе и семантике как можно быстрее, эта online-версия спецификации представляет следующие возможности:
Каждая справка об элементе или атрибуте содержит ссылки на его определение в спецификации. Каждый элемент или атрибут определён только в одном месте.
Каждая страница содержит ссылки на индексы, так что Вы всегда можете найти определение элемента
или атрибута.
На первой странице каждого раздела справочника по языку находится более детализированное содержание этой секции.
Содержание
ОпределенияSGML
Тип содержимого text/html
В этом разделе мы начинаем спецификацию HTML 4 с соглашения между авторами, документами, пользователями и браузерами.
Ключевые слова "MUST/ДОЛЖЕН", "MUST NOT/НЕ ДОЛЖЕН", "REQUIRED/НЕОБХОДИМ", "SHALL/БУДЕТ", "SHALL NOT/НЕ БУДЕТ", "SHOULD/ДОЛЖЕН", "SHOULD NOT/НЕ ДОЛЖЕН", "RECOMMENDED/РЕКОМЕНДУЕТСЯ", "MAY/МОЖЕТ" и "OPTIONAL/ПО ВЫБОРУ" в этом документе интерпретируются так, как описано в [RFC2119].
Однако, для удобства чтения эти слова не употребляются в этой спецификации со всеми буквами в верхнем регистре.
Время от времени авторы этой спецификации дают практические рекомендации авторам и разработчикам. Эти рекомендации не являются нормативными и согласованными с этой спецификацией. Эти рекомендации содержат выражения типа: "мы рекомендуем ...", "эта спецификация рекомендует ...", или другие подобные конструкции.
HTML предлагает стандартный механизм внедрения объектов приложений в документы HTML. Элемент OBJECT (вместе со своими более специализированными предшественниками
APPLET) предоставляет механизм включения в документ изображений, видео, звука, математических выражений, специализированных приложений и других объектов. Авторам предлагается также устанавливать иерархию альтернативного представления для ПА, не поддерживающих какие-либо виды специального представления.
Мы рекомендуем авторам и разработчикам рассмотреть следующие общие принципы при работе с HTML 4.
Хотя гиперссылки на другие ресурсы создаются разными элементами и атрибутами (напр., элемент IMG, элемент FORM
и т.д.), в этом разделе рассматриваются гиперссылки и якоря, создаваемые элементами LINK и A.
Элемент LINK может появляться только в "шапке" документа.
Элемент A может появляться только в теле документа.
Если в элементе A установлен атрибут href, этот элемент определяет якорь-источник гиперссылки, который может быть активирован пользователем для запроса Web-ресурса. Якорь источника это размещение объекта A, а якорь назначения - это ресурс Web.
Запрошенный ресурс может быть обработан ПА различными способами:
открытие нового документа HTML в том же окне ПА,
открытие нового документа HTML в другом окне,
запуск другой программы для обработки ресурса и т.д.
Поскольку элемент A имеет содержимое (текст, изображения и т.п.), ПА могут обозначить наличие этого содержимого, например, подчёркиванием гиперссылки.
Если атрибуты name или id элемента A установлены, данный элемент определяет якорь, который может служить якорем назначения других гиперссылок.
Авторы могут установить атрибуты name и href одновременно в одном и том же
A.
LINK определяет взаимоотношение между текущим документом и другим ресурсом. Хотя LINK не имеет содержимого, взаимоотношения, определяемые им, могут воспроизводиться некоторыми ПА.
Определение атрибута
lang = language-code [CI]
Этот атрибут определяет базовый язык значений атрибутов элементов и содержимого текста. По умолчанию значение этого атрибута неизвестно.
Информация о языке, определённая атрибутом lang, может быть использована Пользовательским Агентом (ПА) для управления представлением различными путями.
Вот некоторые ситуации, где предоставленная автором информация о языке может быть полезной:
содействие поисковым машинам;
содействие речевым синтезаторам;
помощь ПА в выборе вариантов глифов для высококачественной печати;
помощь ПА в выборе вариантов кавычек;
помощь ПА в принятии решений о дефисах, лигатурах и пробелах;
помощь программам проверки правописания.
lang определяет язык содержимого элемента и значений атрибутов. Относится ли это к соответствующему атрибуту, зависит от синтаксиса и семантики атрибута и выполняемой операции.
Цель атрибута lang - создать ПА условия для более понятного представления содержимого на базе принятой для данного языка культурной практики. Это не означает, что ПА должны отображать нетипичные для конкретного языка символы менее осмысленным способом. ПА обязаны действовать наилучшим образом для отображения всех символов независимо от значений атрибута lang.
Например, если символы греческого алфавита появляются в окружении английского текста:
<P><Q lang="en">Her super-powers were the result of γ-radiation,</Q> he explained.</P>
ПА должен
(1) попытаться представить английское содержимое соответствующим образом (например, при обработке знаков кавычек) и
(2) обязан попытаться представить символ γ наилучшим образом, несмотря на то, что этот символ не является английской буквой.
См. дополнительную информацию в разделе неотображаемые символы.
Вообще спецификация метаданных состоит из двух шагов:
объявление свойства и значения этого свойства. Это можно сделать двояко:
из документа через элемент META;
вне документа связыванием метаданных через элемент LINK (см. раздел типы ссылок);
ссылка на профиль, где определены свойства и их действительные значения. Чтобы создать профиль, используйте атрибут profile элемента HEAD.
Учтите, что, поскольку профиль определён для элемента HEAD, этот же профиль применяется и для всех элементов META и LINK в "шапке" документа.
От ПА не требуется поддержка механизма метаданных. Для тех ПА, которые поддерживают метаданные, эта спецификация не определяет, как метаданные должны интерпретироваться.
Определение атрибута
dir = LTR | RTL [CI]
Определяет направление движения изначально нейтрального текста (т.е. текста, который не имеет унаследованного направления, как определено в
[UNICODE]), из содержимого элемента и значений атрибута. Устанавливает также направление в таблицах.
Возможные значения:
LTR: слева-направо, текст или таблица;
RTL: справа-налево: текст или таблица.
В дополнение к спецификации языка документа с помощью атрибута lang, авторам может понадобиться определить базовое направление (слева-направо или справа-налево) части текста документа, структуры таблицы и т.д. Это устанавливается в атрибуте dir.
Спецификация [UNICODE] назначает направление символам и определяет (сложный) алгоритм для определения соответствующего направления текста. Если документ не содержит отображаемых справа-налево символов, то от соответствующего ПА не требуется применять двунаправленный алгоритм [UNICODE]. Если документ содержит отображаемые справа-налево символы и если ПА отображает эти символы, ПА обязан использовать двунаправленный алгоритм.
Хотя Unicode специфицирует символы с направлением текста, HTML предлагает высокоуровневые конструкции разметки, которые делают то же самое: атрибут dir
(не путайте с элементом DIR) и элемент BDO. Таким образом, для отображения еврейских кавычек более интуитивно понятно будет записать:
<Q lang="he" dir="rtl">...еврейские кавычки...</Q>
чем то же самое в мнемониках Unicode:
‫״...еврейские кавычки...״‬
ПА не должны использовать атрибут lang
для определения направления текста.
dir наследуется и может быть переопределён. См. детали в разделе информация о наследовании направления текста.
Авторы определяют внешнюю таблицу стилей со следующими атрибутами элемента LINK:
href указывает на расположение файла таблицы стилей. Значением href является URI;
значение атрибута type указывает язык связанного ресурса (таблицы стилей). Это позволяет ПА избегать загрузки таблиц стилей для не поддерживаемого языка таблиц стилей;
определить, является таблица стилей постоянной, основной или альтернативной:
чтобы сделать таблицу постоянной, установите атрибут rel в "stylesheet" и не устанавливайте атрибут title;
чтобы сделать таблицу основной, установите атрибут
rel в "stylesheet" и именуйте таблицу с помощью атрибута title;
чтобы сделать таблицу альтернативной, установите атрибут
rel в "alternate stylesheet" и именуйте таблицу с помощью атрибута
title.
ПА должен предоставлять пользователю возможность видеть список альтернативных стилей и выбрать из него. Значение атрибута title рекомендуется как название каждого пункта выбора.
В этом примере мы сначала определяем постоянную таблицу стилей, находящуюся в файле mystyle.css:
<LINK href="mystyle.css" rel="stylesheet" type="text/css">
Установка атрибута title делает её авторской основной:
<LINK href="mystyle.css" title="compact" rel="stylesheet" type="text/css">
Добавление ключевого слова "alternate" к атрибуту rel делает её альтернативной таблицей стилей:
<LINK href="mystyle.css" title="Medium" rel="alternate stylesheet" type="text/css">
Дополнительную информацию о таблицах стилей см. раздел гиперссылки и внешние таблицы стилей.
Авторы могут использовать элемент META для установки основной таблицы стилей документа. Например, чтобы установить основную таблицу стилей в "compact" (см. предыдущий пример), авторы могут включить следующую строчку в
HEAD:
<META http-equiv="Default-Style" content="compact">
Основная таблица стилей может быть специфицирована заголовками HTTP. Предыдущее объявление META
эквивалентно заголовку HTTP:
Default-Style: "compact"
META или заголовка HTTP определяют основную таблицу стилей, самая последняя имеет приоритет. Заголовки HTTP появляются раньше, чем
HEAD документа.
Если два или более элемента LINK определяют основную таблицу стилей, первая таблица имеет преимущество.
Основная таблица стилей, определённая в
META или в заголовке HTTP, имеет преимущество перед таблицами, определёнными в элементе LINK.
Содержание
Введение
Неупорядоченные списки (UL), упорядоченные списки (OL) и элементы списка (LI)
Списки Definition: элементы DL, DT
и DD
Визуальное представление списков
Элементы DIR и MENU
<!-- списки определений - DT - термин, DD - его определение -->
<!ELEMENT DL - - (DT|DD)+ -- список definition --> <!ATTLIST DL %attrs; -- %coreattrs, %i18n, %events -- >
Начальный тег: необходим, Конечный тег: необходим
<!ELEMENT DT - O (%inline;)* -- термин --> <!ELEMENT DD - O (%flow;)* -- описание термина --> <!ATTLIST (DT|DD) %attrs; -- %coreattrs, %i18n, %events -- >
Начальный тег: необходим, Конечный тег: не обязателен
Атрибуты, определённые в другом месте
id, class (идентификаторы документа)
lang (язык), dir (направление текста)
title (заголовок элемента)
style (инлайн-стиль)
onkeydown, onkeyup (внутренние события)
Списки определений лишь немного отличаются от других типов списка тем, что их элемент состоит из двух частей: термина и его описания. Термин задаётся элементом DT
и ограничен как инлайн-содержимое. Описание задаётся элементом DD, содержимое которого - уровня блока.
Вот пример:
<DL> <DT>Dweeb <DD>young excitable person who may mature into a <EM>Nerd</EM> or <EM>Geek</EM>
<DT>Hacker <DD>a clever programmer
<DT>Nerd <DD>technically bright but socially inept person
</DL>
Это пример нескольких терминов и описаний:
<DL> <DT>Center <DT>Centre <DD> A point equidistant from all points on the surface of a sphere. <DD> In some field sports, the player who holds the middle position on the field, court, or forward line. </DL>
Другая сфера применения DL это, например, создание диалогов, где каждый DT
именует говорящего, а каждый DD содержит его/ её слова.
<!-- Portions © International Organization for Standardization 1986 Разрешение на копирование в любой форме дано для использования с соответствующими системами SGML и приложениями, как определено в ISO 8879, при условии, что данное объявление включено во все копии. --> <!-- Список мнемоник. Типичный вызов: <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1//EN//HTML"> %HTMLlat1; -->
<!ENTITY nbsp CDATA " " -- неразрывающий (обычный) пробел, U+00A0 ISOnum --> <!ENTITY iexcl CDATA "¡" -- перевёрнутый восклицательный знак, U+00A1 ISOnum --> <!ENTITY cent CDATA "¢" -- знак "цент", U+00A2 ISOnum --> <!ENTITY pound CDATA "£" -- знак "фунт", U+00A3 ISOnum --> <!ENTITY curren CDATA "¤" -- знак "валюта", U+00A4 ISOnum --> <!ENTITY yen CDATA "¥" -- знак "йена", U+00A5 ISOnum --> <!ENTITY brvbar CDATA "¦" -- разорванная вертикальная линия, U+00A6 ISOnum --> <!ENTITY sect CDATA "§" -- знак раздела (параграф, U+00A7 ISOnum --> <!ENTITY uml CDATA "¨" -- две точки - умлаут, U+00A8 ISOdia --> <!ENTITY copy CDATA "©" -- знак "авторские права", U+00A9 ISOnum --> <!ENTITY ordf CDATA "ª" -- порядковый индикатор feminine, U+00AA ISOnum --> <!ENTITY laquo CDATA "«" -- направленная влево двойная угловая скобка, U+00AB ISOnum --> <!ENTITY not CDATA "¬" -- знак "не"(скобка), U+00AC ISOnum --> <!ENTITY shy CDATA "­" -- "мягкий" дефис, U+00AD ISOnum --> <!ENTITY reg CDATA "®" -- знак "зарегистрировано", U+00AE ISOnum --> <!ENTITY macr CDATA "¯" -- macron, U+00AF ISOdia --> <!ENTITY deg CDATA "°" -- знак "степень", U+00B0 ISOnum --> <!ENTITY plusmn CDATA "±" -- плюс-минус, U+00B1 ISOnum --> <!ENTITY sup2 CDATA "²" -- верхний индекс "2", U+00B2 ISOnum --> <!ENTITY sup3 CDATA "³" -- верхний индекс "3", U+00B3 ISOnum --> <!ENTITY acute CDATA "´" -- акцент вправо, U+00B4 ISOdia --> <!ENTITY micro CDATA "µ" -- знак micro, U+00B5 ISOnum --> <!ENTITY para CDATA "¶" -- знак pilcrow/paragraph, U+00B6 ISOnum --> <!ENTITY middot CDATA "·" -- средняя точка, U+00B7 ISOnum --> <!ENTITY cedil CDATA "¸" -- седилья, U+00B8 ISOdia --> <!ENTITY sup1 CDATA "¹" -- верхний индекс "1", U+00B9 ISOnum --> <!ENTITY ordm CDATA "º" -- порядковый индикатор masculine, U+00BA ISOnum --> <!ENTITY raquo CDATA "»" -- направленная вправо двойная угловая скобка, U+00BB ISOnum --> <!ENTITY frac14 CDATA "¼" -- простая дробь "одна четвёртая", U+00BC ISOnum --> <!ENTITY frac12 CDATA "½" -- простая дробь "одна вторая", U+00BD ISOnum --> <!ENTITY frac34 CDATA "¾" -- простая дробь "три четвёрти", U+00BE ISOnum --> <!ENTITY iquest CDATA "¿" -- перевёрнутый знак вопроса, U+00BF ISOnum --> <!ENTITY Agrave CDATA "À" -- латинская заглавная A с акцентом влево, U+00C0 ISOlat1 --> <!ENTITY Aacute CDATA "Á" -- латинская заглавная A с акцентом вправо, U+00C1 ISOlat1 --> <!ENTITY Acirc CDATA "Â" -- латинская заглавная A с птичкой, U+00C2 ISOlat1 --> <!ENTITY Atilde CDATA "Ã" -- латинская заглавная A с тильдой, U+00C3 ISOlat1 --> <!ENTITY Auml CDATA "Ä" -- латинская заглавная A с двоеточием, U+00C4 ISOlat1 --> <!ENTITY Aring CDATA "Å" -- латинская заглавная A с кружком, U+00C5 ISOlat1 --> <!ENTITY AElig CDATA "Æ" -- латинская заглавная AE, U+00C6 ISOlat1 --> <!ENTITY Ccedil CDATA "Ç" -- латинская заглавная C седилья, U+00C7 ISOlat1 --> <!ENTITY Egrave CDATA "È" -- латинская заглавная E с акцентом влево, U+00C8 ISOlat1 --> <!ENTITY Eacute CDATA "É" -- латинская заглавная E с акцентом вправо, U+00C9 ISOlat1 --> <!ENTITY Ecirc CDATA "Ê" -- латинская заглавная E с птичкой, U+00CA ISOlat1 --> <!ENTITY Euml CDATA "Ë" -- латинская заглавная E с двоеточием, U+00CB ISOlat1 --> <!ENTITY Igrave CDATA "Ì" -- латинская заглавная I с акцентом влево, U+00CC ISOlat1 --> <!ENTITY Iacute CDATA "Í" -- латинская заглавная I с акцентом вправо, U+00CD ISOlat1 --> <!ENTITY Icirc CDATA "Î" -- латинская заглавная I с птичкой, U+00CE ISOlat1 --> <!ENTITY Iuml CDATA "Ï" -- латинская заглавная I с двоеточием, U+00CF ISOlat1 --> <!ENTITY ETH CDATA "Ð" -- латинская заглавная ETH, U+00D0 ISOlat1 --> <!ENTITY Ntilde CDATA "Ñ" -- латинская заглавная N с тильдой, U+00D1 ISOlat1 --> <!ENTITY Ograve CDATA "Ò" -- латинская заглавная O с акцентом влево, U+00D2 ISOlat1 --> <!ENTITY Oacute CDATA "Ó" -- латинская заглавная O с акцентом вправо, U+00D3 ISOlat1 --> <!ENTITY Ocirc CDATA "Ô" -- латинская заглавная O с птичкой, U+00D4 ISOlat1 --> <!ENTITY Otilde CDATA "Õ" -- латинская заглавная O с тильдой, U+00D5 ISOlat1 --> <!ENTITY Ouml CDATA "Ö" -- латинская заглавная O с двоеточием, U+00D6 ISOlat1 --> <!ENTITY times CDATA "×" -- знак умножения, U+00D7 ISOnum --> <!ENTITY Oslash CDATA "Ø" -- латинская заглавная O диагонально перечёркнутая, U+00D8 ISOlat1 --> <!ENTITY Ugrave CDATA "Ù" -- латинская заглавная U с акцентом влево, U+00D9 ISOlat1 --> <!ENTITY Uacute CDATA "Ú" -- латинская заглавная U с акцентом вправо, U+00DA ISOlat1 --> <!ENTITY Ucirc CDATA "Û" -- латинская заглавная U с птичкой, U+00DB ISOlat1 --> <!ENTITY Uuml CDATA "Ü" -- латинская заглавная U с двоеточием, U+00DC ISOlat1 --> <!ENTITY Yacute CDATA "Ý" -- латинская заглавная Y с акцентом вправо, U+00DD ISOlat1 --> <!ENTITY THORN CDATA "Þ" -- латинская заглавная THORN, U+00DE ISOlat1 --> <!ENTITY szlig CDATA "ß" -- латинская эс-цэт, U+00DF ISOlat1 --> <!ENTITY agrave CDATA "à" -- латинская a с акцентом влево, U+00E0 ISOlat1 --> <!ENTITY aacute CDATA "á" -- латинская с акцентом вправо, U+00E1 ISOlat1 --> <!ENTITY acirc CDATA "â" -- латинская a с птичкой, U+00E2 ISOlat1 --> <!ENTITY atilde CDATA "ã" -- латинская a с тильдой, U+00E3 ISOlat1 --> <!ENTITY auml CDATA "ä" -- латинская a с двоеточием, U+00E4 ISOlat1 --> <!ENTITY aring CDATA "å" -- латинская a с кружком, U+00E5 ISOlat1 --> <!ENTITY aelig CDATA "æ" -- латинская ae, U+00E6 ISOlat1 --> <!ENTITY ccedil CDATA "ç" -- латинская c седилья, U+00E7 ISOlat1 --> <!ENTITY egrave CDATA "è" -- латинская e с акцентом влево, U+00E8 ISOlat1 --> <!ENTITY eacute CDATA "é" -- латинская e с акцентом вправо, U+00E9 ISOlat1 --> <!ENTITY ecirc CDATA "ê" -- латинская e с птичкой, U+00EA ISOlat1 --> <!ENTITY euml CDATA "ë" -- латинская e с двоеточием, U+00EB ISOlat1 --> <!ENTITY igrave CDATA "ì" -- латинская i с акцентом влево, U+00EC ISOlat1 --> <!ENTITY iacute CDATA "í" -- латинская i с акцентом вправо, U+00ED ISOlat1 --> <!ENTITY icirc CDATA "î" -- латинская i с птичкой, U+00EE ISOlat1 --> <!ENTITY iuml CDATA "ï" -- латинская i с двоеточием, U+00EF ISOlat1 --> <!ENTITY eth CDATA "ð" -- латинская eth, U+00F0 ISOlat1 --> <!ENTITY ntilde CDATA "ñ" -- латинская n с тильдой, U+00F1 ISOlat1 --> <!ENTITY ograve CDATA "ò" -- латинская o с акцентом влево, U+00F2 ISOlat1 --> <!ENTITY oacute CDATA "ó" -- латинская o с акцентом вправо, U+00F3 ISOlat1 --> <!ENTITY ocirc CDATA "ô" -- латинская o с птичкой, U+00F4 ISOlat1 --> <!ENTITY otilde CDATA "õ" -- латинская o с тильдой, U+00F5 ISOlat1 --> <!ENTITY ouml CDATA "ö" -- латинская o с двоеточием, U+00F6 ISOlat1 --> <!ENTITY divide CDATA "÷" -- знак деления, U+00F7 ISOnum --> <!ENTITY oslash CDATA "ø" -- латинская o диагонально перечёркнутая, U+00F8 ISOlat1 --> <!ENTITY ugrave CDATA "ù" -- латинская u с акцентом влево, U+00F9 ISOlat1 --> <!ENTITY uacute CDATA "ú" -- латинская u с акцентом вправо, U+00FA ISOlat1 --> <!ENTITY ucirc CDATA "û" -- латинская u с птичкой, U+00FB ISOlat1 --> <!ENTITY uuml CDATA "ü" -- латинская u с двоеточием, U+00FC ISOlat1 --> <!ENTITY yacute CDATA "ý" -- латинская y с акцентом вправо, U+00FD ISOlat1 --> <!ENTITY thorn CDATA "þ" -- латинская thorn, U+00FE ISOlat1 --> <!ENTITY yuml CDATA "ÿ" -- латинская y с двоеточием, U+00FF ISOlat1 -->
Содержание
Проверка документов
Каталог образцов SGML
Этот раздел содержит формальное SGML-определение HTML 4. Оно включает SGML-объявление, Определение Типа Данных (ОТД) и символьные ссылки-мнемоники, а также каталог образцов SGML.
Эти файлы доступны также в формате ASCII :
ОТД по умолчанию:
strict.dtdПереходное ОТД/Transitional DTD:
loose.dtdОТД набора фрэймов/Frameset DTD:
frameset.dtdSGML-объявление:
HTML4.declФайлы определений мнемоник:
HTMLspecial.ent
HTMLsymbol.ent
HTMLlat1.ent
Каталог образцов:HTML4.cat
это цифровые или символьные имена символов, которые могут быть включены в документ HTML. Они употребляются как ссылки на редко используемые или затруднительные для воспроизведения авторскими утилитами символы. Вы встретите такие ссылки-мнемоники в этом документе повсюду, они начинаются знаком "&" и заканчиваются точкой с запятой (;). Вот некоторые распространённые сочетания:
"<" - знак <
">" - знак >""" - знак "
"å" (десятеричная) буква "a" с маленьким кружком наверху
"И" (десятеричная) кириллическая "И"."水" (шестнадцатеричная) китайский "водяной" символ.
Мы детально обсуждаем ссылки-мнемоники HTML позже в разделе набор символов документа HTML. В этой спецификации есть также список символьных ссылок, которые могут употребляться в документах HTML 4.
Ссылки-мнемоники из этого раздела производят символы, чьи цифровые эквиваленты должны поддерживаться пользовательскими агентами (ПА), соответствующими HTML 2.0. Таким образом, мнемоника ÷ более удобна, чем ÷, для получения знака деления (÷).
Для того, чтобы поддерживать такие мнемоники, ПА должны распознавать названия мнемоник и конвертировать их в символы репертуара [ISO88591].
Символ 65533 (FFFD 16-ричная) это последний действительный символ UCS-2. 65534 (FFFE 16-ричная) это беззнаковая и полученная обращением байтов версия ZERO WIDTH NON-BREAKING SPACE для целей определения порядка байтов. 65535 (FFFF 16-ричная) является беззнаковым числом.
Символьные ссылки-мнемоники этого раздела выводят символы, которые могут быть представлены глифами в широко распространённом шрифте Adobe Symbol, включая греческие буквы, различные скобки, некоторые математические операторы, такие как градиент, произведение и сумма.
Чтобы поддерживать эти мнемоники, ПА должны поддерживать полный [ISO10646] или использовать другие средства. Изображение глифов для этих символов может быть достигнуто возможностью изображения соответствующих [ISO10646] символов или другими способами, такими как составление внутренней карты мнемоник, цифровые мнемоники и символы на подходящей позиции в каком-либо шрифте, содержащем требуемые глифы.
При использовании греческих букв. Этот набор мнемоник содержит все буквы современного греческого. Однако он не включает греческую пунктуацию, акцентированные символы и акценты (tonos, dialytika), необходимые для их составления.
Отсутствуют архаические буквы, коптские буквы и буквы Polytonic Греческого. Мнемоники, определённые здесь, непригодны для представления современных греческих текстов; они предназначены для эпизодического введения греческих символов, используемых в технических предметах и математике.
Мнемоники этого раздела предназначены для escaping-символов разметки (они те же, что и в HTML 2.0 и 3.2) при обозначении пробелов и тире. Остальные символы этого раздела относятся к вопросам интернационализации, таким как недвусмысленность двунаправленного текста (см. раздел двунаправленный текст).
Мнемоники добавлены также для остальных символов CP-1252, не вошедших в наборы мнемоник HTMLlat1 или HTMLsymbol. Эти мнемоники находятся в диапазоне от 128 до 159 набора CP-1252. Данные мнемоники позволяют отображать символы в платформно-независимой манере.
Чтобы поддерживать эти мнемоники, ПА должны поддерживать полный набор [ISO10646] или использовать другие подходы. Изображение глифов этих символов может быть получено при наличии возможности отображения соответствующих символов [ISO10646] или другими средствами, таким как создание внутренних карт мнемоник, цифровые символьные ссылки и символы на подходящей позиции в каком-либо шрифте, содержащем требуемые глифы.
Содержание
Введение
Ссылки-мнемоники для символов ISO 8859-1
Список символов
Ссылки-мнемоники для символов, математических символов и греческих букв Список символов
Ссылки-мнемоники для символов разметки и интернационализации
Список символов
У каждого языка скриптов есть свой набор соглашений о том, как ссылаться на объекты HTML из скрипта. Эта спецификация не определяет стандартный механизм ссылки на объекты HTML.
В то же время, скрипты должны ссылаться на элемент в соответствии с его установленным именем. Машины скриптов должны соблюдать правило старшинства при идентификации элемента: атрибут name имеет преимущество перед атрибутом id, если оба установлены. Иначе тот или другой могут быть использованы.
Этот раздел относится только к тем ПА, которые соответствуют версиям HTTP, определяющим поле заголовка Link. Обратите внимание, что HTTP 1.1, как определено в
[RFC2616] ,не содержит поле заголовка Link (см. раздел 19.6.3).
Менеджеры Web-сервера могут найти удобным сконфигурировать сервер так, чтобы таблица стилей применялась к группе страниц. Заголовок HTTP Link имеет то же действие, что и элемент LINK с теми же атрибутами и значениями. Множественные заголовки Link соответствуют множественным элемента LINK, появляющимся в том же порядке. Например:
Link: <http://www.acme.com/corporate.css>; REL=stylesheet
соответствует:
<LINK rel="stylesheet" href="http://www.acme.com/corporate.css">
Можно определить несколько альтернативных стилей, используя множественные заголовки
Link, и использовать затем атрибут rel для определения стиля по умолчанию.
В этом примере "compact" применяется по умолчанию, поскольку опущено ключевое слово "alternate" для атрибута rel.
Link: <compact.css>; rel="stylesheet"; title="compact" Link: <bigprint.css>; rel="alternate stylesheet"; title="big print"
Это должно также работать, если документы HTML пересылаются по email. Некоторые агенты email могут изменять порядок заголовков [RFC822]. Чтобы защитить каскадный порядок таблиц стилей, определённый заголовками Link, авторы могут использовать конкатенацию заголовков для сращивания нескольких объектов одного поля заголовка. Знак кавычек нужен только тогда, когда значения атрибутов содержат пробелы. Используйте мнемоники SGML для ссылки на символы, которые недопустимы в заголовках HTTP или email или могут быть изменены при прохождении через шлюзы.
Элементы LINK
и META, ожидаемые заголовками HTTP, определены как появляющиеся явно перед каким-либо элементом LINK
META в HEAD
документа.
Этот раздел описывает статус данного документа на время публикации. Другие документы могут заменять этот документ. Современное состояние документов этой серии поддерживается на W3C.
Этот документ специфицирует HTML 4.01, являющийся частью спецификации линии HTML 4.
Первой версией HTML 4 был HTML 4.0 [HTML40], опубликованный 18 декабря 1997 и пересмотренный 24 апреля 1998.
Эта спецификация является первыми рекомендациями по HTML 4.01. Она включает дополнительные изменения после версии HTML 4.0 от 24 апреля.
Внесены некоторые изменения в DTD/ОТД. Этот документ объявляет предыдущую версию HTML 4.0 устаревшей, хотя W3C оставляет её спецификацию и ОТД доступными на сайте W3C.
Этот документ был рассмотрен членами W3C и других заинтересованных сторон и утверждён Директором как Рекомендации W3C. Это неизменяемый документ, он может использоваться как справочный материал или цитироваться в других документах. Задачей W3C является привлечение внимания к Рекомендациям и этой спецификации и её широкое распространение. Это расширит функциональные возможности Web.
W3C рекомендует создание пользовательскими агентами (ПА) и авторами (в частности, утилитами разработки) документов HTML 4.01, а не HTML 4.0.
W3C рекомендует создавать документы HTML 4 вместо документов HTML 3.2. Из соображений обратной совместимости, W3C также рекомендует, чтобы утилиты, интерпретирующие HTML 4, продолжали поддерживать HTML 3.2 и HTML 2.0.
За информацией о следующем поколении HTML, "The Extensible HyperText Markup Language" [XHTML], обращайтесь на W3C HTML Activity и к списку W3C Technical Reports.
Этот документ создан как часть W3C HTML Activity.
Цели Рабочей Группы HTML (Только для членов)
обсуждаются в Хартии Рабочей Группы HTML (Только для членов).
Список текущих Рекомендаций W3C и другая техническая документация находятся по адресу:
http://www.w3.org/TR.
Публичная дискуссия о возможностях HTML проходит на www-html@w3.org (архивы www-html@w3.org).
атрибуты vspace/hspace/border в IMG, OBJECT, APPLET в пикселах;
изменена модель содержимого MAP: ((%block;) | AREA)+добавлен атрибут "ismap" в INPUT;
атрибут accept добавлен к фрагменту ОТД для элемента
FORM;комментарий атрибута axis изменён в отношении списка, разделённого запятыми;
archive элемента OBJECT принимает значение типа CDATA вместо типа %URI, так как значением является список URI, разделённых пробелами.
Авторы традиционно выделяют свои мысли последовательностями параграфов. Организация информации по параграфам не зависит от того, как параграфы представляются: параграфы, выровненные по формату, содержат тот же текст, что и параграфы, выровненные влево.
Разметка HTML, определяющая параграф, проста - это элемент P.
Визуальное представление параграфа - не такое простое. Несколько позиций, стилистических и технических, должно быть определено:
трактовка пробелов
обрыв строки и перенос слов
выключка строк
дефисы
соглашения по языку и направлению текста
форматирование параграфов относительно окружающего содержимого
Мы рассмотрим эти вопросы далее. Выравнивание параграфов и всплывающие объекты рассматриваются далее в этом документе.
HTML различает структурную разметку - параграфы, кавычки, и идиомы языка - такие как поля, шрифт, цвет и т.п. - и как это влияет на вид таблиц.
Теоретически, выравнивание текста в таблице и обрамление ячеек - это вопрос передачи, а не структуры. На практике, однако, это объединяется с структурной информацией, так как данные хорошо переносятся между приложениями. Модель таблиц HTML оставляет большую часть информации представления ассоциированным таблицам стилей. Модель, представленная в этой спецификации, разработана так, чтобы использовать преимущества таких таблиц стилей, но не требовать их наличия.
Современные настольные издательские пакеты предоставляют полный контроль вида таблиц, и было бы непрактично воспроизводить это в HTML, не сделав при этом HTML широко распространённым текстовым форматом, таким как RTF или MIF. Эта спецификация в то же время даёт авторам возможность выбирать из обычно используемого набора классов обрамления. Атрибут frame управляет обрамлением всей таблицы, а атрибут
rules - внутренним обрамлением. Более точный контроль поддерживается использованием аннотаций. Атрибут style может использоваться для определения вида отдельных элементов. Дополнительно информация представления задаётся элементом STYLE в заголовке документа или внедрёнными таблицами стилей.
При разработке этой спецификации были исследованы горы материала для определения разметки таблиц. Один из вопросов касался типа операторов. Включение поддержки увеличения и уменьшения кромки приводит к достаточно сложному алгоритму. Например, работа над включением в полный набор элементов таблицы атрибутов frame и rules потребовала алгоритма из 24 шагов для определения, должна ли конкретная кромка ячейки размечаться или нет. Даже такое усложнение не дало достаточного контроля над видом таблицы.
Данная спецификация намеренно придерживается простой интуитивной модели, достаточной для использования в большинстве случаев. Необходима дальнейшая экспериментальная работа, прежде чем более сложный подход будет стандартизован.
Разделы данной спецификации:
Разделы 2 и 3: Введение в HTML 4
Введение описывает место HTML в схеме World Wide Web, предлагает краткий исторический обзор развития HTML, объясняет, что может быть сделано с помощью HTML 4, и предлагает некоторые замечания по созданию документов HTML.
Краткий учебник по SGML даёт начальные понятия о соотношении HTML и SGML и общую информацию о том, как читать HTML Document Type Definition/Определение Типа Документа (DTD/ОТД).
Разделы 4 - 24: справочник по HTML 4
Основная часть - это справочник по языку HTML, рассматривающий все элементы и атрибуты языка.
Этот документ организован по разделам, а не по грамматике HTML.
Разделы выделены по трём категориям: структуры, представления и интерактивность.
Хотя и нелегко точно разделить конструкции языка HTML на эти три категории, такое структурирование документа по представлению, отражающее опыт HTML Working Group, является более эффективным и удобным.
Справочник по языку содержит следующую информацию:
Какие символы могут появляться в документе HTML.
Базовые типы данных HTML-документов.
Элементы, определяющие структуру HTML-документа: текст, списки, таблицы, гиперссылки
и внедрённые объекты, изображения и аплеты.
Элементы, определяющие вид HTML-документа: каскадные таблицы стилей, шрифты, цвета, линии и другие визуальные элементы, фрэймы (кадры) для многооконного представления.
Элементы для интерактивного взаимодействия с пользователем: формы для ввода данных пользователем и скрипты для активных документов.
Формальное SGML-объявление HTML-документа:
SGML-объявление HTML.
Три Определения Типа Документа (ОТД): strict, transitional и frameset.
Список ссылок-мнемоник.
Дополнения
В первом содержится информация об изменениях в сравнении с версией HTML 3.2, что поможет авторам и разработчикам в переносе в версию HTML 4, а также изменения по спецификации
от 18 декабря 1997 г.
Во втором содержатся заметки об использовании. Оно предназначено в первую очередь для разработчиков как помощь в создании пользовательских браузеров HTML 4..Ссылки
Список информационных и нормативных ссылок. Индексы
Три индекса облегчают доступ читателю к ключевым понятиям, элементам
и атрибутам.
<!-- #PCDATA здесь решает проблему смешанного содержимого, по спецификации здесь допустимы только пробелы! --> <!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- группа ЭУ --> <!ATTLIST FIELDSET %attrs; -- %coreattrs, %i18n, %events -- >
<!ELEMENT LEGEND - - (%inline;)* -- "легенда" набора полей -->
<!ATTLIST LEGEND %attrs; -- %coreattrs, %i18n, %events -- accesskey %Character; #ПРЕДПОЛАГАЕТСЯ -- символ быстрого доступа -- >
Начальный тег: необходим, Конечный тег: необходим
Определение атрибута элемента LEGEND
align = top|bottom|left|right [CI] Не рекомендуется. Этот атрибут определяет позицию "легенды" в том, что касается набора полей. Возможные значения:
top: "Легенда" находится сверху над набором полей. Это значение по умолчанию. bottom: "Легенда" находится под набором полей.. left: "Легенда" находится слева от набора полей. right: "Легенда" находится справа от набора полей.
Атрибуты, определённые в другом месте
id, class (идентификаторы документа) lang (язык), dir (направление текста) title (название элемента) style (название стиля) accesskey (символ быстрого доступа) onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (внутренние события)
Элемент FIELDSET позволяет тематически группировать ЭУ и лэйблы. Группирование ЭУ облегчает пользователю понимание их назначение, одновременно облегчая навигацию табуляцией для визуальных ПА и речевую навигацию для ПА, ориентированных на голосовое управление. Правильное использование этого элемента делает документы более доступными.
Элемент LEGEND даёт возможность установить заглавие к FIELDSET. "Легенда" улучшает доступность, если FIELDSET просматривается невизуально.
В этом примере мы создаём форму, которая может заполняться в мед. учреждении. Она состоит из трёх разделов: персональная информация, история болезни и текущее лечение. Каждый раздел содержит ЭУ для ввода соответствующей информации:
<FORM action="..." method="post"> <P> <FIELDSET> <LEGEND>Персональная информация</LEGEND> Фамилия: <INPUT name="personal_lastname" type="text" tabindex="1"> Имя: <INPUT name="personal_firstname" type="text" tabindex="2"> Адрес: <INPUT name="personal_address" type="text" tabindex="3"> ...другая информация...