Re: Версия 2006.2
Пользователь:
Alio (IP-адрес скрыт)
Дата: 10, January, 2007 18:20
Обеспечена возможность (только для ИРБИС64) хранить внутренние двоичные ресурсы (объекты), т.е. двоичные данные внутри документа, и ссылаться на них.
В каких случаях эта возможность может быть использована:
1. Могут быть такие объекты (например, графические данные, звук и т.п.), которые должны оставаться НЕОТЪЕМЛЕМОЙ частью документа, т.е. портироваться (копироваться, импортироваться, экспортироваться) вместе с ним. (на основе внешних объектов - 951 поле - это сделать затруднительно)
2. Может возникнуть необходимость вывода двоичных данных (картинки) ВНУТРИ КОНТЕКСТА (внутри поля/подполя) - сделать это с помщью внешнего объекта также затруднительно и неудобно (а то и невозможно). Например. Внутри заглавия есть сложная математическая или химическая формула (никаким UNICODE ее не ввести) - как ее ввести и потом отображать? Следующим образом: формула сканируется, т.е превращается в графический объект; данный объект ВВОДИТСЯ в документ как внутренний; в нужном месте заглавия ВВОДИТСЯ команда (см. ниже), ссылающаяся на соотвествующий внутренний объект.
Как вводить двоичные ресурсы?
Для хранения таких данных в документе предусматривается специальное поле (по умолчанию 953 - параметрируется через параметр TagInternalResource в секции [MAIN] серверного INI-файла). Ввод в данное поле предлагается в РЛ на странице ТЕХНОЛОГИЯ. Поле повторяющееся - каждое повторение содержит один двоичный ресурс. Поле содержит два подполя: A - тип внутреннего ресурса; B - собственно ресурс. Для ввода поля предусмотрен вложенный РЛ 953.wss.
Тип внутреннего ресурса (подполе А) совпадает с типом (расширением) соотвествующего файла. В настоящее время поддерживаются следующие типы ресурсов: BMP,JPG,GIF - т.е. только графические ресурсы. Для ввода типов ресурсов предусмотрен справочник 953.mnu.
Для ввода собственно двоичного ресурса (подполе В) используется метод ввода 12 - ВВОД ИЗ ВНЕШНЕГО ФАЙЛА - с опцией 3 (ВВОД ДВОИЧНЫХ РЕСУРСОВ), при этом можно указывать маску для выбираемых файлов. При вводе указанного файла АВТОМАТИЧЕСКИ переносится его расширение в подполе А. Возможен ввод двоичного ресурса через БУФЕР ОБМЕНА Windows - в том случае, если таковым является графические данные в формате BMP. Умалчиваемым типом двоичного ресурса (т.е. если подполе А пустое) является BMP.
Двоичные ресурсы хранятся в текстовом формате (т.е. подвергаются специальной кодировке, чтобы исключить НЕДОПУСТИМЫЕ с точки зрения ИРБИС символы).
Как выводить (отображать) двоичные ресурсы в форматах показа (имеются в виду ТОЛЬКО HTML-форматы)?
ПЕРВЫЙ СПОСОБ: (наиболее удобный) в нужное место документа/поля/подполя (результат расформатирования) вводится команда в виде
[[N]]
где N - номер двоичного (внутреннего) ресурса в документе, т.е. номер соответствующего повторения поля 953 (начиная с 1)
Данный способ является единственно возможным в случае, когда место расположения двоичного ресурса НЕ МОЖЕТ БЫТЬ предусмотрено в формате. Например, сложная математическая или химическая формула в заглавии. В этом случае команда вывода двоичного ресурса вводится непосредственно в заглавие
#200: ^A<часть заглавия до формулы> [[1]] <часть заглавия после формулы>
при этом двоичный ресурс с изображением формулы вводится в качестве первого повторения поля 953.
Команда вывода двоичного ресурса также может формироваться с помощью формата. Например:
(if p(v953) then '[[',&uf('+90'),']]<br>' fi)
(для пояснения - &uf('+90') - номер текущего повторения)
ВТОРОЙ СПОСОБ: использование ИРБИС-тэга (см. описание ИРБИС-Навигатора)
<IRBIS TYPE="1" VALUE="dbname,mfn,numb">
dbname - имя БД (по умолчанию - текущая)
mfn - внутренний номер док-та
numb - номер двоичного ресурса в документе
В этом случае указанный выше формат будет иметь вид:
(if p(v953) then '<IRBIS TYPE="1" VALUE=",',mfn,',',&uf('+90'),'"><br>' fi)
ТРЕТИЙ СПОСОБ: (только для графических ресурсов - каковые в настоящее время являются единственно возможными для непосредственного отображения в формате) используется IMG-тэг с ИРБИС-ссылкой (см. описание ИРБИС-Навигатора)
<IMG SRC=”IRBIS:12,dbname,mfn,numb”>
В этом случае указанный выше формат будет иметь вид:
(if p(v953) then '<IMG SRC="IRBIS:12,,',mfn,',',&uf('+90'),'"><br>' fi)
Также есть возможность НЕ отображать двоичный ресурс, а формировать на него ссылку. В этом случае используется ИРБИС-ссылка с командой 3 (см. описание ИРБИС-Навигатора)
Данный формат будет формировать ссылки на все двоичные ресурсы док-та:
(if p(v953) then '<A HREF="IRBIS:3,12,,',mfn,',',&uf('+90'),'">Ссылка ',&uf('+90'),'</A><br>' fi)
В дальнейшем будет обеспечена поддержка других типов внутренних двоичных ресурсов (звук, видео и т.д.)
Редактировано 6 раз. Последний раз 19.01.2007 11:25 пользователем Alio.