(PHP 4 >= 4.0.5,PECL yaz >= 0.9.0)
yaz_ccl_parse — 调用 CCL 解析器
此函数调用 CCL 解析器。它将给定的 CCL FIND 查询转换为 RPN 查询,该查询可以传递给 yaz_search() 函数以执行搜索。
要定义一组有效的 CCL 字段,请在调用此函数之前调用 yaz_ccl_conf()。
id
由 yaz_connect() 返回的连接资源。
query
CCL FIND 查询。
result
如果函数执行成功,则将是一个包含有效 RPN 查询的数组,其键为 rpn
。
如果失败,将在该数组中设置三个索引以指示失败的原因
errorcode
- CCL 错误代码(整数)
errorstring
- CCL 错误字符串
errorpos
- 查询中失败的大致位置(整数为字符位置)
示例 #1 CCL 解析
我们将尝试使用 CCL 进行搜索。在下面的示例中,$ccl
是一个 CCL 查询。
<?php
yaz_ccl_conf($id, $fields); // 请参见 yaz_ccl_conf 的示例
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
echo 'Error: ' . $cclresult["errorstring"];
} else {
$rpn = $cclresult["rpn"];
yaz_search($id, "rpn", $rpn);
}
?>