doc: update supported SRU version
[yaz-moved-to-github.git] / doc / introduction.xml
index 2201591..dd93b10 100644 (file)
@@ -1,53 +1,56 @@
-<!-- $Id: introduction.xml,v 1.17 2003-11-19 22:05:15 adam Exp $ -->
  <chapter id="introduction"><title>Introduction</title>
 
   <para>
    &yaz; is a C/C++ library for information retrieval applications
  <chapter id="introduction"><title>Introduction</title>
 
   <para>
    &yaz; is a C/C++ library for information retrieval applications
-   using the Z39.50/SRW/SRU protocols for information retrieval.
+   using the Z39.50/SRU/Solr protocols for information retrieval.
   </para>
 
   <para>
    Properties of &yaz;:
    <itemizedlist>
     <listitem><para>
   </para>
 
   <para>
    Properties of &yaz;:
    <itemizedlist>
     <listitem><para>
-      Complete 
-      <ulink url="http://www.loc.gov/z3950/agency/">Z39.50</ulink>
-      version 3 support. Amendments and Z39.50-2002 revision is
-      supported.
+      Complete
+      <ulink url="&url.z39.50;">Z39.50</ulink> version 3 support.
+      Amendments and Z39.50-2002 revision is supported.
      </para></listitem>
     <listitem><para>
      </para></listitem>
     <listitem><para>
-      Supports 
-      <ulink url="http://www.loc.gov/z3950/agency/zing/srw/">SRW/SRU</ulink>
-      version 1.0 (over HTTP and HTTPS).
+      Supports
+      <ulink url="&url.sru;">SRU GET/POST/SOAP</ulink>
+      version 1.1, 1.2 and 2.0 (over HTTP and HTTPS).
      </para></listitem>
     <listitem><para>
      </para></listitem>
     <listitem><para>
-      Includes BER encoders/decoders for the 
-      <ulink url="http://www.nlc-bnc.ca/iso/ill/">ISO ILL</ulink>
+      Includes BER encoders/decoders for the
+      <ulink url="&url.ill;">ISO ILL</ulink>
       protocol.
      </para></listitem>
     <listitem><para>
       protocol.
      </para></listitem>
     <listitem><para>
+      Supports
+      <ulink url="&url.solr;">Solr</ulink> Web Service version 1.4.x
+      (client side only)
+     </para></listitem>
+    <listitem><para>
       Supports the following transports: BER over TCP/IP
       Supports the following transports: BER over TCP/IP
-      (<ulink url="http://www.faqs.org/rfcs/rfc1729.html">RFC1729</ulink>),
-      BER over unix local socket, and 
-      <ulink url="http://www.w3.org/Protocols/rfc2616/rfc2616.html">HTTP
-       1.1</ulink>.
+      (<ulink url="&url.ber.over.tcpip;">RFC1729</ulink>),
+      BER over unix local socket, and
+      <ulink url="&url.http.1.1;">HTTP 1.1</ulink>.
      </para></listitem>
     <listitem><para>
       Secure Socket Layer support using
      </para></listitem>
     <listitem><para>
       Secure Socket Layer support using
-      <ulink url="http://www.openssl.org/">OpenSSL</ulink>.
+      <ulink url="&url.gnutls;">GNU TLS</ulink> or
+      <ulink url="&url.openssl;">OpenSSL</ulink>.
       If enabled, &yaz; uses HTTPS transport (for SOAP) or
       "Secure BER" (for Z39.50).
      </para></listitem>
     <listitem><para>
       If enabled, &yaz; uses HTTPS transport (for SOAP) or
       "Secure BER" (for Z39.50).
      </para></listitem>
     <listitem><para>
-      Offers 
-      <ulink url="http://zoom.z3950.org/">ZOOM</ulink>
-      C API implementing both Z39.50 and SRW.
+      Offers
+      <ulink url="&url.zoom;">ZOOM</ulink> C API implementing
+      Z39.50, SRU and Solr Web Service.
      </para></listitem>
     <listitem><para>
       The &yaz; library offers a set of useful utilities
       related to the protocols, such as MARC (ISO2709) parser,
      </para></listitem>
     <listitem><para>
       The &yaz; library offers a set of useful utilities
       related to the protocols, such as MARC (ISO2709) parser,
-      CCL (ISO8777) parser, 
-      <ulink url="http://www.loc.gov/z3950/agency/zing/cql/">CQL</ulink>
+      CCL (ISO8777) parser,
+      <ulink url="&url.cql;">CQL</ulink>
       parser, memory management routines, character set conversion.
      </para></listitem>
     <listitem><para>
       parser, memory management routines, character set conversion.
      </para></listitem>
     <listitem><para>
@@ -72,7 +75,7 @@
    <itemizedlist>
     <listitem>
      <para>
    <itemizedlist>
     <listitem>
      <para>
-      <xref linkend="installation"/> contains installation 
+      <xref linkend="installation"/> contains installation
       instructions for &yaz;. You don't need reading this
       if you expect to download &yaz; binaries.
       However, the chapter contains information about how
       instructions for &yaz;. You don't need reading this
       if you expect to download &yaz; binaries.
       However, the chapter contains information about how
     <listitem>
      <para>
       <xref linkend="zoom"/> describes the ZOOM API of &yaz;.
     <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/SRW
-     client.
-    </para>
+      This is definitely worth a read if you wish to develop a Z39.50/SRU
+      client.
+     </para>
     </listitem>
     </listitem>
-    
+
     <listitem>
      <para>
       <xref linkend="server"/> describes the generic frontend server
     <listitem>
      <para>
       <xref linkend="server"/> describes the generic frontend server
