File: grs-internal-representation.html

package info (click to toggle)
idzebra 2.2.10-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 10,644 kB
  • sloc: ansic: 54,389; xml: 27,054; sh: 6,211; makefile: 1,099; perl: 210; tcl: 64
file content (77 lines) | stat: -rw-r--r-- 5,831 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<html><head><meta charset="ISO-8859-1"><title>2.GRS-1 Internal Record Representation</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><link rel="home" href="index.html" title="Zebra - User's Guide and Reference"><link rel="up" href="grs.html" title="Chapter9.GRS-1 Record Model and Filter Modules"><link rel="prev" href="grs.html" title="Chapter9.GRS-1 Record Model and Filter Modules"><link rel="next" href="grs-conf.html" title="3.GRS-1 Record Model Configuration"></head><body><link rel="stylesheet" type="text/css" href="common/style1.css"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.<acronym class="acronym">GRS-1</acronym> Internal Record Representation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="grs.html">Prev</a></td><th width="60%" align="center">Chapter9.<acronym class="acronym">GRS-1</acronym> Record Model and Filter Modules</th><td width="20%" align="right"><a accesskey="n" href="grs-conf.html">Next</a></td></tr></table><hr></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="grs-internal-representation"></a>2.<acronym class="acronym">GRS-1</acronym> Internal Record Representation</h2></div></div></div><p>
    When records are manipulated by the system, they're represented in a
    tree-structure, with data elements at the leaf nodes, and tags or
    variant components at the non-leaf nodes. The root-node identifies the
    schema that lends context to the tagging and structuring of the
    record. Imagine a simple record, consisting of a 'title' element and
    an 'author' element:
   </p><p>

    </p><pre class="screen">
     ROOT
     TITLE     "Zen and the Art of Motorcycle Maintenance"
     AUTHOR    "Robert Pirsig"
    </pre><p>

   </p><p>
    A slightly more complex record would have the author element consist
    of two elements, a surname and a first name:
   </p><p>

    </p><pre class="screen">
     ROOT
     TITLE  "Zen and the Art of Motorcycle Maintenance"
     AUTHOR
     FIRST-NAME "Robert"
     SURNAME    "Pirsig"
    </pre><p>

   </p><p>
    The root of the record will refer to the record schema that describes
    the structuring of this particular record. The schema defines the
    element tags (TITLE, FIRST-NAME, etc.) that may occur in the record, as
    well as the structuring (SURNAME should appear below AUTHOR, etc.). In
    addition, the schema establishes element set names that are used by
    the client to request a subset of the elements of a given record. The
    schema may also establish rules for converting the record to a
    different schema, by stating, for each element, a mapping to a
    different tag path.
   </p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="grs-tagged-elements"></a>2.1.Tagged Elements</h3></div></div></div><p>
     A data element is characterized by its tag, and its position in the
     structure of the record. For instance, while the tag "telephone
     number" may be used different places in a record, we may need to
     distinguish between these occurrences, both for searching and
     presentation purposes. For instance, while the phone numbers for the
     "customer" and the "service provider" are both
     representatives for the same type of resource (a telephone number), it
     is essential that they be kept separate. The record schema provides
     the structure of the record, and names each data element (defined by
     the sequence of tags - the tag path - by which the element can be
     reached from the root of the record).
    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="grs-variant-details"></a>2.2.Variants</h3></div></div></div><p>
     The children of a tag node may be either more tag nodes, a data node
     (possibly accompanied by tag nodes),
     or a tree of variant nodes. The children of  variant nodes are either
     more variant nodes or a data node (possibly accompanied by more
     variant nodes). Each leaf node, which is normally a
     data node, corresponds to a <span class="emphasis"><em>variant form</em></span> of the
     tagged element identified by the tag which parents the variant tree.
     The following title element occurs in two different languages:
    </p><p>

     </p><pre class="screen">
      VARIANT LANG=ENG  "War and Peace"
      TITLE
      VARIANT LANG=DAN  "Krig og Fred"
     </pre><p>

    </p><p>
     Which of the two elements are transmitted to the client by the server
     depends on the specifications provided by the client, if any.
    </p><p>
     In practice, each variant node is associated with a triple of class,
     type, value, corresponding to the variant mechanism of <acronym class="acronym">Z39.50</acronym>.
    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="grs-data-elements"></a>2.3.Data Elements</h3></div></div></div><p>
     Data nodes have no children (they are always leaf nodes in the record
     tree).
    </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="grs.html">Prev</a></td><td width="20%" align="center"><a accesskey="u" href="grs.html">Up</a></td><td width="40%" align="right"><a accesskey="n" href="grs-conf.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter9.<acronym class="acronym">GRS-1</acronym> Record Model and Filter Modules</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">3.<acronym class="acronym">GRS-1</acronym> Record Model Configuration</td></tr></table></div></body></html>