No reference to yaz/tab in manual or zebra.cfg's.
[idzebra-moved-to-github.git] / doc / recordmodel.xml
index d067cfd..8ad29e8 100644 (file)
@@ -1,5 +1,5 @@
  <chapter id="record-model">
  <chapter id="record-model">
-  <!-- $Id: recordmodel.xml,v 1.7 2002-10-11 09:05:09 adam Exp $ -->
+  <!-- $Id: recordmodel.xml,v 1.12 2002-10-30 11:09:39 adam Exp $ -->
   <title>The Record Model</title>
   
   <para>
   <title>The Record Model</title>
   
   <para>
@@ -8,7 +8,7 @@
    kind of structured data. Each record in the system is associated with
    a <emphasis>record schema</emphasis> which lends context to the data
    elements of the record.
    kind of structured data. Each record in the system is associated with
    a <emphasis>record schema</emphasis> which lends context to the data
    elements of the record.
-   Any number of record schema can coexist in the system.
+   Any number of record schemas can coexist in the system.
    Although it may be wise to use only a single schema within
    one database, the system poses no such restrictions.
   </para>
    Although it may be wise to use only a single schema within
    one database, the system poses no such restrictions.
   </para>
@@ -16,7 +16,7 @@
   <para>
    The record model described in this chapter applies to the fundamental,
    structured
   <para>
    The record model described in this chapter applies to the fundamental,
    structured
-   record type <literal>grs</literal> as introduced in
+   record type <literal>grs</literal>, introduced in
    <xref linkend="record-types"/>.
    <!--
    FIXME - Need to describe the simple string-tag model, or at least 
    <xref linkend="record-types"/>.
    <!--
    FIXME - Need to describe the simple string-tag model, or at least 
@@ -42,7 +42,8 @@
       input filter by preparing conversion rules based on regular
       expressions and possibly augmented by a flexible scripting language
       (Tcl).
       input filter by preparing conversion rules based on regular
       expressions and possibly augmented by a flexible scripting language
       (Tcl).
-      The input filter produces as output an internal representation:
+      The input filter produces as output an internal representation,
+      a tree structure.
 
      </para>
     </listitem>
 
      </para>
     </listitem>
@@ -94,7 +95,7 @@
     subsequent sections.
     Zebra can read structured records in many different formats.
     How this is done is governed by additional parameters after the
     subsequent sections.
     Zebra can read structured records in many different formats.
     How this is done is governed by additional parameters after the
-    "grs" keyboard, separated by "." characters.
+    "grs" keyword, separated by "." characters.
    </para>
 
    <para>
    </para>
 
    <para>
 
      <screen>
       &#60;Distributor&#62;
 
      <screen>
       &#60;Distributor&#62;
-      &#60;Name&#62; USGS/WRD &#60;/Name&#62;
-      &#60;Organization&#62; USGS/WRD &#60;/Organization&#62;
-      &#60;Street-Address&#62;
-      U.S. GEOLOGICAL SURVEY, 505 MARQUETTE, NW
-      &#60;/Street-Address&#62;
-      &#60;City&#62; ALBUQUERQUE &#60;/City&#62;
-      &#60;State&#62; NM &#60;/State&#62;
-      &#60;Zip-Code&#62; 87102 &#60;/Zip-Code&#62;
-      &#60;Country&#62; USA &#60;/Country&#62;
-      &#60;Telephone&#62; (505) 766-5560 &#60;/Telephone&#62;
+        &#60;Name&#62; USGS/WRD &#60;/Name&#62;
+        &#60;Organization&#62; USGS/WRD &#60;/Organization&#62;
+        &#60;Street-Address&#62;
+          U.S. GEOLOGICAL SURVEY, 505 MARQUETTE, NW
+        &#60;/Street-Address&#62;
+        &#60;City&#62; ALBUQUERQUE &#60;/City&#62;
+        &#60;State&#62; NM &#60;/State&#62;
+        &#60;Zip-Code&#62; 87102 &#60;/Zip-Code&#62;
+        &#60;Country&#62; USA &#60;/Country&#62;
+        &#60;Telephone&#62; (505) 766-5560 &#60;/Telephone&#62;
       &#60;/Distributor&#62;
      </screen>
 
       &#60;/Distributor&#62;
      </screen>
 
      Each element is terminated by a closing tag - beginning
      with <literal>&#60;</literal>/, and containing the same symbolic
      tag-name as the corresponding opening tag.
      Each element is terminated by a closing tag - beginning
      with <literal>&#60;</literal>/, and containing the same symbolic
      tag-name as the corresponding opening tag.
-     The general closing tag - <literal>&#60;</literal>&gt;/ -
+     The general closing tag - <literal>&lt;/&gt;</literal> -
      terminates the element started by the last opening tag. The
      structuring of elements is significant.
      The element <emphasis>Telephone</emphasis>,
      terminates the element started by the last opening tag. The
      structuring of elements is significant.
      The element <emphasis>Telephone</emphasis>,
 
     </sect3>
 
 
     </sect3>
 
-    <sect3>
+    <sect3><!-- ### we shouldn't make such a big deal about this -->
      <title>Variants</title>
 
      <para>
      <title>Variants</title>
 
      <para>
       tag with the same <emphasis>class</emphasis> and
       <emphasis>value</emphasis> settings, or by the
       appearance of another, normal tag. In other words, the end-tags for
       tag with the same <emphasis>class</emphasis> and
       <emphasis>value</emphasis> settings, or by the
       appearance of another, normal tag. In other words, the end-tags for
