Общие сведения


НАЧАЛО >> Оглавление >> Общее описание >> Язык форматирования ИРБИС >> Общие сведения


Язык форматирования ИРБИС (язык манипулирования данными) представляет собой средство, с помощью которого осуществляется разнообразное представление данных для многих операций и режимов системы, в частности, для показа и печати документов, для создания словарей, для импорта/экспорта данных, для формально-логического контроля и т.д.

Язык форматирования системы ИРБИС базируется на языке форматирования системы CDS/ISIS (ЮНЕСКО).

Форматом называют совокупность инструкций (команд, функций и т.п.), записанных на языке форматирования.

Файл формата – основная структурная единица, служащая для организации программного кода на языке форматирования. Представляет собой текстовый файл с расширением .pft, содержащий формат.

Формат может быть выполнен в контексте записи базы данных, и результатом выполнения является текстовое (строковое) значение, которое затем может использоваться системой ИРБИС для выполнения определенных функций.

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

Для понимания языка форматирования необходимо быть знакомым с такими понятиями как:

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

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

Все команды форматирования могут вводиться прописными или строчными буквами или их комбинацией.

В форматах могут присутствовать комментарии. Признаком начала ком-ментария является комбинация символов /*. В качестве комментария принимается часть строки от признака начала комментария до конца строки.

Формат как отдельная структура сохраняется в текстовом файле с расширением pft.

Выполнение формата

Форматёр

Форматёр – программный модуль, реализующий набор функций для обработки данных с использованием языка форматирования.

В системе ИРБИС 64 присутствует несколько реализаций форматёра:

Клиентский форматёр используется клиентскими приложениями.

Серверный форматёр используется:

Контекст форматёра

Значения глобальных переменных хранятся в конкретном запущенном экземпляре форматёра. Таким образом, область видимости переменных оказывается в непосредственной связи с экземпляром форматёра:

Например:

В серверном АРМ Администратор с момента запуска и до закрытия приложения будет использоваться один экземпляр форматёра, соответственно для всех выполняемых данным АРМ форматов будет один набор глобальных переменных.

Для любого клиентского АРМ будет использоваться один экземпляр клиентского форматёра.

В тех случаях, когда клиентское АРМ передаёт форматы на исполнение серверному форматёру, запросы на исполнение форматов могут выполняться разными экземплярами форматёра.

Таким образом, в контексте выполнения формата нельзя рассчитывать на то, что до присвоения глобальным переменным каких либо значений они будут пустыми.

Кодировка

Формат может начинаться с маркера кодировки UTF-8, в качестве данного маркера служит восклицательный знак.

Если формат начинается с восклицательного знака, то система ИРБИС при чтении данного формата будет использовать кодировку UTF-8, в противном случае Windows-1251.

Этот же механизм используется и при вставке формата внутри фрейма.

Запись в базе данных, используемая в примерах

Если не оговорено противное, то все примеры по форматированию в последующих разделах ссылаются на запись, приведенную ниже, в которой поля даны точно в том виде, в каком они занесены в запись. Эта запись взята из базы данных IBIS, поставляемой в дистрибутивном варианте системы в качестве учебной.

MFN: 34
600:  ^AСухой П.О.^Bо нем
215:  ^a383^cил.24л
920:  PAZK
999:  0000000
907:  ^A19941123^bdsm
964:  78.09.19
10:  ^a5-203-01472-8^dЦ.договор.
101:  rus
102:  RU
900:  ^b05^c22
210:  ^cВоенное изд-во^aМ.^d1993
700:  ^aКузьмина^bЛ.М.
675:  623.746
675:  623.746(092) Сухой П.О.
908:  К89
903:  623.746/К89-239165
910:  ^A0^BЭ93-18430^C19930830^Dхр
910:  ^A2^Dхр
200:  ^aКонструктор