6  Базовые типы данных HTML

Содержание

  1. Регистр
  2. Базовые типы SGML
  3. Текстовые строки
  4. URI
  5. Цвета
  6. Размер значений атрибутов
  7. Типы содержимого (MIME-типы)
  8. Коды языка
  9. Кодировка символов
  10. Отдельные символы
  11. Дата и время
  12. Типы ссылок
  13. Медиа-дескрипторы (дескрипторы типа носителя)
  14. Данные сценариев
  15. Данные таблиц стилей
  16. Имя целевого фрэйма

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

Вводную информацию о том, как читать ОТД (DTD) HTML, см. в  справочнике SGML.


6.1
Регистр

Каждое определение атрибута включает информацию о чувствительности его значения к регистру. Информация о регистре представлена следующими ключами:

CS
Значение чувствительно к регистру (т.е., пользовательский агент (ПА) интерпретирует "a" и "A" по-разному).
CI
Значение нечувствительно к регистру (т.е., (ПА) интерпретирует "a" и "A" одинаково).
CN
Значение не является объектом, учитывающим регистр (нейтрально), напр., это набор символов из символьного набора документа.
CA
Определение элемента или атрибута само предоставляет информацию о регистре.
CT
Просмотрите определение типа для уточнения чувствительности к регистру.

Если значением атрибута является список, ключи применяются к каждому значению списка, если не указано иное.


6.2
Базовые типы SGML

Определение типа документа (ОТД) специфицирует синтаксис содержимого элемента и значения атрибута HTML, используя лексемы SGML (напр., PCDATA, CDATA, NAME, ID и т.д.). См. их полные определения в [ISO8879].
Здесь суммирована ключевая информация:


6.3
Текстовые строки

Атрибуты текста ( %Text в ОТД) делают его пригодным для чтения.
Введение об атрибутах см. в учебной дискуссии об атрибутах.


6.4
URI

Данная спецификация использует термин URI, как определено в [URI] (см. также [RFC1630]).

Заметьте, что URI включают URL (как определено в  [RFC1738] и [RFC1808]).

Относительные URI дополняются до полных URI, используя базовые URI.
[RFC1808]
, раздел 3, определяет нормативный алгоритм этого процесса. Дополнительную информацию о базовых URI см. в разделе базовые URI в главе о ссылках.

URI представляются в ОТД мнемоникой %URI;.

URI в общем случае нечувствительны к регистру. Могут быть URI, или части URI, где регистр не имеет значения (напр., имя машины/хост), но их идентификация может быть затруднительна. Пользователь должен всегда предполагать, что URI чувствительны к регистру (чтобы быть уверенными в последствиях своих действий).

Пожалуйста, прочтите дополнение к информации о не-ASCII символах в значениях атрибутов URI.


6.5
Цвета

Значение атрибута "color" (%Color;) ссылается на определение цвета [SRGB]. Значение цвета может быть или 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"

Таким образом, значение "#800080" и "Purple" оба обозначают пурпурный цвет.


6.5.1
Использование цветов

Хотя цвета придают много дополнительного смысла документу и делают его более "читабельным", учитывайте следующие советы при использовании цвета в Ваших документах:


6.6
Размер значений атрибутов

HTML специфицирует три типа значений размера для атрибутов:

  1. Pixels: Значение (%Pixels; в ОТД) является целочисленным/integer, представляя количество пикселов "канвы" (экрана, бумаги). таким образом, "50" означает 50 пикселов. Нормативную информацию об определении пиксела см. в  [CSS1].
  2. Length: Значение (%Length;в ОТД) может быть  %Pixel; или процент от доступного вертикального или горизонтального пространства. Таким образом, "50%" означает половину доступного пространства.
  3. MultiLength: Значение ( %MultiLength; в ОТД) может быть  %Length; относительный размер. Относительный размер имеет форму  "i*", где  "i"  - это целое число.
    Распределяя пространство между "конкурирующими" элементами, ПА сначала распределяет размер в пикселах или процентах, затем разделяет остающееся свободным пространство между "относительными размерами". Каждый "относительный размер" получает часть доступного пространства пропорционально целому числу с префиксом "*". Значение  "*" эквивалентно "1*". Таким образом, если 60 пикселов пространства доступны после того, как ПА распределяет пространство в пикселах и процентах, и "конкурирующие" относительные размеры -  1*, 2* и 3*, 1* будет выделено 10 пикселов,  2* - 20 пикселов и  3* - 30 пикселов.

Значения размера нейтральны к регистру.


6.7
Типы содержимого/носителя (типы MIME)

Примечание: "Тип носителя" (определённый в  [RFC2045] и [RFC2046]) специфицирует природу связанного ресурса. Эта спецификация использует термин "content type\тип содержимого", а не "media type\тип носителя", в соответствии с текущей практикой.
В то же время, в этой спецификации, "media type" может относиться к дескрипторам там, где ПА воспроизводит документ.

