
- •Тема 13. Язык гипертекстовой разметки html. [1,2.7]
- •Язык гипертекстовой разметки html
- •Принципы построения и интерпретации html
- •Заголовок документа html
- •Тело документа
- •Элементы управления разметкой
- •Гипертекстовые ссылки
- •Средства описания multimedia-информации
- •Средства описания стилей, таблиц и математических формул
- •Влияние разработки интерфейсов на развитие языка
Заголовок документа html
Заголовок документа не имеет атрибутов. По сложившейся традиции, таги начала и конца заголовка могут быть опущены. Элементы заголовка должны правильно интерпретироваться и в этом случае. Игнорирование тагов заголовка стало возможным благодаря тому, что множества имен элементов тела и заголовка не пересекаются. Следует отметить, что с появлением возможности определения имен пользователем через элемент МЕТА в третьей версии языка появилась возможность ошибки при интерпретации документа. Поэтому в стандарте языка настоятельно рекомендуется не вводить имена, совпадающие со стандартными.
Основное назначение элементов заголовка - это описание общих для всего документа параметров отображения. К таким параметрам можно отнести стиль отображения документа, общий базовый адрес гипертекстовых ссылок, общие гипертекстовые ссылки, идентификатор и имя документа и т. п.
Для описания элементов заголовка рассмотрим структуру типичного интерфейса пользователя системы WWW. Интерфейс включает поля управления и поля отображения информации. Многие поля управления могут быть заданы в документе HTML. Это позволяет администратору-автору гипертекстовой базы данных управлять просмотром не только через систему встроенных гипертекстовых ссылок, но и перепрограммируя интерфейс пользователя. Рассмотрим значения полей подробнее.
В верхнем поле интерфейса рядом с названием интерфейса отображается имя документа, которое указывается в его заголовке. Ниже, сразу под именем документа, отображается меню управления программой. Некоторые его позиции могут быть определены через общие гипертекстовые ссылки, такие, например, как список "закладок" или системный "Help". Ряд режимов системного меню вынесен в меню пиктограмм, в котором "домик" обозначает переход на "домашнюю" страницу пользователя, стрелка "назад" - переход на предыдущий документ, стрелка "вперед" - на следующий, символ факсимильного аппарата - просмотр новостей, почтовый конверт - отправку почты, а знак вопроса - системный "Help". Все из перечисленных пиктограмм могут быть назначены в заголовке отображаемого документа. Под рядом пиктограмм отображается адрес просматриваемого документа в форме URL. Это же поле можно использовать и для ввода адреса другого документа вручную. Сразу под адресом начинается поле отображения текста документа. В тексте цветом выделены контекстные гипертекстовые ссылки.
В нижней части экрана указано еще одно поле, которое управляется заголовком HTML-документа. Это поле поиска документов по ключевым словам, которое позволяет использовать WWW в режиме информационно-поисковой системы.
Большинство полей заголовка будут связаны либо с системой меню и полями интерфейса пользователя, либо со стилем отображения документа, либо с системой гипертекстовых ссылок.
TITLE. Наиболее часто используемым элементом заголовка является имя документа. TITLE имеет следующий синтаксис:
<TITLE> Название документа</TITLE>
Содержание элемента TITLE отображается в поле названия документа.
BASE. Элемент BASE связан с формой представления гипертекстовой ссылки в форме URL. Спецификация URL определяет две формы адресации документов: полную и неполную. HTML разрешает использовать как полную форму адресации URL, так и неполную. Но для того чтобы использовать вторую форму спецификации, ее надо на чем-то базировать, т.е. задавать базовый адрес, который можно было бы использовать для формирования полной формы URL из неполной. Элемент BASE позволяет определить эту базу. Так, например, если в заголовке будет задано:
<BASE HREF="http://polyn.net.kiae.su/>, гипертекстовая ссылка вида:
<HREF="/altai/index.html"> будет расширена до:
<A HREF="http://polyn.net.kiae.su/ altai/index.html">
Это тоже касается и других импортируемых в документ элементов. Графический образ, монтируемый в документ по команде:
<IMG SRC="/gif/test.gif"> будет найден по адресу:
<IMG SRC="http://polyn.net.kiae.su/gif/test.gif">
Содержание элемента BASE интерфейсом пользователя не отображается.
ISINDEX. Использование HTML-документа для ввода запроса на поиск по ключевым словам определяется элементом ISINDEX заголовка документа. В первоначальной версии языка данный элемент не имел дополнительных атрибутов. Если сервер мог выполнить запрос по ключевым словам, то он автоматически вставлял в заголовок элемент ISINDEX. Список ключевых слов приписывался клиентом к адресу документа после символа "?". Понятно, что выполнить запрос мог сервер, который при наличии символа "?" превращался в поисковую машину. HTML-документ мог быть сгенерирован "на лету" программой, тогда ключевые слова после "?" приписываются к адресу этой программы. В новой версии языка появилась возможность указать программу обработки запроса и задать фразу вместо стандартной "SEARCH INDEX":
<ISINDEX HREF="http://polyn.net.kiae.su/cgi-bin/search"
PROMPT="Enter Keywords:">
В приведенном примере атрибут HREF определяет адрес программы обработки запроса, а атрибут PROMPT - содержание приглашения. Справедливости ради стоит отметить, что полностью новые возможности этого элемента выполняет только один интерфейс - Arena. Такие популярные интерфейсы, как Mosaic и Netscape, данный элемент интерпретируют по-старому.
LINK. Этот элемент заголовка используется для описания общих для всего документа гипертекстовых ссылок. Элемент имеет три атрибута: REL, REV и HREF. REL задает тип ссылки, REV задает обратную ссылку, а HREF определяет ссылку в форме URL. Наличие этого элемента в заголовке HTML-документа отражает сам факт существования гипертекстовых ссылок данного класса Однако, в сети практически нет документов, которые имели бы такой элемент в своем заголовке. Связано это с тем, что реализация такой ссылки в интерфейсе пользователя была не ясна и, как следствие, разработчики интерфейсов не включали реализацию данного класса ссылок в свои программы. В третьей версии языка удалось найти логичное применение элементу LINK. На данный элемент возложили нагрузку по программированию средств управления интерфейсом пользователя. С этой целью ввели несколько стандартных классов отношений, которые указываются в атрибуте REL:
Ноmе адрес домашней страницы
ТоС адрес содержания документа
Index адрес индекса терминов
Glossary глоссарий
Copyright права копирайта
Up адрес вышестоящего документа при иерархической
структуре гипертекстовой сети
Next следующий документ при линейном просмотре
Previous предыдущий документ при линейном просмотре
Help адрес документа с информацией "Help"
Bookmark адрес файла закладок
При выборе соответствующей позиции в меню интерфейса пользователя или соответствующей этой позиции пиктограммы программа интерфейса должна генерировать запрос к серверу на получение документа, указанного в атрибуте HREF. Например:
<LINK REL=Help HREF="http://polyn.net.kiae.su/dss/syshelp. html">
Данное предложение в заголовке HTML-документа означает, что при выборе режима "Help" на экране отобразится документ, который хранится по адресу http://polyn.net.kiae.su/dss/syshelp.html. В данном случае появляется возможность строить контекстно-зависимые help'ы для систем, построенных по технологии WWW, а не получать в виде подсказки инструкции по использованию программы Netscape, например.
Другое полезное применение LINK, которое рекомендует новый стандарт, - это вставка постоянной заставки (banner) в начало каждого документа просматриваемой базы данных. Как правило, каждый разработчик снабжает свои документы небольшой порцией информации, которая появляется в начале каждого документа.
В настоящее время эту информацию приходится копировать из документа в документ. При разработке сервера NCSA была возможность препроцессорной вставки такой информации сервером, но при работе с новыми программами она автоматически не отрабатывает, а настройка каждого клиента на работу с таким сервером не оправдана. Новый механизм выглядит так:
<LINK REL=Banner HREF=banner.html>
В последнее время предложены и другие способы использования элемента LINK, но они еще не вошли в стандарт.
МЕТА. Элемент МЕТА предназначен для определения в заголовке документа конструкций, отсутствующих в спецификации HTML. Имеет три атрибута: NAME, CONTENT, HTTP-EQUIV. Применение данного элемента затруднено тем, что для интерпретации конструкций, которые вводятся через этот элемент, необходимо, чтобы сервер или интерфейс пользователя мог эти конструкции расшифровать и применить. Для такого сорта работы программа должна уметь интерпретировать конструкции SGML, что практически не реализовано ни в одной интерфейсной программе. Единственным способом применения данного элемента на практике является включение в заголовок отклика по протоколу HTTP информации, определенной через атрибут НТТР-EQUIV:
<МЕТА HTTP-EQUIV="Keywords" CONTENT="Plsma, Nuclear Physics">
При таком использовании в заголовок HTTP-пакета будет включена строка:
Keywords: Plasma, Nuclear Physics,
что удобно при отправке почты, например.
STYLE. Элемент Style предназначен для того, чтобы автор гипертекстового документа мог задать стиль отображения своего документа: назначить фонты для отображения заголовков, списков и других элементов текста, назначить размер шрифтов встроенных меню, примеров, ссылок и т. п. Для этого элемента разработан специальный механизм описания, конструкции которого задаются в атрибуте NOTATION. При использовании этого элемента следует учитывать тот факт, что, с одной стороны, мало какие программы понимают его (только частично Arena), а с другой, не все пользователи имеют возможность реализовать сложные графические описания. Около 2/3 всех пользователей, которые обращались за информацией к базе данных автора, отключают в своих интерфейсах запросы на передачу графической информации. В этой ситуации навязчивый сервис может вызвать раздражение.
Другие элементы заголовка носят декларативный характер, обозначая скорее намерения, чем реальную практику их использования.