Цитата:Константин Картузов
Вот такой формат:
'<Title>Web ИРБИС64 - ',&uf('+1R88'),' - ',v2226,'</Title>'
При запросе "Фромм, Э.", осуществленным нажатием на ФИО автора в описании приводит к такому результату:
Фонд НПБ - (<.>A=ФРОММ$<.>)
Насколько я могу понять, перед тобой стоит задача перевести запрос с языка запросов WEB ИРБИС в естественную форму. Я тоже сталкивался с подобной проблемой. Должен сразу заметить, что её решение в полном объёме – задача отнюдь не тривиальная. WEB ИРБИС позволяет создавать путём уточнения очень сложные вложенные запросы, расшифровать которые даже человеку может быть совсем непросто. Написание алгоритма «дешифратора» требует большого количества времени.
Разумеется, использовать для этой цели ИРБИС-скрипт нет никакого смысла. Он для этого не предназначен. Дешифровщик нужно писать или на Java Script, на PHP или на Delphi(чтобы подключать как библиотеку). Я на скорую руку написал Java Script дешифратор и он применяется(http://elib.nwpi.ru) у меня в режиме печати. Думаю, на первых этот скрипт может тебе пригодиться, ну а потом во славу Нэзалэжной ты конечно напишешь что-нибудь более достойное. ;)
<script>
<!FORMAT=!'request="',v6,'";'>
pref=new Array();
pref[0]=new Array('T=','ЗАГЛАВИЕ','ЗАГЛАВИЯ');
pref[1]=new Array('D=','ДИСЦИПЛИНА','ДИСЦИПЛИНЫ');
pref[2]=new Array('SP=','СПЕЦИАЛЬНОСТЬ','СПЕЦИАЛЬНОСТИ');
pref[3]=new Array('A=','АВТОР','АВТОРЫ');
pref[4]=new Array('T=','ЗАГЛАВИЕ','ЗАГЛАВИЯ');
pref[5]=new Array('K=','КЛЮЧЕВЫЕ СЛОВА','КЛЮЧЕВЫЕ СЛОВА');
pref[6]=new Array('O=','ИЗДАТЕЛЬСТВО','ИЗДАТЕЛЬСТВА');
pref[7]=new Array('G=','ГОД ИЗДАНИЯ','ГОДЫ ИЗДАНИЯ');
pref[8]=new Array('R=','РУБРИКА','РУБРИКИ');
pref[9]=new Array('V=','ВИД ИЗДАНИЯ','ВИДЫ ИЗДАНИЯ');
pref[10]=new Array('HD=','ХАРАКТЕР ДОКУМЕНТА','ХАРАКТЕРЫ ДОКУМЕНТА');
pref[11]=new Array('MHR=','МЕСТО ХРАНЕНИЯ','МЕСТА ХРАНЕНИЯ');
pref[12]=new Array('I=','СИСТЕМНЫЙ ШИФР','СИСТЕМНЫЕ ШИФРЫ');
pref[13]=new Array('TJ=','ЗАГЛАВИЕ СТАТЬИ','ЗАГЛАВИЯ СТАТЕЙ');
pref[14]=new Array('VR=','ВИД ДОКУМЕНТА','ВИДЫ ДОКУМЕНТОВ');
pref[15]=new Array('KAF=','КАФЕДРА','КАФЕДРЫ');
integrator2='';
prf_last='';
mytitle='';
multi=request.split('*');
for(i in multi){
addi=multi[i].split('+');
prf_find=false;
for(d in pref){
if (multi[i].indexOf(pref[d][0])>0){
prf_decript=(addi.length>1) ? pref[d][2]+': ' : pref[d][1]+': ';
prf_decript=(prf_last!=pref[d][0]) ? prf_decript : '';
mytitle+=integrator2+prf_decript;
integrator2=' И '
prf_find=true;
prf_last=pref[d][0];
break;
}
}
if (prf_find){
integrator='';
for(k in addi){
mytitle+=integrator+'"'+addi[k].replace(/(.*=)|(\<\.\>)|(\))|\$|(\/\(.*\))/g,'')+'"';
integrator=' ИЛИ ';
}
}
}
document.title=mytitle;
</script>
Редактировано 1 раз. Последний раз 19.01.2008 00:29 пользователем Кирилл Соколинский (СЗТУ).