Этот тип представлен в ОТД:    %ContentType;.

Тиры содержимого нечувствительны к регистру.

Примеры типа содержимого:  "text/html", "image/png", "image/gif", "video/mpeg", "text/css" и "audio/basic".
Текущий список зарегистрированных MIME-типов см. в [MIMETYPES].


6.8
Коды языка

Значение атрибута, чей тип - код языка ( %LanguageCode в ОТД), ссылается на код языка, специфицированный в [RFC1766], раздел 2.
О том, как специфицировать код языка в HTML, см. в разделе коды языка. Пробелы внутри кода языка недопустимы.

Коды языка нечувствительны к регистру.


6.9
Кодировка

Атрибуты "charset" (%Charset в ОТД) ссылаются на кодировку символов, как описано в разделе кодировка символов. Значения должны быть строками (напр., "euc-jp") из регистра IANA (см. полный список в [CHARSETS]).

Наименования кодировки символов нечувствительны к регистру.

Пользовательские агенты (ПА) должны осуществлять серию шагов, предусмотренных в разделе определения кодировки символов, чтобы определить характер кодировки внешнего ресурса.


6.10
Отдельные символы

Определённые атрибуты вызывают отдельные символы из кодового набора документа. Эти атрибуты имеют тип  %Character в ОТД.

Отдельные символы могут быть определены также мнемониками (напр., "&").


6.11
Дата и время

[ISO8601] допускает много вариантов и опций в представлении даты и времени. Данная спецификация использует один из форматов, описанный в  [DATETIME], для определения действительных строк date/time (%Datetime в ОТД).

Формат таков:

  YYYY-MM-DDThh:mm:ssTZD
где:
YYYY = год из 4 цифр
MM   = месяц из 2 цифр (01=January, и т.д..)
DD   = число месяца из 2 цифр (от 01 до 31)
hh   = час - 2 цифры (от 00 до 23) (am/pm НЕДОПУСТИМЫ)
mm   = минуты - 2 цифры (от 00 до 59)
ss   = секунды - 2 цифры (от 00 до 59)
TZD  = часовой пояс

Обозначение часового пояса - одно из следующих:

Z
обозначает UTC (Coordinated Universal Time). "Z" должно быть в верхнем регистре.
+hh:mm
обозначает локальное время - hh часы и mm минуты до(+) UTC.
-hh:mm
обозначает локальное время - hh часы и mm минуты после (-) UTC.

Компоненты должны быть представлены точно в такой пунктуации.
Заметьте, что "T" стоит в строке как буква (должна быть в верхнем регистре), показывая начало элемента "время" , как специфицировано в [ISO8601].

Если приложение "не знает" время с точностью до секунд, оно может использовать значение секунд "00" (и минуты и часы так же, если необходимо).

Примечание. [DATETIME] не адресует учёт високосных секунд.


6.12
Типы ссылок

Авторы могут использовать следующие распознаваемые типы ссылок, перечисленные здесь с их интерпретацией в соответствии с соглашениями. В ОТД %LinkTypes ссылается на разделённый пробелами список типов ссылок. Пробелы внутри типов ссылок недопустимы.

Типы ссылок нечувствительны к регистру, т.е., "Alternate" значит то же, что и  "alternate".

ПА, поисковые машины и т.д. могут интерпретировать эти типы ссылок различными способами. Например, ПА может предоставить доступ к связанному ресурсу через панель навигации/navigation bar.

Alternative/Альтернативный
Замещающая версия для документа, на который указывает ссылка. Используемый вместе с атрибутом lang,он подразумевает переведённую версию документа. Если используется вместе с атрибутом media, подразумевает версию, созданную для другого носителя.
Stylesheet/Таблица стилей
Ссылается на внешнюю таблицу стилей. См. детали в разделе внешние таблицы стилей. используется вместе со ссылкой типа  "Alternate" внешних таблиц, выбираемых пользователем.
 
Старт/Start
Ссылается на первый документ в серии документов. Эта ссылка сообщает поисковой машине, какой документ установлен автором в качестве исходного пункта серии документов.

Next/Следующий
Ссылается на следующий документ в линеарной последовательности документов. ПА могут заранее подгрузить документ "next", чтобы уменьшить в последующем затраты времени.

Prev/Предыд.
Ссылается на предыдущий документ в упорядоченной серии документов. Некоторые ПА также поддерживают синоним "Previous".

Contents/Содержание
Ссылается на документ с оглавлением. Некоторые ПА также поддерживают синоним ToC(от "Table of Contents").

Index/Индекс
Ссылается на документ по индексу.

Glossary/Словарь-справочник
Ссылается на документ из словаря терминов, имеющий отношение к текущему документу.

