Языки представления документов

Документы представляют собой информацию, зафиксированную на каком-либо материальном носителе (данные). Свойства носителя данных определяют и способы представления информации на данном носителе и ее свойства. В информационных системах информация записывается в машинной памяти компьютеров в формализованном закодированном виде. Для автоматизации работы с данными, в том числе документальными, очень важно унифицировать форму их представления. Существует несколько уровней формализации представления данных и документов.

Нас в первую очередь интересуют языки представления документов в ИПС. На протяжении длительного времени в каждой поисковой системе придумывались свои способы структурирования документов и формализованной записи этой структуры. Далее эти «формализмы» переносились на машинный носитель, кодировались в соответствии с типом компьютера и операционной системы, и программы обработки всегда разрабатывались под данный формат. Одновременно с развитием автоматизированных систем и увеличением их многообразия на всех уровнях наблюдается тенденция к стандартизации способов и средств работы с данными. Это всецело касается и электронных документов. В настоящее время они представляются в следующих основных форматах:

просто текст (структурированный и неструктурированный) (ISO 646 – стандарт Международной организации по стандартизации);

текст на языке SGML (ISO 8879, ISO 12083);

текст на языке HTML;

ODA-текст (ISO 8613) (Open Document Architecture);

графические образы страниц (в кодировке CCITT Group 3/Group4 Facsimile или другой);

PostScript-файлы;

PDF-файлы (Portable Document Format – стандарт фирмы Adobe, Inc.);

мультимедийные многосоставные документы, содержащие как текстовые, так и нетекстовые компоненты (графика, аудио, видео).

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

Характерная черта последних десятилетий – децентрализация создания, обработки и использования электронных документов и баз данных. Поэтому очень важно, чтобы документы, созданные в одном месте, были «поняты», т.е. обработаны, в другом. Особенно явно это проявилось с появлением сети Интернет. Подготовка документов, их размещение в сети, создание поисковых баз данных, поиск – все эти процессы, как правило, выполняются разными людьми или организациями. Рассматривая сеть Интернет как глобальное информационное пространство, дадим здесь характеристику языковых средств представления и описания документов в сети.

Для представления документов в Интернет-пространстве более всего используется семейство языков, являющихся подмножеством стандарта ISO 8879 (SGML): HTML (HyperText Markup Language – язык гипертекстовой разметки) и XML (eXtensible Markup Language – язык расширенной разметки).

В 1969 году Чарльз Гольдфарб (компания IBM), создал прототип языка для разметки технической документации (GML, затем SGML (Standard Generalized Markup Language – стандартный язык обобщенной разметки)). Язык SGML в 1986 году был принят Международной организацией по стандартизации (ISO) как стандарт ISO 8879. Это обобщенный метаязык, предназначенный для построения систем логической, структурной разметки любых разновидностей текстов. Слово «структурная» означает, что управляющие коды, вносимые в текст при такой разметке, не несут никакой информации о внешнем виде документа, а лишь указывают границы и соподчинение его составных частей, т.е. задают его логическую структуру.

Создатели SGML стремились максимально абстрагироваться от проблем представления электронного текста в разных программах, на разных компьютерных платформах и устройствах вывода. Так, если с помощью SGML размечается документ, содержащий заголовки, то идеология языка запрещает указывать, как должны показываться тот или иной заголовок. SGML в таком случае требует ограничиться указанием на уровень заголовка и его место в иерархической структуре документа. Благодаря таким ограничениям, размеченный текст может быть интерпретирован любой программой, работающей с любым устройством вывода. К примеру, при работе в графическом интерфейсе заголовок может действительно выводиться полужирным шрифтом повышенного кегля; программа, использующая текстовый интерфейс, выделит его пустой строкой сверху и снизу и, возможно, повышенной яркостью символов; синтезатор речи, читающий документ вслух, сможет отметить заголовок паузой и изменением интонации.

Однако абстрактность SGML этим не исчерпывается. SGML представляет собой не готовую систему разметки текста, а лишь удобный метаязык, позволяющий строить такие системы для конкретных применений. Стандарт SGML определяет лишь синтаксис записи элементов разметки – тегов (англ. tag – метка, ярлык) – и их атрибутов, а также правила определения новых тегов и указания структурных отношений между ними. Для практической же разметки документов нужно приложение SGML – набор определенных в соответствии со стандартом тегов, представляющий собой, по сути, формальное описание структуры документа в конкретной предметной области, и средства и методы их интерпретации.

В 1991 г. сотрудники Европейского центра ядерных исследований (CERN) выбрали SGML в качестве основы для нового языка разметки гипертекстовых документов в сети Интернет – HTML (руководил проектом Тим Бернерс-Ли (Tim Berners-Lee)). Изначально HTML, как и положено SGML-приложению, разделял все особенности идеологии SGML. В апреле 1994 г. началась подготовка спецификации следующей версии языка – версии 2.0. Этим занялся образованный в том же году Консорциум WWW (W3 Consortium, сокращенно W3C) (http://www.w3.org/pub/WWW). В настоящий момент консорциум, имеющий статус «международной некоммерческой организации», объединяет свыше 150 организаций-членов, в том числе фирмы Netscape, Microsoft и множество других. В марте 1995 г., началась работа над проектом HTML 3, который был попыткой разрешить уже достаточно очевидное к тому времени противоречие между идеологией структурной разметки и потребностями пользователей, заинтересованных, в первую очередь, в гибких и богатых возможностях визуального представления. Авторы версии 3 ввели в нее поддержку нового средства – так называемых иерархических таблиц стилей (Cascading Style Sheets, CSS) (http://www.w3.org/pub/WWW/TR/REC-CSS1/). Система CSS формально независима от HTML, имеет совершенно иной синтаксис и позволяет, уже в совершенно иных терминах, задавать параметры визуального представления для любого тега HTML. Достигнуто это было не введением новых тегов, а разработкой механизма, позволяющего влиять на интерпретацию уже существующих тегов логической разметки, причем с учетом контекста его употребления. Программы-интерпретаторы с текстовым интерфейсом или с синтезатором речи смогут с легкостью проигнорировать эту дополнительную информацию и использовать для оформления свои обычные средства. Проект HTML 3 по ходу дела превратился в HTML 3.2, и в январе 1997г. спецификация HTML 3.2 была утверждена. Затем появился HTML версии 4.0. Одно из новшеств HTML 4 – это объявление в качестве «стандартной кодировки» двухбайтовой кодировки UNICODE. Стандарт допускает использование авторами веб-документов других кодировок, однако «внутри себя», разбирая синтаксис документа, программа-интерпретатор обязана перекодировать его из внешней кодировки в UNICODE.

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

Будущее всемирного информационного пространства связано, видимо, с языком XML. Этот язык можно рассматривать как своего рода возврат к SGML и к принципам структурной разметки.