+ <listitem>
+ <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 implementors
+ might find the <link linkend="tools.cql">CQL</link> section
+ particularly useful.
+ </para>
+ </listitem>
+
+ <listitem>
+ <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 not need reading this.
+ Most other Z39.50 implementors only need to read the first two
+ sections <link linkend="odr.introduction">Introduction</link>,
+ <link linkend="odr.use">Using ODR</link>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <xref linkend="comstack"/> describes the network layer module
+ COMSTACK. Implementors using ZOOM or the generic frontend server
+ may skip this. Others, presumably, handling client/server
+ communication on their own should read this.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </sect1>
+ <sect1 id="introduction.api"><title>The API</title>
+
+ <para>
+ The <ulink url="http://www.indexdata.dk/yaz/">&yaz;</ulink>
+ 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
+ SRW 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
+ <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.
+ </para>