X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fbook.xml;h=eaa87cae447629530801a6270ff15d193809fb1f;hp=202518fee2ae27a7faf522c666075bd0fe13d327;hb=d802116821b20c1dac70011b1ff36edfc4a3119b;hpb=7f79b3a521ea4d5d4e89f8659324019cecc0fe8a
diff --git a/doc/book.xml b/doc/book.xml
index 202518f..eaa87ca 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
@@ -1026,7 +1026,7 @@
- libxslt depends libxml2.
+ libxslt depends on libxml2.
@@ -1138,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.
@@ -1154,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.
@@ -1221,14 +1221,21 @@
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:\libxmlt-2.9.2.win32\lib \
- include=c:\libxmlt-2.9.2.win32\include\libxml2
+ lib=c:\libxml2-2.9.2.win32\lib \
+ include=c:\libxml2-2.9.2.win32\include\libxml2
nmake
nmake install
@@ -1290,7 +1297,8 @@
and more apparent over time. So when the first &zoom; specification
became available,
an implementation for &yaz; was quickly developed. For the first time, it is
- now as easy (or easier!) to develop clients than servers with &yaz;. This
+ now as easy (or easier!) to develop clients as it is to develop
+ servers with &yaz;. This
chapter describes the &zoom; C binding. Before going further, please
reconsider whether C is the right programming language for the job.
There are other language bindings available for &yaz;, and still
@@ -1309,7 +1317,7 @@
The C language misses features found in object oriented languages
such as C++, Java, etc. For example, you'll have to manually,
destroy all objects you create, even though you may think of them as
- temporary. Most objects has a _create - and a
+ temporary. Most objects have a _create - and a
_destroy variant.
All objects are in fact pointers to internal stuff, but you don't see
that because of typedefs. All destroy methods should gracefully ignore a
@@ -1354,7 +1362,7 @@
You can prefix the host with a scheme followed by colon. The
default scheme is tcp (Z39.50 protocol).
The scheme http selects SRU/get over HTTP by default,
- but can overridded to use SRU/post, SRW and the Solr protocol.
+ but can overridden to use SRU/post, SRW, and the Solr protocol.
You can prefix the scheme-qualified host-string with one or more
@@ -1442,7 +1450,7 @@
clientIPClient IP. If set, is
encoded in the otherInfo area of a Z39.50 PDU with OID
1.2.840.10003.10.1000.81.3. Holds the original IP addreses
- of a client. Is used of ZOOM is used in a gateway of some sort.
+ of a client. Is used if ZOOM is used in a gateway of some sort.
none
asyncIf true (1) the connection operates in
@@ -1481,7 +1489,7 @@
none
databaseNameOne or more database names
- separated by character plus (+), which to
+ separated by character plus (+), which is to
be used by subsequent search requests on this Connection.
Default
@@ -1498,7 +1506,7 @@
1
mediumSetPresentNumberThis value represents
- the number of records to be returned as part of a search when when
+ the number of records to be returned as part of a search when
hits is less than or equal to large set lower bound and if hits
is greater than small set upper bound.
0
@@ -1508,7 +1516,7 @@
none
mediumSetElementSetName
- The element set name to be for medium-sized result sets.
+ The element set name to be used for medium-sized result sets.
none
init_opt_search, init_opt_present, init_opt_delSet, etc.
@@ -1525,14 +1533,19 @@
sru_version
SRU/SRW version. Should be 1.1, or
- 1.2. This is , prior to connect, the version
+ 1.2. This is, prior to connect, the version
to offer (highest version). And following connect (in fact
first operation), holds the negotiated version with the server
(same or lower version).
1.2
+
+ extraArgs
+ Extra arguments for SRU/Solr URLs. The value must be
+ URL encoded already.
+
facets
- Requested or recommend facets may be given before a search is sent.
+ Requested or recommended facets may be given before a search is sent.
The value of this setting is described in
For inspection of the facets returned, refer to the functions
described in .
@@ -1592,9 +1605,9 @@
redis support is available for YAZ 5.2.0 or later. If this
option is supplied for an earlier version of YAZ, it is
ignored.
- The value of this option is a set options, similar to that
+ The value of this option is a set of options, similar to that
of the memcached setting. At this stage only --server=host[:port]
- and --expire=seconds is supported.
+ and --expire=seconds are supported.
none
@@ -1628,7 +1641,7 @@
The calls ZOOM_connection_new and
ZOOM_connection_connect establishes a TCP/IP
connection and sends an Initialize Request to the target if
- possible. In addition, the calls waits for an Initialize Response
+ possible. In addition, the calls wait for an Initialize Response
from the target and the result is inspected (OK or rejected).
@@ -1664,7 +1677,7 @@
SRU/Solr Protocol behavior
- The HTTP based protocols (SRU, SRW, Solr) doesn't feature an
+ The HTTP based protocols (SRU, SRW, Solr) do not feature an
Inititialize Request, so the connection phase merely establishes a
TCP/IP connection with the HTTP server.
@@ -1730,7 +1743,7 @@
ZOOM_query_sortby2 is similar to
ZOOM_query_sortby but allows a strategy for
sorting. The reason for the strategy parameter is that some
- protocols offers multiple ways of performing sorting.
+ protocols offer multiple ways of performing sorting.
For example, Z39.50 has the standard sort, which is performed after
search on an existing result set.
It's also possible to use CQL in Z39.50 as the query type and use
@@ -1786,10 +1799,10 @@
Function ZOOM_connection_search creates
- a result set given a connection and query.
+ a result set, given a connection and query.
Destroy a result set by calling
ZOOM_resultset_destroy.
- Simple clients may using PQF only may use function
+ Simple clients using PQF only, may use the function
ZOOM_connection_search_pqf in which case
creating query objects is not necessary.
@@ -1808,7 +1821,7 @@
and ZOOM_connection_option_set.
- The number of hits also called result-count is returned by
+ The number of hits, also called result-count, is returned by
function ZOOM_resultset_size.
searchresult.size
- number of search result entries. This option is-nonexistant
+ number of search result entries. This option is non-existent
if no entries are returned by the server.
@@ -1949,7 +1962,7 @@
ZOOM_resultset_sort and
ZOOM_resultset_sort1 both sort an existing
- result-set. The sort_type parameter is not use. Set it to "yaz".
+ result-set. The sort_type parameter is not used. Set it to "yaz".
The sort_spec is same notation as ZOOM_query_sortby and identical
to that offered by yaz-client's
sort command.
@@ -1992,7 +2005,7 @@
The high-level mode allows you to fetch a range of records from
the result set with a given start offset. When you use this mode
the client will automatically use piggyback if that is possible
- with the target and perform one or more present requests as needed.
+ with the target, and perform one or more present requests as needed.
Even if the target returns fewer records as part of a present response
because of a record size limit, etc. the client will repeat sending
present requests. As an example, if option start
@@ -2018,7 +2031,7 @@
Current version of &yaz; does not take advantage of a result set id
returned by the SRU server. Future versions might do, however.
- Since, the ZOOM driver does not save result set IDs any
+ Since the ZOOM driver does not save result set IDs, any
present (retrieval) is transformed to a SRU SearchRetrieveRequest
with same query but, possibly, different offsets.
@@ -2046,10 +2059,10 @@
SRU SearchRetrieveRequest.
- Solr queries has to be done in Solr query format.
+ Solr queries need to be done in Solr query format.
- Unfortunately, SRU or Solr does not define a database setting. Hence,
+ Unfortunately, SRU and Solr do not define a database setting. Hence,
databaseName is unsupported and ignored.
However, the path part in host parameter for functions
ZOOM_connecton_new and
@@ -2107,12 +2120,12 @@
Function ZOOM_resultset_records retrieves
a number of records from a result set. Parameter start
and count specifies the range of records to
- be returned. Upon completion array
+ be returned. Upon completion, the array
recs[0], ..recs[count-1]
holds record objects for the records. The array of records
recs should be allocated prior the call
ZOOM_resultset_records. Note that for those
- records that couldn't be retrieved from the target
+ records that couldn't be retrieved from the target,
recs[ ..] is set to NULL.
@@ -2126,28 +2139,37 @@
The type is a string of the format:
- format[;charset=from[/opacfrom][,to]][;format=v]
+ format[;charset=from[/opacfrom][,to]][;format=v][;base64=xpath]
- where format specifies the format of the
- returned record, from
+ If charset is given, then from
specifies the character set of the record in its original form
(as returned by the server), to specifies
- the output (returned)
- character set encoding.
- If to is omitted UTF-8 is assumed.
+ the output (returned) character set encoding.
+ If to is omitted, then UTF-8 is assumed.
If charset is not given, then no character set conversion takes place.
-
-
- OPAC records may be returned in a different
- set from the bibliographic MARC record. If this is this the case,
+ OPAC records may be returned in a different
+ set from the bibliographic MARC record. If this is this the case,
opacfrom should be set to the character set
of the OPAC record part.
+
+
+ The format is generic but can only be used to
+ specify XML indentation when the value v
+ is 1 (format=1).
+
+
+ The base64 allows a full record to be extracted
+ from base64-encoded string in an XML document.
+
Specifying the OPAC record character set requires YAZ 4.1.5 or later.
+
+ Specifying the base64 parameter requires YAZ 4.2.35 or later.
+
The format argument controls whether record data should be XML
@@ -2164,7 +2186,7 @@
The following are the supported values for form.
database
- Database of record is returned
+ The Database of the record is returned
as a C null-terminated string. Return type
const char *.
@@ -2185,7 +2207,7 @@
renderThe record is returned in a display friendly
- format. Upon completion buffer is returned
+ format. Upon completion, buffer is returned
(type const char *) and length is stored in
*len.
@@ -2264,7 +2286,7 @@
Present.
The functions may block (and perform network I/O) - even though option
async is 1, because they return records objects.
- (and there's no way to return records objects without retrieving them!).
+ (And there's no way to return records objects without retrieving them!)
There is a trick, however, in the usage of function
@@ -2335,13 +2357,13 @@
An array of facets field can be returned by
ZOOM_resultset_facets. The length of the array is
given by ZOOM_resultset_facets_size. The array is
- zero-based and last entry will be at
+ zero-based and the last entry will be at
ZOOM_resultset_facets_size(result_set)-1.
It is possible to interate over facets by name, by calling
ZOOM_resultset_facets_names.
- This will return an const array of char * where each string can be used
+ This will return a const array of char * where each string can be used
as parameter for ZOOM_resultset_get_facet_field.
@@ -2400,7 +2422,7 @@
startpqf.
If the operation was successful, the size of the scan set can be
retrieved by a call to ZOOM_scanset_size.
- Like result sets, the items are numbered 0,..size-1.
+ Like result sets, the items are numbered 0..size-1.
To obtain information about a particular scan term, call function
ZOOM_scanset_term. This function takes
a scan set offset pos and returns a pointer
@@ -2520,10 +2542,10 @@
- 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.
@@ -2554,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
@@ -2571,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
@@ -2611,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.
@@ -2645,6 +2699,11 @@
none
+ itemorder-setname
+ Name of result set for record
+ default
+
+ itemorder-itemPosition for item (record) requested. An integer1
@@ -2652,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.
@@ -2708,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
@@ -2762,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.
@@ -2792,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.
@@ -2821,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.
@@ -2832,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.
@@ -2844,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.
@@ -2884,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.
@@ -2897,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.
@@ -2915,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.
@@ -2963,7 +3127,7 @@
ZOOM_EVENT_RECV_DATA
- Data has been received)
+ Data has been receivedZOOM_EVENT_TIMEOUT
@@ -2987,7 +3151,7 @@
ZOOM_EVENT_RECV_SEARCH
- A search result been received
+ A search result has been received
@@ -5721,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, ...
@@ -7384,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.
+
@@ -7416,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.
+
+
+
+
+
+
+