Интегрированные сети ISDN

         

Язык HTML



4.5.6.2 Язык HTML



1. Синтаксис HTML
2. Описания атрибутов
2.1. Булевы атрибуты
3. HTML и URL
4. Элементы, используемые в тексте документа
5. Идентификаторы элементов. id и атрибуты классов.
5.1. Элемент HTML
5.2. Группирующие элементы div и span
5.3. Элементы заголовков h1, h2, h3, h4, h5, h6
5.4. Элементы address
6. Спецификация языка содержимого документа. Атрибут lang
7. Наследование языковых кодов
8. Спецификация направления текста. Атрибут dir
9. Текст
9.1. Структурированный текст
9.2. Цитирование. Элементы q и blockquote
9.3. Верхние и нижние индексы. Элементы sub и sup
9.4. Строки и параграфы
9.4.1. Параграфы и элемент p
9.5. Элемент br
9.6. Предварительно сформатированный текст. Элемент pre
10. Пометка изменений документа. Элементы ins и del
11. Формат даты и времени
12. Неупорядоченные (ul) и упорядоченные (ol) списки
12.1. Списки, форматируемые визуальным агентом пользователя
12.2. Списки определений. Элементы dl, dt и dd
13. dir и элементы menu
14. Таблицы
14.1. Структура таблиц
14.1.1. Элемент table
14.2. Вычисление числа рядов и колонок в таблице
14.3. Ориентация таблиц
14.4. Надписи и таблицы. Элемент caption
14.5. Группы рядов. Элементы thead, tfoot

и tbody

14.6. Опционные метки групп рядов
14.7. Группы колонок. Элементы colgroup и col
14.8. Элемент col
14.9. Ряды таблицы. Элемент tr
14.10. Ячейки таблицы. Элементы th и td
14.11. Ячейки, которые занимают несколько рядов или колонок
14.12. Горизонтальное и вертикальное выравнивание
14.13. Границы и линии
15. Информация о пути. Элемент base
15.1. Связи и якоря
15.2. Элементы, определяющие якоря
15.3. Элемент А
15.4. Связи mailto
15.5. Вложенные связи
15.6. Якоря с атрибутом id
15.7. Элемент link
15.8. Типы связей
15.9. Связи с поисковыми системами
16. Элемент object
16.1. Инициализация объекта. Элемент param
17. Изображения. Элемент img
18. Введение аплетов. Элемент applet
19. Введение HTML-документа в другой HTML-документ
20. Введение карты изображения в HTML-документ
20.1. Карты изображения клиента
20.2. Карты изображения клиента с map и area
21. Визуальное представление изображений, объектов и аплетов
22. Как специфицировать альтернативный текст?
23. Стилевые листы
23.1. Стилевая информация заголовка. Элемент style
23.2. Типы среды
23.3. Внешние стилевые листы
23.4. Установка именованного стиля по умолчанию
23.5. Форматирование
23.6. Плавающие объекты
23.7. Элементы управления шрифтами: tt, i, b, big, small, strike, s и u
23.8. Элементы модификаторов шрифтов: font

и basefont

23.9. Элемент hr
24. Рамки (frames)
24.1. Элемент frameset
24.2. Элемент frame
24.3. Установка для связей адресов по умолчания
24.4. Элемент noframes
24.5. Элемент iframe
25. Формы
25.1. Элемент form
25.2. Элемент input
25.3. Элемент isindex
25.4. Элемент button
25.5. Элемент select
25.6. Элемент optgroup
25.7. Элемент textarea
25.8. Элемент label
25.9. Элементы fieldset и legend
26. Выделение элементов
27. Скрипты
27.1. Элемент script
27.2. Локальная декларация языка скрипта
27.3. Ссылки на HTML-документы из скрипта
28. Динамическая модификация документов
28.1. Элемент noscript
28.2. Комментирование скриптов в javascript
28.3. Комментирование скриптов в vbscript
28.4. Комментирование скриптов в tcl
29. Верификация документов
29.1. Каталог образцов sgml
29.2. sgml декларация HTML 4.0
29.3. sgml декларация
29.4. Определение типа документа dtd (document type definition)
30. Определение типа документа frameset
31. Эталонные символьные объекты в HTML 4.0
31.1. Введение
31.2. Эталонные символьные объекты для символов ISO 8859-1
32. Приложение А. (Отличия HTML 3.2 и HTML 4.0)
33. Приложение b: Рабочие характеристики, приложения и заметки для разработчиков
33.1. Замечания по поводу некорректных документов
34. Специальные символы в значениях атрибута uri
34.1. Не-ascii символы в значениях атрибута uri
34.2. Символ & в значениях атрибута uri
35. Замечания об использовании sgml
36. Спецификация не HTML данных
37. Особенности sgml с ограниченной поддержкой
38. Булевы атрибуты
39. Помеченные секции
40. Заметки по индексному поиску
40.1. Определение языка документа
41. Поисковые роботы
41.1. Роботы и элементы meta
42. Замечания о таблицах
43. Динамическое реформатирование
44. Инкрементное отображение
45. Структура и презентация
46. Группы строк и колонок
47. Доступность
48. Рекомендуемые алгоритмы верстки
49. Фиксированные алгоритмы верстки
50. Алгоритм авто выкладки
51. Замечания о формах
52. Будущие проекты
53. Заметки о скриптах
53.1. Зарезервированный синтаксис для будущих скриптов
54. Замечания о доступности
55. Замечания о безопасности
55.1. Соображения безопасности для форм
56. Ссылки на литературу и серверы
<
/p> Язык программирования HTML ( Hypertext Markup Language) предназначен для создания гипертекстных документов, формат которых не зависит от ЭВМ или используемой ОС. HTML-документы являются SGML-документами (Standard Generalized Markup Language, [ISO 8879]) с семантикой, пригодной для представления информации от широкого круга доменов. Файлы HTML-документов должны иметь расширение .html или .htm. Данный формат пригоден для представления почтовых сообщений, новостей, меню, опций, гипермедийных документов, результатов запросов к базам данных, графических документов и т.д.

HTML используется во всемирной информационной системе World Wide Web (WWW) с 1990 года (разработчик Tim Berners-Lee).

В настоящее время существует также простой диалект языка SGML - XML (Extensible Markup Language). Смотри http://win.www.citycat.ru/doc/html/xml/wd-xml-lang или www.w3.org/put/www/tr (первоисточник). Предполагается, что этот язык совместим с SGML и HTML (последнее справедливо лишь частично).

