Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Глава 19. Глобальная структура документа



Документ в формате HTML 4.0 состоит из трех частей:

  • строки, содержащей информацию о версии HTML
  • раздела заголовков (определяемого элементом HEAD )
  • тела, которое включает собственно содержимое документа. Тело может вводиться элементом BODY или элементом FRAMESET.

Перед каждым элементом или после каждого элемента может находиться пустое пространство (пробелы, переход на новую строку, табуляции и комментарии). Разделы 2 и 3 должны отделяться элементом HTML.

Вот пример простого документа HTML:

<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0//EN"

" http: //www.w3.org/TR/REC-html40/strict.dtd" > < HTML> < HEAD>

< TITLE> Мой первый документ HTML< /TITLE> < /HEAD> < BODY> < P> Всем привет!

< /BODY> < /HTML>

Информация о версии HTML

В документе HTML должна быть объявлена используемая в нем версия языка HTML. Объявление типа документа указывает определение типа документа (DTD), используемое в этом документе.

HTML 4.0 определяет три DTD, так что авторы должны включать в свои документы одно из следующих объявлений типов. Разница между DTD заключается в поддерживаемых ими элементах.

HTML 4.0 Strict DTD (строгое определение) включает все элементы и атрибуты, не являющиеся нежелательными и не использующиеся в документах с кадрами. Для документов, использующих это DTD, используйте такое объявление типа документа:

<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0//EN" " http: //www.w3.org/TR/REC-tml40/strict.dtd" >

HTML 4.0 Transitional DTD (переходное определение) включает все, что включено в строгое DTD, а также нежелательные элементы и атрибуты (большинство из которых относится к визуальному представлению). Для документов, использующих это DTD, используйте такое объявление типа документа:

<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0 Transitional//EN"

" http: //www.w3.org/TR/REC-html40/loose.dtd" >

HTML 4.0 Frameset DTD (определение для кадров) включает все, что включено в переходное DTD, а также кадры. Для документов, использующих это DTD, используйте такое объявление типа:

<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0 Frameset//EN" " http: //www.w3.org/TR/REC-html40/frameset.dtd" >

URI в каждом объявлении типа документа позволяет браузерам загрузить DTD и все необходимые entity sets. Следующие URI указывают на DTD и entity sets для HTML 4.0, поддерживаемого W3C:

" http: //www.w3.org/TR/REC-html40/strict.dtd"

— строгое DTD по умолчанию " http: //www.w3.org/TR/REC-html40/loose.dtd"

— переходное DTD " http: //www.w3.org/TR/REC-html40/frameset.dtd"

— DTD для документов, использующих кадры

" http: //www.w3.org/TR/REC-html40/HTMLlat1.ent"

— Latin-1 entities " http: //www.w3.org/TR/REC-html40/HTMLsymbol.ent"

— Symbol entities " http: //www.w3.org/TR/REC-html40/HTMLspecial.ent"

— Special entities

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

Элемент HTML

<! ENTITY % html.content " HEAD, BODY" >

<! ELEMENT HTML O O (%html.content; ) -- корневой элемент документа

-->

<! ATTLIST HTML

%i18n; -- lang, dir --> Начальный тэг: не обязательный, Конечный тэг: не обязательный.

Определения атрибутов версия = cdata[CN]

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

Атрибуты, определяемые в любом другом месте

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

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

<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0//EN"

" http: //www.w3.org/TR/REC-html40/strict.dtd" >

< HTML>

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

< /HTML>

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

Элемент HEAD

<! -- %head.misc;, определенный ранее как " SCRIPT|STYLE|META|LINK|OBJECT" --> <! ENTITY % head.content " TITLE & BASE? " >

<! ELEMENT HEAD O O (%head.content; ) +(%head.misc; ) — заголовок документа --> <! ATTLIST HEAD

%i18n; -- lang, dir --

profile %URI; #IMPLIED -- каталог метаинформации --> Начальный тэг: не обязателен. Конечный тэг: не обязателен.

