Цей розділ специфікації описує базові типи даних, які можуть бути елементами вмісту або значеннями атрибутів.
6.1 Регістр
Кожне визначення атрибута включає інформацію про чутливість його значення до регістру. Інформація про регістрі представлена наступними ключами:
Якщо значенням атрибута є список, ключі застосовуються до кожного значення списку, якщо не вказано інше.
6.2 Базові типи SGML
Визначення типу документа (ЗТД) специфікує синтаксис вмісту елемента і значення атрибута HTML, використовуючи лексеми SGML (напр. PCDATA, CDATA, NAME, ID і т.д.). Див. Їх повні визначення в [ISO8879].
Тут підсумовані ключова інформація:
- CDATA - послідовність символів з символьного набору документа, може включати мнемоніки. Призначені для користувача агенти (ПА) повинні інтерпретувати значення атрибутів так:
- замінити мнемоніки символами,
- ігнорувати символи кінця рядка,
- замінити кожен символ повернення каретки або табуляції символом пробілу.
Для деяких атрибутів HTML 4 зі значеннями атрибутів CDATA специфікація встановлює подальші обмеження допустимих значень цього атрибута, які можу бути не визначені DTD.
Хоча елементи STYLE і SCRIPT використовують CDATA в своїх моделях даних, CDATA для цих елементів обробляється ПА по-іншому. Мітки і мнемоніки повинні розглядатися як необроблений текст і передаватися в додаток "як є / as is".
Перше появи послідовності символів "" (первые символы закрывающего тега) рассматривается как конец содержимого элемента. В правильно составленных документах, это закрывающий тег элемента. - ЛексемиID і NAME повинні починатися з літери ([A-Za-z]), і за ними може слідувати будь-яку кількість букв, цифр ([0-9]), дефісів ( "-"), символів підкреслення ( "_"), двокрапок ( ":") і точок ( ".").
- IDREF і IDREFS - це посилання на лексеми ID, певні іншими атрибутами. IDREF це одинична лексема, а IDREFS це розділений пробілами список лексем.
- Лексема NUMBER повинна містити не менше однієї цифри ([0-9]).
6.3 Текстові рядки
Атрибути тексту (% Text в ПТД) роблять його придатним для читання.
Введення про атрибути см. В навчальній дискусії про атрибути.
Дана специфікація використовує термін URI, як визначено в [URI] (див. Також [RFC1630]).
Зауважте, що URI включають URL (як визначено в [RFC1738] і [RFC1808]).
URI представляються в ПТД мнемонікою% URI; .
URI в загальному випадку нечутливі до регістру. Можуть бути URI, або частини URI, де регістр не має значення (напр. Ім'я машини / хост), але їх ідентифікація може бути важким. Користувач повинен завжди припускати, що URI чутливі до регістру (щоб бути впевненими в наслідках своїх дій).
Значення атрибута "color" (% Color;) посилається на визначення кольору [SRGB]. Значення кольору може бути або 16-річної числом (яка випереджає знаком #), або одним з наступних 16 назв кольору. Назви квітів нечутливі до регістру.
Таким чином, значення "# 800080" і "Purple" обидва позначають пурпурний колір.
6.5.1 Використання квітів
Хоча кольори надають багато додаткового сенсу документу і роблять його більш "читабельним", враховуйте наступні поради при використанні кольору в Ваших документах:
- Використання елементів і атрибутів HTML для установки кольору не рекомендується. Замість цього краще використовувати таблиці стилів.
- Не використовуйте такі комбінації кольорів, які можуть створити проблеми людям, що страждають на дальтонізм і ін. Подібними розладами.
- Якщо Ви використовуєте фоновий малюнок або встановлюєте колір фону, встановіть також відповідний колір тексту.
- Кольори, які визначаються елементами BODY і FONT і bgcolor в таблицях виглядають по-різному на різних платформах (напр. PC, Macs, Windows і екрани LCD відрізняються від CRT), так що Ви не повинні повністю покладатися на те, що ефект буде таким, як ви очікуєте. В майбутньому підтримка колірної моделі [SRGB] разом з профілями ICC повинна пом'якшити цю проблему.
- На практиці намагайтеся застосовувати різні угоди, щоб зменшити ймовірність можливих незручностей для користувача.
6.6 Розмір значень атрибутів
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 пікселів.
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 в DTD.
Окремі символи можуть бути визначені також мнемониками (напр. "-").
6.11 Дата і час
[ISO8601] допускає багато варіантів і опцій в поданні дати і часу. Дана специфікація використовує один з форматів, описаний в [DATETIME]. для визначення дійсних рядків date / time (.atetime в ПТД).
Позначення часового поясу - одне з наступних:
Z позначає UTC (Coordinated Universal Time). "Z" має бути в верхньому регістрі. + Hh: mm позначає локальне час - hh годинник і mm хвилини до (+) UTC. -hh: mm позначає локальне час - hh годинник і mm хвилини після (-) UTC.
Компоненти повинні бути представлені точно в такий пунктуації.
Зауважте, що "T" стоїть в рядку як буква (повинна бути в верхньому регістрі), показуючи початок елемента "час". як специфіковане в [ISO8601].
Якщо додаток "не знає" час з точністю до секунд, воно може використовувати значення секунд "00" (і хвилини і годинник так само, якщо необхідно).
6.12 Типи посилань
Типи посилань нечутливі до регістру, тобто "Alternate" означає те ж, що і "alternate".
ПА, пошукові машини і т.д. можуть інтерпретувати ці типи посилань різними способами. Наприклад, ПА може надати доступ до зв'язаного ресурсу через панель навігації / navigation bar.
Для продовження обговорення типів посилань см. Посилання в документах HTML.
6.13 Дескриптори типу носія
Список було розпізнати дескрипторів типу носія (% MediaDesc в ПТД):
Майбутні версії HTML можуть вводити нові значення і можуть допускати параметризрвані значення. Щоб полегшити введення цих розширень, відповідні ПА повинні бути здатні розібрати значення атрибута media так:
- Значення - список, розділений комами. наприклад,
Примітка. Таблиці стилів можуть включати незалежні від типу варіанти всередині себе (напр. Конструкція 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. якщо поточний Фрейм не має предка.