File: yaz-ccl-parse.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (131 lines) | stat: -rw-r--r-- 3,590 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<refentry xml:id="function.yaz-ccl-parse" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>yaz_ccl_parse</refname>
  <refpurpose>Invoke CCL Parser</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>bool</type><methodname>yaz_ccl_parse</methodname>
   <methodparam><type>resource</type><parameter>id</parameter></methodparam>
   <methodparam><type>string</type><parameter>query</parameter></methodparam>
   <methodparam><type>array</type><parameter role="reference">result</parameter></methodparam>
  </methodsynopsis>
  <para>
   This function invokes a CCL parser. It converts a given CCL FIND query to
   an RPN query which may be passed to the <function>yaz_search</function> 
   function to perform a search.
  </para>
  <para>
   To define a set of valid CCL fields call <function>yaz_ccl_conf</function> 
   prior to this function.
  </para>
 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>id</parameter></term>
     <listitem>
      <para>
       The connection resource returned by <function>yaz_connect</function>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>query</parameter></term>
     <listitem>
      <para>
       The CCL FIND query.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>result</parameter></term>
     <listitem>
      <para>
       If the function was executed successfully, this will be an array 
       containing the valid RPN query under the key <literal>rpn</literal>.
      </para>
      <para>
       Upon failure, three indexes are set in this array to indicate the cause
       of failure: 
       <itemizedlist>
        <listitem>
         <para>
          <literal>errorcode</literal> - the CCL error code (integer)
         </para>
        </listitem> 
        <listitem>
         <para>
          <literal>errorstring</literal> - the CCL error string
         </para>
        </listitem> 
        <listitem>
         <para>
          <literal>errorpos</literal> - approximate position in query of failure
          (integer is character position)
         </para>
        </listitem> 
       </itemizedlist>
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   &return.success;
  </para>
 </refsect1>
 <refsect1 role="examples">
  &reftitle.examples;
  <example>
   <title>CCL Parsing</title>
   <para>
    We will try to search using CCL. In the example below,  
    <literal>$ccl</literal> is a CCL query. 
   </para>
   <programlisting role="php">
<![CDATA[
<?php

yaz_ccl_conf($id, $fields);  // see example for yaz_ccl_conf
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
    echo 'Error: ' . $cclresult["errorstring"];
} else {
    $rpn = $cclresult["rpn"];
    yaz_search($id, "rpn", $rpn);
}
?>
]]>
   </programlisting>
  </example>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->