Документация:ИРБИС64:Приложение 13
Система предлагает возможность хранить внутри документов двоичные ресурсы и представлять их (ссылаться на них) в выходных формах (через форматы показа).
Данная возможность может быть использована в следующих случаях:
а) Двоичные ресурсы (например, графические данные, видео, звук и т.п.) должны оставаться НЕОТЪЕМЛЕМОЙ частью документа, т.е. портироваться (копироваться, импортироваться, экспортироваться) вместе с ним (на основе внешних объектов – см. Приложение 14 - это сделать затруднительно);
б) Двоичный ресурс находится ВНУТРИ КОНТЕКСТА (внутри поля/подполя). Например: внутри заглавия есть сложная математическая или химическая формула (которую с помощью UNICODE не ввести) - как ее ввести и потом отображать? С помощью внутреннего двоичного ресурса это можно сделать следующим образом: формула сканируется, т.е превращается в графический ресурс (файл), затем данный ресурс ВВОДИТСЯ в документ как внутренний, после чего в нужном месте заглавия ВВОДИТСЯ команда (см. ниже), ссылающаяся на соотвествующий внутренний ресурс.
Как вводить в документ двоичные ресурсы?
Для хранения таких данных в документе предусматривается специальное поле (по умолчанию 953 - параметрируется через параметр TagInternalResource в секции [MAIN] серверного INI-файла). Ввод в данное поле (для БД электронного каталога) предлагается в РЛ на странице ТЕХНОЛОГИЯ. Поле – повторяющееся, каждое повторение содержит один двоичный ресурс. Поле содержит четыре подполя:
- A - тип внутреннего ресурса;
- Т – название двоичного ресурса;
- P – характер ресурса;
- B - собственно ресурс.
Для ввода поля предусмотрен вложенный РЛ - 953.wss. Тип внутреннего ресурса (подполе А) совпадает с типом (расширением) соотвествующего файла. Для ввода типов ресурсов предусмотрен справочник 953.mnu. Для ввода собственно двоичного ресурса (подполе В) используется метод ввода 12 - ВВОД ИЗ ВНЕШНЕГО ФАЙЛА - с опцией 3 (ВВОД ДВОИЧНЫХ РЕСУРСОВ – см. подробнее п.5 в Приложении 8), при этом можно указывать маску для выбираемых в качестве двоичного ресурса файлов при обзоре (через запятую после опции 3). При вводе указанного файла АВТОМАТИЧЕСКИ переносится его расширение в подполе А. Возможен ввод двоичного ресурса через БУФЕР ОБМЕНА Windows - в том случае, если таковым являются графические данные в формате BMP. Умалчиваемым типом двоичного ресурса (т.е. если подполе А пустое) является BMP. Двоичные ресурсы хранятся в документе в текстовом формате (т.е. подвергаются специальной кодировке, чтобы исключить НЕДОПУСТИМЫЕ с точки зрения ИРБИС символы). В подполе Р (характер ресурса) можно указать, является ли двоичный ресурс контекстным (т.е. является частью некоего поля/подполя) или независимым (внеконтекстным – например, фотография читателя).
Как выводить (отображать) двоичные ресурсы в форматах показа?
Прежде всего необходимо отметить, что это возможно ТОЛЬКО в HTML-форматах!
Предлагаются следующие способы отображения внутренних двоичных ресурсов:
ПЕРВЫЙ СПОСОБ: (наиболее удобный) в нужное место документа вводится (т.е. собственно в поле/подполе документа или через формат в результат расформатирования) команда в виде:
где N - номер внутреннего двоичного ресурса в документе, т.е. номер соответствующего повторения поля 953 (начиная с 1).
Данный способ является единственно возможным в случае, когда место расположения двоичного ресурса НЕ МОЖЕТ БЫТЬ предусмотрено в формате. Например, сложная математическая или химическая формула внутри заглавия конкретного документа. В этом случае команда вывода двоичного ресурса вводится непосредственно в заглавие:
- 200: ^A<часть заглавия до формулы> 1 <часть заглавия после формулы>
при этом собственно двоичный ресурс с изображением формулы вводится в качестве первого повторения поля 953.
Команда вывода двоичного ресурса также может формироваться с помощью формата. Например:
(if p(v953) then '',&uf('+90'),'
' fi)
(&uf('+90') - номер текущего повторения)
Данный способ отображения внутренних двоичных ресурсов - N - поддерживается ТОЛЬКО в форматах показа, которые ЯВНО помечены как HTML-форматы. ЯВНО ПОМЕЧЕННЫМ считается такой формат, который начинается с пустого тэга </> (который НИКАК не влияет на представление документа).
ВТОРОЙ СПОСОБ: использование ИРБИС-тэга (см. описание ИРБИС-Навигатора - \IRBIS64\Datai\Deposit\Irbis_Navigator_Help0.html)
<IRBIS TYPE="1" VALUE="dbname,mfn,numb">
dbname - имя БД (по умолчанию - текущая);
mfn - внутренний номер док-та;
numb - номер двоичного ресурса в документе (номер повторения поля 953).
В этом случае указанный выше в качестве примера формат будет иметь вид:
(if p(v953) then '<IRBIS TYPE="1" VALUE=",',mfn,',',&uf('+90'),'">
' fi)
ТРЕТИЙ СПОСОБ: (только для графических ресурсов) используется IMG-тэг с ИРБИС-ссылкой (см. описание ИРБИС-Навигатора - \IRBIS64\Datai\Deposit\Irbis_Navigator_Help0.html).
<IMG SRC=”IRBIS:12,dbname,mfn,numb”>
В этом случае указанный выше в качестве примера формат будет иметь вид:
(if p(v953) then '<IMG SRC="IRBIS:12,,',mfn,',',&uf('+90'),'">
' fi)
Также есть возможность НЕ ОТОБРАЖАТЬ НЕПОСРЕДСТВЕННО двоичный ресурс, а формировать на него ссылку. В этом случае используется ИРБИС-ссылка с командой 3 (см. описание ИРБИС-Навигатора - \IRBIS64\Datai\Deposit\Irbis_Navigator_Help0.html)
Приведенный ниже формат будет формировать ссылки на все двоичные ресурсы док-та:
(if p(v953) then '<A HREF="IRBIS:3,12,,',mfn,',',&uf('+90'),'">’,v953^T ,'</A>
' fi)
Кроме графических ресурсов (BMP, GIF, JPG) в качестве внутренних двоичных ресурсов можно использовать ЛЮБЫЕ другие, но в форматах показа на них можно ТОЛЬКО ссылаться (т.е. использовать форматную конструкцию, приведенную выше).
В качестве внутренних двоичных ресурсов имеет смысл использовать НЕБОЛЬШИЕ ресурсы. (Если это полный текст книги, то его лучше использовать как внешний объект – см. Приложение 14).
При корректировке внутренних двоичных ресурсов (т.е. при корректировке/добавлении поля 953) их актуальное представление в формате показа АРМа Каталогизатор осуществляется ТОЛЬКО после сохранения документа.
Предлагается специальный форматный выход (UNIFOR), который сохраняет заданный внутренний ресурс в заданном файле - &uf(+9DNN#<полный путь>), где NN - номер внутреннего двоичного ресурса в текущей записи.
ОСОБЫЙ СЛУЧАЙ - представление внутренних двоичных ресурсов при работе через Web. В этом случае для представления внутренних двоичных ресурсов можно использовать ТОЛЬКО соответствующие команды CGI (см. описание Web-ИРБИС).
Самыми очевидными примерами внутренних двоичных ресурсов могут быть сканированные обложки редких книг (в БД электронного каталога) и фотографии читателей (в БД читателей RDR).