next up previous contents
Next: Модель представления документов Up: Модель распределенной виртуальной среды Previous: Мультистилевые информационные системы   Contents

Модель создания документов

Рассмотрим ВПД-функцию $c_\gamma$, которая определяет процедуру составления внутреннего представления документа по данному кортежу параметров. В скриптовых системах она может реализовываться с помощью серверных скриптов (Perl, PHP, ASP, JSP, Servlets) как программный алгоритм, который формирует образ документа как последовательность символов, удовлетворяющих требуемому формату. Автор видит такой подход неконструктивным, поскольку такие скрипты обычно оперируют символьными данными, а не информационными объектами.

Определение. Для каждой коллекции $\gamma \in \Gamma$ в языке внутренних представлений документов выделим элемент $p_\gamma \in L_{\phi_{int}}$, который назовем информационным шаблоном.

Определение. Трансформер контента -- это функция $tr: {\cal A}^n \times L_{\phi_{int}} \rightarrow L_{\phi_{int}}$.

Определение. Функция наполнения есть $f_\gamma(\alpha, p_\gamma) = tr_{n_\gamma}(\alpha, tr_{n_\gamma-1}(\alpha,...tr_1(\alpha,p_\gamma)...))$ такая, что $c_\gamma(\alpha) = f_\gamma (\alpha,p_\gamma)$ $\forall \alpha \in {\cal A}^n$.

Информационный шаблон описывает базовую структуру документа, которая обрабатывается и заполняется реальными данными функцией наполнения. Функция наполнения является композицией трансформеров контента, каждый из которых является логически независимым преобразованием шаблона. Для преобразования ВПД трансформер использует параметры запроса $\alpha$ и инструкции -- фрагменты информационного шаблона, специфицирующие деятельность того или иного трансформера.

Figure: Модель создания образов документов
\includegraphics[scale=0.7]{ris/is_model.eps}

На рисунке 3 графически изображена предложенная модель создания образов документов. При поступлении запросов система выбирает соответствующий информационный шаблон $p_\gamma$, набор трансформеров $tr_1,... tr_{n_\gamma}$ и функцию стиля $s_{\gamma,\phi}$ для требуемого формата документов $\phi$. На первом этапе к шаблону последовательно применяются трансформеры, которые изменяют его, наполняя специфичной для этого документа информацией. В результате будет получено внутреннее представление документа (т.е. образ документа в формате $\phi_{int}$), которое согласно выбранному стилю будет преобразовано к конечному требуемому формату $\phi$.

Определение. Шаблонной мультистилевой информационной системой называется шестерка

\begin{displaymath}is_{PM} = \langle \Gamma, P, Tr, S, \Phi, {\cal A}^n \rangle,\end{displaymath}

где $P = \{p_\gamma\}_{\gamma \in \Gamma}$ -- множество информационных шаблонов, $Tr = \{tr_{\gamma,i}\}_{i=1..N_\gamma, \gamma \in \Gamma}$ -- множество трансформеров для каждой коллекции.

Очевидно, шаблонная мультистилевая информационная система является мультистилевой системой (т.е. $IS_{PM} \subset IS_M$) и, следовательно, наследует все ее характеристики, о которых говорилось ранее. Прежде чем понять какими еще свойствами обладают такие системы, рассмотрим подробнее, что представляют собой трансформеры.

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

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

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

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

2. При автоматическом создании почти всех электронных документов происходит обращение к хранилищу данных. В определенном смысле, информационные системы являются посредником между недоступной напрямую базой данных и интернет-пользователями. Поэтому центральное место в реализации модели информационных систем должен занимать трансформер взаимодействия с хранилищами данных. Заметим, что в роли хранилища могут выступать не только традиционные реляционные базы данных, но и файловые архивы, сервера Z39.50, каталоги LDAP, различные сервисы.

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

3. В качестве еще одного примера можно привести трансформер обработки условий, который реализует логическую обработку содержаний на самом примитивном уровне. Он может функционировать на основе трансформера подстановки, заменяя инструкции на данные, в зависимости от выполнения или невыполнения указанного условия. Кроме того, трансформер может удалять фрагменты содержания, которые не должны присутствовать в данном документе при выполнении определенного условия.

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

Предложенная модель обладает некоторыми дополнительными положительными характеристиками:

Для оценки практической применимости предложенной модели было принято решение о создании системы-прототипа SMART (System for Managing Application based on RDF Technology). В его задачу входила реализация функций веб-сервера, который при поступлении клиентского запроса должен инициировать процесс создания образа документа на основе модели шаблонных мультистилевых информационных систем, по завершении которого полученный образ должен быть отправлен запросившему его пользователю (см. [24]).

В качестве пробного проекта была реализован прототип пользовательской части уже существующей Информационной системы ``Конференции''(см. стр. [*]), которая в настоящее время находится по адресу http://www.nsc.ru/ws/.