Любое приложение SGML состоит из нескольких частей:

  • SGML-декларация определяет, какие символы и разделители могут быть использованы в приложении.


  • dtd (document type definition) определяет стандарт на типы документов и задает синтаксис базовых конструкций.


  • Спецификация семантики, которая может также включать определенные ограничения на синтаксис, не включенные в DTD и т.д. …


  • SGML – это система описания языков разметки (markup). HTML – пример такого языка. Каждый язык разметки, определенный в SGML, называется приложением SGML. HTML 4.0 является приложением SGML, соответствующим международному стандарту international standard ISO 8879:1986 -- Standard Generalized Markup Language SGML (определено в [ISO8879]).

    Приложение SGML характеризуется:

    1. Декларацией SGML. SGML-декларация специфицирует, какие символы и разграничители могут использоваться в приложении.


    2. Описанием типа документа DTD (Document Type Definition). DTD определяет синтаксис конструкций разметки. DTD может включать в себя дополнительные определения, такие как эталонные символьные объекты (entity).




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


    4. Примерами документов, содержащих данные и разметку. Каждый пример содержит ссылку на DTD, которая используется для его интерпретации.


    HTML предоставляет разработчику следующие возможности:

  • Публиковать в реальном масштабе времени документы с заголовками, текстом, таблицами, рисунками, фотографиями и т.д.


  • Одним нажатием клавиши мышки извлекать документы через гипертекстные связи.


  • Конструировать формы (бланки) для осуществления удаленных операций, для заказа продуктов, резервирования билетов или поиска информации.


  • Включать электронные таблицы (напр. Excel), видеоклипы, звуковые клипы и другие приложения непосредственно в документ.




  • 1. Синтаксис HTML

    Символьные объекты
    (entity) представляют собой цифровые или символьные имена символов, которые могут быть включены в документ HTML. Эти объекты нужны в тех случаях, когда прямой их ввод по каким-либо причинам невозможен. Эти объекты начинаются с символа & и завершаются точкой с запятой (;).

    Элементы в SGML представляют собой структуры или описывают требуемое поведение. Элементы начинаются со стартовой метки (TAG), за которой следует содержание, и завершаются конечной меткой. Стартовая метка обычно записывается как <имя_элемента>, а конечная метка, как </имя_элемента>. Некоторые элементы могут не иметь содержания или конечной метки. “Пустые” элементы не имеют конечной метки. Имена элементов обычно записываются прописными буквами, но HTML использование прописных или строчных букв в именах элементов не регламентировано.

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


    Порядок их записи не играет роли. По умолчанию SGML требует, чтобы значения были помещены в двойные или одинарные кавычки. Для этих же целей могут использоваться символьные объекты &#34; или &quot; для двойной кавычки и &#39; для одинарной кавычки. Значения могут содержать помимо латинских букв и цифр символы (-) и (.). Имена атрибутов не чувствительны к тому, прописными или строчными буквами они напечатаны (как правило, их имена записываются в HTML строчными буквами).

    Агент пользователя HTML – любой прибор, который интерпретирует HTML документы. К агентам пользователей относятся визуальные броузеры (текстовые и графические), не визуальные броузеры (звуковые и Брейля), поисковые роботы и т.д.. Агент пользователя должен игнорировать любые не узнанные атрибуты.

    Пользователь – лицо, взаимодействующее с агентом пользователя, для того чтобы тем или иным способом ознакомиться с документом HTML.

    URI. Любой ресурс в WWW – HTML документ, изображение, видео-клип, программа и пр. имеют адрес, который может быть представлен в виде универсального идентификатора ресурса (URI).

    Комментарии в HTML имеют следующий синтаксис:

    <!-- Комментарий -->

    <!-- Если комментарий занимает более одной строки,

    то он записывается так -->

    dtd-комментарии выделяются двумя черточками (--) в начале и в конце текста.

    HTML DTD начинается с серии описаний каких-то объектов (entities). Описание объекта представляет собой макрос, который может быть развернут где-либо в DTD(в HTML не применим). Когда макрос вызывается (по имени), он разворачивается в строку.

    Описание объекта (entity) начинается с ключевого слова <!entity %, за которым следует имя объекта и помещенная в кавычки строка, которая разворачивается. Описание завершается символом >. Развертываемая строка может содержать другие имена объектов. Конкретные значения объекта начинаются с символа “%” и завершается опционно символом “;”. Эти объекты будут также развернуты (если требуется рекурсивно). Например:

    <!entity %fontstyle “tt | i | b | big | small”>



    <!entity %inline “#pcdata | %fontstyle; | %phrase; | %formctrl;”>

    Большая часть HTML DTD состоит из описаний элементов и их атрибутов. Ключевое слово <!element> открывает описание элемента, а символ > - завершает. Между ними размещается имя элемента, две черточки после имени указывают на то, что стартовая и конечная метки являются обязательными. Одна черточка после имени элемента и последующая буква О указывают на то, что конечная метка может отсутствовать. Две буквы О означают допустимость отсутствия как стартовой, так и конечной метки. После имени может следовать содержимое элемента, которое называется моделью содержимого. Элементы без содержимого называются пустыми (empty). Пустые элементы описываются ключевым словом “empty”. Например, <!element ccc – o empty>. ccc – имя элемента; - О говорит о допустимости отсутствия конечной метки. В сочетании с моделью empty это означает, что конечная метка должна отсутствовать.

    Модель содержимого описывает то, что может содержать элемент. Определения содержимого могут включать:

  • Имена допустимых и запрещенных элементов.


  • dtd-объекты.


  • Текст документа, отмеченный SGML-конструкцией “#pcdata”. Текст может содержать цифровые и именные символьные объекты.


  • Модель содержимого имеет следующий синтаксис.

    (…) специфицирует группу.
    А|b Допускается присутствие А и В в любом порядке.
    А,В А должно появиться раньше, чем В.
    a&b a и b должны появиться только один раз, но в любом порядке.
    А? А может появиться не более одного раза.
    А* А может появиться любое число раз, включая 0.
    А+ А может появиться один или более раз.
    Ниже приведены примеры HTML DTD:

    <!element select - - (option+)>

    Элемент select должен содержать один или более элементов option.

    <!element dl - - (dt|dd)+>

    Элемент dl должен содержать один или более dt или dd элементов в любом порядке.

    <!element option – o (#pcdata) *>

    Элемент option может содержать только текст и символьные объекты.

    2. Описания атрибутов



    Описание атрибутов начинается с ключевого слова <!attlist>. Описание атрибута включает в себя:

  • Имя атрибута.


  • Тип значения атрибута или набор возможных значений.


  • Значение атрибута может быть определено тремя способами. Когда значение атрибута по умолчанию задано неявно (ключевое слово “#implied”), оно должно быть задано агентом пользователя или наследуется из определения порождающего элемента. Возможны также ключевые слова “#required” (всегда необходимо) и “#fixed” - присвоено фиксированное значение.


  • Рассмотрим описание элемента map с опционным атрибутом.

    <!attlist map name cdata #implied >, здесь тип допустимого значения задан DATA (тип данных SGML). CDATA – представляет собой текст, который может содержать символьный объекты.

    Описания атрибутов могут содержать объекты DTD. Например:

    <!attlist link %attrs; -- id, class, style, lang, dir, title –
    bref %url @implied -- url для подключенного ресурса -- >
    Объект %attrs разворачивается в:

    <!attrlist p id id #implied -- уникальный идентификатор для данного документа --
    class cdata #implied -- список значений классов --
    style cdata #implied -- информация о стиле --
    title cdata #implied -- рекомендуемые заголовки/расширения --
    lang name #implied -- [rfc1766] код идентификатор языка --
    dir (ltr|rtl) #implied -- direction for weak/neutral text --
    align (left|center|right|justified) #implied >
    Аналогично DTD определяет объект %URL как расширение в строку cdata.

    <!entity % URL “CDATA” -- термин URL означает атрибут, значение которого равно универсальному указателю ресурса URL (uniform resource locator), см. RFC-1808 и RFC-1738 -->

    2.1. Булевы атрибуты

    Некоторые атрибуты выполняют роль булевых переменных. Их появление в стартовой метке элемента предполагает, что значение атрибута равно “true” (истинно). Их отсутствие означает, что их значение равно “false” (ложно). В HTML допускается сжатая форма записи булевых атрибутов:

    <option selected> вместо


    <option selected=”selected”>.

    3. HTML и URL

    World Wide Web (WWW) представляет собой всемирную сеть информационных ресурсов. WWW базируется на трех механизмах, которые обеспечивают доступ к этим ресурсам:

    1. Однородная схема имен для описания положения ресурсов в сети WWW(например, URI).


    2. Протоколы доступа к именованным ресурсам через WWW-сеть (напр., HTTP).


    3. Гипертекст, который обеспечивает простую технику поиска и перемещения (навигации) в сетях WWW (например, HTML).


    Каждый ресурс, доступный в WWW (HTML-документ, видео-клип, программа или статическое изображение) имеет адрес, который кодируется с помощью универсального идентификатора ресурса universal resource identifier, или uri. URI состоит из трех частей:

    1. Схема имен механизмов доступа к ресурсам [см. RFC-2068; далее в тексте данного документа ссылки на публикации и сервера, представленные в конце выделены квадратными скобками [].].


    2. Имя машины, где размещается ресурс.


    3. Имя самого ресурса в виде прохода к нему (path).


    Примером URI может служить адрес, где размещено описание языка HTML v4.0:

    http://www.w3.org/tr/rec-html4/

    Этот URI можно воспринимать следующим образом: имеется документ, доступный через протокол HTTP (см. [RFC-2068]), этот документ находится на ЭВМ www.w3.org, проход к нему имеет вид /tr/rec-html4/.

    Замечание. Большинство читателей знакомо с термином URL (Universal Resource Locator; [RFC-1738]) URL представляет собой подмножество более общей системы имен URI.

    Следует помнить, что запись URL чувствительна к тому, строчные или прописные буквы используются при его написании (это не относится только к имени ЭВМ).

    Спецификация URL определяет положение документа в сети, но не позицию внутри документа. По этой причине введено понятие URL-фрагмента, который может указывать на определенную часть документа. URL-фрагмент завершается символом #, за которым следует идентификатор указателя (anchor). Примером такого URL-фрагмента может служить http://store.in.ru/semenov/intro.htm#intr_1, где int_1 - имя метки в тексте документа intro.htm.



    Для локальной адресации HTML- документов используется относительные URL, которые не имеют секций протокола и ЭВМ. Относительный URL может содержать компоненты относительного прохода к ресурсу (“..” означает положение порождающего URL). Документ RFC-1808 определяет алгоритм работы с относительными URL. Относительный URL может быть частью полного URL. Полный URL можно определить следующим образом:

  • Если базовый URL завершается символом (/), то он получен путем добавления относительного URL. Например, если базовый URL http://nosite.com/dir1/dir2/, а относительный – gee.html, то полный URL будет выглядеть как http://nosite.com/dir1/dir2/gee.html.


  • Если базовый URL не завершается /, последнюю секцию базового URL следует рассматривать как ресурс.


  • Для связи через электронную почту иногда используется специальная разновидность URL – mailto, которая имеет формат:

    mailto:e-mail_адрес.

    В HTML, URI используются для:

  • Связи с другим документом или ресурсом (см. элементы a и link).


  • Связи с внешним стилевым списком или скриптом (см. элементы link и script ).


  • Включения изображений объектов или аплетов в страницу (см. элементы img, object, applet и input).


  • Создания карты изображения (см. элементы map и area).


  • Предоставления форм (см. form).


  • Создания рамочных документов (см. элементы frame и iframe).


  • Цитирования внешних ссылок (см. элементы q, blockquote, ins и del).


  • Ссылок на соглашения по метаданным, описывающим документ (см. элемент head).


  • Поскольку люди на Земле пока используют различные языки, в которых применяются совершенно не схожие наборы символов, необходимо как-то управлять процессом описания набора символов, используемого в данном документе. Для документов HTML используется универсальный набор символов UCS (Universal Character Set) [ISO10646; cм. также RFC-2070]. Этот набор эквивалентен Unicode 2.0 [unicode]. Агент пользователя может получить, послать или воспроизвести документ в любой кодировке. Это может быть набор ISO-8859-1 (“latin-1”), ISO-8859-5 (кирилица), shift_jis (японская кодировка) и так далее.


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

    Для того чтобы облегчить представление полученного документа, можно проанализировать первые несколько байт документа и в процессе пересылки соответствующим образом задать параметр charset поля “content-type”. Например:

    content-type: text/html; charset= euc-jp

    В качестве значения параметра charset может быть выбрано стандартное имя из документа [RFC-2045]. Но, к сожалению, отнюдь не все сервера присылают информацию об используемом символьном наборе даже в случае несовпадения с ISO-8859-1. Другим способом решить проблему является включение в заголовок документа соответствующего meta-элемента. Например:

    <meta http-equiv=”content-type” content=”text/html; charset=euc-jp”>

    Здесь крайне важно, чтобы агент пользователя был способен правильно интерпретировать элемент meta-декларации. Если других указаний не распознано, считается, что использован набор ISO-8859-1.

    Значение типа атрибута “color” служит для описания цвета. Значение этого атрибута может быть шестнадцатеричным числом, перед которым записывается символ #, или одним из 16 имен цветов:

    black=”#000000” white=”#ffffff”
    silver=”#c0c0c0 gray=”#808080”
    green=”#008000” lime=”#00ff00”
    olive=”#808000” maroon=”#800000”
    yellow=”#ffff00” aqua=”#00ffff”
    red=”#ff0000” blue=”#0000ff”
    purple=”#800080” teal=”#008080”
    fuchsia=”#ff00ff” navy=”#000080”
    Цвета могут заметно улучшить выразительность и читаемость документов, но следует иметь в виду, что использование стилевых листов более эффективно. Нужно также учитывать, что цвета отображаются на разных рабочих станциях по-разному.

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



    <!doctype html public “-//w3c//dtd html 4.0 draft//en”>

    Последние две буквы этой декларации характеризуют язык HTML dtd, в данном случае английский (“en”). Агент пользователя может игнорировать эту информацию. Слово draft говорит о том, что использована предварительная версия HTML 4.0. В случае работы с окончательной версией html 4.0 это слово должно быть заменено на strict. Часть документа, следующая после описания версии, должна быть оформлена в виде HTML-элемента. Таким образом, HTML-документ имеет следующую структуру:

    <!doctype html public -//w3c//dtd html 4.0 draft//en>

    <html>

    Заголовок, текст документа …

    </html>

    Рассмотрим возможные варианты HTML-элементов.

    <!entity % version “version cdata #fixed ‘%html.version;’”>

    <!entity % html.content “head, (fragment|body) “>

    <!entity html o o (%html.content)>

    <!attlist html %version; %i18n; >

    Стартовая и конечная метки являются опционными.

    Ниже приведены примеры элементов-заголовков.

    <!entity % head.content “title & isindex? & base?”>

    <!element head o o (%head.content) +(%head.misc)>

    <!attlist head %i18n; profile %url #implied – named directory of meta info -- >

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

    Не следует путать элемент title с атрибутом title, который предоставляет справочную информацию об элементе, для которого установлен. Атрибут title имеет формат: title=cdata. В отличие от элемента title, который характеризует весь документ в целом и может появиться в пределах документа только раз, атрибуту title позволено аннотировать любое число элементов. Агент пользователя может интерпретировать этот атрибут самым различным способом. Визуальные броузеры могут отобразить его текст в качестве совета, аудио агент может воспроизвести текст, говорящий о ресурсах подключенного сервера.


    Специфическую роль играет атрибут title при использовании для элемента link.

    В html 4.0 программист может использовать метаданные в своем документе следующим способом:

  • Можно описать свойства метаданных во внешнем профайле. Профайл может определить свойства вспомогательной системы поиска (help), такой как “автор”, “ключевые слова” и т.д..


  • Программист может установить значения определенных параметров. Это можно сделать внутри документа с помощью meta-элемента. В этом случае профайл определяет имена свойств, которые могут быть заданы с помощью META-элемента. Установить конкретные значения можно и извне, связав метаданные с элементом link. В этом варианте профайл определяет имена соотношений типов, которые может использовать элемент LINK.


  • Если профайл определен для элемента Head, тот же профайл будет присутствовать во всех элементах META и LINK в заголовке документа. Ниже приведены примеры записи элементов meta.

    <!element meta – o empty -- Базовая метаинформация -->
    <!attlist meta %i18n; -- lang, dir, для использования со строкой содержимого --
    http-equiv name #implied -- имя заголовка http-отклика --
    name name #implied -- Имя метаинформации --
    content cdata #required -- соответствующая информация --
    scheme sdata #implied -- select form of content -->
    Для META-элемента стартовая метка необходима, а конечная не нужна. Атрибуты, их значения и интерпретация зависят от профайла.

    name=Cdata Этот атрибут определяет имя свойства.
    content=Cdata определяет значение свойства.
    scheme=Cdata определяет схему интерпретации значения свойства.
    HTTP-equiv=cdata может использоваться вместо атрибута name. http-серверы используют этот атрибут при сборе информации для заголовков откликов.
    Например, <meta name=”interpreter” content=”yuri semenov”>. Атрибут lang может использоваться с элементом meta для определения языка для значения атрибута content. Этот атрибут позволяет синтезаторам речи корректно выбрать правила произношения.


    Например:

    <meta name=”interpreter” lang=”ru” content=”semenov”>.

    Некоторые агенты пользователья используют meta для обновления текущей страницы каждые несколько секунд. При этом страница может обновляться полностью. Например:

    <meta name=”refresh” content=”3,http://www.acme.com/intro.html”>

    Слово content определяет задержку в секундах, за этим числом следует URL, который должен быть загружен по истечении указанного времени. К сожалению не все агенты пользователя поддерживают такую возможность.

    Атрибут HTTP-equiv может использоваться вместо атрибута name. HTTP-серверы могут работать с именами свойств, заданными атрибутом HTTP-equiv, что позволяет им формировать заголовок HTTP-отклика согласно требованиям RFC-822. Декларация <meta http-equiv=”expires” content=”Mon, 17 Aug 1998 16:35:08 GMT”> приведет к формированию следующей строки в HTTP-заголовке: expires: Mon, 17 Aug 1998 16:35:08 GMT. Это позволяет определить время доступности свежей копии документа.

    Одним из важных функция элемента meta является описание ключевых слов для поисковых систем. Например:

    <meta name=”keywords” content=”information, retrieval, indexing”>

    4. Элементы, используемые в тексте документа

    <!entity % block “(%blocklevel | %inline)*”>

    <!entity % color “cdata” – a color using srgb: #rrggbb as hex values -->

    <!entity % bodycolors “bgcolor %color #implied
    text %color #implied
    link %color #implied
    vlink %color #implied
    alink %color #implied”>
    <!element body o o (%block) –(body) +(ins|del)>

    <!attlist body

    %attrs; -- %coreattrs, %i18n, %events –
      background %url #implied -- раскладка текстуры для фона документа --
      %bodycolors; -- bgcolor, text, link, vlink, alink –
      onload %script #implied -- документ загружен --
      onunload $script #implied -- документ удален -->
    Для этого элемента стартовая и конечная метки являются опционными. Здесь применимы следующие атрибуты.



    Background=URL указывает на место, где лежит изображение мозаичного образа для фона документа.
    text=color устанавливает фоновый цвет для текста.
    Link=color определяет цвет не посещенных гипертекстных объектов.
    vlink=color определяет цвет посещенных гипертекстных объектов.
    alink=color определяет цвет выбранного пользователем объекта.
    Помимо перечисленных ряд атрибутов могут задаваться извне:

    id, class, (идентификаторы действуют для всего документа) lang (языковая информация), dir (направление текста/отступ), title, style (текущая стилевая информация), bgcolor (цвет фона), onload, onunload, onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (действительные события).

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

    <html>

    <head>

    <title> a study of population dynamics </title>
    </head>

    <body bgcolor=”white” text=”black” link=”red” alink=”fuschia” vlink=”maroon”>

    … текст документа …

    </body>

    </html>

    То же самое с использованием стилевого листа.

    <html>

    <head>

    <title> a study of population dynamics </title>
    <style type=”text/css”>

    body { background: white color: black}
    a:link { color: red }
    a:visited { color: fuschia }
    </style>

    </head>

    <body>

    …текст документа …
    </body>

    </html>

    Использование связанного стилевого листа добавляет гибкости при реализации презентации.

    <html>

    <head>

    <title> a study of population dynamics </title>
    <link rel=”stylesheet” type=”text/css” href=”smartstyle.css”>



    </head>

    <body>

    …текст документа…
    </body>

    </html>

    5. Идентификаторы элементов. ID и атрибуты классов.

    Определения атрибутов

    ID = name

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

    class = cdata-list

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

    Эти атрибуты могут использоваться в следующих случаях:

  • Атрибут id может использоваться в качестве адреса места назначения гипертекстной связи.


  • Атрибут id может использоваться скриптами для ссылки на какой-то конкретный элемент.


  • Стилевые листы могут использовать атрибут ID для того, чтобы определить элемент, на который распространяется действие данного стиля.


  • Атрибут ID может использоваться для идентификации деклараций object.


  • Стилевые листы могут использовать атрибут class для идентификации списка элементов, на которые распространяется действие данного стиля.


  • Атрибуты id и class могут использоваться для целей обработки, например, для идентификации полей при извлечении информации с HTML-страниц в базу данных, при трансляции HTML-документов в другие форматы.


  • Предположим, что пишется документ о языке программирования. Документ включает в себя некоторое число отформатированных примеров. В этом случае для форматирования используется элемент pre. Пусть также задан цвет фона = green для всех случаев, когда элемент pre принадлежит классу “example”.

    <head>

    <style pre.example { background : green } </style>

    </head>

    <body>

    <pre class = “example” id = “example-1”>

    … текст программы примера …

    </pre>

    </body>

    5.1. Элемент html

    <!entity % html.content "head, body">

    <!element html o o (%html.content;) -- корневой элемент документа -->
    <!attlist html %i18n; -- lang, dir -- >
    <


    /p> Определение атрибута

    version = cdata [cn]

    Применять не рекомендуется. Значение атрибута специфицирует то, какая версия HTML DTD используется в данном документе. Этот атрибут не рекомендован из-за того, что в качестве стандарта принято определение версии в декларации типа документа.

    После декларации типа документа оставшаяся часть документа содержит элемент HTML. Таким образом, HTML-документ имеет структуру:

    <!doctype html public "-//w3c//dtd html 4.0//en"

    "http://www.w3.org/tr/rec-html40/strict.dtd">

    <html>

    ...Заголовок, тело, и т.д. следует здесь...

    </html>

    5.2. Группирующие элементы div и span

    <!element div - - %block>

    <!attlist div %attrs; -- %coreattrs, %i18n, %events --
    %align; -- align, выравнивание текста -- >
    <!element span - - (%inline) * -- базовый языковый/стилевой контейнер -- >
    <!element span %attrs; -- %coreattrs, %i18n, %events -- >
    Атрибуты определенные где-то еще

    • id, class (идентификаторы, действующие в пределах документа)


    • lang (языковая информация), dir (направление текста/отступ)


    • title (заголовок элемента)


    • style (текущая стилевая информация)


    • align (выравнивание)


    • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (события)


    Элементы div и span в сочетании с атрибутами id и class предлагают обобщенный механизм структурирования документа. Таким образом, сформировав примеры и классы и используя для них стилевые листы, программист может придать HTML-документу необходимую структуру и форму.

    Предположим нужно сформировать документ на основе базы данных клиента. Так как HTML не имеет элементов, идентифицирующих такие объекты как “клиент”, “телефонный номер” и т.д., для решения стоящей задачи воспользуемся элементами div и span.

    В приведенном примере каждое имя клиента принадлежит классу client-last-name. Присвоим также уникальные идентификаторы каждому клиенту (client-stepanov, client-ivanov).



    <div id=”client-stepanov” class=”client”>

    <span class=”client-last-name”>last name:</span> stepanov,

    <span class=”client-first-name”>first name:</span> stepa

    <span class=”client-tel”>telephone:</span> (095) 123-9442

    <span class=”client-email”>email:</span> s.s@itep.ru">s.s@itep.ru

    </div>

    <div id=”client-ivanov” class=”client”>

    <span class=”client-last-name”>last name:</span> ivanov,

    <span class=”client-first-name”>first name:</span> vanja

    <span class=”client-tel”>telephone:</span> (095) 123-5442

    <span class=”client-email”>email:</span> s.s@itep.ru">v.i@itep.ru

    </div>

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

    span является строчным элементом и его зона ответственности – параграф. span не может быть использован для группирования элементов блочного уровня. div, напротив, предназначен для работы с блочными элементами. div элемент, за которым следует незакрытый p-элемент, завершает параграф. Агент пользователя помещает разрыв строки до и после div-элемента, например строка:

    <p>aaaaaa<div>bbbbbb</div><div>ccccc<p>ccccc</div>

    обычно развертывается в:

    aaaaaa

    bbbbbb

    ccccc

    ccccc

    Агент пользователя развернет ее как:

    aaaaaabbbbbbccccc

    ccccc

    5.3. Элементы заголовков h1, h2, h3, h4, h5, h6

    <!entity % heading “h1, h2, h3, h4, h5, h6”>

    <!-- Существует шесть уровней заголовков, начиная с Н1 (наиважнейший), кончая Н6 -- >

    <!element (%heading) - - (%inline;)*>

    <!attlist (%heading) %attrs; -- %coreattrs, %i18n, %events --
    %align; -- align, выравнивание текста -- >
    Элементы заголовка кратко описывают тему раздела, который они открывают. Содержимое заголовка может использоваться агентом пользователя, например, для автоматического формирования оглавления документа.

    Визуальные броузеры отображают заголовки более высокого уровня буквами более крупного кегля.


    Ниже приведен пример использования div- элемента для установления связи заголовка со следующей за ним секцией документа. Это позволяет определить стиль раздела с помощью стилевых листов.

    <div class=”section” id=”forest-elephants” >

    <h1>forest elephants </h1>

    В этом разделе обсуждаются менее известные лесные слоны.

    … далее следует продолжение текста …

    <div class=”subsection” id=”forest-habitant” >

    <h2> habitant </h2>

    Лесные слоны живут не на деревьях (:-))

    … далее следует рассказ о том, где и как живут лесные слоны …

    </div>

    </div>

    Структура может быть улучшена с помощью стилевой информации, например:

    <head>

    <style>

    div.section { text-align: justify; font-size: 12pt }

    div.subsection { text-ident: 2em }

    h1 {font-style: italic; color: green }

    h2 { color: green }

    </style>

    </head>

    5.4. Элементы address

    <!element address - - ((%inline;) | p) *>

    <!attlist address %attrs; -- %coreattrs, %i18n, %events -- >
    Элемент address служит для введения контактного адреса с автором документа, например:

    <address>

    newsletter editor<br>

    j. r. brown<br>

    8723 buena vista, smallville, ct 01234<br>

    tel: +1 (123) 456 7890

    </address>

    6. Спецификация языка содержимого документа. Атрибут lang

    lang = language-code

    Специфицирует базовый язык, на котором написан документ. Значением этого атрибута является код языка (см. RFC-1766). В пределах кода языка пробелы использоваться не должны. Значение этого кода по умолчанию “unknown”. Код языка состоит из базового кода и субкода.

    language-code = primary-code *( “-“ subcode )

    Атрибуты, определенные где-либо еще.

  • id, class (идентификаторы, действующие в пределах документа)


  • lang (языковая информация), dir (направление текста/отступ)


  • onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup (события)


  • Ниже приведено несколько примеров кодов языка.

    “en”:english



    “en-us”:the u.s version of english

    “en-cockney”:the cockney version of english (версия английского – кокни)
    “i-cherokee”: the cherokee language spoken by some native americans (Чероки – язык, на котором говорят некоторые коренные американцы)
    Две первые буквы базового кода зарезервированы ISO-639.

    fr французский
    de немецкий
    it итальянский
    nl голландский
    el греческий
    es испанский
    pt португальский
    ar арабский
    he еврейский
    ru русский
    zh китайский
    ja японский
    hi хинди
    ur урду
    Любые две буквы субкода воспринимаются как код страны ISO3166.

    7. Наследование языковых кодов

    Элемент наследует информацию языкового кода согласно следующим приоритетам (сверху вниз):

  • Атрибут lang устанавливает значение элемента.


  • Глобальный элемент, имеющий атрибут lang.


  • http заголовок “content-language”, устанавливающий значения языка, например,

    content-language: en-us.


  • Задание языкового атрибута извне.


  • В ниже приведенном примере базовый язык документа является французским. Один параграф декларирован как испанский, после чего базовый язык восстанавливается. Следующий параграф включает встроенную фразу на японском, после чего следует снова текст на французском.

    <html lang=”fr”>

    <body>

    … текст интерпретируется как французский …

    <p lang=”es”>… текст интерпретируется как испанский …

    <p>… текст интерпретируется снова как французский …

    <p> … французский текст интерпретируется с помощью <em lang=”ja”> немного японского </em> далее следует снова текст на французском …

    </body>

    </html>

    8. Спецификация направления текста. Атрибут dir

    Описание атрибута

    dir = ltr | rtl

    Специфицирует направление размещения текста, возможные значения:

    ltr: слева направо

    rtl: справа налево.

    Последнее значение атрибута может быть нужно для случая арабского или еврейского текстов. Агент пользователя не может использовать атрибут lang для определения направления текста.

    9. Текст

    Пробел



    Спецификация SGML делает различие между начальным символом (перевод строки) и концом записи (возврат каретки). Но существует большое разнообразие использования этих символов в различных системах и агент пользователя должен быть способен корректно обрабатывать все варианты. Аналогично меняется от скрипта к скрипту представление о том, что такое разделитель слов. В латинских текстах это пробел (десятичный код 32), в японском и китайском пробел игнорируется, а в тайском используется нуль-сепаратор. Что же касается самого HTML, здесь функции сепаратора выполняет код пробела. Набор символов документа включает в себя широкое разнообразие символов пробела. Многие из них являются типографскими элементами, которые служат для формирования зазоров между словами или буквами. В HTML, определены только следующие символы пробела:

  • ascii пробел (&#x0020;)


  • ascii tab (&#x0009;)


  • ascii form feed (&#x000c;)


  • пробел нулевой ширины (&#x200b;)


  • Разрыв строки также является пробелом. Заметьте, что &#x2028; и &#x2029; определенные в [ISO10646] для разделения строк и параграфов, соответственно, не являются разрывами строк в HTML.

    Пример текста:

    <p>

    this example shows a paragraph and a list

    </p>

    <ul>

    <li>
    the <em>первый</em> item

    </li>

    <li>
    this is the <em>второй</em> item

    </li>

    </ul>

    текст может быть переписан с пропуском конечных меток и размещен иначе с использованием меньшего числа пробелов.

    <p>this example shows a paragraph and a list

    <ul>

    <li> this is <em>первый</em> item
    <li> this is <em>второй</em> item
    </ul>

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

    9.1. Структурированный текст



    Элементы фраз: em, strong, dfn, code, samp, kbd, var, cite, acronym

    <!entity % phrase “em | strong | dfn | code | samp | kbd | var | citr | acronym”>

    <!element (%font|%phrase) - - (%inline) *>



    <!attlist (%font|%phrase) -- %coreattrs, %i18n, %events -- >
    Элементы фраз добавляют структурную информацию к текстовым фрагментам. Элементы фраз имеют следующие значения:



    em:
    Подчеркивают значение.
    strong: Указывает на еще большую важность (придает выразительность)
    dfn: Указывает, что это место определения вложенного термина.
    code: Отмечает фрагмент текста программы.
    samp: Выделяет пример из текста программы или скрипта.
    kbd: Отмечает текст, который должен быть введен пользователем.
    var: Отмечает переменную или аргумент программы
    cite: Ссылается на фрагмент текста или другой источник.
    acronym: Отмечает акроним (напр. HTML, URI, WWW и т.д.).
    EM и strong весьма привлекательны для подчеркивания важности фрагмента текста. Приведенный ниже пример позволяет проиллюстрировать использование некоторых элементов фраз.

    “More information can be found in <cite>[ISO-0000]</cite>

    “Please refer to the following reference number in future correspondence:

    <strong>1-234-55</strong>”

    Элемент acronym позволяет упростить работу программ проверки правописания и звуковых синтезаторов речи. Текст элемента acronym позволяет описать сам акроним:

    <acronym title=”world wide web”>www</acronym>

    <acronym lang=”fr” title =”soci&eacute;t&eacute; nationale de chemins de fer”> sncf

    </acronym>

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

    9.2. Цитирование. Элементы q и blockquote

    <!element blockquote - - %block>

    <!attlist blockquote %attrs; -- %coreattrs, %i18n, %events --
    cite %url #implied -- url исходного документа или сообщения -- >
    <


    /p> <!element q - - (%inline) *>

    <!attlist q %attrs; -- %coreattrs, %i18n, %events --
    cite %url #implied -- url исходного документа или сообщения -- >
    Определения атрибутов

    cite=url

    Значение этого атрибута равно url, который указывает на первоисточник или сообщение. Аргумент указывает на источник цитаты, заключенной в кавычки. Элемент q служит для использования с короткими цитатами в пределах абзаца, а blockquote предназначен для более длинных. Например:

    <blockquote cite=
    http://www.mycom.com/tolkien/twotpwers.html>

    they went in single file, running like hounds on a strong scent, and an eager light was in their eyes.

    </blockquote>

    9.3. Верхние и нижние индексы. Элементы sub и sup

    <!element (sub|sup) - - (%inline) *>

    <!attlist (sub|sup) %attrs; -- %coreattrs, %i18n, %events -->
    Например, французское “mlle dupont” можно представить в HTML как:

    m<sup>lle</sup> dupont

    9.4. Строки и параграфы

    Любой текст обычно представляется в виде последовательности параграфов. Для определения границ параграфа в HTML используется элемент p. Текст параграфа будет использоваться как единое целое при ряде процедур.

    9.4.1. Параграфы и элемент p

    <! element p – o (%inline) *>

    <!attlist p %attrs; -- %coreattrs, %i18n, %events
    %align; -- выравнивание текста -- >
    P-элемент отмечает границы параграфа и не может содержать элементов блочного уровня, включая другие Р-элементы. Конечная метка может быть опущена, при этом любой элемент блочного уровня будет являться начальной меткой и конечной меткой Р-элемента. Например:

    <p>Это первый параграф.</p>

    <p>Это второй </p>

    … блочный элемент …

    Этот же текст можно переписать эквивалентным образом:

    <p>Это первый параграф.

    <p>Это второй.

    …блочный элемент …

    Аналогично параграф может быть сформирован с помощью блочных элементов:

    <div>

    <p> Это параграф

    </div>

    Пустой параграф является дурным стилем и должен игнорироваться агентом пользователя.


    Агент пользователя определяет способ отображения параграфа. Параграфы могут иметь абзацы, а могут отделяться друг от друга пустой строкой. Обычно в процессе отображения строки разрываются по пробелам между словами, но можно ввести принудительные разрывы строк с помощью элемента BR.

    9.5. Элемент br



    <!
    element br – o empty
    -- вызывает разрыв строки -- >
    <!attlist br %coreattrs; -- id, class, style, title --
    clear (left|all|right|none) none -- управление отображением текста -- >
    Для визуального агента пользователя атрибут clear может использоваться для позиционирования плавающих объектов (напр. обтекание текстом изображений). Этот атрибут используется в случае отсутствия стилей.

    Помимо принудительного разрыва строки существует элемент, запрещающий разрыв строки между двумя словами. Например &nbsp; entity (&#160;, &#xa0;) действует как пробел, где агент пользователя не должен разрывать строку.

    В HTML существует два вида дефисов: мягкий и твердый. Твердый рассматривается как обычный символ, а мягкий воспринимается агентом пользователя как место, где можно разорвать строку. Твердый дефис обозначается символом “-“ (&#45;,&#x2d;), а мягкий – именованным символом &shy; (&#173;,&#xad;).

    9.6. Предварительно сформатированный текст. Элемент pre.

    <!entity % pre.exclusion “img|big|small|sub|sup|font”>

    <!element pre - - (%inline) * - (%pre.exclusion)>

    <!attlist pre %attrs; -- %coreattrs, %i18n, %events --
    width number #implied >
    Определения атрибутов

    width = integer

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

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


    Перед и после такого фрагмента обычно вводятся пустые строки (требование SGML). В DTD-фрагменте, приведенном выше, в первой строке содержится список элементов, которые не должны присутствовать в PRE-декларации. Рассмотрим фрагмент из поэмы Шелли “to a skylark”.

    <pre>

    higher still and higher
    from the earth thou springest
    like a cloud of fire;
    the blue deep thou wingest,
    and singing still dost soar, and soaring ever singest.

    </pre>

    Этот стих будет представлен агентом пользователя без изменений формата.

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

    10. Пометка изменений документа. Элементы ins и del.



    <!
    element (ins|del) - - (%inline) *
    -- (введенный/удаленный текст) -- >
    <!attlist (ins|del) %attrs; -- %coreattrs, %i18n, %events --
    cite %url #implied -- информация о причине изменения --
    datetime cdata #implied -- дата изменения в формате ISO -- >
    Определение атрибутов

    cite = URL

    Значение этого атрибута равно URL, которое указывает на документ-первоисточник. Атрибут служит для пояснения причины изменения документа.

    datetime = cdata

    Значение этого атрибута определяет дату и время внесения изменения в документ. Формат этого значения должен соответствовать требованиям документа ISO-8601.

    Элементы ins и del используются для выделения фрагментов документа, которые были добавлены или удалены из предшествующей версии документа.

    11. Формат даты и времени

    ISO-8601 допускает много опций и вариаций в представлении дат и времени. Но основным форматом HTML следует считать следующий:

    yyyy-mm-ddthh:mm:sstzd

    Где yyyy = четыре цифры года
      mm = две цифры месяца (01 – январь)
      dd = две цифры дня месяца (01-31)
      hh = две цифры часа (00-23; am/pm запрещены)
      mm = две цифры минут (00-59)
      ss = две цифры секунд (00-59)
      tzd = идентификатор временной зоны
    <


    /p> В качестве tzd ( код временной зоны) можно использовать следующие:

    z обозначает utc (coordinated universal time)
    +hh:mm указывает местное время в часах и минутах опережающее utc.
    -hh:mm указывает местное время в часах и минутах отстающее от utc.
    Символ t указывает на начало строки символов времени.

    12. Неупорядоченные (ul) и упорядоченные (ol) списки

    <!entity % ulstyle “disc|square|circle”>

    <!element ul - - (li) +>

    <!attlist ul -- неупорядоченный список --
    %attrs; -- %coreattrs, %i18n, %events --
    type (%ulstyle) #implied -- список, где элементы отмечены жирной точкой в начале строки --
    compact (compact) #implied -- уменьшенное расстояние между элементами списка -- >
    <!entity % olstyle “cdata” -- определяет стиль нумерации: [1|a|a|i|i] -- >
    <!element ol - - (li) +>
    <!attlist ol -- упорядоченный список --
    %attrs; -- %coreattrs, %i18n, %events --
    type (%olstyle) #implied -- нумерованный список --
    compact (compact) #implied -- уменьшенное расстояние между элементами списка --
    start number #implied -- начальный номер элемента списка -- >
    <!entity % listyle “cdata” -- ограничение: “(%ulstyle|%olstyle)” -- >
    <!element li - o %block -- элемент списка -- >
    <!attlist li %attrs; -- %coreattrs, %i18n, %events --
    type %listyle) #implied -- стиль элемента списка --
    value number #implied -- сброс счетчика элементов списка -- >
    Определение атрибутов

    type = style-information

    Этот атрибут определяет стиль элемента списка.

    start = integer

    Работает только для ol. Устанавливает начальное значение счетчика элементов упорядоченного списка, значение по умолчанию равно единице.

    value = integer

    Работает только для LI. Устанавливает текущее значение номера элемента списка.

    compact

    Не рекомендуется использовать. При использовании требует от агента пользователя отображать список в возможно более компактном виде.

    Упорядоченные и не упорядоченные списки во многом схожи.


    Оба типа представляют собой последовательность элементов, описанных элементом LI (конечная метка этого элемента обычно опускается). Ниже приведены примеры списков.

    <ul>

    <li> … первый элемент списка …
    <li> … второй элемент списка …
    ………….
    </ul>

    Списки могут быть вложенными.

    <ul>

    <li> …Уровень 1, номер 1 …
    <ol>
    <li> … Уровень 2, номер 1 …
    <li> … Уровень 2, номер 2 …
    <ol start=”10”>
    <li> … Уровень 3, номер 1 …
    </ol>
    <li> … Уровень 2, номер 3 …
    </ol>
    <li> …Уровень 1, номер 2 …
    </ul>

    В упорядоченных списках невозможно продолжать нумерацию с предыдущего списка или убрать нумерацию, но можно установить счетчик принудительно с помощью атрибута value. Например:

    <ol>

    <li value=”30”> присваивает этому элементу списка номер 30.

    <li value=”40”> присваивает этому элементу списка номер 40.

    <li> этот элемент списка будет иметь номер 41.

    </ol>

    12.1. Списки, форматируемые визуальным агентом пользователя

    Для OL и UL атрибут type определяет опцию отображения визуальным агентом пользователя. Для элемента UL возможны значения атрибута type: disc, square и circle. Значение по умолчанию зависит от уровня вложения текущего списка. Агент пользователя попытается представить “disc” в виде небольшого заполненного кружочка, “circle” – в виде незаполненного кружочка, а “square” – в виде квадратика.

    Для элемента ol возможные значения атрибута type представлены в таблице.

    Тип Стиль нумерации
    1 Арабские цифры 1,2,3,…
    a Строчные буквы латинского алфавита a,b,c,…
    a Прописные буквы латинского алфавита a,b,c, …
    i Малые римские цифры i, ii, iii, …
    i Большие римские цифры i, ii, iii, …
    12.2. Списки определений. Элементы dl, dt и dd

    <!element dl - - (dt|dd)+>

    <!attlist dl %attrs -- %coreattrs, %i18n, %events --
    compact (compact) #implied -- уменьшенное расстояние между элементами -- >
    <


    /p> <!element dt – o (%inline) *>

    <!element dd – o %block>

    <!attlist (dt|dd) %attrs -- %coreattrs, %i18n, %events -- >
    Список определений отличается слабо от других списков, он состоит из двух частей: начальная этикетка (label) и описание. Этикетка инициируется элементом DT и может содержать только помеченный текст. Описание начинается с элемента DD и может содержать данные блочного уровня. Например:

    <dl>
    <dt> <em> daniel</em>
    <dd> born in france, daniel’s favorite food is foie gras.
    <p> in this paragraph we’ll discuss daniel’s girlfriends: audrey, laurie and alice.
    <dt> <em> tim</em>
    <dd> born in new york, tim’s favorite food is ice cream.
    </dl>

    Представление списка определений зависит от агента пользователя. Агент пользователя может отобразить представленный список в виде:

    daniel

    born in france, daniel’s favorite food is foie gras.

    in this paragraph we’ll discuss daniel’s girlfriends: audrey, laurie and alice.

    tim

    born in new york, tim’s favorite food is ice cream.

    13. dir и элементы menu

    <!element (dir|menu) - - (li)+ - (%blocklevel)>

    <!attlist dir %attrs; -- %coreattrs, %i18n, %events --
    compact (compact) #implied >
    <!attlist menu %attrs; -- %coreattrs, %i18n, %events --
    compact (compact) #implied >
    Элемент DIR предназначен для формирования многоколоночного текста каталога. Элемент Menu предназначен для работы с одноколонными текстами каталогов. Оба элемента имеют структуру, аналогичную UL. Рекомендуется использовать UL вместо DIR и Menu.

    14. Таблицы

    Модель таблиц в HTML позволяет пользователям создавать достаточно сложные структуры таблиц. В этой модели ряды и колонки можно объединять в группы. При печати больших таблиц заголовки и нижние комментарии могут дублироваться для каждой части.

    14.1. Структура таблиц

    В HTML таблицы имеют следующую структуру

  • Допускается одна или более групп строк. Каждая группа состоит из опционной секции заголовка таблицы и опционной нижней секции.




  • Допускается одна или более групп колонок.


  • Каждая строка состоит из одной или более ячеек.


  • Каждая ячейка может содержать заголовок или информацию и занимать более одной строки и более одной колонки.


  • 14.1.1. Элемент table

    <!element table - - (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>

    <!attlist table -- элемент таблицы –

    %attrs; -- %coreattrs, %i18n, %events --
    align %talign; #implied -- положение таблицы относительно окна --
    bgcolor %color #implied -- фоновый цвет ячейки --
    width cdata #implied -- ширина таблицы относительно окна --
    cols number #implied -- используется для режима немедленного отображения --
    borrder cdata #implied -- управляет шириной рамки вокруг таблицы --
    frame %tframe; #implied -- какую часть таблицы заключить в рамку --
    rules %trules #implied -- линии между рядами и колонками --
    cellspacing cdata #implied -- зазоры между ячейками --
    cellpadding cdata #iplied -- отступы внутри ячеек -- >
    Определение атрибутов

    align = left | center | right

    Этот атрибут определяет положение таблицы в документе. Возможные значения:

  • left:


    Содержание раздела