Определения атрибутов profile = uri [CT]

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

Атрибуты, определяемые в любом другом месте

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

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

Элемент TITLE

<! -- Элемент TITLE не считается частью текста.

Он должен отображаться, например, в качестве заголовка страницы или окна. В документе должен быть ровно один заголовок. --> <! ELEMENT TITLE — — (#PCDATA) -(%head.misc; ) -- document title --> <! ATTLIST TITLE %i18n>

Начальный тэг: обязателен. Конечный тэг: обязателен.

Атрибуты, определяемые в любом другом месте

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

Каждый документ HTML должен иметь элемент TITLE в разделе HEAD.

Авторы должны использовать элемент TITLE для идентификации содержимого документа. Поскольку пользователи часто обращаются к документам за пределами контекста, авторам следует обеспечивать заголовки в широком контексте. Таким образом, вместо заголовков типа «Введение», ничего не говорящих о контексте, авторам следует использовать заголовки типа «Введение в средневековое пчеловодство».

Из соображений доступности браузеры всегда должны делать содержимое элемента TITLE доступным пользователям (включая элементы TITLE в кадрах). Механизм этого зависит от браузера (например, в виде заголовка или произносимый). Заголовки могут включать character entities (для символов со знаком ударения, специальных символов и т.д.), но не могут содержать другой разметки. Вот образец заголовка документа:

<! DOCTYPE HTML PUBLIC " -//W3C//DTD HTML 4.0//EN"

" http: //www.w3.org/TR/REC-html40/strict.dtd" >

< HTML>

< HEAD>

< TITLE> Исследование динамики популяции < /TITLE>

... другие элементы заголовка...

< /HEAD>

< BODY>

... тело документа...

< /BODY>

< /HTML>

Атрибут title

Определения атрибутов title = text [CS]

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

Значения атрибута title могут использоваться браузерами в генерации изображения по-разному. Например, визуальные браузеры часто отображают заголовок как подсказку (краткое сообщение, которое появляется, если вы указываете на объект). Аудио-браузеры могут проговаривать информацию заголовка. Например, установка этого атрибута для ссылки позволяет браузерам (визуальным и невизуальным) сообщить пользователям о природе связанного ресурса:

...текст... Вот фотография

< A href=" http: //someplace.com/neatstuff.gif" title=" Me scuba diving" >

как я нырял в прошлом году < /A> ...еще текст...

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

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

Метаданные

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

Например, чтобы указать автора документа, можно использовать элемент META следующим образом:

< META name=" Author" content=" Иван Иванов" >

Элемент META задает свойство (здесь «Author (Автор)») и назначает ему значение (здесь — «Иван Иванов»).

Значение свойства и набор допустимых значений этого свойства должны определяться в относительном словаре, называемом профилем. Например, профиль, разработанный для помощи в индексировании документов для поисковых машин может определять такие свойства как « author », « copyright », « keywords » и т.д.

Задание метаданных

В общем случае задание метаданных состоит из двух шагов:

  • Объявление свойства и его значения. Это можно сделать двумя способами:
  • Из документа с помощью элемента META.
  • Не из документа с помощью ссылки на метаданные через элемент LINK.
  • Сославшись на профиль, в котором определяются свойства и их допустимые значения. Для назначения профиля используйте атрибут профиль элемента HEAD.

Помните, что поскольку профиль определяется для элемента 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 CDATA #IMPLIED -- выбор формы содержимого --> Начальный тэг: обязателен. Конечный тэг: запрещен.

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

Для следующих атрибутов допустимые значения и их интерпретация зависят от профиля:

name = name [CS]

Этот атрибут определяет имя свойства.

content = cdata [CS]

Этот атрибут определяет значение свойства.

scheme = cdata [CS]

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

http-equiv = name [CI]

Этот атрибут может использоваться вместо атрибута name. Серверы HTTP используют этот атрибут для сбора информации для заголовков сообщений ответов HTTP.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-03; Просмотров: 560; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.033 с.)
Главная | Случайная страница | Обратная связь