Форматер электронных документов. Сбор и форматирование терминов

Страницы работы

Содержание работы

Форматер электронных документов

Форматер электронных документов позволяет создать из одного или нескольких WORD-документов систему взаимосвязанных HTML-документов с общим алфавитным и предметным указателями.

-  сам форматер и база данных форматируемых документов реализованы в MS ACCESS;

-  форматер готовит пассивные HTML-документы, не имеющие программируемой серверной компоненты, поэтому они могут быть использованы автономно при наличии только браузера;

-  форматер разбивает исходный документ на HTML-страницы в соответствии с рубрикацией по главам, разделам и подразделам. Содержимое каждого раздела и подраздела форматируется в отдельную страницу. Все страницы связаны ссылами “вверх-вниз”;

-   форматер ведет базу данных терминов. На ее основе создается алфавитный указатель. В форматируемых документах создаются ссылки на алфавитный указатель.

Формат входных документов

Входные документы, представленные в RTF-формате, должны быть расположены в одном каталоге. При этом обеспечивается поддержка взаимных ссылок на термины. Допускается наличие таблиц, не содержащих объединенные ячейки (то есть обычных прямоугольных). База данных содержит таблицу СТИЛИ, в которой находится список форматируемых стилей и соответствующих им тегов HTML. Абзацы, выполненные другими стилями, игнорируются. Форматер объединяет последовательность абзацев, выполненных одним стилем, в один общий тэг. Первоначально в форматере установлены следующие стили:

Стиль

Назначение

заголовок 1;

Заголовок уровня 1

заголовок 2;

Заголовок уровня 2

заголовок 3;

Заголовок уровня 3

текст;

Обычный форматируемый текст с отступом

от края;

Обычный форматируемый текст без отступа

определение;

Определение – выделено цветом и шрифтом

основной шрифт абзаца;

программа;

Форматируемая по правилам синтаксиса Си-программа

список 1;

Перечисление (ненумеровнный список) с “точкой”

список;

Перечисление (список) без “точки”

без формата;

Неформатируемый фрагмент (как есть)

стихи;

Неформатируемый фрагмент (как есть)

эпиграф;

Выровнен по левому краю, выполнен курсивом

обычный;

Сбор и форматирование терминов

База данных поддерживает таблицы слов (СЛОВА) и терминов (ТЕРМИНЫ). В таблице слов фиксируются основы (без суффиксов и окончаний) всех слов, которые встречаются в документах. В таблицу терминов помещается информация о терминах и ссылках, которые затем попадают в алфавитный и тематический  указатели:

Термины представляют собой первичную справочную информацию. К ним относятся:

Отдельные слова, выделенные вручную в таблице слов (постоянные слова);

Заголовки глав, разделов и подразделов;

Названия Си-программ (раздел, в котором они встречаются);

Названия таблиц (раздел, в котором они встречаются);

Последовательности слов, выделенные прописными буквами;

Последовательности слов, выделенные жирным шрифтом;

Последовательности слов, выделенные угловыми скобками;

Постоянные слова, встречающиеся  в документах;

Отдельные слова, выделенные из многословных терминов.

ССЫЛКИ представляют собой вторичную справочную информацию. Ссылками являются все упоминания терминов во всех документах. При обнаружении ссылки форматер помещает HTML-ссылку на первое слово алфавитного указателя.

Форматирование Си-программ

Текст, выполненный в стиле “Программа”, рассматривается как фрагмент Си-программы и переформатируется особым образом путем формирования отступов, соответствующих уровню вложенных скобок “{}” и также отдельных оператов, если они являются телом операторов if и for. Если же фрагмент начинается с комментария вида “//---------------------------”, то он дополнительно копируется в виде  файла с расширением “.cpp” в подкаталог EXAMPLES выходного каталога и ему присваивается очередное имя вида <файл документа>-nnn.cpp. В форматируемом тексте на нее ставится ссылка. Данные о программе заносятся также в таблицы ПРОГРАММЫ и ТЕРМИНЫ.

Форматирование таблиц

Форматер распознает прямоугольные таблицы, не содержащие объединенных ячеек. Кроме обычного переформатирования он заносит при ПРОХОДЕ0 данные о ней в таблицу ТЕРМИНЫ (метку и имя раздела, в котором она встречается), а при ПРОХОДЕ1  заполняет таблицы ТАБЛИЦЫ И ДАННЫЕ. В первую он заносит имена и метки самой таблицы и ее заголовков (ячейки первой строки и первого столбца). Во вторую – содержимое всех остальных ячеек таблицы.

Форматирование группы документов

Форматирование может выполняться как для отдельного документа, так и для всех файлов выбранного каталога. В этом случае просмотр файлов выполняется в алфавитном порядке. В обоих случаях создается страница, содержащая текст 0-го уровня вложенности и ссылки на страницы глав документа. Его имя совпадает с именем первого форматируемого файла. Имя файла HTML-страницы состоит из имени файла исходного документа и последовательного номера главы, раздела или параграфа, полученного в процессе форматирования.

Создание алфавитного и тематического каталогов

После выполнения 1-го и 2-го проходов форматирования база данных содержит информацию о всех терминах. Отдельная операция ЭКСПОРТ БД создает HTML-страницы алфавитного указателя по одной странице на каждую букву и общий файл алфавитного указателя _termins.htm. Процедуры создания тематического каталога находятся в стадии разработки.

Резюме

Основная проблема, с которой сталкиваются при работе с документами большого объема – навигация по более-менее известному набору терминов. Предлагаемый форматер позволяет создавать приемлемые средства навигации естественным образом при подготовке исходного материала. В качестве примера можно привести электронный учебник по языку программирования Си: при наличии около 600 страниц исходного текста форматер выделяет около 3000 первичных терминов и около 3000 ссылок на них.

Похожие материалы

Информация о работе