- •Введение в html Рэй Данкан
- •Html: общие сведения.
- •Команды структуры.
- •Команды форматирования текстового потока.
- •Команды форматирования заголовков.
- •Команды форматирования символов.
- •Команды форматирования списков.
- •Специальные символы
- •Команды вставки графики.
- •Команды гипертекстовых связей.
- •Как связаться с автором.
Введение в html Рэй Данкан
Язык разметки гипертекста HTML (hypertext markup language) словно бросает вызов тенденции последнего десятилетия - переходу к текстовым процессорам на графической основе WYSIWYG. Для тех, кто начал изучение персональных компьютеров уже после появления таких пакетов, как Microsoft Word for Windows, создание документов для системы World-Wide Web (WWW) "средствами" HTML может сначала показаться столь же естественным, как написание драйверов устройств на "тарабарском" языке времен детства. Ситуация усугубляется полным отсутствием высококачественных средств подготовки документов для HTML; даже лучшие HTML-редакторы до жалости примитивны по сравнению с любым распространенным текстовым процессором; далеко им и до мощных редакторов исходных текстов программ типа CodeWright или незабвенного Brief.
В то же время, для тех из нас, кто живо помнит эпоху редактора WordStar на компьютерах CP/M с 8-дюйм гибкими дисками или приобрел мучительный опыт работы с текстовыми редакторами системы UNIX, например nroff или TeX, задача подготовки документов в HTML покажется хорошо знакомой. Как и другие реликты времен компьютерного средневековья, язык HTML управляется командами и чувствителен к контексту.
Документ HTML - это обычный текстовый файл, а окончательный вид документа зависит от магических последовательностей символов, вправленных в "настоящий" текст. Подготовка документа в HTML больше похожа на составление программы, чем на работу в настольной издательской системе, поскольку она представляет собой бесконечный цикл переделок исходного HTML-текста в текстовом редакторе, загрузки файла в программу просмотра Web для проверки, как файл выглядит и печатается, определения, в чем состоят проблемы, и возврата в текстовый редактор для внесения исправлений.
Выглядит старомодно, не правда ли? Какие же все-таки болваны придумали эту World-Wide Web, совсем они без понятия, что ли? Но подождите... возможно, мы судим HTML по неправильным критериям; может быть, цель HTML не та, что у текстового процессора персонального компьютера. Представьте себе, что вы - один из сотрудников швейцарского банка (или ЦЕРНа - Европейского центра ядерных исследований) и хотите изобрести метод кодирования сложных гипермедиа- документов, в котором основное внимание было бы сосредоточено не на внешнем виде документа, а на его структуре. Вообразите, что такие документы должны восприниматься процессорами любой мыслимой архитектуры, операционными системами, сетями и устройствами массовой памяти разных видов. Предположим, что вы никак не можете предсказать возможности машины, на которой документ будет просматриваться или печататься, - ни минимальное разрешение экрана, ни число цветов, ни ассортимент шрифтов. При таких ограничениях скорее всего у вас получится что-нибудь весьма похожее на HTML.
Html: общие сведения.
Команды форматирования языка HTML, называемые управляющими кодами (tag), представляют собой просто зарезервированные последовательности символов, начинающиеся с < (знака меньше) и заканчивающиеся > (знаком больше). Управляющие коды HTML нечувствительны к регистру в отличие от escape-последовательностей специальных символов HTML (к которым мы вернемся позже). В большинстве случаев управляющие коды используются симметричными парами, при этом завершающий код отличается от открывающего символом / (знак дроби). Например, если у нас есть гипотетический атрибут форматирования текста, управляемый кодом <X>, и мы хотим применить его к словам "Это мой текст", HTML-последовательность кодов и собственно текста будет выглядеть так:
<X>Это мой текст</X>
Данная схема симметричных управляющих кодов во многом похожа на их использование в стандартном обобщенном языке разметки текста SGML (Standard Generalized Markup Language); и действительно, на разработчиков HTML сильно повлияло их знакомство с SGML. Однако HTML не младший брат SGML, это скорее его малость придурковатый кузен. HTML можно втиснуть в рамки определения типа документов (DTD) языка SGML, однако в нем реализованы все возможности, которые дает SGML. И это к лучшему, поскольку средства редактирования SGML по-прежнему можно найти главным образом на мощных рабочих станциях, а цена их такова, что побледнеет любой администратор сети персональных компьютеров.
Сейчас в World-Wide Web сосуществуют три различных версии или уровня HTML. Версии 0.9 или 1.0 (с ними совместима программа просмотра Mosaic, версия 1.0.3) в основном сосредоточиваются на управлении заголовками, списками и форматировании символов. Команды HTML, которые обсуждаются в этой статье, взяты в основном из версии 1.0; они легки в освоении и использовании, и на первые несколько месяцев вашей публикаторской деятельности в Web их, видимо, хватит. Для целей нашего обсуждения я разобью команды HTML 0.9/1.0 на восемь категорий:
-
команды структуры определяют документ HTML в целом и указывают начала и концы его логических частей;
-
команды форматирования текстового потока отмечают концы абзацев, принудительные переводы строки, заголовки, сдвинутый (indented) или предварительно сформатированный текст и т. п.;
-
команды форматирования заголовков обеспечивают оформление заголовков и подзаголовков шести различных уровней;
-
команды форматирования символов применяются к "физическому" или "логическому" стилю потока символов;
-
команды форматирования списков применяются для оформления списков нескольких видов;
-
escape-последовательности специальных символов используются для вывода на экран знаков, которых нет в наборе ASCII; символов, которых нет на клавиатуре автора текста; символов, которые были бы интерпретированы как команды HTML;
-
команды вставки графики определяют внешние файлы как графические ресурсы для вставки в текст документа и совместного их вывода программой просмотра Web;
-
команды связей (anchor) создают гипертекстовые связи или служат как отметки мест назначения для этих связей.
В версии 2.0 HTML, с которой совместимы такие программы просмотра Web второго поколения, как Netscape Navigator 1.0 или MacWeb фирмы EINet Galaxy, добавлены команды для меню и интерактивных форм. Варианты версии 2.0 Mosaic для Windows и Macintosh, которая должна стать первой версией, предусматривающей работу с формами, все еще проходят бета-тестирование, однако система Netscape так активно вытесняет Mosaic, что отставание группы разработки системы Mosaic уже мало кого волнует. Преобладание Netscape Navigator 1.0 означает, что можно смело гарантировать - пользователя будет доступ к операциям с формами и вы можете свободно использовать команды форм в документах HTML.
Версия 3.0 HTML, работа над которой еще не закончена, предусматривает (среди многого другого) растровые изображения фона и богатый набор команд для форматирования таблиц. В пакете Netscape Navigator 1.1, который в момент написания этой статьи проходил бета-тестирование, реализованы многие функции предлагаемой спецификации HTML 3.0. Подробнее о командах HTML 2.0 и 3.0 мы расскажем в следующих статьях.