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