yaz_es

Prepares for an Extended Service Request

&reftitle.description; `void` `yaz_es` `resource` `id` `string` `type` `array` `args`

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

Many Z39.50 Servers do not support Extended Services.

The `yaz_es` creates an Extended Service Request packages and puts it into a queue of operations. Use `yaz_wait` to send the request(s) to the server. After completion of `yaz_wait` the result of the Extended Service operation should be expected with a call to `yaz_es_result`.

&reftitle.parameters;

`id`

- The connection resource returned by `yaz_connect`.

`type`

- A string which represents the type of the Extended Service: `itemorder` (Item Order), `create` (Create Database), `drop` (Drop Database), `commit` (Commit Operation), `update` (Update Record), `xmlupdate` (XML Update). Each type is specified in the following section.

`args`

- An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM Extended Services.

&reftitle.returnvalues;

&return.void;

&reftitle.examples;

### Record Update

    <?php
    $con = yaz_connect("myhost/database");
    $args = array (
        "record" => "<gils><title>some title</title></gils>",
        "syntax" => "xml",
        "action" => "specialUpdate"
    );
    yaz_es($con, "update", $args);
    yaz_wait();
    $result = yaz_es_result($id);
    ?>

&reftitle.seealso;

- `yaz_es_result`