CX. YAZ

The yaz( ) functions wrap the YAZ API . The home page of the project is http : / /www.indexdata.dk / yaz / . Information about the phpyaz module can be found at http : / /www.indexdata.dk / phpyaz / .

PHP / YAZ is much simpler to use than the C API for YAZ but less flexible . The intent is to make it easy to build basic client functions . It supports persistent stateless connections very similar to those offered by the various SQL APIs that are available for PHP . This means that sessions are stateless but shared amongst users , thus saving the connect and INIT steps in many cases .

Before compiling PHP with the PHP / YAZ module you ' ll need the YAZ toolkit . Build YAZ and install it . Build PHP with your favourite modules and add option --with-yaz .

 
gunzip

 
-c

 
yaz-1.6.tar.gz|

 
tar

 
xf

 
-

 
gunzip

 
-c

 
php-4.0.X.tar.gz

 
|tar

 
xf

 
-

 
cd

 
yaz-1.6

 
.

 
/

 
configure

 
--prefix=

 
/

 
usr

 
make

 
make

 
install

 
cd

 
.

 
.

 
/

 
php-4.0.X

 
.

 
/

 
configure

 
--with-yaz=

 
/

 
usr

 
/

 
bin

 
make

 
make

 
install



A positive integer represents the ID of a particular association .

When invoked it either prints a query form ( if no arguments are supplied ) or if there are arguments (term and one or more hosts ) it searches the targets in array host .

Ejemplo 1 . YAZ( )

 
$num_hosts

 
=

 
count

 
(

 
$host)

 
;

 
if

 
(empty($term

 
)

 
|

 
|

 
count($host

 
)

 
==

 
0

 
)

 
{

 
echo

 
'

 
form

 
method="get

 
"

 
input

 
type="checkbox

 
"

 
name="host[]

 
"

 
value="bagel.indexdata.dk

 
/

 
gils

 
"

 
GILS

 
test

 
input

 
type="checkbox

 
"

 
name="host[]

 
"

 
value="localhost:9999

 
/

 
Default

 
"

 
local

 
test

 
input

 
type="checkbox

 
"

 
checked="1

 
"

 
name="host[]

 
"

 
value="z3950.bell-labs.com

 
/

 
books

 
"

 
BELL

 
Labs

 
Library

 
br

 
RPN

 
Query

 
:

 
input

 
type="text

 
"

 
size="30

 
"

 
name="term

 
"

 
input

 
type="submit

 
"

 
name="action

 
"

 
value="Search

 
"

 
'

 
;

 
}

 
else

 
{

 
echo

 
'You

 
searced

 
for

 
'

 
.

 
htmlspecialchars($term

 
)

 
.

 
'

 
br

 
'

 
;

 
for

 
($i

 
=

 
0

 
;

 
$i

 
$num_hosts

 
;

 
$i++

 
)

 
{

 
$id[

 
]

 
=

 
yaz_connect($host[$i])

 
;

 
yaz_syntax($id[$i]

 
,"sutrs")

 
;

 
yaz_search($id[$i]

 
,"rpn",$term)

 
;

 
    }

 
yaz_wait()

 
;

 
for

 
($i

 
=

 
0

 
;

 
$i

 
$num_hosts

 
;

 
$i++

 
)

 
{

 
echo

 
'

 
hr

 
'

 
.

 
$host[$i

 
]

 
.

 
"

 
:"

 
;

 
$error

 
=

 
yaz_error($id[$i])

 
;

 
if

 
(!empty($error)

 
)

 
{

 
echo

 
"Error

 
:

 
$error"

 
;

 
}

 
else

 
{

 
$hits

 
=

 
yaz_hits($id[$i])

 
;

 
echo

 
"Result

 
Count

 
$hits"

 
;

 
        }

 
echo

 
'

 
dl

 
'

 
;

 
for

 
($p

 
=

 
1

 
;

 
$p

 
=

 
10

 
;

 
$p++

 
)

 
{

 
$rec

 
=

 
yaz_record($id[$i],$p

 
,"string")

 
;

 
if

 
(empty($rec)

 
)

 
continue

 
;

 
echo

 
"

 
dt

 
b

 
$p

 
/

 
b

 
/

 
dt

 
dd

 
"

 
;

 
echo

 
ereg_replace("\n"

 
,

 
"

 
br

 
\n",$rec)

 
;

 
echo

 
"

 
/

 
dd

 
"

 
;

 
        }

 
echo

 
'

 
/

 
dl

 
'

 
;

 
    }

 
}



Tabla de contenidos
yaz_addinfo -- Returns additional error information
yaz_ccl_conf -- Configure CCL parser
yaz_ccl_parse -- Invoke CCL Parser
yaz_close -- Closes a YAZ connection
yaz_connect -- Returns a positive association ID on success; zero on failure
yaz_database -- Specifies the databases within a session
yaz_element -- Specifies Element-Set Name for retrieval
yaz_errno -- Returns error number
yaz_error -- Returns error description
yaz_get_option -- Returns value of option for connection
yaz_hits -- Returns number of hits for last search
yaz_itemorder -- Prepares for Z39.50 Item Order with an ILL-Request package
yaz_present -- Prepares for retrieval (Z39.50 present).
yaz_range -- Specifies the maximum number of records to retrieve
yaz_record -- Returns a record
yaz_scan_result -- Returns Scan Response result
yaz_scan -- Prepares for a scan
yaz_schema -- Specifies schema for retrieval.
yaz_search -- Prepares for a search
yaz_set_option -- Sets one or more options for connection
yaz_sort -- Sets sorting criteria
yaz_syntax -- Specifies the preferred record syntax for retrieval
yaz_wait -- Executes queries