X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fbook.xml;h=eaa87cae447629530801a6270ff15d193809fb1f;hp=a737c75c33e9aa67ccdb13167fe3e0858cdeeb0f;hb=d802116821b20c1dac70011b1ff36edfc4a3119b;hpb=74783cfd34e855445de582d7f0a1d795615bcfe8 diff --git a/doc/book.xml b/doc/book.xml index a737c75..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 .
YAZ layers @@ -325,7 +325,7 @@ If you are using the premade definitions of the &asn; module, and you - are not adding new protocol of your own, the only parts of &odr; that you + are not adding a new protocol of your own, the only parts of &odr; that you need to worry about are documented in . @@ -496,7 +496,7 @@ Automake and Libtool are used to generate Makefiles and configure &yaz; for the system. - You do not these tools unless you're using the + You do not need these tools unless you're using the Git version of &yaz;. @@ -508,7 +508,7 @@ &yaz; includes a tiny ASN.1 compiler. This compiler is written in Tcl. But as for Bison you do not need it unless you're using Git - version of &yaz; or you're using the compiler to built own codecs + version of &yaz; or you're using the compiler to build your own codecs for private ASN.1. @@ -612,7 +612,7 @@ prefix. By default configure will search for iconv on the system. Use this option if it doesn't find iconv. Alternatively, - --without-iconv, can be uset to force &yaz; + --without-iconv, can be used to force &yaz; not to use iconv. @@ -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. @@ -702,9 +702,24 @@ for result-set caching for ZOOM. The prefix can not be given. Note that YAZ will only search for libMemcached if Libgcrypt is also enabled. + Note that 0.40 of libmemcached is required. + + + --with-redis + + + &yaz; will be linked with the hiredis C library + to allow for result-set caching for ZOOM on a + redis server. + The prefix can not be given. Note that YAZ will only search + for hiredis if Libgcrypt is also enabled. + + + + @@ -842,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 @@ -910,7 +925,7 @@ - WIN32 + Windows The easiest way to install YAZ on Windows is by downloading an installer from here. @@ -919,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 @@ -989,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 + @@ -1017,7 +1026,7 @@ - libxslt depends libxml2. + libxslt depends on libxml2. @@ -1129,7 +1138,7 @@ bin/yaz-icu.exe This program exposes the ICU wrapper library if that is enabled for YAZ. Only if ICU is available this program is - build. + built. @@ -1145,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. @@ -1153,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. @@ -1196,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. @@ -2501,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 @@ -2518,12 +2624,12 @@ package-name Extended Service Request package name. Must be specified - as part of a request + as part of a request. none user-id - User ID of Extended Service Package. Is a request option + User ID of Extended Service Package. Is a request option. none @@ -2558,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. @@ -2592,6 +2699,11 @@ none + itemorder-setname + Name of result set for record + default + + itemorder-item Position for item (record) requested. An integer 1 @@ -2599,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. + + + + ILL Request Options + + + + + Option + + + + protocol-version-num + transaction-id,initial-requester-id,person-or-institution-symbol,person + transaction-id,initial-requester-id,person-or-institution-symbol,institution + transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person + transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution + transaction-id,transaction-group-qualifier + transaction-id,transaction-qualifier + transaction-id,sub-transaction-qualifier + service-date-time,this,date + service-date-time,this,time + service-date-time,original,date + service-date-time,original,time + requester-id,person-or-institution-symbol,person + requester-id,person-or-institution-symbol,institution + requester-id,name-of-person-or-institution,name-of-person + requester-id,name-of-person-or-institution,name-of-institution + responder-id,person-or-institution-symbol,person + responder-id,person-or-institution-symbol,institution + responder-id,name-of-person-or-institution,name-of-person + responder-id,name-of-person-or-institution,name-of-institution + transaction-type + delivery-address,postal-address,name-of-person-or-institution,name-of-person + delivery-address,postal-address,name-of-person-or-institution,name-of-institution + delivery-address,postal-address,extended-postal-delivery-address + delivery-address,postal-address,street-and-number + delivery-address,postal-address,post-office-box + delivery-address,postal-address,city + delivery-address,postal-address,region + delivery-address,postal-address,country + delivery-address,postal-address,postal-code + delivery-address,electronic-address,telecom-service-identifier + delivery-address,electronic-address,telecom-service-addreess + billing-address,postal-address,name-of-person-or-institution,name-of-person + billing-address,postal-address,name-of-person-or-institution,name-of-institution + billing-address,postal-address,extended-postal-delivery-address + billing-address,postal-address,street-and-number + billing-address,postal-address,post-office-box + billing-address,postal-address,city + billing-address,postal-address,region + billing-address,postal-address,country + billing-address,postal-address,postal-code + billing-address,electronic-address,telecom-service-identifier + billing-address,electronic-address,telecom-service-addreess + ill-service-type + requester-optional-messages,can-send-RECEIVED + requester-optional-messages,can-send-RETURNED + requester-optional-messages,requester-SHIPPED + requester-optional-messages,requester-CHECKED-IN + search-type,level-of-service + search-type,need-before-date + search-type,expiry-date + search-type,expiry-flag + place-on-hold + client-id,client-name + client-id,client-status + client-id,client-identifier + item-id,item-type + item-id,call-number + item-id,author + item-id,title + item-id,sub-title + item-id,sponsoring-body + item-id,place-of-publication + item-id,publisher + item-id,series-title-number + item-id,volume-issue + item-id,edition + item-id,publication-date + item-id,publication-date-of-component + item-id,author-of-article + item-id,title-of-article + item-id,pagination + item-id,ISBN + item-id,ISSN + item-id,additional-no-letters + item-id,verification-reference-source + copyright-complicance + retry-flag + forward-flag + requester-note + forward-note + + +
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. @@ -2655,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 @@ -2709,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. @@ -2739,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.
@@ -2768,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. @@ -2779,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. @@ -2791,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. @@ -2831,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. @@ -2844,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. @@ -2862,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. @@ -2910,7 +3127,7 @@ ZOOM_EVENT_RECV_DATA - Data has been received) + Data has been received ZOOM_EVENT_TIMEOUT @@ -2934,7 +3151,7 @@ ZOOM_EVENT_RECV_SEARCH - A search result been received + A search result has been received @@ -5668,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, ... @@ -7331,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. + @@ -7363,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. + + + + + + +