Обзор: Внешние объекты и Внутренние двоичные объекты в ИРБИС
Пользователь:
Alio (IP-адрес скрыт)
Дата: 11, August, 2008 15:16
Обзор: Внешние объекты и Внутренние двоичные объекты в ИРБИС
Внешние объекты
ИРБИС предлагает возможность связывать документы БД с внешними объектами – каковыми могут быть любые файловые ресурсы или Интернет-ресурсы.
Для описания ссылок на внешние объекты в БД электронного каталога предлагается специальное поле - по умолчанию метка 951 (на странице РЛ ТЕХНОЛОГИЯ)
Поле 951 повторяющееся - это значит, что одно описание (документ) может иметь несколько внешних объектов. Одно повторение поля 951 описывает один внешний объект. Для описания одного внешнего объекта предлагается три подполя:
- А - имя файла внешнего объекта;
- I - URL внешнего объекта;
- Т - название внешнего объекта на естественном языке.
Подполя А и I являются АЛЬТЕРНАТИВНЫМИ, т.е. заполнение обоих подполей в одном повторении НЕ ИМЕЕТ СМЫСЛА, должно быть ОБЯЗАТЕЛЬНО заполнено одно из них.
Подполе А. используется в тех случаях, когда внешний объект (файл) находится в директории, которая указывается в 11 строке файла \IRBIS64\DATAI\<имя_БД>.par (например - ^ASampleFile.pdf).
Данный способ описания внешнего объекта (через подполе А) является ПРЕДПОЧТИТЕЛЬНЫМ.
Подполе I используется в тех случаях, когда внешний объект может быть определен только через абсолютный адрес:
- или URL - и в этом случае он же и указывается (например - ^Ihttp://www.gpntb.ru)
- или полный путь, включающий имя компьютера (например - ^I\\ALIO\c\111\222\мой_доклад.doc).
В ПОСЛЕДНЕМ СЛУЧАЕ (когда указывается полный путь) ВОЗНИКНУТ ПРОБЛЕМЫ ПРИ ПОКАЗЕ ВНЕШНЕГО ОБЪЕКТА через Web - которые необходимо решать с помощью специальной корректировки форматов показа.
ВАЖНОЕ ЗАМЕЧАНИЕ: Если внешним объектом является HTML-файл, в котором внутри присутствуют ссылки на ОТНОСИТЕЛЬНЫЕ URL, такой внешний объект может быть описан ТОЛЬКО через 951^I
В форматах показа внешние объекты отображаются в виде ссылок. Для этого предлагаются соответствующие конструкции языка форматирования: для RTF-форматов - &uf(‘+I…); для HTML-форматов – ИРБИС-ссылки (<A HREF=”IRBIS:3,path,dbname,filename”…>). Подробнее об этом – см. в описании Языка форматирования (Приложение 4 Общего описания)
Внутренние двоичные ресурсы
ИРБИС (только ИРБИС64) предлагает возможность хранить внутри документов двоичные ресурсы и представлять их (ссылаться на них) в выходных формах (через форматы показа).
Данная возможность может быть использована в следующих случаях:
а) Двоичные ресурсы (например, графические данные, видео, звук и т.п.) должны оставаться НЕОТЪЕМЛЕМОЙ частью документа, т.е. портироваться (копироваться, импортироваться, экспортироваться) вместе с ним (на основе внешних объектов это сделать затруднительно);
б) Двоичный ресурс находится ВНУТРИ КОНТЕКСТА (внутри поля/подполя). Например: внутри заглавия есть сложная математическая или химическая формула (которую с помощью UNICODE не ввести) - как ее ввести и потом отображать? С помощью внутреннего двоичного ресурса это можно сделать следующим образом: формула сканируется, т.е превращается в графический ресурс (файл), затем данный ресурс ВВОДИТСЯ в документ как внутренний, после чего в нужном месте заглавия ВВОДИТСЯ команда (см. ниже), ссылающаяся на соотвествующий внутренний ресурс.
Как вводить в документ двоичные ресурсы?
Для хранения таких данных в документе предусматривается специальное поле (по умолчанию 953 - параметрируется через параметр TagInternalResource в секции [MAIN] серверного INI-файла). Ввод в данное поле (для БД электронного каталога) предлагается в РЛ на странице ТЕХНОЛОГИЯ. Поле – повторяющееся, каждое повторение содержит один двоичный ресурс. Поле содержит четыре подполя:
- A - тип внутреннего ресурса;
- Т – название двоичного ресурса;
- P – характер ресурса;
- B - собственно ресурс.
Для ввода поля предусмотрен вложенный РЛ - 953.wss. Тип внутреннего ресурса (подполе А) совпадает с типом (расширением) соотвествующего файла. Для ввода типов ресурсов предусмотрен справочник 953.mnu. Для ввода собственно двоичного ресурса (подполе В) используется метод ввода 12 - ВВОД ИЗ ВНЕШНЕГО ФАЙЛА - с опцией 3 (ВВОД ДВОИЧНЫХ РЕСУРСОВ – см. подробнее в Приложении 8 Общего описания), при этом можно указывать маску для выбираемых в качестве двоичного ресурса файлов при обзоре (через запятую после опции 3). При вводе указанного файла АВТОМАТИЧЕСКИ переносится его расширение в подполе А. Возможен ввод двоичного ресурса через БУФЕР ОБМЕНА Windows - в том случае, если таковым являются графические данные в формате BMP. Умалчиваемым типом двоичного ресурса (т.е. если подполе А пустое) является BMP. Двоичные ресурсы хранятся в документе в текстовом формате (т.е. подвергаются специальной кодировке, чтобы исключить НЕДОПУСТИМЫЕ с точки зрения ИРБИС символы). В подполе Р (характер ресурса) можно указать, является ли двоичный ресурс контекстным (т.е. является частью некоего поля/подполя) или независимым (внеконтекстным – например, фотография читателя).
Как выводить (отображать) двоичные ресурсы в форматах показа?
Прежде всего необходимо отметить, что это возможно ТОЛЬКО в HTML-форматах!
Предлагаются следующие способы отображения внутренних двоичных ресурсов:
ПЕРВЫЙ СПОСОБ: (наиболее удобный) в нужное место документа вводится (т.е. собственно в поле/подполе документа или через формат в результат расформатирования) команда в виде:
[[N]]
где N - номер внутреннего двоичного ресурса в документе, т.е. номер соответствующего повторения поля 953 (начиная с 1).
Данный способ является единственно возможным в случае, когда место расположения двоичного ресурса НЕ МОЖЕТ БЫТЬ предусмотрено в формате. Например, сложная математическая или химическая формула внутри заглавия конкретного документа. В этом случае команда вывода двоичного ресурса вводится непосредственно в заглавие:
#200: ^A<часть заглавия до формулы> [[1]] <часть заглавия после формулы>
при этом собственно двоичный ресурс с изображением формулы вводится в качестве первого повторения поля 953.
Команда вывода двоичного ресурса также может формироваться с помощью формата. Например:
(if p(v953) then '[[',&uf('+90'),']]<br>' 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'),'"><br>' 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'),'"><br>' fi)
Также есть возможность НЕ ОТОБРАЖАТЬ НЕПОСРЕДСТВЕННО двоичный ресурс, а формировать на него ссылку. В этом случае используется ИРБИС-ссылка с командой 3 (см. описание ИРБИС-Навигатора - \IRBIS64\Datai\Deposit\Irbis_Navigator_Help0.html)
Приведенный ниже формат будет формировать ссылки на все двоичные ресурсы док-та:
(if p(v953) then '<A HREF="IRBIS:3,12,,',mfn,',',&uf('+90'),'">’,v953^T ,'</A><br>' fi)
Кроме графических ресурсов (BMP, GIF, JPG) в качестве внутренних двоичных ресурсов можно использовать ЛЮБЫЕ другие, но в форматах показа на них можно ТОЛЬКО ссылаться (т.е. использовать форматную конструкцию, приведенную выше).
В качестве внутренних двоичных ресурсов имеет смысл использовать НЕБОЛЬШИЕ ресурсы. (Если это полный текст книги, то его лучше использовать как внешний объект).
При корректировке внутренних двоичных ресурсов (т.е. при корректировке/добавлении поля 953) их актуальное представление в формате показа АРМа Каталогизатор осуществляется ТОЛЬКО после сохранения документа.
Предлагается специальный форматный выход (UNIFOR), который сохраняет заданный внутренний ресурс в заданном файле - &uf('+9DNN#<полный путь>'), где NN - номер внутреннего двоичного ресурса в текущей записи.
ОСОБЫЙ СЛУЧАЙ - представление внутренних двоичных ресурсов при работе через Web. В этом случае для представления внутренних двоичных ресурсов можно использовать ТОЛЬКО соответствующие команды шлюза (см. описание Web-ИРБИС).
Самыми очевидными примерами внутренних двоичных ресурсов могут быть сканированные обложки редких книг (в БД электронного каталога) и фотографии читателей (в БД читателей RDR).
Редактировано 4 раз. Последний раз 16.09.2015 13:42 пользователем Alio.