-# $Id: ZOOM.pod,v 1.17 2005-12-13 14:40:47 mike Exp $
+# $Id: ZOOM.pod,v 1.19 2005-12-13 15:30:26 mike Exp $
use strict;
use warnings;
=head2 ZOOM::Query
$q = new ZOOM::Query::CQL("creator=pike and subject=unix");
+ $q->sortby("1=4 >i 1=21 >s");
$rs = $conn->search($q);
$q->destroy();
=back
+See the description of the C<Query> class in the ZOOM Abstract
+API at
+http://zoom.z3950.org/api/zoom-current.html#3.3
+
=head3 Methods
=head4 new()
-Creates a new query object,
+ $q = new ZOOM::Query::CQL('title=dinosaur'));
+ $q = new ZOOM::Query::PQF('@attr 1=4 dinosaur'));
+
+Creates a new query object, compiling the query passed as its argument
+according to the rules of the particular query-type being
+instantiated. If compilation fails, an exception is thrown.
+Otherwise, the query may be passed to the C<Connection> method
+<search()>.
=head4 sortby()
-I<###>
+ $q->sortby("1=4 >i 1=21 >s");
+
+Sets a sort specification into the query, so that when a C<search()>
+is run on the query, the result is automatically sorted. The sort
+specification language is the same as the C<yaz> sort-specification
+type of the C<ResultSet> method C<sort()>, described above.
+
+B<It ought to be possible to sort by CQL query, too, but at present
+limitations in the underlying ZOOM-C library make this impossible.>
=head4 destroy()
=head2 ZOOM::Options
+ $o1 = new ZOOM::Options();
+ $o1->option(user => "alf");
+ $o2 = new ZOOM::Options();
+ $o2->option(password => "fruit");
+ $opts = new ZOOM::Options($o1, $o2);
+ $conn = create ZOOM::Connection($opts);
+ $conn->connect($host); # Uses the specified username and password
+
+Several classes of ZOOM objects carry their own sets of options, which
+can be manipulated using their C<option()> method. Sometimes,
+however, it's useful to deal with the option sets directly, and the
+C<ZOOM::Options> class exists to enable this approach.
+
+Option sets are B<not currently described> in the ZOOM
+Abstract API at
+http://zoom.z3950.org/api/zoom-current.html
+They are an extension to that specification.
+
+=head3 Methods
+
+=head4 new()
+
+I<###>
+
+=head4 option()
+
+I<###>
+
+=head4 option_binary()
+
+I<###>
+
+=head4 bool() / int()
+
+I<###>
+
+=head4 set_int()
+
+I<###>
+
+=head4 set_callback()
+
+I<###>
+
+=head4 destroy()
+
I<###>
=head1 ENUMERATIONS