-      and explains how to develop server Z39.50/SRW applications for &yaz;.
-     Obviously worth reading if you're to develop a server.
+      and explains how to develop server Z39.50/SRU applications for &yaz;.
+      Obviously worth reading if you're to develop a server.
     </para>
     </listitem>
 
     <listitem>
      <para>
     </para>
     </listitem>
 
     <listitem>
      <para>
-      <xref linkend="client"/> describes how to use the &yaz; Z39.50
+      <xref linkend="yaz-client"/> describes how to use the &yaz; Z39.50
       client. If you're developer and wish to test your server
       or a server from another party, you might find this chapter
       useful.
       client. If you're developer and wish to test your server
       or a server from another party, you might find this chapter
       useful.
 
     <listitem>
      <para>
 
     <listitem>
      <para>
-      <xref linkend="soap"/> describes how SRW and SOAP is used 
-      in &yaz;. Only if you're developing SOAP/SRW applications
+      <xref linkend="soap"/> describes how SRU and SOAP is used
+      in &yaz;. Only if you're developing SRU applications
       this section is a must.
      </para>
     </listitem>
       this section is a must.
      </para>
     </listitem>
      <para>
       <xref linkend="tools"/> contains sections for the various
       tools offered by &yaz;. Scan through the material quickly
      <para>
       <xref linkend="tools"/> contains sections for the various
       tools offered by &yaz;. Scan through the material quickly
-      and see what's relevant to you! SRW/SRU implementors
-      might find the <link linkend="tools.cql">CQL</link> section
+      and see what's relevant to you! SRU implementors
+      might find the <link linkend="cql">CQL</link> section
       particularly useful.
      </para>
     </listitem>
       particularly useful.
      </para>
     </listitem>
    </itemizedlist>
   </sect1>
   <sect1 id="introduction.api"><title>The API</title>
    </itemizedlist>
   </sect1>
   <sect1 id="introduction.api"><title>The API</title>
-   
+
    <para>
    <para>
-    The <ulink url="http://www.indexdata.dk/yaz/">&yaz;</ulink>
+    The <ulink url="&url.yaz;">&yaz;</ulink>
     toolkit offers several different levels of access to the
     toolkit offers several different levels of access to the
-    <ulink url="http://www.loc.gov/z3950/agency/">ISO23950/Z39.50</ulink>,
-    <ulink url="http://www.nlc-bnc.ca/iso/ill/">ILL</ulink> and
-    <ulink url="http://www.loc.gov/z3950/agency/zing/srw/">SRW</ulink>
+    <ulink url="&url.z39.50;">ISO23950/Z39.50</ulink>,
+    <ulink url="&url.ill;">ILL</ulink> and
+    <ulink url="&url.sru;">SRU</ulink>
     protocols.
     The level that you need to use depends on your requirements, and
     the role (server or client) that you want to implement.
     If you're developing a client application you should consider the
     <link linkend="zoom">ZOOM</link> API.
     It is, by far, the easiest way to develop clients in C.
     protocols.
     The level that you need to use depends on your requirements, and
     the role (server or client) that you want to implement.
     If you're developing a client application you should consider the
     <link linkend="zoom">ZOOM</link> API.
     It is, by far, the easiest way to develop clients in C.
-    Server implementers should consider the 
+    Server implementers should consider the
     <link linkend="server">generic frontend server</link>.
     None of those high-level APIs support the whole protocol, but
     <link linkend="server">generic frontend server</link>.
     None of those high-level APIs support the whole protocol, but
-    they do include most facilities used in existing Z39.50
-    applications.
+    they do include most facilities used in existing Z39.50 applications.
    </para>
    <para>
     If you're using 'exotic' functionality (meaning anything not included in
    </para>
    <para>
     If you're using 'exotic' functionality (meaning anything not included in
      </listitem>
      <listitem>
       <para>
      </listitem>
      <listitem>
       <para>
-       The second layer provides a C represenation of the 
+       The second layer provides a C represenation of the
        protocol units (packages) for Z39.50 ASN.1, ILL ASN.1,
        protocol units (packages) for Z39.50 ASN.1, ILL ASN.1,
-       SRW SOAP.
+       SRU.
       </para>
      </listitem>
      <listitem>
       </para>
      </listitem>
      <listitem>
     The &asn; library also provides functions (which are, in turn,
     defined using &odr; primitives) for encoding and decoding data values.
     Their general form is
     The &asn; library also provides functions (which are, in turn,
     defined using &odr; primitives) for encoding and decoding data values.
     Their general form is
-    
+
     <funcsynopsis>
      <funcprototype><funcdef>int <function>z_<replaceable>xxx</replaceable></function></funcdef>
       <paramdef>ODR <parameter>o</parameter></paramdef>
     <funcsynopsis>
      <funcprototype><funcdef>int <function>z_<replaceable>xxx</replaceable></function></funcdef>
       <paramdef>ODR <parameter>o</parameter></paramdef>
     </funcsynopsis>
     (note the lower-case &quot;z&quot; in the function name)
    </para>
     </funcsynopsis>
     (note the lower-case &quot;z&quot; in the function name)
    </para>
-   
+
    <note>
     <para>
      If you are using the premade definitions of the &asn; module, and you
    <note>
     <para>
      If you are using the premade definitions of the &asn; module, and you
      <xref linkend="odr.use"/>.
     </para>
    </note>
      <xref linkend="odr.use"/>.
     </para>
    </note>
-   
+
   <para>
     When you have created a BER-encoded buffer, you can use the &comstack;
     subsystem to transmit (or receive) data over the network. The &comstack;
   <para>
     When you have created a BER-encoded buffer, you can use the &comstack;
     subsystem to transmit (or receive) data over the network. The &comstack;