Refer to full name of Apache products at first mention, as per ASF trademark guidelines.
[yaz-moved-to-github.git] / doc / book.xml
index 56e7010..6b4c3f3 100644 (file)
@@ -78,7 +78,7 @@
     <listitem>
      <para>
       Supports
-      <ulink url="&url.solr;">Solr</ulink> Web Service version 1.4.x
+      <ulink url="&url.solr;">Apache Solr</ulink> Web Service version 1.4.x
       (client side only)
      </para>
     </listitem>
    <title>Reading this Manual</title>
    <para>
     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.
    </para>
    <itemizedlist>
     <listitem>
      <para>
       <xref linkend="installation"/> 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 <emphasis>your</emphasis> application link
     <listitem>
      <para>
       <xref linkend="zoom"/> 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.
      </para>
     </listitem>
     <listitem>
      <para>
       <xref linkend="yaz-client"/> 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.
     </para>
       <xref linkend="odr"/> goes through the details of the
       ODR module which is the work horse that encodes and decodes
       BER packages. Implementors using ZOOM only, do <emphasis>not</emphasis>
-      need reading this.
+      need to read this.
       Most other Z39.50 implementors only need to read the first two
       sections (<xref linkend="odr.introduction"/> and
       <xref linkend="odr.use"/>).
     level APIs of &yaz;.
    </para>
    <para>
-    The YAZ toolkit modules is shown in figure <xref linkend="yaz.layer"/>.
+    The YAZ toolkit modules are shown in figure <xref linkend="yaz.layer"/>.
    </para>
    <figure id="yaz.layer">
     <title>YAZ layers</title>
    <note>
     <para>
      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
      <xref linkend="odr.use"/>.
     </para>
      <ulink url="&url.automake;">Automake</ulink> and
      <ulink url="&url.libtool;">Libtool</ulink>
      are used to generate Makefiles and configure &yaz; for the system.
-     You do <emphasis>not</emphasis> these tools unless you're using the
+     You do <emphasis>not</emphasis> need these tools unless you're using the
      Git version of &yaz;.
     </para>
     <para>
      &yaz; includes a tiny ASN.1 compiler. This compiler is
      written in <ulink url="&url.tcl;">Tcl</ulink>.
      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.
     </para>
     <para>
        <replaceable>prefix</replaceable>. By default configure will
        search for iconv on the system. Use this option if it
        doesn't find iconv. Alternatively,
-       <literal>--without-iconv</literal>, can be uset to force &yaz;
+       <literal>--without-iconv</literal>, can be used to force &yaz;
        not to use iconv.
        </para>
        </listitem>
        <replaceable>prefix</replaceable>.
        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,
        <literal>--without-xslt</literal>, can be used to force &yaz;
        not to use libxslt.
        <replaceable>prefix</replaceable>.
        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,
        <literal>--without-xml2</literal>, can be used to force &yaz;
        not to use libxml2.
      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 <filename>yaz-config</filename> that is generated
         </para>
        <note>
         <para>
-         libxslt depends libxml2.
+         libxslt depends on libxml2.
         </para>
        </note>
        </listitem>
        <term><filename>bin/yaz-icu.exe</filename></term>
        <listitem><para>This program exposes the ICU wrapper library if that
        is enabled for YAZ. Only if ICU is available this program is
-       build.
+       built.
       </para></listitem>
       </varlistentry>
       <varlistentry>
        <term><filename>bin/zoomtst1.exe</filename>,
        <filename>bin/zoomtst2.exe</filename>, ..</term>
        <listitem><para>
-       Several small applications that demonstrates the ZOOM API.
+       Several small applications that demonstrate the ZOOM API.
       </para></listitem>
       </varlistentry>
      </variablelist>
       nmake install
      </screen>
     </para>
+    <note>
+     <para>
+      There's an error in <filename>configure.js</filename> for Libxml2 2.9.2.
+      Line 17 should be assigned to <filename>configure.ac</filename>
+      rather than <filename>configure.in</filename>.
+     </para>
+    </note>
     <para>
      For Libxslt it is similar. We must ensure that compilation of
      Libxslt links against the already installed libxml2.
      <screen>
       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
      </screen>
     The <parameter>type</parameter> specifies the actual extended service
     package type to be sent.
    </para>
+   <table frame="top" id="zoom.extendedservices.type">
+    <title>Extended Service Type</title>
+    <tgroup cols="2">
+     <colspec colwidth="3*" colname="value"></colspec>
+     <colspec colwidth="7*" colname="description"></colspec>
+     <thead>
+      <row>
+       <entry>Type</entry>
+       <entry>Description</entry>
+      </row>
+     </thead>
+     <tbody>
+      <row>
+       <entry>itemorder</entry><entry>Item Order</entry>
+      </row>
+      <row>
+       <entry>update</entry><entry>Record Update</entry>
+      </row>
+      <row>
+       <entry>create</entry><entry>Database Create</entry>
+      </row>
+      <row>
+       <entry>drop</entry><entry>Database Drop</entry>
+      </row>
+      <row>
+       <entry>commit</entry><entry>Commit Operation</entry>
+      </row>
+     </tbody>
+    </tgroup>
+   </table>
+
    <table frame="top" id="zoom.extendedservices.options">
     <title>Extended Service Common Options</title>
     <tgroup cols="3">
    <sect2 id="zoom.item.order">
     <title>Item Order</title>
     <para>
-     For Item Order, type must be set to <literal>itemorder</literal> in
+     For Item Order, <literal>type</literal> must be set to
+     <literal>itemorder</literal> in
      <function>ZOOM_package_send</function>.
     </para>
 
    <sect2 id="zoom.record.update">
     <title>Record Update</title>
     <para>
-     For Record Update, type must be set to <literal>update</literal> in
+     For Record Update, <literal>type</literal> must be set to
+     <literal>update</literal> in
      <function>ZOOM_package_send</function>.
     </para>
     <table frame="top" id="zoom.record.update.options">
 
    <sect2 id="zoom.database.create"><title>Database Create</title>
     <para>
-     For Database Create, type must be set to <literal>create</literal> in
+     For Database Create, <literal>type</literal> must be set to
+     <literal>create</literal> in
      <function>ZOOM_package_send</function>.
     </para>
 
    <sect2 id="zoom.database.drop">
     <title>Database Drop</title>
     <para>
-     For Database Drop, type must be set to <literal>drop</literal> in
+     For Database Drop, <literal>type</literal> must be set to
+     <literal>drop</literal> in
      <function>ZOOM_package_send</function>.
     </para>
     <table frame="top" id="zoom.database.drop.options">
    <sect2 id="zoom.commit">
     <title>Commit Operation</title>
     <para>
-     For Commit, type must be set to <literal>commit</literal> in
+     For Commit, <literal>type</literal> must be set to
+     <literal>commit</literal> in
      <function>ZOOM_package_send</function>.
     </para>
    </sect2>