Manuel PHP
Précédent |  | Suivant

# yaz_ccl_parse

(PHP 4 >= 4.0.5, PHP 5)

yaz_ccl_parse -- Appelle l'analyseur CCL

## Description

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

yaz_ccl_parse() appelle l'analyseur CCL. Il convertit une requête CCL FIND en une requête RPN qui peut être passée à yaz_search() pour effectuer une recherche. Pour définir un champ CCL valide, utilisez la fonction yaz_ccl_conf() avant celle-ci. Si la requête `query` a pu être convertie en RPN, yaz_ccl_parse() retourne `TRUE`, et l'index `rpn` du tableau `result` contient une requête RPN valide. Si la requête n'a pas pu être convertie, (pour n'importe quelle raison, comme syntaxe invalide, champ inconnu...), yaz_ccl_parse() retourne `FALSE`. Trois index sont alors créés dans le tableau de résultat : `errorcode` (code d'erreur CCL, un entier), `errorstring` (message d'erreur CCL), et `errorpos` position estimée de l'erreur dans la requête (entier, position en nombre de caractères).

Exemple 1. Analyseur CCL

Nous allons tenté une recherche en utilisant CCL. Dans l'exmple suivant, `$ccl` est la requète CCL.

    <?php
    yaz_ccl_conf($id, $fields);  // voir l'exemple sur la fonction yaz_ccl_conf
    if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
        echo 'Erreur : ' . $cclresult["errorstring"];
    } else {
        $rpn = $cclresult["rpn"];
        yaz_search($id, "rpn", $rpn);
    }
    ?>

Précédent | Sommaire | Suivant
yaz_ccl_conf | Niveau supérieur | yaz_close