PHP Conference Nagoya 2025

yaz_ccl_conf

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

yaz_ccl_confCCL パーサを設定する

説明

yaz_ccl_conf(resource $id, array $config): void

この関数は、アクセスポイント(CCL限定辞)が定義するサーバーに関して CCL クエリパーサと RPN へのマッピングを設定します。

特定の CCL クエリを後で RPN にマップするには、 yaz_ccl_parse() 関数をコールしてください。

パラメータ

id

yaz_connect() が返す接続リソース。

config

設定の配列。配列の各キーが CCL フィールドの名前で、対応する値は RPN へのマッピングを指定する文字列です。

マッピングは、属性型と属性値の組が並んだものです。 属性型と属性値は、等号(=)で区切られ、 組と組の間は空白で区切られます。

詳細な情報は » CCL のページを 参照ください。

戻り値

値を返しません。

以下の例では、CCL パーサは tiauisbn という 3 つの CCL フィールドをサポートするように設定されます。各フィールドは、等価な BIB-1 へマップされます。 この例では、$id が接続 ID であることを仮定しています。

例1 CCL 設定

<?php
$fields
= array(
"ti" => "1=4",
"au" => "1=1",
"isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

参考

add a note

User Contributed Notes 1 note

up
-1
quinn at indexdata dot com
19 years ago
The YAZ CCL parser has extensive functionality beyond what is described here. For the full story, as well as a detailed description of the CCL language, please look at

http://www.indexdata.dk/yaz/doc/tools.tkl#CCL

The flexibility of the parser makes it easy, by setting up separate profiles for servers with different characteristics, to produce a client that performs different query mappings for different servers. Also, because you can configure operators, truncation characters, etc., in the CCL parser, it is simple to make it fit into almost any application.
To Top