CakeFest 2024: The Official CakePHP Conference

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parseВызывает парсер CCL

Описание

yaz_ccl_parse(resource $id, string $query, array &$result): bool

Функция вызывает синтаксический анализатор CCL. Он преобразовывает данный запрос CCL FIND в запрос RPN, который можно передать функции yaz_search() для выполнения поиска.

Чтобы определить набор допустимых полей CCL, вызовите yaz_ccl_conf() перед этой функцией.

Список параметров

id

Ресурс соединения, возвращённый yaz_connect().

query

Запрос CCL FIND.

result

Если функция была выполнена успешно, это будет массив, содержащий корректный запрос RPN в ключе rpn.

После сбоя в этом массиве устанавливаются три индекса, указывающие причину возникновения ошибки:

  • errorcode - код ошибки CCL (целое число)

  • errorstring - строка ошибки CCL

  • errorpos - приблизительная позиция в запросе ошибки (целое число - позиция символа)

Возвращаемые значения

Возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Разбор CCL

Мы попробуем поискать с помощью CCL. В приведённом ниже примере $ccl является запросом CCL.

<?php

yaz_ccl_conf
($id, $fields); // смотрите пример для yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
echo
'Ошибка: ' . $cclresult["errorstring"];
} else {
$rpn = $cclresult["rpn"];
yaz_search($id, "rpn", $rpn);
}
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top