yaz_ccl_parse
(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_ccl_parse — Invoke CCL Parser
Description
$id
, string $query
, array &$result
): boolThis function invokes a CCL parser. It converts a given CCL FIND query to an RPN query which may be passed to the yaz_search() function to perform a search.
To define a set of valid CCL fields call yaz_ccl_conf() prior to this function.
Parameters
-
id
-
The connection resource returned by yaz_connect().
-
query
-
The CCL FIND query.
-
result
-
If the function was executed successfully, this will be an array containing the valid RPN query under the key
rpn
.Upon failure, three indexes are set in this array to indicate the cause of failure:
-
errorcode
- the CCL error code (integer) -
errorstring
- the CCL error string -
errorpos
- approximate position in query of failure (integer is character position)
-
Return Values
Returns true
on success or false
on failure.
Examples
Example #1 CCL Parsing
We will try to search using CCL. In the example below,
$ccl
is a CCL query.
<?php
yaz_ccl_conf($id, $fields); // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
echo 'Error: ' . $cclresult["errorstring"];
} else {
$rpn = $cclresult["rpn"];
yaz_search($id, "rpn", $rpn);
}
?>