Форматер электронных документов позволяет создать из одного или нескольких 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 ссылок на них.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.