6 Основні типи даних HTML

В цьому розділі специфікації описуються основні типи даних, які можуть бути вмістом елементів або значенням атрибутів.

Вступну інформацію про читання HTML DTD див. Посібник з SGML .

6.1 Інформація про регістрі

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

CS
Значення враховує регістр (тобто агенти користувача по-різному інтерпретують "a" і "A").
CI
Значення не враховує регістр (тобто агенти користувача однаково інтерпретують "a" і "A").
CN
Значення не залежить від регістра, наприклад, тому що це число або символ з набору символів документа.
CA
Саме визначення елемента або атрибута дає інформацію про регітсре.
CT
Більш детально про облік регістра см. В визначенні типу.

Якщо значенням атрибута є список, ключі застосовуються до кожного значення в списку, якщо не вказано інше.

6.2 Основні типи SGML

У визначенні типу документа визначається синтаксис вмісту елемента HTML і значень атрибутів з використанням міток SGML (наприклад, PCDATA, CDATA, NAME, ID і т.д.). Повні визначення см. В [ISO8879] . Ось узагальнена інформація про ключі:

  • CDATA - це послідовність символів з набору символів документа, вона може включати character entities. Агенти користувачів повинні інтерпретувати значення атрибутів наступним чином:
    • Замінювати character entities на символи,
    • Ігнорувати переклад рядка,
    • Замінювати кожен повернення каретки або табуляцію на один пробіл.

    Агенти користувачів можуть ігнорувати пробіли на початку і в кінці значень атрибута CDATA (наприклад, "myval" інтерпретується як "myval"). Автори не повинні оголошувати значення атрибутів з пробілами в початку або в кінці.

    На деякі атрибутів HTML 4.0 зі значеннями атрибутів CDATA специфікація накладає додаткові обмеження на безліч допустимих значень атрибутів, не виражені в DTD.

    Хоча елементи STYLE і SCRIPT використовують CDATA для своєї моделі даних, для цих елементів агенти користувачів повинні обробляти CDATA по-іншому . Розмітка і entities повинні вважатися текстом і передаватися в додаток як є. Перше входження послідовності символів "</" (відкриває роздільник кінцевого тега) вважається кінцем вмісту елемента. У допустимих документах це буде кінцевий тег елемента.

  • Мітки ID і NAME повинні починатися з літери ([A-Za-z]), за якою може слідувати будь-яке число букв, цифр ([0-9]), символів переносу ( "-"), символів підкреслення ( "_") , двокрапок ( ":") і точок ( ".").
  • IDREF і IDREFS - це посилання на мітки ID, певні іншими атрибутами. IDREF - одиночна мітка, а IDREFS -Поділ пробілами список міток.
  • Мітки NUMBER повинні містити принаймні одну цифру ([0-9]).

6.3 Текстові рядки

Ряд атрибутів ( % Text; в DTD) приймають текст, який призначається для читання людьми. Вступну інформацію про атрибути Ви можете подивитися в обговоренні атрибутів .

6.4 URI

У цій специфікації термін URI використовується, як визначено в [URI] (див. Також [RFC1630] ).

Пам'ятайте, що URI включають URL (як визначено в [RFC1738] і [RFC1808] ).

Відносні URI дозволяються до повних URI з використанням основного URI. [RFC1808] , розділ 3, де визначено нормативний алгоритм цього процесу. Детальніше про основні URI см. В розділі основні URI в розділі про посиланнях .

URI представляються в DTD комбінацією символів % URI; .

URI взагалі враховують регістр. Можуть бути URI, або частини URI, в яких регістр не має значення (наприклад, імена машин), але ідентифікація їх може бути непроста. Користувачі повинні завжди вважати, що URI враховують регістр (щоб не помилитися).

Інформацію про символах, що не входять в набір ASCII, в значеннях атрибутів URI см. В додатку.

6.5 Кольори

Значення атрибута типу "color" ( % Color; ) відноситься до визначень квітів, як зазначено в [SRGB] . Значення кольору може бути шістнадцятковим числом (якому передує знак дієз) або одним з наступних шістнадцяти назв квітів. Назви квітів враховують регістр.