-      the variants used in the example above could have been saved.
+      the variants used in the example above could have been omitted.
      </para>
 
      <para>
      </para>
 
      <para>
     </para>
 
     <para>
     </para>
 
     <para>
-     An action is surrounded by curly braces (&lcub;...&rcub;), and
+     An action is surrounded by curly braces ({...}), and
      consists of a sequence of statements. Statements may be separated
      by newlines or semicolons (;).
      Within actions, the strings that matched the expressions
      immediately preceding the action can be referred to as
      consists of a sequence of statements. Statements may be separated
      by newlines or semicolons (;).
      Within actions, the strings that matched the expressions
      immediately preceding the action can be referred to as
-     &dollar;0, &dollar;1, &dollar;2, etc.
+     $0, $1, $2, etc.
     </para>
 
     <para>
     </para>
 
     <para>
      <variablelist>
 
       <varlistentry>
      <variablelist>
 
       <varlistentry>
-       <term>begin <emphasis>type &lsqb;parameter ... &rsqb;</emphasis></term>
+       <term>begin <emphasis>type [parameter ... ]</emphasis></term>
        <listitem>
         <para>
          Begin a new
        <listitem>
         <para>
          Begin a new
        </listitem>
       </varlistentry>
       <varlistentry>
        </listitem>
       </varlistentry>
       <varlistentry>
-       <term>end <emphasis>&lsqb;type&rsqb;</emphasis></term>
+       <term>end <emphasis>[type]</emphasis></term>
        <listitem>
         <para>
          Close a tagged element. If no parameter is given,
        <listitem>
         <para>
          Close a tagged element. If no parameter is given,
    <para>
 
     <screen>
    <para>
 
     <screen>
-        TITLE     "Zen and the Art of Motorcycle Maintenance"
      ROOT 
      ROOT 
+        TITLE     "Zen and the Art of Motorcycle Maintenance"
         AUTHOR    "Robert Pirsig"
     </screen>
 
         AUTHOR    "Robert Pirsig"
     </screen>
 
    <para>
 
     <screen>
    <para>
 
     <screen>
-        TITLE  "Zen and the Art of Motorcycle Maintenance"
      ROOT  
      ROOT  
-           FIRST-NAME "Robert"
+        TITLE  "Zen and the Art of Motorcycle Maintenance"
         AUTHOR
         AUTHOR
+           FIRST-NAME "Robert"
            SURNAME    "Pirsig"
     </screen>
 
            SURNAME    "Pirsig"
     </screen>
 
 
       <listitem>
        <para>
 
       <listitem>
        <para>
-        The Tag set (again, this can consist of several different sets).
+        The tag set (again, this can consist of several different sets).
         This is used when reading the records from a file, to recognize the
         different tags, and when transmitting the record to the client -
         mapping the tags to their numerical representation, if they are
         This is used when reading the records from a file, to recognize the
         different tags, and when transmitting the record to the client -
         mapping the tags to their numerical representation, if they are
 
     <para>
      Generally, the files are simple ASCII files, which can be maintained
 
     <para>
      Generally, the files are simple ASCII files, which can be maintained
-     using any text editor. Blank lines, and lines beginning with a (&num;) are
-     ignored. Any characters on a line followed by a (&num;) are also ignored.
+     using any text editor. Blank lines, and lines beginning with a (#) are
+     ignored. Any characters on a line followed by a (#) are also ignored.
      All other lines contain <emphasis>directives</emphasis>, which provide
      some setting or value to the system.
      Generally, settings are characterized by a single
      All other lines contain <emphasis>directives</emphasis>, which provide
      some setting or value to the system.
      Generally, settings are characterized by a single
     
    </sect2>
    
     
    </sect2>
    
-   <sect2>
+   <sect2 id="abs-file">
     <title>The Abstract Syntax (.abs) Files</title>
     
     <para>
     <title>The Abstract Syntax (.abs) Files</title>
     
     <para>
        </listitem></varlistentry>
       <varlistentry>
        <term>att
        </listitem></varlistentry>
       <varlistentry>
        <term>att
-        <emphasis>att-value att-name &lsqb;local-value&rsqb;</emphasis></term>
+        <emphasis>att-value att-name [local-value]</emphasis></term>
        <listitem>
         <para>
          (o,r) This
        <listitem>
         <para>
          (o,r) This
        </listitem></varlistentry>
       <varlistentry>
        <term>simpleElement
        </listitem></varlistentry>
       <varlistentry>
        <term>simpleElement
-        <emphasis>path &lsqb;'variant' variant-request&rsqb;</emphasis></term>
+        <emphasis>path ['variant' variant-request]</emphasis></term>
        <listitem>
         <para>
          (o,r) This corresponds to a simple element request
        <listitem>
         <para>
          (o,r) This corresponds to a simple element request
 
           <listitem>
            <para>
 
           <listitem>
            <para>
-            Curly braces &lcub;&rcub; may be used to enclose ranges of single
+            Curly braces {} may be used to enclose ranges of single
             characters (possibly using the escape convention described in the
             characters (possibly using the escape convention described in the
-            preceding point), eg. &lcub;a-z&rcub; to introduce the
+            preceding point), eg. {a-z} to introduce the
             standard range of ASCII characters.
             Note that the interpretation of such a range depends on
             the concrete representation in your local, physical character set.
             standard range of ASCII characters.
             Note that the interpretation of such a range depends on
             the concrete representation in your local, physical character set.