The NFA seems to work now (as far as I can see).
[yaz-moved-to-github.git] / doc / introduction.xml
index a2fb762..fedf22a 100644 (file)
@@ -1,53 +1,51 @@
-<!-- $Id: introduction.xml,v 1.14 2003-04-28 21:02:16 adam Exp $ -->
+<!-- $Id: introduction.xml,v 1.23 2006-04-25 11:25:08 marc Exp $ -->
  <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.
   </para>
  <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.
   </para>
-
+  
   <para>
    Properties of &yaz;:
    <itemizedlist>
     <listitem><para>
       Complete 
   <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.
+      <ulink url="&url.z39.50;">Z39.50</ulink> version 3 support.
+      Amendments and Z39.50-2002 revision is supported.
      </para></listitem>
     <listitem><para>
       Supports 
      </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).
+      <ulink url="&url.sru;">SRW/SRU</ulink>
+      version 1.1 (over HTTP and HTTPS).
      </para></listitem>
     <listitem><para>
       Includes BER encoders/decoders for the 
      </para></listitem>
     <listitem><para>
       Includes BER encoders/decoders for the 
-      <ulink url="http://www.nlc-bnc.ca/iso/ill/">ISO ILL</ulink>
+      <ulink url="&url.ill;">ISO ILL</ulink>
       protocol.
      </para></listitem>
     <listitem><para>
       Supports the following transports: BER over TCP/IP
       protocol.
      </para></listitem>
     <listitem><para>
       Supports the following transports: BER over TCP/IP
-      (<ulink url="http://www.faqs.org/rfcs/rfc1729.html">RFC1729</ulink>),
+      (<ulink url="&url.ber.over.tcpip;">RFC1729</ulink>),
       BER over unix local socket, and 
       BER over unix local socket, and 
-      <ulink url="http://www.w3.org/Protocols/rfc2616/rfc2616.html">HTTP
-       1.1</ulink>.
+      <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.openssl;">OpenSSL</ulink>.
       If enabled, &yaz; uses HTTPS transport (for SOAP) or
       "Secure BER" (for Z39.50).
      </para></listitem>
     <listitem><para>
       Offers 
       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.
+      <ulink url="&url.zoom;">ZOOM</ulink> C API implementing both
+      Z39.50 and SRW.
      </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, 
      </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>
+      <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>
      <para>
       <xref linkend="odr"/> goes through the details of the
       ODR module which is the work horse that encodes and decodes
      <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.
+      BER packages. Implementors using ZOOM only, do <emphasis>not</emphasis>
+      need reading this.
       Most other Z39.50 implementors only need to read the first two
       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>.
+      sections (<xref linkend="odr.introduction"/> and
+      <xref linkend="odr.use"/>).
      </para>
     </listitem>
 
      </para>
     </listitem>
 
   <sect1 id="introduction.api"><title>The API</title>
    
    <para>
   <sect1 id="introduction.api"><title>The API</title>
    
    <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>/<ulink url="&url.srw;">SRW</ulink>
     protocols.
     The level that you need to use depends on your requirements, and
     the role (server or client) that you want to implement.
     protocols.
     The level that you need to use depends on your requirements, and
     the role (server or client) that you want to implement.
     Server implementers should consider the 
     <link linkend="server">generic frontend server</link>.
     None of those high-level APIs support the whole protocol, but
     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.
+    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
     you're going to develop an ILL application you'll have to learn the lower
     level APIs of &yaz;.
    </para>
     you're going to develop an ILL application you'll have to learn the lower
     level APIs of &yaz;.
    </para>
-
-   
    <para>
     The YAZ toolkit modules is shown in figure <xref linkend="yaz.layer"/>.
    </para>
    <para>
     The YAZ toolkit modules is shown in figure <xref linkend="yaz.layer"/>.
    </para>
     <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
     <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
-     need to worry about are documented in section 
-     <link linkend="odr-use">Using ODR</link>.
+     need to worry about are documented in
+     <xref linkend="odr.use"/>.
     </para>
    </note>
    
     </para>
    </note>