Назви квітів і значення RGB
Black = "# 000000" Green = "# 008000"
Silver = "# C0C0C0" Lime = # 00FF00 "
Gray = "# 808080" Olive = "# 808000"
White = "#FFFFFF" Yellow = "# FFFF00"
Maroon = "# 800000" Navy = # 000080 "
Red = "# FF0000" Blue = "# 0000FF"
Purple = "# 800080" Teal = "# 008080"
Fuchsia = "# FF00FF" Aqua = "# 00FFFF"

Тобто, значення "# 800080" і "Purple" обидва означають пурпурний колір.

6.5.1 Примітки щодо використання кольорів

Хоча кольору можуть істотно додавати інформації в документ і підвищувати зручність читання, при використанні квітів майте на увазі наступні основні принципи:

  • Використання елементів і атрибутів HTML для вказівки кольору небажано . Замість цього слід використовувати таблиці стилів .
  • Не використовуйте комбінації кольорів, що викликають проблеми у користувачів.
  • Якщо Ви використовуєте зображення в якості фону або встановлюєте колір фону, не забудьте ставити і кольору тексту.
  • Кольори, зазначені в елементах BODY і FONT і в bgcolor в таблицях вигладять по-різному на різних платформах (на робочих станціях, Mac, Windows і на панелях LCD і CRT), тому не розраховуйте на певний ефект. В майбутньому підтримка колірної моделі [SRGB] разом з колірними профілями ICC повинна усунути ці проблеми.
  • При можливості приймайте загальні угоди.

6.6 Довжини

HTML визначає три типи значень довжини для атрибутів:

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

Значення довжин не враховують регістр.

6.7 Типи вмісту (типи MIME)

Примітка. "Тип носія" (визначений у [RFC2045] і [RFC2046] ) вказує природу пов'язаного ресурсу. Ця специфікація використовує термін "тип вмісту" замість "типу носія" відповідно до його використанням. Більш того, в цій специфікації "тип носія" може означати носій, на якому агент користувача генерує документ.

Цей тип представлений в DTD за допомогою % ContentType ;.

Типи вмісту враховують регістр.

Приклади типів вмісту включають "text / html", "image / png", "image / gif", "video / mpeg", "audio / basic", "text / tcl", "text / javascript" і "text / vbscript ". Поточний список зареєстрованих типів MIME см. В [MIMETYPES].

Примітка. Тип вмісту "text / css", , хоча він і не зареєстрований в IANA, повинен використовуватися, якщо пов'язують елементом є таблиця стилів [CSS1] .

6.8 Коди мов

Значення атрибутів, що для них типовий код мови ( % LanguageCode в DTD), відноситься до коду мови, як зазначено в [RFC1766] , розділ 2. Інформацію про надання кодів мов в HTML см. В розділі коди мов . У кодах мов прогалини неприпустимі.

Коди мов враховують регістр.

6.9 Кодування символів

Атрибути "charset" ( % Charset в DTD) відносяться до кодувань символів , як описано в розділі кодування символів . Значеннями повинні бути рядки (наприклад, "euc-jp") з реєстру IANA (повний список див. В [CHARSETS] ).

Імена кодувань символів враховують регістр.

Агенти користувачів для визначення кодування символів зовнішнього ресурсу повинні виконувати кроки, описані в розділі вказівку кодувань символів .

6.10 Окремі символи

Певні атрибути викликають окремий символ з набору символів документа . Ці атрибути мають тип % Character в DTD.

Окремі символи можна вказати за допомогою посилань на символи (наприклад, "& amp;").

6.11 Дата і час

[ISO8601] дозволяє багато варіантів представлення дати і часу. Поточна специфікація використовує один з форматів, описаних в профілі [DATETIME] для визначення допустимих рядків дата / час ( % Datetime в DTD).

Це наступний формат:

  РРРР-ММ-ДДTчч: мм: ссУЧП
де:
  РРРР = рік з чотирьох цифр
  ММ = місяць з двох цифр (01 = січень і т.д.)
  ДД = день з двох цифр (01 - 31)
  чч = дві цифри годин (00 - 23) (до / пп НЕ допускається)
  мм = дві цифри хвилин (00 - 59)
  сс = дві цифри секунд (00 - 59)
  УЧП = покажчик часового поясу

