X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fbook.xml;h=203dd7cecdda7f37ff1e1bbcf6871644306ac390;hp=e1988c212e0142d51376c763d7bd553630c76948;hb=30af0a1ebbea75c3e757eb03d3f988c61fce8511;hpb=e05d81815980f703874bae24475ba474e424c0d7
diff --git a/doc/book.xml b/doc/book.xml
index e1988c2..203dd7c 100644
--- a/doc/book.xml
+++ b/doc/book.xml
@@ -78,7 +78,7 @@
Supports
- Solr Web Service version 1.4.x
+ Apache Solr Web Service version 1.4.x
(client side only)
@@ -138,14 +138,14 @@
Reading this Manual
Most implementors only need to read a fraction of the
- material in thie manual, so a quick walkthrough of the chapters
+ material in this manual, so a quick walkthrough of the chapters
is in order.
contains installation
- instructions for &yaz;. You don't need reading this
+ instructions for &yaz;. You don't need to read this
if you expect to download &yaz; binaries.
However, the chapter contains information about how
to make your application link
@@ -155,7 +155,7 @@
describes the ZOOM API of &yaz;.
- This is definitely worth a read if you wish to develop a Z39.50/SRU
+ This is definitely worth reading if you wish to develop a Z39.50/SRU
client.
@@ -169,7 +169,7 @@
describes how to use the &yaz; Z39.50
- client. If you're developer and wish to test your server
+ client. If you're a developer and wish to test your server
or a server from another party, you might find this chapter
useful.
@@ -202,7 +202,7 @@
goes through the details of the
ODR module which is the work horse that encodes and decodes
BER packages. Implementors using ZOOM only, do not
- need reading this.
+ need to read this.
Most other Z39.50 implementors only need to read the first two
sections ( and
).
@@ -244,7 +244,7 @@
level APIs of &yaz;.
- The YAZ toolkit modules is shown in figure .
+ The YAZ toolkit modules are shown in figure .
@@ -627,7 +627,7 @@
prefix.
Use this option if you want XSLT and XML support.
By default, configure will
- search for libxslt on the system. Use this option if it
+ search for libxslt on the system. Use this option if
libxslt is not found automatically. Alternatively,
--without-xslt, can be used to force &yaz;
not to use libxslt.
@@ -644,7 +644,7 @@
prefix.
Use this option if you want &yaz; to use XML and support SRU/Solr.
By default, configure will
- search for libxml2 on the system. Use this option if it
+ search for libxml2 on the system. Use this option if
libxml2 is not found automatically. Alternatively,
--without-xml2, can be used to force &yaz;
not to use libxml2.
@@ -857,7 +857,7 @@
This section describes how to compile - and link your own
applications using the &yaz; toolkit.
If you're used to Makefiles this shouldn't be hard. As for
- other libraries you have used before, you have to set a proper include
+ other libraries you have used before, you need to set a proper include
path for your C/C++ compiler and specify the location of
&yaz; libraries. You can do it by hand, but generally we suggest
you use the yaz-config that is generated
@@ -925,7 +925,7 @@
- WIN32
+ WindowsThe easiest way to install YAZ on Windows is by downloading
an installer from
here.
@@ -934,12 +934,12 @@
- Compiling from Source on WIN32
+ Compiling from Source on Windows
&yaz; is shipped with "makefiles" for the NMAKE tool that comes
with
Microsoft Visual Studio. It has been tested with
- Microsoft Visual Studio 2003/2005/2008.
+ Microsoft Visual Studio 2013.
Start a command prompt and switch the sub directory
@@ -1004,20 +1004,14 @@
If HAVE_LIBXML2 is set to 1, YAZ is compiled
with SRU support. In this configuration, set
LIBXML2_DIR to the
- libxml2 source directory
- and
- ZLIB_DIR to the zlib directory.
-
-
- Windows versions of libxslt, libxml2, zlib and iconv can be found
-
- Igor Zlatković' site.
-
-
-
- YAZ is not using zlib but libxml2 is depending on it.
-
-
+ libxml2 source directory.
+
+
+ You can get pre-compiled Libxml2+Libxslt DLLs and headers from
+ here.
+ Should you with to compile those libraries yourself, refer to
+ to
+
@@ -1032,7 +1026,7 @@
- libxslt depends libxml2.
+ libxslt depends on libxml2.
@@ -1144,7 +1138,7 @@
bin/yaz-icu.exeThis program exposes the ICU wrapper library if that
is enabled for YAZ. Only if ICU is available this program is
- build.
+ built.
@@ -1160,7 +1154,7 @@
bin/zoomtst1.exe,
bin/zoomtst2.exe, ..
- Several small applications that demonstrates the ZOOM API.
+ Several small applications that demonstrate the ZOOM API.
@@ -1168,15 +1162,15 @@
- How to make apps using YAZ on WIN32
+ How to make apps using YAZ on Windows
- This section will go though the process of linking your WIN32
+ This section will go though the process of linking your Windows
applications with &yaz;.
Some people are confused by the fact that we use the nmake
tool to build &yaz;. They think they have to do that too - in order
- to make their WIN32 applications work with &yaz;. The good news is that
+ to make their Windows applications work with &yaz;. The good news is that
you don't have to. You can use the integrated environment of
Visual Studio if desired for your own application.
@@ -1211,6 +1205,43 @@
+
+
+ Compiling Libxml2 and Libxslt on windows
+
+ Download libxml2 and Libxslt source and unpack it.
+ In the example below we install Libxml2 2.9.2 and Libxslt 1.1.28
+ for 32-bit, so we use the destination directories
+ libxml2.2.9.2.win32 and libxslt-1.1.28.win32 to reflect both
+ version and architecture.
+
+ cd win32
+ cscript configure.js prefix=c:\libxml2-2.9.2.win32 iconv=no
+ nmake
+ nmake install
+
+
+
+
+ There's an error in configure.js for Libxml2 2.9.2.
+ Line 17 should be assigned to configure.ac
+ rather than configure.in.
+
+
+
+ For Libxslt it is similar. We must ensure that compilation of
+ Libxslt links against the already installed libxml2.
+
+ cd win32
+ cscript configure.js prefix=c:\libxslt-1.1.28.win32 iconv=no \
+ lib=c:\libxml2-2.9.2.win32\lib \
+ include=c:\libxml2-2.9.2.win32\include\libxml2
+ nmake
+ nmake install
+
+
+
+
- To create an extended service operation a ZOOM_package
+ To create an extended service operation, a ZOOM_package
must be created. The operation is a five step operation. The
package is created, package is configured by means of options,
- the package is send, result is inspected (by means of options),
+ the package is sent, result is inspected (by means of options),
the package is destroyed.
@@ -2530,6 +2576,37 @@
The type specifies the actual extended service
package type to be sent.
+
+ Extended Service Type
+
+
+
+
+
+ Type
+ Description
+
+
+
+
+ itemorderItem Order
+
+
+ updateRecord Update
+
+
+ createDatabase Create
+
+
+ dropDatabase Drop
+
+
+ commitCommit Operation
+
+
+
+
+
Extended Service Common Options
@@ -2547,12 +2624,12 @@
package-nameExtended Service Request package name. Must be specified
- as part of a request
+ as part of a request.
noneuser-id
- User ID of Extended Service Package. Is a request option
+ User ID of Extended Service Package. Is a request option.none
@@ -2587,7 +2664,8 @@
Item Order
- For Item Order, type must be set to itemorder in
+ For Item Order, type must be set to
+ itemorder in
ZOOM_package_send.
@@ -2621,6 +2699,11 @@
none
+ itemorder-setname
+ Name of result set for record
+ default
+
+ itemorder-itemPosition for item (record) requested. An integer1
@@ -2628,11 +2711,113 @@
+
+ There are two variants of item order: ILL-variant and
+ XML document variant. In order to use the XML variant the setting
+ doc must hold the XML item order document. If that
+ setting is unset, the ILL-variant is used.
+
+
+
Record Update
- For Record Update, type must be set to update in
+ For Record Update, type must be set to
+ update in
ZOOM_package_send.
@@ -2684,7 +2869,7 @@
Option recordOpaque is an alternative
to record - and record option (above) is
ignored if recordOpaque is set. This option is only available in
- YAZ 3.0.35 and later and is meant to facilitate Updates with
+ YAZ 3.0.35 and later, and is meant to facilitate Updates with
servers from OCLC.
none
@@ -2738,7 +2923,8 @@
Database Create
- For Database Create, type must be set to create in
+ For Database Create, type must be set to
+ create in
ZOOM_package_send.
@@ -2768,7 +2954,8 @@
Database Drop
- For Database Drop, type must be set to drop in
+ For Database Drop, type must be set to
+ drop in
ZOOM_package_send.
@@ -2797,7 +2984,8 @@
Commit Operation
- For Commit, type must be set to commit in
+ For Commit, type must be set to
+ commit in
ZOOM_package_send.
@@ -2808,7 +2996,7 @@
- The database create, drop and commit services are privately defined
+ The database create, drop, and commit services are privately defined
operations.
Refer to esadmin.asn in YAZ for the ASN.1
definitions.
@@ -2820,7 +3008,7 @@
Options
Most &zoom; objects provide a way to specify options to change behavior.
- From an implementation point of view a set of options is just like
+ From an implementation point of view, a set of options is just like
an associative array / hash.
@@ -2860,12 +3048,12 @@
ZOOM_query_cql2rpn translates the CQL string,
client-side, into RPN which may be passed to the server.
- This is useful for server's that don't themselves
+ This is useful for servers that don't themselves
support CQL, for which ZOOM_query_cql is useless.
`conn' is used only as a place to stash diagnostics if compilation
fails; if this information is not needed, a null pointer may be used.
The CQL conversion is driven by option cqlfile from
- connection conn. This specifies a conversion file (eg pqf.properties)
+ connection conn. This specifies a conversion file (e.g. pqf.properties)
which must be present.
@@ -2873,8 +3061,8 @@
client-side, into RPN which may be passed to the server.
The conversion is driven by the specification given by
config. Upon completion 0 is returned on success; -1
- is returned on on failure. Om failure error_string and
- error_pos holds error message and position of
+ is returned on failure. On failure error_string and
+ error_pos hold the error message and position of
first error in original CCL string.
@@ -2891,18 +3079,18 @@
a number of connections. Supply the number of connections in
no and an array of connections in
cs (cs[0] ... cs[no-1]).
- A pending event could be a sending a search, receiving a response,
+ A pending event could be sending a search, receiving a response,
etc.
When an event has occurred for one of the connections, this function
returns a positive integer n denoting that an event
occurred for connection cs[n-1].
When no events are pending for the connections, a value of zero is
returned.
- To ensure that all outstanding requests are performed call this function
+ To ensure that all outstanding requests are performed, call this function
repeatedly until zero is returned.
- If ZOOM_event returns and returns non-zero, the
+ If ZOOM_event returns, and returns non-zero, the
last event that occurred can be expected.
@@ -2939,7 +3127,7 @@
ZOOM_EVENT_RECV_DATA
- Data has been received)
+ Data has been receivedZOOM_EVENT_TIMEOUT
@@ -2963,7 +3151,7 @@
ZOOM_EVENT_RECV_SEARCH
- A search result been received
+ A search result has been received
@@ -2983,7 +3171,7 @@
If you have a database system that you would like to make available by
- means of Z39.50 or SRU, &yaz; basically offers your two options. You
+ means of Z39.50 or SRU, &yaz; basically offers two options. You
can use the APIs provided by the &asn;, &odr;, and &comstack;
modules to
create and decode PDUs, and exchange them with a client.
@@ -3128,8 +3316,8 @@ int statserv_main(int argc, char **argv,
A boolean value, which determines whether the server
will fork on each incoming request (TRUE), or not (FALSE). Default is
- TRUE. This flag is only read by UNIX-based servers (WIN32 based servers
- doesn't fork).
+ TRUE. This flag is only read by UNIX-based servers (WIN32-based servers
+ do not fork).
@@ -3146,7 +3334,7 @@ int statserv_main(int argc, char **argv,
int inetd
A boolean value, which determines whether the server
- will operates under a UNIX INET daemon (inetd). Default is FALSE.
+ will operate under a UNIX INET daemon (inetd). Default is FALSE.
@@ -3211,12 +3399,12 @@ int statserv_main(int argc, char **argv,
Pointer to function which is called after the
command line options have been parsed - but before the server
starts listening.
- For forked UNIX servers this handler is called in the mother
- process; for threaded servers this handler is called in the
+ For forked UNIX servers, this handler is called in the mother
+ process; for threaded servers, this handler is called in the
main thread.
The default value of this pointer is NULL in which case it
isn't invoked by the frontend server.
- When the server operates as an NT service this handler is called
+ When the server operates as an NT service, this handler is called
whenever the service is started.
@@ -3227,7 +3415,7 @@ int statserv_main(int argc, char **argv,
Pointer to function which is called whenever the server
has stopped listening for incoming connections. This function pointer
has a default value of NULL in which case it isn't called.
- When the server operates as an NT service this handler is called
+ When the server operates as an NT service, this handler is called
whenever the service is stopped.
@@ -3243,14 +3431,14 @@ int statserv_main(int argc, char **argv,
The pointer returned by statserv_getcontrol points to
a static area. You are allowed to change the contents of the structure,
- but the changes will not take effect before you call
+ but the changes will not take effect until you call
void statserv_setcontrol(statserv_options_block *block);
- that you should generally update this structure before calling
+ You should generally update this structure before calling
statserv_main().
@@ -3282,7 +3470,7 @@ bend_initresult (*bend_init)(bend_initrequest *r);
Unlike previous versions of YAZ, the bend_init also
serves as a handler that defines the Z39.50 services that the backend
- wish to support. Pointers to all service handlers,
+ intends to support. Pointers to all service handlers,
including search - and fetch must be specified here in this handler.
@@ -3388,7 +3576,7 @@ typedef struct bend_initresult
The auth member holds the authentication information
- part of the Z39.50 Initialize Request. Interpret this if your serves
+ part of the Z39.50 Initialize Request. Interpret this if your server
requires authentication.
@@ -3444,7 +3632,7 @@ typedef struct {
The bend_search handler is a fairly close
- approximation of a protocol Z39.50 Search Request - and Response PDUs
+ approximation of a protocol Z39.50 Search Request - and Response PDUs.
The setname is the resultSetName from the protocol.
You are required to establish a mapping between the set name and whatever
your backend database likes to use.
@@ -3615,7 +3803,7 @@ typedef struct {
Delete
- For back-ends that supports delete of a result set only one handler
+ For back-ends that supports delete of a result set, only one handler
must be defined.
@@ -3682,12 +3870,12 @@ typedef struct bend_scan_rr {
This backend server handles both Z39.50 scan
and SRU scan. In order for a handler to distinguish between SRU (CQL) scan
- Z39.50 Scan , it must check for a non-NULL value of
+ Z39.50 Scan, it must check for a non-NULL value of
scanClause.
- if designed today, it would be a choice using a union or similar,
+ If designed today, it would be a choice using a union or similar,
but that would break binary compatibility with existing servers.
@@ -3767,14 +3955,14 @@ typedef struct bend_scan_rr {
- The above for the Apache 1.3 series.
+ The above is for the Apache 1.3 series.
Running a server with local access only
- Servers that is only being accessed from the local host should listen
- on UNIX file socket rather than a Internet socket. To listen on
+ A server that is only being accessed from the local host should listen
+ on UNIX file socket rather than an Internet socket. To listen on
/tmp/mysocket start the server as follows:
application unix:/tmp/mysocket
@@ -5697,6 +5885,12 @@ typedef struct {
in YAZ 4.2.38.
+ s=sl
+
+ Tokens are split into sub-phrases of all combinations - in order.
+ This facility appeared in YAZ 5.14.0.
+
+ r=o
Allows ranges and the operators greather-than, less-than, ...
@@ -7360,21 +7554,25 @@ int cql_transform_rpn2cql_wrbuf(cql_transform_t ct,
- xslt
+ select
- The xslt element specifies a conversion
- via &acro.xslt;. The following attributes may be specified:
+ The select selects one or more text nodes
+ and decodes them as XML.
+ The following attributes may be specified:
- stylesheet (REQUIRED)
+ path (REQUIRED)
- Stylesheet file.
+ X-Path expression for selecting text nodes.
+
+ This conversion is available in YAZ 5.8.0 and later.
+
@@ -7392,6 +7590,24 @@ int cql_transform_rpn2cql_wrbuf(cql_transform_t ct,
+
+ xslt
+
+
+ The xslt element specifies a conversion
+ via &acro.xslt;. The following attributes may be specified:
+
+ stylesheet (REQUIRED)
+
+
+ Stylesheet file.
+
+
+
+
+
+
+