yaz_ccl_parse

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

yaz_ccl_parseCCL パーサを起動する

説明

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 クエリを含む配列となります。

失敗した場合は、以下の 3 つの添え字を含む配列となり、失敗の原因を示します。

  • 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 
'Error: ' $cclresult["errorstring"];
} else {
    
$rpn $cclresult["rpn"];
    
yaz_search($id"rpn"$rpn);
}
?>
関連キーワード:  パーサ, yaz, 起動, 関数, 失敗, result, 整数, 検索, 成功, FIND