Покажчики часового поясу:

Z
означає UTC (Загальна скоординоване час). "Z" має бути в верхньому регістрі.
+ чч: мм
вказує, що місцевий час відстоїть на чч годин і мм хвилин від UTC вперед.
-чч: мм
вказує, що місцевий час відстає на чч годин і мм хвилин від UTC.

Зазначені компоненти повинні бути присутніми в точності, з точно такою ж пунктуацією. Пам'ятайте, що буква "T" відображається в рядку літерально (вона повинна бути в верхньому регістрі), для вказівки початку часу, як описано в [ISO8601]

Якщо генерує додаток не знає часу з точністю до секунди, для секунд може використовуватися значення "00" (при необхідності також для хвилин і для годин).

Примітка. [DATETIME] не стосується додаткових секунд.

6.12 Типи посилань

Автори можуть використовувати такі розпізнаються типи посилань, перераховані тут разом з умовними інтерпретаціями. В DTD % LinkTypes означає список типів посилань, розділених пробілами. Символи пробілів в типах посилань не допускаються.

Ці типи посилань не враховують регістр, тобто "Alternate" означає те ж, що і "alternate".

Агенти користувачів, пошукові машини і т.д. можуть інтерпретувати ці типи посилань декількома способами. Наприклад, агенти користувача можуть надавати доступ до пов'язаних документів за допомогою навігаційної панелі.

Alternate
Позначає альтернативні версії документа, в якому знаходиться посилання. Разом з атрибутом 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 в DTD).

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-zA-Z] (десяткові коди Unicode 65-90, 97-122), цифрою [0-9] (шістнадцяткові коди Unicode 30-39) або знаком переносу (45). В даному прикладі виходить:
     "Screen"
     "3d-glasses"
     "Print"
    
  3. Потім з урахуванням регістра проводиться звірка з набором певних вище типів дескрипторів. Агенти користувачів можуть ігнорувати незбіжні елементи. В даному прикладі залишаться тільки елементи screen і print.

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

6.14 Дані сценарію

Дані сценарію ( % Script; в DTD ) можуть бути вмістом елемента SCRIPT і значенням атрибутів внутрішніх подій . Агенти користувачів не повинні оцінювати дані сценаріїв в розмітці HTML, а повинні передавати ці дані ядру сценаріїв.

Облік регістра в даних сценаріїв залежить від мови сценаріїв.

Пам'ятайте, що дані сценаріїв, які є вмістом елемента, не можуть містити посилань на символи , але дані сценарію, є значенням атрибута, можуть. У додатку наводиться інформація про надання даних, відмінних від даних HTML .

6.15 Дані таблиць стилів

Дані таблиць стилів ( % StyleSheet; в DTD ) можуть бути вмістом елемента STYLE і значенням атрибута style . Агенти користувачів не повинні оцінювати дані стилів в розмітці HTML.

Облік регістра даних стилю залежить від мови таблиць стилів.

Пам'ятайте, що дані таблиць стилів, що є вмістом елемента, не можуть включати посилання на символи , але дані таблиць стилів, що є значенням атрибута, можуть включати їх. У додатку наводиться подальша інформація про надання даних, відмінних від даних HTML .

6.16 Цільові імена кадрів

За винятком наведених нижче зарезервованих імен, цільові імена кадрів ( % FrameTarget; в DTD) повинні починатися з алфавітних символів (a-zA-Z). Агенти користувачів повинні ігнорувати всі інші імена.

Наступні target names зарезервовані і мають спеціальні значення.

_blank
Агенти користувачів повинні завантажувати документ в нове вікно без імені.
_self
Агенти користувачів повинні завантажувати документ в той же кадр, в якому знаходиться посилається на нього документ.
_parent
Агенти користувачів повинні завантажувати документ в безпосередній батьківський кадр цього кадру під FRAMESET . Це значення еквівалентно _self, якщо поточний кадр не має батьківського кадру.
_top
Агенти користувачів повинні завантажувати документ в повне вікно (закриваючи всі інші кадри). Це значення еквівалентно _self, якщо у поточного кадру немає батьківського кадру.