Copyright/Авторские права
Ссылается на оператор авторских прав для текущего документа.

Chapter/Глава
Ссылается на документ, являющийся главой в серии документов.

Section/Раздел
Ссылается на документ, являющийся разделом  в серии документов.

Subsection/Подраздел
Ссылается на документ, являющийся подразделом в серии документов.

Appendix/Дополнение
Ссылается на документ, являющийся дополнением в серии документов.
 
Help/Помощь
Ссылается на документ помощи (больше информации, ссылки на др. ресурсы и т.д.)

Bookmark/Закладка
Ссылается на закладку. Закладка это ссылка на точку внутри документа. Атрибут title, например, может быть использован для маркировки закладкой. Заметьте, что в каждом документе может быть установлено несколько закладок.

Автор может пожелать определить дополнительные типы ссылок, не описанные в этой спецификации. Чтобы сделать это, он должен использовать профиль для цитирования соглашений, используемых для определения типов ссылок. См. атрибут profile элемента  HEAD.

Для продолжения обсуждения типов ссылок см. ссылки в документах HTML.


6.13
Дескрипторы типа носителя

Список распознаваемых дескрипторов типа носителя ( %MediaDesc в ОТД):

screen
Подразумевается нестраничный экран.
tty
Подразумевается носитель, использующий сетку символов фиксированного размера, такие как телетайп, терминалы или портативные устройства с ограниченными возможностями дисплея.
tv
Подразумевается устройство типа телевизора (низкое разрешение и цветопередача, ограниченная возможность прокрутки экрана).
projection
Подразумевается прожектор.
handheld
Подразумеваются портативные устройства (маленькие экраны, монохромные, растровая графика, частотные ограничения).
print
Подразумевается страничный непрозрачный материал и документы, просматриваемые на экране в режиме предварительного просмотра печати.
braille
Подразумеваются устройства для слепых.
aural
Подразумевается речевой синтезатор .
all
Подходит для всех устройств.

Будущие версии HTML могут вводить новые значения и могут допускать параметризованные значения. Чтобы облегчить введение этих расширений, соответствующие ПА должны быть способны разобрать значения атрибута media так:

  1. Значение - список, разделённый запятыми. Например,
    media="screen, 3d-glasses, print and resolution > 90dpi"
    

    разбирается в :

    "screen""3d-glasses""print and resolution > 90dpi"
    
  2. Каждое вхождение усекается перед первым символом не-US ASCII [a-z, A-Z] (ISO 10646 hex 41-5a, 61-7a), не-цифрой [0-9] (hex 30-39), или не-дефисом (hex 2d). В этом примере это даёт:
    "screen"
    "3d-glasses"
    "print"
  3. Пара, чувствительная к регистру, подбирается затем из набора типов носителя, определённого выше. ПА может игнорировать неподходящие вхождения. В примере мы остались со значениями screen и print.

Примечание. Таблицы стилей могут включать независимые от типа варианты внутри себя (напр., конструкция CSS @media). В таких случаях может быть удобно использовать "media=all".


6.14
Данные сценариев

Данные сценариев ( %Script; в ОТД) могут быть содержимым элемента  SCRIPT и значением внутреннего события атрибута. ПА не должны вычислять данные сценария как метки HTML, а вместо этого должны передавать их как данные обработчику сценария.

Чувствительность к регистру данных скрипта зависит от применяемого языка сценариев.

Обратите внимание, что данные скрипта, являющегося содержимым элемента, могут не содержать символьных мнемоник, но данные скрипта, являющегося значением атрибута, могут их содержать. Дополнение содержит информацию о спецификации не-HTML данных.


6.15
Данные таблиц стилей

Данные таблиц стилей (%StyleSheet; в ОТД) могут быть содержимым элемента STYLE и значением атрибута style. ПА не должен вычислять данные стиля как метки HTML.

Чувствительность к регистру данных стиля зависит от языка таблиц стилей.

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


6.16
Имя целевого фрэйма

За исключением зарезервированных имён, перечисленных ниже, имя целевого фрэйма (%FrameTarget; в ОТД) должно начинаться алфавитным символом (a-z, A-Z). ПА должны игнорировать все другие имена.

Следующие имена целевого фрэйма зарезервированы и имеют специальное применение:

_blank
ПА должен загрузить документ в новое безымянное окно.
_self
ПА должен загрузить документ в том же фрэйме, что и элемент, вызвавший его.
_parent
ПА должен загрузить документ в родительский, по отношению к нему, фрэйм набора FRAMESET. Это значение эквивалентно _self если текущий фрэйм не имеет предка.
_top
ПА должен загрузить документ в полное оригинальное окно (отменяя, таким образом все другие фрэймы). Это значение эквивалентно _self, если текущий фрэйм не имеет предка.