This is the IWF Metadata Harvester User and Reference Manual, edition 1.0 for the IWF Metadata Harvester 1.0. This manual was last updated on 18 October 2006. IWF Metadata Harvester is a package for metadata harvesting. The author is Laurence D. Finston.
Copyright © 2006, 2007 IWF Wissen und Medien gGmbH
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.
The IWF Metadata Harvester is a package for extracting data from servers, writing it to databases, and displaying it.
Numerous libraries, archives, and other institutions provide data publically or on a restricted basis on servers dedicated to this purpose. For example, many libraries make bibliographic data on their collections available on a server, for use by other libraries. Another institution or private person who wishes to access this data does so by means of a client application or client. Such a client initiates a connection to a server over a computer network and requests that the server send it particular data by means of one or more queries. If the data is available, the server then responds by sending the data over the network to the client. After the client has received the data, and has no further requests to make, it terminates the connection with the server.
In order for the communication between client and server to function, both must adhere to a common set of standards and protocols. There are many standards governing the communication of clients and servers over computer networks, old and new, for various purposes, and development in this area continues apace.
These standards and protocols and their implementation is a complex subject, and different standards and protocols are not always directly comparable. It often useful to speak of the “kind” or “type” of a server, but it can be difficult to define precisely what this means.
Currently, the IWF Metadata Harvester can access two “types” of server: “OAI servers”, i.e., ones using the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH), and “Z39.50 Servers”, i.e., ones using the Z39.50 protocol.
The IWF Metadata Harvester contains two programs, ATest and ZTest, whereby ATest accesses OAI servers and ZTest accesses Z39.50 servers. Of the two protocols, the OAI-PMH is much simpler, more straightforward, and more modern than Z39.50, which seems unnecessarily complex and old-fashioned in comparison. Nonetheless, Z39.50 does have some advantages over OAI-PMH, and is still widely used, especially by libraries.
Retrieving data from an OAI server is no problem, because one simply uses the Hypertext Transfer Protocol used in the World Wide Web (WWW) for transferring data in HTML (Hypertext Markup Language) format, such as web pages. Microsoft Visual C++ provides library functions for accessing servers using HTTP, as do other implementations of C++ libraries.
Ultimately, data is retrieved from a Z39.50 server using TCP/IP, but ZTest does not use these protocols directly. Instead, it uses the YAZ library supplied by the Danish company Index Data.
The data supplied by an OAI server is in XML format. XML has become a popular format for exchanging data in several different areas within the field of computer and database programming. It is a very clearly structured format and allows for a hierarchical organization of data. Because of its popularity, documentation is easily accessible, code samples and software for processing XML data is widely available, and the relevant standards committees are active. The use of such a popular and well-supported format for data exchange makes it easier to use OAI interfaces, because established methods can be used for accessing and manipulating the data. In fact, it was unnecessary to program an XML parser in ATest, because Microsoft SQL Server 2000 provides a system stored procedure for representing XML data in tabular form.
Z39.50 servers, on the other hand, can provide data in several different formats. The most popular is USMARC, formerly known as MARC. However, the IWF Metadata Harvester currently cannot process records in USMARC format. It does process records in PICA format, which is used by the GBV in Germany. The PICA format is much more concise than the rather verbose XML format, and Pica records are correspondingly more compact. However, it is very complex, with nearly 400 categories, each of which has at least one, and possibly several, fields. Since PICA format is little-used, outside of Germany and the Netherlands, ZTest includes a specially-written parser for parsing PICA records. However, it does not yet process all of the categories and fields, and the PICA database does not yet have database tables and columns to correspond to all of the PICA categories and fields.
See GNU Free Documentation License, (a.k.a. GNU FDL) for copying conditions. The code is contained in the file fdl.texi, which should have been included in the in the distribution. If you haven't received a copy of the GNU Free Documentation License, you can obtain one from this address:
The Free Software Foundation
51 Franklin St, Fifth Floor
Boston, MA 02110-1301, USA
http://www.gnu.org/
http://www.gnu.org/licenses/licenses.html
The databases which are included in the IWF Metadata Harvester make heavy use of “association tables”. These are database tables that associate entries of two or more other database tables.
Association tables are needed when a data record can contain multiple
items of information of the same type. For example, a book may have
more than one author. It would be possible to define a
“Book” database table with a column “author_name”,
but then it would only be possible to store the name of a single
author in a line of of the Books table.
A better approach is to define a second table “Authors”.
Both the Books table and the Authors table should have a
column containing a unique, numeric identifier, book_id, and
author_id, respectively. These columns should each be associated
with primary key constraints for their table. Let us further
assume that the Authors table has a column
“author_name”.
Now, a third table, “Records_Authors” can be defined with the two columns
“book_id” and “author_id”. These columns should be
associated with foreign key constraints referencing the
Books table and the Authors table, respectively.
Consider the case that a book has three authors. First, an entry is
created in the Books table, and it is assigned a
book_id, say 1. Then, three entries are created in the Authors
table, and they are assigned author_ids, for example, with the values
1, 2, and 3. Then, three entries are created in
the Books_Authors table as follows:
| book_id | author_id
|
|---|---|
| 1 | 1
|
| 1 | 2
|
| 1 | 3
|
Now, the names of all of the authors associated with this book can be found by using the following Transact-SQL query:
select A.author_name
from Authors as A, Books as B, Books_Authors as BA
where
A.author_id = BA.author_id
and
B.book_id = BA.book_id
and
B.book_id = 1
When strings are too long, they are not written to the database
correctly, but no error is signalled. However, CDatabase::ExecuteSQL
or CRecordset::Open throws and exception, when trying to read the string
out of the database:
Error Code 1021 ``Daten abgeschnitten'' (``Data truncated'').
This shouldn't happen, because enough space should have been allocated in the database table definitions. However, one never knows what a record might contain, so it's entirely possible that one might contain more text than expected. In order to account for this possibility, some of the tables in the PICA database have continuation columns. !! TODO: Explain.
Currently, neither ATest nor ZTest uses multi-threading. However, I have made an effort to ensure that it will be possible to do so, if need arises. I avoid the use of static non-constant variables in functions, and static variables local to files, in order to ensure that all functions are thread-safe. There are still some static variables left, but I am in the process of eliminating them.
See also UTF-8 encoding table and Unicode characters and Universal Character Set — Wikipedia; the free encyclopedia.
| Hexadecimal | Octal | Decimal | UTF-8 Encoding (Hexadecimal) | UTF-8 Encoding (Symbolic) | Symbol | Unicode Name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| #80 | °200 | 128 | #C2 80 | Â \200 | \200 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #81 | °201 | 129 | #C2 81 | Â \201 | \201 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #82 | °202 | 130 | #C2 82 | Â \202 | \202 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #83 | °203 | 131 | #C2 83 | Â \203 | \203 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #84 | °204 | 132 | #C2 84 | Â \204 | \204 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #85 | °205 | 133 | #C2 85 | Â \205 | \205 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #86 | °206 | 134 | #C2 86 | Â \206 | \206 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #87 | °207 | 135 | #C2 87 | Â \207 | \207 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #88 | °210 | 136 | #C2 88 | Â \210 | \210 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #89 | °211 | 137 | #C2 89 | Â \211 | \211 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #8A | °212 | 138 | #C2 8A | Â \212 | \212 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #8B | °213 | 139 | #C2 8B | Â \213 | \213 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #8C | °214 | 140 | #C2 8C | Â \214 | \214 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #8D | °215 | 141 | #C2 8D | Â \215 | \215 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #8E | °216 | 142 | #C2 8E | Â \216 | \216 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #8F | °217 | 143 | #C2 8F | Â \217 | \217 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #93 | °223 | 147 | #C2 93 | Â \223 | \223 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #96 | °226 | 150 | #C2 96 | Â \226 | \226 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #97 | °227 | 151 | #C2 97 | Â \227 | \227 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #9B | °233 | 155 | #C2 9B | Â \233 | \233 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #9C | °234 | 156 | #C2 9C | Â \234 | \234 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #9C | °234 | 156 | #C2 9F | Â \237 | \234 | <control> | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #A0 | °240 | 160 | #C2 A0 | Â \240 | \240 | No-Break Space | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #A1 | °241 | 161 | #C2 A1 | Â ¡ | ¡ | Inverted Exclamation Mark | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #A4 | °244 | 164 | #C2 A4 | Â ¤ | ¤ | Currency Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #A7 | °247 | 167 | #C2 A7 | Â § | § | Section Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #A8 | °250 | 168 | #C2 A8 | Â ¨ | ¨ | Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #A9 | °251 | 169 | #C2 A9 | Â © | © | Copyright Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #AD | °255 | 173 | #C2 AD | Â \255 | \255 | Soft Hyphen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #AE | °256 | 174 | #C2 AE | Â ® | ® | Registered Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #AF | °257 | 175 | #C2 AF | Â ¯ | ¯ | Macron | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B0 | °260 | 176 | #C2 B0 | Â ° | ° | Degree Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B1 | °261 | 177 | #C2 B1 | Â ± | ± | Plus-Minus Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B3 | °263 | 179 | #C2 B3 | Â ³ | ³ | Superscript Three | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B4 | °264 | 180 | #C2 B4 | Â ´ | ´ | Acute Accent | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B5 | °265 | 181 | #C2 B5 | Â µ | µ | Micro Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B6 | °266 | 182 | #C2 B6 | Â ¶ | ¶ | Pilcrow Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B7 | °267 | 183 | #C2 B7 | Â · | · | Middle Dot td>
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #B8 | °270 | 184 | #C2 B8 | Â ¸ | ¸ | Cedilla | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #BC | °274 | 188 | #C2 BC | Â ¼ | ¼ | Vulgar Fraction One Quarter | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #BD | °275 | 189 | #C2 BD | Â ½ | ½ | Vulgar Fraction One Half | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #BF | °277 | 191 | #C2 BF | ¿ | ¿ | Inverted Question Mark | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #C2 | °302 | 194 | #C3 82 | Ã \202 | Â | Latin Capital Letter A With Circumflex | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #C3 | °303 | 195 | #C3 83 | Ã \203 | Ã | Latin Capital Letter A With Tilde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #C4 | °304 | 196 | #C3 84 | Ã \204 | Ä | Latin Capital Letter A With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #C7 | °307 | 199 | #C3 87 | Ã \207 | Ç | Latin Capital Letter C With Cedilla | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #C8 | °310 | 200 | #C3 88 | Ã \210 | È | Latin Capital Letter E With Grave | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #C9 | °311 | 201 | #C3 89 | Ã \211 | É | Latin Capital Letter E With Acute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #CA | °312 | 202 | #C3 8A | Ã \212 | Ê | Latin Capital Letter E With Circumflex | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #CB | °313 | 203 | #C3 8B | Ã \213 | Ë | Latin Capital Letter E With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #CE | °316 | 206 | #C3 83 | Ã \203 | Î | Latin Capital Letter I With Circumflex | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #D6 | °326 | 214 | #C3 96 | Ã \226 | Ö | Latin Capital Letter O With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #D7 | °327 | 215 | #C3 97 | Ã \227 | × | Multiplication Sign | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #DB | °333 | 219 | #C3 9B | Ã \233 | Û | Latin Capital Letter U With Circumflex | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #DC | °334 | 220 | #C3 9C | Ã \234 | Ü | Latin Capital Letter U With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #DF | °337 | 223 | #C3 9F | Ã \237 | ß | Latin Small Letter Sharp S | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #E0 | °340 | 224 | #C3 A0 | Ã \240 | à | Latin Small Letter A With Grave | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #E1 | °341 | 225 | #C3 A1 | Ã ¡ | á | Latin Small Letter A With Acute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #E4 | °344 | 228 | #C3 A4 | Ã ¤ | ä | Latin Small Letter A With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #E7 | °347 | 231 | #C3 A7 | Ã § | ç | Latin Small Letter C With Cedilla | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #E8 | °350 | 232 | #C3 A8 | Ã ¨ | è | Latin Small Letter E With Grave | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #E9 | °351 | 233 | #C3 A9 | Ã © | é | Latin Small Letter E With Acute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #ED | °355 | 237 | #C3 AD | Ã \255 | í | Latin Small Letter I With Acute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #EE | °356 | 238 | #C3 AE | Ã ® | î | Latin Small Letter I With Circumflex | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #EF | °357 | 239 | #C3 AF | Ã ¯ | ï | Latin Small Letter I With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #F1 | °361 | 241 | #C3 B1 | Ã ± | ñ | Latin Small Letter N With Tilde | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #F3 | °363 | 243 | #C3 B3 | Ã ³ | ó | Latin Small Letter O With Acute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #F6 | °366 | 246 | #C3 B6 | Ã ¶ | ö | Latin Small Letter O With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #FC | °374 | 252 | #C3 BC | Ã ¼ | ü | Latin Small Letter U With Diaeresis | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #FD | °375 | 253 | #C3 BD | Ã ½ | ý | Latin Small Letter Y With Acute | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #FF | °377 | 255 | #C3 BF | Ã ¿ | ÿ | Latin Small Letter Y With Diaeresis |
ATest is a package that retrieves records from servers using the OAI (Open Archives Initiative) interface. The Open Archives Initiative is a body that develops and publishes standards, protocols, etc., for the interchange of data. One such protocol is the OAI–PMH (Open Archives Initiative–Protocol for Metadata Harvesting).
Institutions that wish to make their archives publically available may set up an OAI server. Users can connect to the servers using The records are transmitted over the internet using the Hypertext Transfer Protocol (HTTP) in XML format. The OAI–PMH specifies the XML tags that can be used in the metadata made available via the OAI interface. They are based on the Dublin Core fields.
These are the steps that ATest performs:
dc_test database.
Class Dialog_1 is declared in dialog1a.web.
dc_test database are deleted before
the data from the newly-downloaded records is written to it. This is
useful for testing purposes, but will not be done in production.
const unsigned short metadata_source, const unsigned short ttimespan, const CTime* ctime, char* resumption_token, char* records_file_name)void)void)void)void)void)void)void)void)void)void)void)void)void)Class Dialog_2 is declared in dialog2a.web.
The top half of the second dialog box is used for searching the
dc_test database. It contains, from left-to-right, the following items:
The bottom half of the second dialog box contains items used for
listing the contents of the dc_test database in various ways.
The listings are stored in files of HTML code. The following table
describes these items, as they appear from left-to-right, and from
top-to-bottom:
void)void)void)void)void)void)void)void)void)void)void)void)void)void)Class MetadataSource is declared in mtdtsrc.web.
unsigned short NULL_METADATA_SOURCEunsigned short TIMMSunsigned short DBTBOOL delete_tables, char* resumption_token, char* records_file_name)CDatabase* cdb, CRecords& curr_record, char* resumption_token, char* records_file_name)CDatabase* cdb, CRecords& curr_record, char* resumption_token, char* records_file_name)Class Selector is declared in selector.web.
unsigned short QUERY_NULL_TYPEunsigned short QUERY_SEARCHunsigned short QUERY_LISTINGunsigned short NULL_TIMESPANunsigned short TODAYunsigned short YESTERDAYunsigned short THIS_WEEKunsigned short LAST_WEEKunsigned short THIS_MONTHunsigned short LAST_MONTHunsigned short LAST_6_MONTHSunsigned short THIS_YEARunsigned short LAST_YEARunsigned short LAST_2_YEARSunsigned short LAST_5_YEARSunsigned short LAST_10_YEARSunsigned short LAST_20_YEARSunsigned short ALL_RECORDSunsigned short SORT_FIELD_RECORD_IDunsigned short SORT_FIELD_CREATORunsigned short SORT_FIELD_TITLEunsigned short SORT_FIELD_DC_DATEunsigned short SORT_FIELD_HEADER_DATESTAMPunsigned int CONTRIBUTORSunsigned int CREATORSunsigned int DC_DATESunsigned int DESCRIPTIONSunsigned int DESCRIPTIONSunsigned int HEADER_DATESTAMPSunsigned int IDENTIFIERSunsigned int LANGUAGESunsigned int PUBLISHERSunsigned int RIGHTSunsigned int SUBJECTSunsigned int TITLESunsigned int TYPESunsigned int BEG_OR_WHOLE_WORDunsigned short WHOLE_WORD_ONLYunsigned short WHOLE_OR_PARTIAL_WORDunsigned short EXACT_MATCHCRecords recordsCContributors contributorsCCreators creatorsCSubjects subjectsCTitles titlesCTemp_IDs temp_idsCTemp_IDs_1 temp_ids_1CRecords_Temp records_tempCContributors_Temp contributors_tempCCreators_Temp creators_tempCDescriptions_Temp descriptions_tempCIdentifiers_Temp identifiers_tempCLanguages_Temp languages_tempCPublishers_Temp publishers_tempCRights_Temp rights_tempCSubjects_Temp subjects_tempCTitles_Temp titles_tempCTypes_Temp types_tempThese variables reference database tables.
stringstream contributor_strmstringstream creator_strmstringstream dc_date_strmstringstream description_strmstringstream header_datestamp_strmstringstream identifier_strmstringstream language_strmstringstream publisher_strmstringstream rights_strmstringstream subject_strmstringstream title_strmstringstream type_strmstringstream temp_strmconst unsigned int select_value, CString& search_str, const unsigned int search_options)unsigned short sort_field, unsigned short sort_order, unsigned short timespan, BOOL suppress_duplicate_records)unsigned short query_type, [unsigned int select_value = 0, [CString* search_str = 0]])unsigned short table, unsigned short timespan, unsigned short sort_order)Class Records is declared in records.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Records table
in the dc_test database.
See Records (ATest Database Tables).
These variables reference the corresponding columns in the
Recordstable in thedc_testdatabase. See Records (ATest Database Tables).
Class Records_Temp is declared in rcrdstmp.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Records_Temp table
in the dc_test database.
See Records_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Records_Temptable in thedc_testdatabase. See Records_Temp (ATest Database Tables).
Class Creators is declared in creators.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Creators table
in the dc_test database.
See Creators (ATest Database Tables).
These variables reference the corresponding columns in the
Creatorstable in thedc_testdatabase. See Creators (ATest Database Tables).
Class Creators_Temp is declared in crtrstmp.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Creators_Temp table
in the dc_test database.
See Creators_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Creators_Temptable in thedc_testdatabase. See Creators_Temp (ATest Database Tables).
Class Contributors is declared in cntrbtrs.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Contributors table
in the dc_test database.
See Contributors (ATest Database Tables).
These variables reference the corresponding columns in the
Contributorstable in thedc_testdatabase. See Contributors (ATest Database Tables).
Class Contributors_Temp is declared in cntrbtmp.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Contributors_Temp table
in the dc_test database.
See Contributors_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Contributors_Temptable in thedc_testdatabase. See Contributors_Temp (ATest Database Tables).
Class Titles is declared in titles.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Titles table
in the dc_test database.
See Titles (ATest Database Tables).
These variables reference the corresponding columns in the
Titlestable in thedc_testdatabase. See Titles (ATest Database Tables).
Class Titles_Temp is declared in ttlstmp.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Titles_Temp table
in the dc_test database.
See Titles_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Titles_Temptable in thedc_testdatabase. See Titles_Temp (ATest Database Tables).
Class Descriptions_Temp is declared in dscrptmp.web.
It is derived from the MFC class CRecordset using public
derivation.
See Descriptions_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Descriptions_Temptable in thedc_testdatabase. See Descriptions_Temp (ATest Database Tables).
Class Subjects is declared in subjects.web.
It is derived from the MFC class CRecordset using public
derivation.
See Subjects (ATest Database Tables).
These variables reference the corresponding columns in the
Subjectstable in thedc_testdatabase. See Subjects (ATest Database Tables).
Class Subjects_Temp is declared in sbjcttmp.web.
It is derived from the MFC class CRecordset using public
derivation. It references the Subjects_Temp table
in the dc_test database.
See Subjects_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Subjects_Temptable in thedc_testdatabase. See Subjects_Temp (ATest Database Tables).
Class Identifiers_Temp is declared in identtmp.web.
It is derived from the MFC class CRecordset using public
derivation.
See Identifiers_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Identifiers_Temptable in thedc_testdatabase. See Identifiers_Temp (ATest Database Tables).
Class Languages_Temp is declared in langtmp.web.
It is derived from the MFC class CRecordset using public
derivation.
See Languages_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Languages_Temptable in thedc_testdatabase. See Languages_Temp (ATest Database Tables).
Class Publishers_Temp is declared in pblshtmp.web.
It is derived from the MFC class CRecordset using public
derivation.
See Publishers_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Publishers_Temptable in thedc_testdatabase. See Publishers_Temp (ATest Database Tables).
Class Rights_Temp is declared in rghtstmp.web.
It is derived from the MFC class CRecordset using public
derivation.
See Rights_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Rights_Temptable in thedc_testdatabase. See Rights_Temp (ATest Database Tables).
Class Types_Temp is declared in typestmp.web.
It is derived from the MFC class CRecordset using public
derivation.
See Types_Temp (ATest Database Tables).
These variables reference the corresponding columns in the
Types_Temptable in thedc_testdatabase. See Types_Temp (ATest Database Tables).
Class Temp_IDs is declared in tempids.web.
It is derived from the MFC class CRecordset using public
derivation.
See Temp_IDs (ATest Database Tables).
This variable references the corresponding column in the
Temp_IDstable in thedc_testdatabase. See Temp_IDs (ATest Database Tables).
Class Temp_IDs_1 is declared in tempids1.web.
It is derived from the MFC class CRecordset using public
derivation.
See Temp_IDs_1 (ATest Database Tables).
This variable references the corresponding column in the
Temp_IDs_1table in thedc_testdatabase. See Temp_IDs_1 (ATest Database Tables).
The database tables for ATest are defined in the file dc_test/create_tables.sql.
!! TODO: Write about temporary tables.
This database table is referenced by the ODBC class Records.
See Records (ATest; ODBC Classes).
int identity not null record_idprimary key PK_RecordsThe values stored in the
record_idcolumn are the unique identifiers for the records stored in theRecordstable. These values are used in other tables, including association tables, for associating data from other tables with particular records.
This database table is referenced by the ODBC class Records_Temp.
See Records_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Creators.
See Creators (ATest; ODBC Classes).
int not null institution_idReferences
Institutions(institution_id). The default value is 0.
This database table is referenced by the ODBC class Creators_Temp.
See Creators_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Contributors.
See Contributors (ATest; ODBC Classes).
int not null institution_idReferences
Institutions(institution_id). The default value is0.
This database table is referenced by the ODBC class Contributors_Temp.
See Contributors_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Titles.
See Titles (ATest; ODBC Classes).
This database table is referenced by the ODBC class Titles_Temp.
See Titles_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Descriptions_Temp.
See Descriptions_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Subjects.
See Subjects (ATest; ODBC Classes).
This database table is referenced by the ODBC class Subjects_Temp.
See Subjects_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Identifiers_Temp.
See Identifiers_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Languages_Temp.
See Languages_Temp (ATest; ODBC Classes).
int not null institution_idReferences
Institutions(institution_id). The default value is 0.
This database table is referenced by the ODBC class Publishers_Temp.
See Publishers_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Rights_Temp.
See Rights_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Types_Temp.
See Types_Temp (ATest; ODBC Classes).
This database table is referenced by the ODBC class Temp_IDs.
See Temp_IDs (ATest; ODBC Classes).
This database table is referenced by the ODBC class Temp_IDs_1.
See Temp_IDs_1 (ATest; ODBC Classes).
nvarchar(128) @search_str,int @search_options,bit @contributor_value,bit @creator_value,bit @description_value,bit @identifier_value,bit @language_value,bit @publisher_value,bit @rights_value,bit @subject_value,bit @title_value,bit @type_value)int @source_number,bigint @record_ctr,ntext @XML_data,nvarchar(4000) @namespace_data)ZTest is a package that retrieves records from servers using the Z39.50 interface, extracts information from these records, writes it to a database. It also provides various ways of searching and displaying this information.
Z39.50 is a set of standards, protocols, etc. It is used by many institutions throughout the world, especially libraries. It is a rather old set of standards, and quite complex.
!! TODO: Check the information in this paragraph. A Z39.50 interface can provide data in a number of different formats. Currently, ZTest can only process data in the PICA format. This format is widely used in Germany and the Netherlands, but not much elsewhere. The most commonly-used format is USMARC (formerly known as “MARC”). It would be desirable for ZTest to be able to process USMARC data as well.
The term PICA actually refers to a a pair of formats, Pica+ and Pica3. Librarians who catalogue data and prepare it to be made available via a Z39.50 interface use Pica3. This data is then converted by a computer program to Pica+ format. Pica+ is thus the format of the data retrieved from the Z39.50 interface and is what ZTest processes.
unsigned short server_selector,CString search_command,bool perform_search = true,bool write_records_file = true,bool clear_database = true,bool parse_records = true,bool display_records = true]]]]])Defined in ztstzoom.web.
ZClient::init_category_map.
f_ functions to sbctgcnt.web.
F_ functions,
if any, to ctgcntnr.web.
When ZTest is started, a dialog box is displayed. This dialog
box is associated with the class Dialog_Z_1, which is described in
Dialog_Z_1 ZTest.
Clicking the “OK” button will cause the event handler
Dialog_Z_1::OnOK to be called.
See Event Handlers.
Dialog_Z_1::OnOK, in turn, calls
the global function
zoomtst2.
See Global Functions.
Assuming all of the options are checked,
zoomtst2 performs the following actions:
ZClient object.
An identification number, the name of the server, and, optionally, a
port number, are passed to the ZClient constructor,
e.g.,
ZClient z(ZClient::GBV_GVK_ID, "z3950.gbv.de:20010/GVK");
See ZClient; Constructors.
ZClient::GBV_GVK_ID is the identifier for the
the German Gemeinsamer Verbundkatalog (GVK, engl. Union Catalogue) of the
Gemeinsamer Bibliotheksverbund (GBV, engl. Common Library Network).
See ZClient; Static Constants.
The corresponding server, i.e., z3950.gbv.de:20010/GVK, is
so far the only one addressed by ZTest.
ZClient::category_map
ZClient::category_map is a protected data member of
ZClient, and is of type Category_Map_Type.
The latter is a type definition (or “typedef”) for
map<string, Category_Container*>.
See Category_Container.
Initialization is performed by the function
ZClient::init_category_map.
See ZClient Initialization.
The search query in the edit box will be sent to the Z39.50 interface.
If the search is successful, the Z39.50 interface returns a stream of data containing bibliographic records in Pica+ format. This data is written to the file records.txt.
The function ZClient::clear_database causes the Transact-SQL
stored procedures
delete_tables and regenerate_tables to be executed in
the PICA database.
See ZTest; Database Stored Procedures.
The function ZClient::parse_records is called with the string
"records.txt" as its argument. Parsing is somewhat complex.
ZClient::parse_records is described in
ZClient; Parsing.
An object of type DB_Display called db_display is created.
See Displaying Database Contents (DB_Display).
Then, the functions DB_Display::open_html_file and
DB_Display::display_records are called on it.
See DB_Display; Output.
They cause HTML code to be written to the file whose name is passed as an argument
to DB_Display::open_html_file, currently, "records.html".
Call ZOOM_resultset_destroy and ZOOM_connection_destroy to clean up.
!! TODO: Document these functions! LDF 2006.09.11.
Class Dialog_Z_1 is declared in dialogz1.web.
It is derived from the MFC class CDialog using public derivation.
Class ZClient is declared in zclient.web.
Pica_Record is friend of ZClient.
ZOOM_connection* get_last_connection (vector<ZOOM_connection*>::size_type connection_ctr)const char* in_filename)string& category_id, string& repeat_code, char field_id, string& field_value, Pica_Record* pica_record)Together with
Pica_Record::write_to_databaseand other functions mentioned below, they implement a lexical scanner a.k.a. a low-level parser. See Pica_Record; Writing to Database.
parse_recordsfirst opens the file whose name is passed as the in_filename argument for reading. Assuming this file exists, it then reads its contents character-by-character. It thus uses the “category code” approach to scanning, as in Donald Knuth's TeX and METAFONT packages, and in the author's GNU 3DLDF package. A more common approach to lexical scanning uses regular expressions. Lexical scanners using regular expressions are often programmed using the lex or Flex packages.Assuming a successful search, the input file will consist of one or more records in Pica+ format. (If the search was not successful, it will contain an error message). A record consists of one or more non-blank lines. A blank line marks the end of a record. Each line begins with a category id, which consists of four characters. These may be letter, digits, or the commercial “at”-character: @. Typical category ids are “
001@”, “021A”, or “045G”.A category id may be followed directly, i.e., with no intervening whitespace, by a repeat code consisting of a slash, followed by two digits. Typical category ids with repeat codes are “
029F/01”, “045Q/02”, or “028C/03”.A single space character follows the repeat code, if if present, or the category id otherwise. The rest of the line is occupied by one or more field ids followed by their associated field values or arguments. A field id consists of the special character octal 237 (decimal 159) followed directly by a single letter or digit. Octal 237 isn't a seven-bit ASCII character, so there's no universal standard for representing it. It is displayed as “
$” in the GBV online-catalogue. However, the dollar sign is represented by a seven-bit ASCII character, namely octal 44 (decimal 36), and this character may also occur in field values, so this convention is potentially confusing.The field value is at this point simply treated as text. It is terminated by the next field id, if any, or the end of the line. The end of the line also indicates the end of the list of fields associated with the category id at the beginning of the line.
A given category id may be occur multiple times within a single record. Sometimes, subsequent occurrences are marked by using a repeat code, but not always. On the other hand, a repeat code doesn't always indicate multiple occurence of a category id within a record: Some category ids are always used with a particular repeat code, or one of a number of repeat codes. Within a line, a given field id may occur multiple times. There is no repeat code for fields.
parse_recordscan be in one of four states. It keeps track of this in anunsigned shortvariable called state. The values are constantunsigned shortscalled OUTSIDE_RECORD, COLLECTING_CATEGORY_ID, and COLLECTING_FIELD.Before it starts reading characters, state is OUTSIDE_RECORD. That is, the state variable has the value OUTSIDE_RECORD. It so happens that OUTSIDE_RECORD = 1, COLLECTING_CATEGORY_ID = 2, and COLLECTING_FIELD = 3, but the actual values don't matter, as long as they differ.
Characters are read within a “while” loop. Before the loop starts, the variable Pica_Record* curr_pica_record is declared and initialized to 0. That is, curr_pica_record is a pointer to a
Pica_Recordobject, but starts out pointing to 0.At the beginning of each iteration of the loop, a character is read from the input file. The actions performed in the loop are determined by what character it is, and the value of the state variable. This is controlled by a fairly complex conditional construction using if, else if, and else. Much of the complexity is to ensure that all characters are processed correctly under all circumstances, even if the structure of the input file differs from what we expect. However, parsing Pica+ records is usually straightforward.
- Skip Whitespace
There is normally no whitespace at the beginning of an input file, but if there is, it's skipped.- Collect Category ID
A line always begins with a category id, so the first non-blank character at the beginning of the input file, or at the beginning of a line, is interpreted as the first character in a category id. state has the value OUTSIDE_RECORD; it is now set to COLLECTING_CATEGORY_ID. Memory is now allocated for a new Pica_Record object, and curr_pica_record is pointed at it. In addition, a counter called record_ctr, that keeps track of the number of records we process, is incremented. It will now have the value 1.The current character (curr_char) is placed onto the empty string curr_category_id.
parse_recordsnow continues to collect characters and add them to curr_category_id until it reads a whitespace character. The category id is now complete. It should consist of four characters, optionally followed by a repeat code. A repeat code consists of a slash followed by two digits, e.g.,/01,/02, etc.If a repeat code is present, it is now removed from the category id and stored in the string curr_repeat_code. state is now set to COLLECTING_FIELD.
- Collect Fields
The first character following the whitespace that follows a category id or a repeat code should be octal 237, which should be followed by a letter or digit. Each category has a set of valid fields associated with it. These are documented in the cataloguing guidelines (germ. Katagorisierungsrichtlinien) of the GBV: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/inhalt.shtml Field ids are only unique with respect to a given category id! That is, the same field id may have a completely different interpretation with respect to two different category ids.An arbitrary number of characters, including whitespace, may following the field id. These characters comprise the field value. The field value is terminated by a new field id, or the end of the line.
- Write Field Data
When a field value has been collected,parse_recordscalls the functionZClient::write_field_data, passing the current category id (curr_category_id), the (possibly non-existent) repeat code (curr_repeat_code), the (possibly non-existent) previous field id (prev_field_id), the current field value (curr_field_value), and the pointer to the currentPica_Recordobject (curr_pica_record) as arguments.
write_field_datachecks whether the current category is one which is handled for this particularZClientobject. Whether aZClientobject handles any given category is determined by the functionZClient::init_category_map. See ZClient; Initialization. Currently, there is only one version of this function, and it is designed for use with the Z39.50 server for the GVK database of the GBV. When ZTest is adapted for use with other servers, it may be possible to useinit_category_mapunchanged or it may have to be modified. Alternatively, other, similar functions may be defined for use with other servers.If a category is “unknown” to this instance of
ZClient, the field id and field value we've collected is simply discarded. Otherwise,write_field_datachecks to see whether aCategory_Containerobject for the present combination of category id and repeat code has already been created and placed onto theCategory_Multimap_Type categoriesdata member of the currentPica_Recordobject. If so, it will be used for any further actions. Otherwise, it will create a newCategory_Containerobject, if the current field id is also known.The next step is to check whether this is the case. If the field id is unknown to this instance of
ZClient, no further action is taken, andwrite_field_dataexits. Otherwise, a newSubcategory_Containerobject is created, and it together with the current field id are placed onto theSubcategory_Vector_Type subcategory_vectordata member of the currentCategory_Containerobject. (Subcategory_Vector_Typeis a type definition forvector<pair<char, Subcategory_Container*> > Subcategory_Vector_Type). Please note that a newSubcategory_Vector_Typeis always added toCategory_Container::subcategory_vector; A given field often occurs more than once within a record line.- Write Record Data
A record ends with a blank line, or an EOF (end-of-file), which also indicates that the current record is the last one.parse_recordsnow calls the functionPica_Record::write_to_databaseon*curr_pica_record, i.e., thePica_Recordobject referenced by the pointercurr_pica_record. At this point, theCategory_Multimap_Type categoriesdata member of*curr_pica_recordcontains all of the information for the categories and fields thatparse_recordshas collected in the previous steps.Category_Multimap_Typeis a type definition or “typedef” formultimap<string, Category_Container*>.A pointer to the current
ZClientobject is passed toPica_Record::write_to_database, along with a pointer to aCDatabaseobject that references the PICA database. See Database Tables for ZTest, and a reference toOutput_Stream_Typeused for accessing a log file.write_to_databasenow iterates through theCategory_Multimap_Type Pica_Records::categoriesdata member, referencing eachCategory_Multimap_Type(i.e.,pair<string, Category_Container*>) object oncategoriesin turn.categoriesis a multimap rather than a map, because there can be multiple lines for the same category within a single record. It's convenient to use amultimapinZClient::write_field_data, but inPica_Record::write_to_database, the order of the categories doesn't matter, so it just iterates through them from beginning to end, as though it were a vector.
write_to_databasenow extracts the category id from the currentCategory_Multimap_Typeobject, and looks it up in theCategory_Map_Type category_mapdata member of ourZClientobject. This is the map that's initialized byZClient::init_category_map. If aCategory_Map_Type(i.e.,pair<string, Category_Container*>, just likeCategory_Multimap_Type) object correspoding to the current category id is found onZClient::category_map, thenwrite_to_databaseexits. Otherwise, it iterates through thepair<char, Subcategory_Container*>objects theSubcategory_Vector_Type subcategory_vectordata member of theCategory_Containerobjects referenced by the pointers toCategory_Containerin the currentCategory_Multimap_Typeobject. (Subcategory_Vector_Typeis a type definition forvector<pair<char, Subcategory_Container*> >.)Now,
write_to_databaseextracts the field id from the current<pair<char, Subcategory_Container*> >and looks it up in theSubcategory_Map_Type subcategory_mapdata member of the current referenceCategory_Containerfrom theZClientobject. If no corresponding<pair<char, Subcategory_Container*> >is found, thenwrite_to_databaseignores this field and continues. Otherwise, it cycles through thevector<Database_Command*> database_commandsdata member of theSubcategory_Containerpointed to by theSubcategory_Containerpointer in thepairreturned. IfSubcategory_Container::database_commandsisn't empty, it will contain pointers to objects of typeDatabase_Command. ADatabase_Commandobject contains a data member called function, which is a pointer to a function taking the following arguments:When
CDatabase*databaselongrecord_idCategory_Container*categorySubcategory_Container*subcategoryOutput_Stream_Type&log_strmwrite_to_databasecycles through thedatabase_commandsvector, it calls the function referenced by the function data member belonging to eachDatabase_Commandobject. TheseDatabase_Commandobjects are on the referenceSubcategory_Containerobject, which is on the referenceCategory_Containerobject, which, in turn, is on theZClientobject. In other words, they have no connection with the currentPica_Recordobject that contains theCategory_Containerobjects that contain theSubcategory_Containerobjects that contain the field ids and values that we've collected from the records in the input file. Therefore, pointers to the currentCategory_ContainerandSubcategory_Containerfrom the currentPica_Recordare passed to function as arguments.These functions are all static member functions of
Subcategory_Containerand have names corresponding to the Pica+ category and field ids, e.g., f_001A_0, f_011_AT_b, f_047I_a, etc. They all have the same return type and arguments (otherwise it wouldn't be possible to refer to them all usingDatabase_Command::function). However, they fall into two different types, according to the way they function. Where the information in a field value conceptually “stands alone” and can be processed without reference to the values of other fields, the function can simply cause the appropriate Transact-SQL code to be executed in the database. Sometimes, however, fields are related, and the way they're processed depends on their order, what other fields are present, or other conditions. In this case, the current field id and value are pushed onto thevector<pair<char, string> > database_command_argumentsdata member of the currentCategory_Containerto be processed in the next step.Once all the
Subcategory_Containerobjects for the currentCategory_Containerobject have been processed,write_to_databasechecks thedatabase_commandsvector on the current referenceCategory_Containerobject. Since many fields are processed by the correspondingSubcategory_Containerfunctions alone, not every category requires database commands for theCategory_Container. Some do, however, and these have non-emptydatabase_commandanddatabase_command_argumentsvectors. The latter contain the field ids and values from theSubcategory_Containerobjects from the currentCategory_Containerobject'ssubcategory_vectordata member, as explained above. TheDatabase_Commandobjects referenced by the pointers onCategory_Container::database_commandsare just like the ones onSubcategory_Container::database_commands, except that function points to a static member function ofCategory_Container. These functions are similar to the field-handling functions ofSubcategory_Container, except that their names begin with F_ and are otherwise derived from the category ids alone, e.g.,F_001B,F_041A,F_209A, etc. They take the same arguments as theSubcategory_Container::f_*functions, but theSubcategory_Container* subcategoryargument is always 0 when they're called. Declaring them to have the same arguments makes it possible to use theDatabase_Commandtype both forCategory_ContainerandSubcategory_Container. TheCategory_Container::f_*functions process the field data stored inCategory_Container::database_command_argumentsand cause the appropriate Transact-SQL commands to be executed in the database, like theSubcategory_Container::f_*functions.
Category_Container::database_commandsandSubcategory_Container::database_commandsare vectors, so that any number of functions could be called for a givenCategory_ContainerorSubcategory_Container. However, currently, only one function is ever called for eachSubcategory_Container, and either no functions, or only one function is ever called for eachCategory_Container.
Struct Zutput_Stream_Type is declared in opstrmtp.web.
The term “Pica” refers to a pair of formats used for library records, namely “Pica3” and “Pica+”. Pica is commonly used in Germany, in particular, by the Gemeinsamer Bibliotheksverbund (Common Library Network) or GBV.
!! TODO: Write about Erfassungspraxis/Cataloguing practice Pica3 800 vs. Pica+ 5100–5199
Where consecutive lines belong to the same category, repeat codes may be used, but aren't always. Used in this way, any category code can be followed by a repeat code. 1
On the other hand, specific repeat codes change the meaning of the associated category. In this case, the Pica+ category code may correspond to different Pica3 categories, depending on the repeat code.
Currently, in ZTest, an object of class Category_Container is created for
each line in a Pica record, unless two or more lines within a group
of lines of the same category either have no repeat code, or share the
same one. The field codes and their associated values are stored
in the same class Category_Container and they are processed as
though they had all occurred on a single line. It would be possible
to change this behavior, and force lines of fulfilling these criteria
to be handled separately. Alternatively, it would be possible to
continue to use a single Category_Container, but to handle the
groups of fields belonging to each lines separately. One
way of implementing doing this would be to push an ASCII null character
('\0') onto the list of field codes. This character isn't used
as a Pica field code.
!! TODO: Add example and cross references.
!! TODO: Note the use of different field codes for additional items, as in Pica+ 041A/Pica3 5100–5199. Note, too, that in this case, I've found that a wasn't used, and that f was repeated. See 041A Subject, and 800; 5100–5199 Subject.
Records.
See ZTest; Database Tables; Records.
Category_Container Functions.
Subcategory_Container Function:f_001A_0.
See Identifier and Date of the Original Catalogue Entry.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 0 | (Not present) | Kennung und Datum der Ersterfassung Position 01-04: Erfassungskennung, Position 05-13: Datum (:TT-MM-JJ) | Identifier and Date of the Original Catalogue Entry Position 01-04: Cataloguing identifier, Position 05-13: Date (:DD-MM-YY) |
!! TODO: Write about this. Add corresponding section to pica3cds.texi.
This is the first category for which I place Database_Command objects on the
curr_category_container object and the curr_subcategory_container objects,
where the function members point to functions belonging to another categories,
namely Pica+ 209R, Pica3 7133
“Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff”,
“Local information regarding remote access to electronic resources”.
See 209R Local information regarding remote access to electronic resources,
and
7133 Local information regarding remote access to electronic resources.
The fields are the same, and the data is written to the same tables, i.e.,
Remote_Access and Records_Remote_Access.
See Remote_Access,
and
Records_Remote_Access.
Languages, Records_Languages.
See Languages,
and
See Records_Languages.
Subcategory_Container Functions:Subcategory_Container::f_010@_a.
See Code(s) for Languages.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | /1 | 1. Sprachencode für den vorliegenden Text | First language code for the present text
|
| a | /1 | jeder weitere Sprachencode für den vorliegenden Text | each subsequent language code for the present text
|
| b | /2 | 1. Sprachencode der Intermediärsprache | First language code for the intermediary language
|
| b | /2 | jeder weitere Sprachencode für Intermediärsprachen | Each subsequent language code for the intermediary language
|
| c | /3 | 1. Sprachencode für die Originalsprache | First language code for the original language
|
| c | /3 | jeder weitere Sprachencode für Originalsprachen | Each subsequent language code for the original language
|
In data from external sources, the category Pica+ 010@/Pica3 1500 can contain additional fields.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| d | /4 | 1. Sprachencode für die Zusammenfassung | First language code for the abstract
|
| d | /4 | jeder weitere Sprachencode für die Zusammenfassung | Each subsequent language code for the abstract
|
Currently, ZTest only processes field a.
Records.
See Records.
Subcategory_Container Functions:f_011_AT_a,
f_011_AT_b,
f_011_AT_e,
f_011_AT_n,
and
year_appearance_func.
See Year of Appearance.
Publishers, Records_Publishers
See Publishers,
and
See Records_Publishers.
Category_Container Functions:Category_Container::F_033A,
Category_Container::publishers_database_providers_func.
See Place of Publication; Publisher.
Subcategory_Container Functions:Subcategory_Container::f_033A_n,
Subcategory_Container::f_033A_p.
See Place of Publication; Publisher.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| n | ¬:¬ | Verlag | Publisher
|
| p | (None) | Ort | Place
|
Physical_Descriptions, Records_Physical_Descriptions.
See Physical_Descriptions,
and
Records_Physical_Descriptions.
Subcategory_Container Function:Subcategory_Container::f_034D_a.
See Physical Description.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not present) | Text | Text
|
Subjects.
See Subjects.
Records_Subjects.
See Records_Subjects.
Permutation_Patterns.
See Permutation_Patterns.
Category_Container Functions:F_041A and sub_F_041A.
Subcategory_Container Functions:f_041A_9
f_041A_a
f_041A_f
f_041A_S.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not Present) | Haupt- bzw. Unterschlagwort | Main or Subsidiary Subject
|
| S | |...|¬ | Indikator | Indicator
|
The following table shows the values that the “Indikator” (“Indicator”) field can contain. Some are only used with Pica3 5100–5199.
| Value | German | English | Pica3 800
|
|---|---|---|---|
| c | Körperschaftsschlagwort (Ort) | Entity Subject (Location) | Yes
|
| f | Formschlagwort | Form Subject | No
|
| g | Geografisches/ethnografisches Schlagwort | Geographical/Ethnographical Subject | Yes
|
| p | Personenschlagwort | Personal Subject | Yes
|
| s | Sachschlagwort | Material Subject | Yes
|
| t | Titelschlagwort (800)/Werktitel (51xx) | Title Subject (800)/Work Title (51xx) | Yes
|
| k | Körperschaftsschlagwort (Name) | Entity Subject (Name) | Yes
|
| z | Zeitschlagwort | Temporal Subject | No
|
Please note that the field a is ambiguous, and can have three different meanings.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 9 | !...! | Identifikationsnummer (PPN) | Identification Number (PPN)
|
| a | (Not Present) | Schlagwort | Subject
|
| S | |...| | Schlagwortindikator | Subject Indicator
|
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| f | <...> | Permutationsmuster | Permutation Pattern
|
| a | (Not Present) | Zweites und weiteres Permutationsmuster | Second and additional permutation pattern
|
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not Present) | Angaben zur Schlagwortkette | Subject Chain Information
|
Exemplar_Production_Numbers.
See Exemplar_Production_Numbers.
Subcategory_Container Functions:Subcategory_Container::f_203@_S.
See Exemplar Production Number.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 0 | (Not present) | Exemplar-Produktionsnummer | Exemplar Production Number
|
Call_Numbers.
See Call_Numbers.
Category_Container Functions:Category_Container::F_209A and
Category_Container::sub_F_209A.
See Call Number.
Subcategory_Container Functions:Subcategory_Container::f_209A_a,
Subcategory_Container::f_209A_b,
Subcategory_Container::f_209A_f,
and
Subcategory_Container::f_209A_j.
See Call Number.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not present) | Signatur | Call Number
|
| b, j | .../...# | Bibliotheksnummer / Abteilung der Bibliothek | Library Number / Library Department
|
| f | !...! | Sonderstandort | Special Location
|
The Pica+ category 209A and the corresponding Pica3 categories 7100–7109 have additional fields, which ZTest currently doesn't use. See the cataloguing guidelines for more information: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/7100.pdf
Access_Numbers.
See Access_Numbers.
Subcategory_Container Function:Subcategory_Container::f_209C_a.
See Access Number.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not present) | Zugangsnummer | Access Number
|
Remote_Access.
See Remote_Access.
Category_Container Functions:Category_Container::F_209R and Category_Container::sub_F_209R.
Subcategory_Container Functions:Subcategory_Container::f_209R_S.
See Local information regarding remote access to electronic resources.
The fields for Pica+ 209R/Pica3 7133 are the same as for Pica3 408x: “Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff”, “Information regarding remote to electronic resources”. “408x” currently refers to the follow Pica3 categories: 4083, 4085, 4086, 4087, 4088, and 4089.
See the cataloguing guidelines for Pica3 408x/Pica+ 009P for more information: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/408x.pdf.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 0 | Format | Format
| |
| a | ¬=A¬ | URL (Universal Resource Locator) | URL (Universal Resource Locator)
|
| g | ¬=G¬ | URN (Universal Resource Name) | URN (Universal Resource Name)
|
| S | < > | Lizenzindikator | License indicator
|
| x | ¬=X¬ | Interne Bemerkungen | Internal Remarks
|
| y | ¬... | Text für die Web-Anzeige | Text for Web Display
|
Subjects.
See Subjects.
Records_Subjects.
See Records_Subjects.
Permutation_Patterns.
See Permutation_Patterns.
Category_Container Functions:F_041A and sub_F_041A.
Subcategory_Container Functions:f_041A_9
f_041A_a
f_041A_f
f_041A_S.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not Present) | Haupt- bzw. Unterschlagwort | Main or Subsidiary Subject
|
| S | |...|¬ | Indikator | Indicator
|
The following table shows the values that the “Indikator” (“Indicator”) field can contain. Some are only used with Pica3 5100–5199.
| Value | German | English | Pica3 800
|
|---|---|---|---|
| c | Körperschaftsschlagwort (Ort) | Entity Subject (Location) | Yes
|
| f | Formschlagwort | Form Subject | No
|
| g | Geografisches/ethnografisches Schlagwort | Geographical/Ethnographical Subject | Yes
|
| p | Personenschlagwort | Personal Subject | Yes
|
| s | Sachschlagwort | Material Subject | Yes
|
| t | Titelschlagwort (800)/Werktitel (51xx) | Title Subject (800)/Work Title (51xx) | Yes
|
| k | Körperschaftsschlagwort (Name) | Entity Subject (Name) | Yes
|
| z | Zeitschlagwort | Temporal Subject | No
|
Please note that the field a is ambiguous, and can have three different meanings.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 9 | !...! | Identifikationsnummer (PPN) | Identification Number (PPN)
|
| a | (Not Present) | Schlagwort | Subject
|
| S | |...| | Schlagwortindikator | Subject Indicator
|
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| f | <...> | Permutationsmuster | Permutation Pattern
|
| a | (Not Present) | Zweites und weiteres Permutationsmuster | Second and additional permutation pattern
|
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not Present) | Angaben zur Schlagwortkette | Subject Chain Information
|
Records.
See ZTest; Database Tables; Records.
Category_Container Functions.
Subcategory_Container Function:f_001A_0.
See Identifier and Date of the Original Catalogue Entry.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 0 | (Not present) | Kennung und Datum der Ersterfassung Position 01-04: Erfassungskennung, Position 05-13: Datum (:TT-MM-JJ) | Identifier and Date of the Original Catalogue Entry Position 01-04: Cataloguing identifier, Position 05-13: Date (:DD-MM-YY) |
Records.
See Records.
Subcategory_Container Functions:f_011_AT_a,
f_011_AT_b,
f_011_AT_e,
f_011_AT_n,
and
year_appearance_func.
See Year of Appearance.
Languages, Records_Languages.
See Languages,
and
See Records_Languages.
Subcategory_Container Functions:Subcategory_Container::f_010@_a.
See Code(s) for Languages.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | /1 | 1. Sprachencode für den vorliegenden Text | First language code for the present text
|
| a | /1 | jeder weitere Sprachencode für den vorliegenden Text | each subsequent language code for the present text
|
| b | /2 | 1. Sprachencode der Intermediärsprache | First language code for the intermediary language
|
| b | /2 | jeder weitere Sprachencode für Intermediärsprachen | Each subsequent language code for the intermediary language
|
| c | /3 | 1. Sprachencode für die Originalsprache | First language code for the original language
|
| c | /3 | jeder weitere Sprachencode für Originalsprachen | Each subsequent language code for the original language
|
In data from external sources, the category Pica+ 010@/Pica3 1500 can contain additional fields.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| d | /4 | 1. Sprachencode für die Zusammenfassung | First language code for the abstract
|
| d | /4 | jeder weitere Sprachencode für die Zusammenfassung | Each subsequent language code for the abstract
|
Currently, ZTest only processes field a.
Publishers, Records_Publishers
See Publishers,
and
See Records_Publishers.
Category_Container Functions:Category_Container::F_033A,
Category_Container::publishers_database_providers_func.
See Place of Publication; Publisher.
Subcategory_Container Functions:Subcategory_Container::f_033A_n,
Subcategory_Container::f_033A_p.
See Place of Publication; Publisher.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| n | ¬:¬ | Verlag | Publisher
|
| p | (None) | Ort | Place
|
Physical_Descriptions, Records_Physical_Descriptions.
See Physical_Descriptions,
and
Records_Physical_Descriptions.
Subcategory_Container Function:Subcategory_Container::f_034D_a.
See Physical Description.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not present) | Text | Text
|
Call_Numbers.
See Call_Numbers.
Category_Container Functions:Category_Container::F_209A and
Category_Container::sub_F_209A.
See Call Number.
Subcategory_Container Functions:Subcategory_Container::f_209A_a,
Subcategory_Container::f_209A_b,
Subcategory_Container::f_209A_f,
and
Subcategory_Container::f_209A_j.
See Call Number.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not present) | Signatur | Call Number
|
| b, j | .../...# | Bibliotheksnummer / Abteilung der Bibliothek | Library Number / Library Department
|
| f | !...! | Sonderstandort | Special Location
|
The Pica+ category 209A and the corresponding Pica3 categories 7100–7109 have additional fields, which ZTest currently doesn't use. See the cataloguing guidelines for more information: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/7100.pdf
Remote_Access.
See Remote_Access.
Category_Container Functions:Category_Container::F_209R and Category_Container::sub_F_209R.
Subcategory_Container Functions:Subcategory_Container::f_209R_S.
See Local information regarding remote access to electronic resources.
The fields for Pica+ 209R/Pica3 7133 are the same as for Pica3 408x: “Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff”, “Information regarding remote to electronic resources”. “408x” currently refers to the follow Pica3 categories: 4083, 4085, 4086, 4087, 4088, and 4089.
See the cataloguing guidelines for Pica3 408x/Pica+ 009P for more information: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/408x.pdf.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 0 | Format | Format
| |
| a | ¬=A¬ | URL (Universal Resource Locator) | URL (Universal Resource Locator)
|
| g | ¬=G¬ | URN (Universal Resource Name) | URN (Universal Resource Name)
|
| S | < > | Lizenzindikator | License indicator
|
| x | ¬=X¬ | Interne Bemerkungen | Internal Remarks
|
| y | ¬... | Text für die Web-Anzeige | Text for Web Display
|
Exemplar_Production_Numbers.
See Exemplar_Production_Numbers.
Subcategory_Container Functions:Subcategory_Container::f_203@_S.
See Exemplar Production Number.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| 0 | (Not present) | Exemplar-Produktionsnummer | Exemplar Production Number
|
Access_Numbers.
See Access_Numbers.
Subcategory_Container Function:Subcategory_Container::f_209C_a.
See Access Number.
| Pica+ | Pica3 | German | English
|
|---|---|---|---|
| a | (Not present) | Zugangsnummer | Access Number
|
Class Pica_Record is declared in picarcrd.web.
class ZClient is a friend of Pica_Record.
ZClient* zclient, CDatabase* database, Output_Stream_Type& log_strm)Class Category_Container is declared in ctgcntnr.web.
The classes Pica_Record, ZClient, and
Subcategory_Container are friends of
Category_Container.
These static variables are local to
ctgcntnr.web. They are not members of
class Category_Container.
long* subject_idInitialized to 0. Used in
Category_Container::F_041AandCategory_Container::sub_F_041A. See Subject.
long* subject_id_startInitialized to 0. Used in
Category_Container::F_041AandCategory_Container::sub_F_041A. See Subject.
unsigned short previous_repeat_code_ctrInitialized to 0. Used in
Category_Container::F_041AandCategory_Container::sub_F_041A. See Subject.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ Code:
- 033A
See 033A Pica+ Codes.- Pica3 Code:
- 4030
See 4030 Pica3 Codes.- German:
- Ort, Verlag
- English:
- Place, Publisher
- Cataloguing Guidelines:
- http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/4030.pdf
- Database Tables:
Publishers,Records_PublishersSee Publishers, and See Records_Publishers.Subcategory_ContainerFunctions:Subcategory_Container::f_033A_n,Subcategory_Container::f_033A_p. See Place of Publication; Publisher.
See also 033A Fields, or 4030 Fields.
CDatabase* database, long record_id, string column_str, string place_str, bool primary_switch, bool table_switch, Output_Stream_Type& log_strm)Called in
Category_Container::F_033AandCategory_Container::F_033B(which doesn't yet exist).
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ Code:
- 041A
See 041A Pica+ Codes.- Pica3 Codes:
- 800; 5100–5199
See 800; 5100–5199 Pica3 Codes.- German:
- Hauptschlagwort und Unterschlagwoerter (Schlagwortansetzung) (Pica3 800)
RSWK-Ketten (Pica3 5100–5199)- English:
- Main Subject and Subsidiary Subjects (Subject Assignment) (Pica3 800)
RSWK Chains (Pica3 5100–5199)- Cataloguing Guidelines:
- Pica3 800: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/norm/800.pdf
Pica3 5100–5199: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/5100.pdf- Database Tables:
Subjects. See Subjects.
Records_Subjects. See Records_Subjects.
Permutation_Patterns. See Permutation_Patterns.Subcategory_ContainerFunctions:f_041A_9
f_041A_a
f_041A_f
f_041A_S.
See Subject.
See also 041A Fields, or 800; 5100–5199 Fields.
CDatabase* database, long record_id, Category_Container* category, unsigned short repeat_code_ctr, char subject_type_char, string subject, long id_number_ppn, short chain_number, short chain_link_number, string chain_info, string permutation_pattern, bool permutation_switch, Output_Stream_Type& log_strm)This function is called in
F_041A. See above.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ Code:
- 209A
See 209A Call Number.- Pica3 Codes:
- 7100–7109
See 7100–7109 Call Number.- German:
- Signatur
- English:
- Call Number
- Cataloguing Guidelines:
- http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/7100.pdf
- Database Table:
Call_Numbers. See Call_Numbers.Subcategory_ContainerFunctions:Subcategory_Container::f_209A_a,Subcategory_Container::f_209A_b,Subcategory_Container::f_209A_f, andSubcategory_Container::f_209A_j. See Call Number.
See also 209A Fields, or 7100–7109 Fields.
CDatabase* database, long record_id, Category_Container* category, string call_number_str, string library_number_str, string library_department_str, string special_location_str, long* call_number_id, Output_Stream_Type& log_strm)This function is called in
Category_Container::F_209A.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ Code:
- 209R
See 209R Local Information Regarding Remote Access to Electronic Resources.- Pica3 Code:
- 7133
See 7133 Local Information Regarding Remote Access to Electronic Resources.- German:
- Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff
- English:
- Local information regarding remote access to electronic resources
- Cataloguing Guidelines:
- http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/02Richtlinien/01KatRicht/7133.pdf
- Database Table:
Remote_Access. See Remote_Access.Subcategory_ContainerFunctions:Subcategory_Container::f_209R_S. See Local information regarding remote access to electronic resources.
See also 209R Fields, or 7133 Fields.
CDatabase* database, long record_id, Category_Container* category, string format_str, string URL_str, string URN_str, string license_str, string internal_str, string web_str, long* remote_access_id, Output_Stream_Type& log_strm)This function is called in
Category_Container::F_209R.
string main_table_name, string assoc_table_name, string column_name, CDatabase* database, long record_id, Category_Container* category)string main_table_name, string assoc_table_name, string column_name, CDatabase* database, long record_id, Category_Container* category, string surname, string given_name, string prefix, unsigned long id_number_ppn, long table_ctr, Output_Stream_Type& log_strm)string main_table_name, string assoc_table_name, string column_name, CDatabase* database, long record_id, Category_Container* category)string main_table_name, string assoc_table_name, string column_name, CDatabase* database, long record_id, Category_Container* category, long table_ctr, Output_Stream_Type& log_strm, string* main_canonical_title = 0, string* continuation_main_canonical_title = 0, string* additions_main = 0, string* continuation_additions_main = 0, string* authorship = 0, string* standard_text = 0, string* additional_creator_main = 0, string* parallel_canonical_title = 0, string* additions_parallel = 0, string* additional_creator_parallel = 0 ]]]]]]]]]])Class Subcategory_Container is declared in
sbctgcnt.web. The classes Pica_Record and
ZClient are friends of Subcategory_Container.
Subcategory_Map_Typeis a synonym formap<char, Subcategory_Container*>
Subcategory_Vector_Typeis a synonym forvector<pair<char, Subcategory_Container*> >.
Records.
See ZTest; Database Tables; Records.
Category_Container Functions.
See also 001A Fields,
or
0200 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- 0
- Pica3 field:
- No identifier.
- English:
- Identifier and Date of the Original Catalogue Entry
Position 01-04: Cataloguing identifier,
Position 05-13: Date (:DD-MM-YY)- German:
- Kennung und Datum der Ersterfassung
Position 01-04: Erfassungskennung,
Position 05-13: Datum (:TT-MM-JJ)
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)Languages, Records_Languages.
See Languages,
and
See Records_Languages.
See also 010@ Fields,
or
1500 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- a
- English:
- Language Code for the Present Text
- German:
- Sprachencode für den vorliegenden Text
Records.
See Records.
See also 011@ Fields,
or
1100 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- a
- English:
- Year of Appearance (Beginning), Form for Sorting
- German:
- Erscheinugsjahr (Beginn), Sortierform
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- b
- English:
- Year of Appearance (End), Form for Sorting
- German:
- Erscheinugsjahr (Ende), Sortierform
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- e
- English:
- Original Year of Appearance
- German:
- Ursprüngliches Erscheinugsjahr
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- e
- English:
- Year of Appearance (according to RAK-WB)
- German:
- Erscheinugsjahr (nach RAK-WB)
string column, CDatabase* database, long record_id, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)This function is called by the other
Subcategory_Containerfunctionsf_011_AT_a,f_011_AT_b,f_011_AT_e, andf_011_AT_n, which are described above.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)Publishers, Records_Publishers
See Publishers,
and
See Records_Publishers.
Category_Container Functions:Category_Container::F_033A,
Category_Container::publishers_database_providers_func.
See Place of Publication; Publisher.
See also 033A Fields,
or
4030 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)Physical_Descriptions, Records_Physical_Descriptions.
See Physical_Descriptions,
and
Records_Physical_Descriptions.
See also 034D Fields,
or
4060 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
- Pica+ field:
- a
- English:
- Text
- German:
- Text
Subjects.
See Subjects.
Records_Subjects.
See Records_Subjects.
Permutation_Patterns.
See Permutation_Patterns.
Category_Container Functions:F_041A and sub_F_041A.
See also 041A Fields,
or
800; 5100–5199 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
9 !...! Identifikationsnummer (PPN) Identification Number (PPN) See also 041A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)Field a of Pica+ 401A is ambiguous, and can have three different meanings.
Pica+ Pica3 German English
a (Not Present) Schlagwort Subject a (Not Present) Zweites und weiteres Permutationsmuster Second and additional permutation pattern a (Not Present) Angaben zur Schlagwortkette Subject Chain Information See also 041A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
f <...> Permutationsmuster Permutation Pattern See also 041A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
S |...|¬ Indikator Indicator See also 041A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)Exemplar_Production_Numbers.
See Exemplar_Production_Numbers.
See also 203@ Fields,
or
7800 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
0 Exemplar-Produktionnummer Exemplar Production Number See also 203@ Fields.
Call_Numbers.
See Call_Numbers.
Category_Container Functions:Category_Container::F_209A and
Category_Container::sub_F_209A.
See Call Number.
See also 209A Fields,
or
7100–7109 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
a (Not Present) Signatur Call Number See also 209A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
b ... Bibliotheksnummer Library Number In Pica3, ... may be followed directly by /...#, which corresponds to Pica+ j. See the description of
Subcategory_Container::f_209A_jbelow.
See also 209A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
f !...! Sonderstandort Special Location See also 209A Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
j /...# Abteilung der Bibliothek Library Department In Pica3, /...# may directly follow ..., which corresponds to Pica+ b. See the description of
Subcategory_Container::f_209A_babove.
See also 209A Fields.
Access_Numbers.
See Access_Numbers.
See also 209C Fields,
or
8100 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
a (Not Present) Zugangsnummer Access Number See also 209C Fields.
Remote_Access.
See Remote_Access.
Category_Container Functions:Category_Container::F_209R and Category_Container::sub_F_209R.
See also 209R Fields,
or
7133 Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
0 Format Format See also 209R Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
a ¬=A¬ URL (Universal Resource Locator) URL (Universal Resource Locator) See also 209R Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
g ¬=G¬ URN (Universal Resource Name) URN (Universal Resource Name) See also 209R Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
S < > Lizenzindikator License indicator See also 209R Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
x ¬=X¬ Interne Bemerkungen Internal Remarks See also 209R Fields.
CDatabase* database, long record_id, Category_Container* category, Subcategory_Container* subcategory, Output_Stream_Type& log_strm)
Pica+ Pica3 German English
y ¬... Text für die Web-Anzeige Text for Web Display See also 209R Fields.
struct Database_Command is declared in dbcmmnd.web.
functionis a pointer to a function returningintand taking the following arguments:CDatabase*database
longrecord_id
Category_Container*category
Subcategory_Container*subcategory
Output_Stream_Type&log_strm
class DB_Display is declared in dbdspl.web.
unsigned int start, unsigned int end, [vector<long>* record_id_vector = 0])const unsigned int record_number, const unsigned int record_ctr)Some of the field values in a Pica+ record contain information that should be unique for that record. For example, a record should have only one Pica Production Number, only one Year of Appearance, etc. The
Recordstable in the PICA database contains columns for this information.However, many other categories and fields can occur in a Pica+ record multiple times. It is therefore not possible to store all of the information for a ZTest record in a single table in the PICA database. For example, a resource may have one, two, three, or any number of authors. On the other hand, a resource may have no author at all. This is frequently the case for audio-visual media, where other categories, such as “contributor” are used for the names of the creators of the resource. If the
Recordstable contained a single author_name column, only one author's name could be stored in a line of theRecordstable. If the resource referred to by this record had no author, the column would have to containNULLor a default value. On the other hand, if it had two authors, one would have to be left out. Nor would redefining theRecordstable with multiple columns for authors, e.g., author_name_1, author_name_2, etc., solve the problem. With this approach, there would always a fixed limit for the number of authors' names that could be accommodated, and space would always be wasted, if fewer authors were present in a record.For categories and fields where a variable number of entries are possible, the PICA database uses a combination of foreign key constraints and association tables, as explained in Association Tables.
This implies that the data for a given record will be distributed over a number of different tables in the PICA database. Therefore,
display_single_recordmust first find all of this information in order to display it.Once the information is gathered, there are many possible ways of displaying it. The form of display performed by
display_single_recordis designed to be simple and complete, and reflect the structure of the PICA database. The code indisplay_single_recordcould be used as the basis for fancier and more complicated displays.
display_single_recordwrites HTML code to the output file. Each table which contains entries for the current record is represented by a ruled HTML table with fields for the names of the columns and their contents. If the database table has too many columns to be displayed comfortably across the breadth of a browser window, the names of the database columns may appear in a column on the left of the HTML table, with the values in fields to the right. If a database table contains more than one row for the current record, an additional HTML table will be created for each database row. Otherwise,display_single_recordwill create a single HTML table with the names of the database columns names in a row of the HTML table with the corresponding values in one or more rows beneath them.The first table displayed is
Recordstable. There is no difficulty in extracting this information from the database, since there will only ever be one row in this table for a record by definition. For the subsequent HTML tables, the entries that correspond to the current record must be extracted from the corresponding database table. This is done in one of two ways, depending on whether the connection between the database table and the entry for the record in theRecordstable is created by means of an association table or a foreign key constraint in the current database table.The database table
Content_Summariesuses a foreign key constraint. For example, Record 23 may have a content summary, which is stored in theContents_Summariestable. The value in the content_summary_id column for the entry in theContents_Summariestable may have the value 92. TheContents_Summariestable also has a column record_id, which references the column record_id in theRecordstable. Its value will therefore be 23 in this entry. The following Transact-SQL query will return this row from theContents_Summariestable:select * from Content_Summaries where record_id = 23 order by content_summary_idThe
Authorsdatabase, on the other hand, doesn't have a record_id column with an associated foreign key constraint, but uses an association table,Records_Authors, instead. For example, Record 48 may have three authors, and the entries for these authors in theAuthorstable may the values of 104, 105, and 210 in their author_id columns. TheRecords_Authorstable has only two columns, record_id and author_id, whereby the former references the record_id column in theRecordstable, and the latter references the author_id column in theAuthorstable. The following Transact-SQL query will return the data from all the rows in theAuthorstable that correspond to authors of the resource referenced by Record 48. Please note that select * cannot be used in this query, and that the columns of theAuthorstable must be named explicitly, because theRecords_Authorsand Records are both named in the “from” clause of the “select” query.select A.given_name, A.surname, A.prefix, A.id_number_ppn from Authors as A, Records_Authors as RA, Records as R where A.author_id = RA.author_id and R.record_id = RA.record_id and R.record_id = 48 order by A.author_idWhether a column with a foreign key constraint or a separate association table is used, Transact-SQL queries similar to the ones described above are used to extract the information for a given record from the various database tables in the PICA database where this information is stored. The Transact-SQL query is passed to the
Openfunction of an object whose type is an class derived fromCRecordset(an ODBC class) that corresponds to one of the database tables. See ODBC Classes for ZTest.ZTest contains an ODBC class corresponding to each of the database tables in the PICA database. For example,
class Recordscorresponds to theRecordstable,class Authorscorresponds to theAuthorstable, etc.display_single_recorddeclares an object of each of these types. When its Open function is called with a Transact-SQL query, and this query is successful, i.e., it returns one or more rows of data from the database table, the data members of the ODBC class object are “filled” with the data from the first row from the set of rows returned by the Transact-SQL query. That is, the data members of the ODBC class object are assigned the values from the corresponding columns of the first row of data. The order by clause in the Transact-SQl queries ensures that the rows are ordered correctly.display_single_recordnow uses the “navigation functions”CRecordsetto iterate through the rows. Each timeCRecordset::MoveNextis invoked on an ODBC class object, the data members are assigned values from the next row of data from the database, until there are no more rows.display_single_recordthen writes this data to the output file, along with the appropriate “boilerplate” HTML code to format it.
CString search_command_str = "", const unsigned int start = 1, const unsigned int end = 0 ]]])
display_recordsdisplays a range of records from record number start to record number end. Both of these arguments have default values. The default for start is 1 and the default for end is 0.If end = 0, either because it was passed by the caller explicitly, or because the default is being used, then
display_recordsstarts with record start and continues untildisplay_single_recordreturns unsuccessfully (return value 1).Otherwise, if end > 0 and end < start, then a warning is issued, end is set to 0, and
display_recordsproceeds as above.Otherwise,
display_recordsstarts displaying records from record number start, and continues up to and including record number end. It will continue to calldisplay_single_record, even if the latter returns unsuccessfully for some record number. This is because there may be gaps in the sequence of record numbers because of deletions, or for some other reason. This isn't likely, but it is possible.These rules imply that a call to
display_recordswith no arguments will display all of the records in thePICA_DBdatabase.
Class PICA_Categories is declared in picacats.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the PICA_Categories table in the PICA database.
See PICA_Categories.
long m_pica_category_idCStringA m_pica_plus_category_codeint m_pica_3_category_codeCStringA m_description_germanCStringA m_description_englishThese variables reference the corresponding columns in the
PICA_Categoriestable in thePICAdatabase. See PICA_Categories.
Class PICA_Fields is declared in picaflds.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the PICA_Fields table in the PICA database.
See PICA_Fields.
long m_pica_field_idCStringA m_pica_plus_field_codeCStringA m_description_germanCStringA m_description_englishThese variables reference the corresponding columns in the
PICA_Fieldstable in thePICAdatabase. See PICA_Fields.
Class PICA_Categories_PICA_Fields is declared in pccatfld.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table PICA_Categories_PICA_Fields in the PICA database.
See PICA_Categories_PICA_Fields.
These variables reference the corresponding columns in the
PICA_Categories_PICA_Fieldstable in thePICAdatabase. See PICA_Categories_PICA_Fields.
Class Sources is declared in sources.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Sources table in the PICA database.
See Sources.
long m_source_idCStringA m_source_nameCStringA m_source_abbrevCStringA m_source_addressThese variables reference the corresponding columns in the
Sourcestable in thePICAdatabase. See Sources.
Class Records is derived from the MFC class CRecordset using public
derivation. It is declared in records.web.
!! TODO: Note the fact that the member functions of classes derived
from CRecordset are all generated by Visual Studio .NET and
are not documented here.
LDF 2006.08.28.
Class Records references the Records table in the PICA database.
See Records.
long m_record_idint m_eln_original_entryint m_eln_most_recent_changeint m_eln_status_changeCStringA m_identification_numberCTime m_date_original_entryCTime m_date_most_recent_changeCTime m_date_status_changelong m_source_idint m_year_appearance_beginint m_year_appearance_endint m_year_appearance_rak_wbint m_year_appearance_originalThese variables reference the corresponding columns in the
Recordstable in thePICAdatabase. See Records.
Class Access_Numbers is declared in accnums.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Access_Numbers table in the PICA database.
See Access_Numbers.
These variables reference the corresponding columns in the
Access_Numberstable in thePICAdatabase. See Access_Numbers.
Class Call_Numbers is declared in callnums.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Call_Numbers table in the PICA database.
See Call_Numbers.
These variables reference the corresponding columns in the
Call_Numberstable in thePICAdatabase. See Call_Numbers.
Class Records_Call_Numbers is declared in rccllnms.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Records_Call_Numbers table in the PICA database.
See Records_Call_Numbers.
These variables reference the corresponding columns in the
Records_Call_Numberstable in thePICAdatabase. See Records_Call_Numbers.
Class Exemplar_Production_Numbers is declared in exprnums.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Exemplar_Production_Numbers table in the PICA database.
See Exemplar_Production_Numbers.
These variables reference the corresponding columns in the
Exemplar_Production_Numberstable in thePICAdatabase. See Exemplar_Production_Numbers.
Class Bibliographic_Type_Codes is declared in bbtpcds.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Bibliographic_Type_Codes table in the PICA database.
See Bibliographic_Type_Codes.
These variables reference the corresponding columns in the
Bibliographic_Type_Codestable in thePICAdatabase. See Bibliographic_Type_Codes.
Class Bibliographic_Types is declared in bibtyps.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Bibliographic_Types table in the PICA database.
See Bibliographic_Types.
These variables reference the corresponding columns in the
Bibliographic_Typestable in thePICAdatabase. See Bibliographic_Types.
Class Records_Bibliographic_Types is declared in rcbbtyps.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Records_Bibliographic_Types table in the PICA database.
See Records_Bibliographic_Types.
These variables reference the corresponding columns in the
Records_Bibliographic_Typestable in thePICAdatabase. See Records_Bibliographic_Types.
Class Physical_Descriptions is declared in physdesc.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Physical_Descriptions table in the PICA database.
See Physical_Descriptions.
long m_physical_description_idCStringA m_textlong m_pica_category_idlong m_pica_field_idThese variables reference the corresponding columns in the
Physical_Descriptionstable in thePICAdatabase. See Physical_Descriptions.
Class Records_Physical_Descriptions is declared in rcphsdsc.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table Records_Physical_Descriptions in the PICA database.
See Records_Physical_Descriptions.
These variables reference the corresponding columns in the
Records_Physical_Descriptionstable in thePICAdatabase. See Records_Physical_Descriptions.
Class Authors is declared in authors.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Authors table in the PICA database.
See Authors.
These variables reference the corresponding columns in the
Authorstable in thePICAdatabase. See Authors.
Class Records_Authors is declared in recathrs.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table Records_Authors in the PICA database.
See Records_Authors.
These variables reference the corresponding columns in the
Records_Authorstable in thePICAdatabase. See Records_Authors.
Class Contributors is declared in cntrbtrs.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Contributors table in the PICA database.
See Contributors.
These variables reference the corresponding columns in the
Contributorstable in thePICAdatabase. See Contributors.
Class Records_Contributors is declared in rccntrbt.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table
Records_Contributors in the PICA database.
See Records_Contributors.
These variables reference the corresponding columns in the
Records_Contributorstable in thePICAdatabase. See Records_Contributors.
Class Main_Titles is declared in mnttls.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Main_Titles table in the PICA database.
See Main_Titles.
These variables reference the corresponding columns in the
Main_Titlestable in thePICAdatabase. See Main_Titles.
Class Records_Main_Titles is declared in rcmnttls.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table Records_Main_Titles
in the PICA database.
See Records_Main_Titles.
These variables reference the corresponding columns in the
Records_Main_Titlestable in thePICAdatabase. See Records_Main_Titles.
Class Content_Summaries is declared in contsums.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Content_Summaries table in the PICA database.
See Content_Summaries.
These variables reference the corresponding columns in the
Content_Summariestable in thePICAdatabase. See Content_Summaries.
Class Languages is declared in language.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Languages table in the PICA database.
See Languages.
long m_language_idCStringA m_language_name_englishCStringA m_language_name_germanCStringA m_language_abbrevThese variables reference the corresponding columns in the
Languagestable in thePICAdatabase. See Languages.
Class Records_Languages is declared in reclang.web.
It is derived from the MFC class CRecordset using public
derivation.
Its references the association table Records_Languages in the PICA database.
See Records_Languages.
These variables reference the corresponding columns in the
Records_Languagestable in thePICAdatabase. See Records_Languages.
Class Subject_Types is declared in subjtyps.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Subject_Types table in the PICA database.
See Subject_Types.
These variables reference the corresponding columns in the
Subject_Typestable in thePICAdatabase. See Subject_Types.
Class Subjects is declared in subjects.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Subjects table in the PICA database.
See Subjects.
These variables reference the corresponding columns in the
Subjectstable in thePICAdatabase. See Subjects.
Class Records_Subjects is declared in recsubjs.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table Records_Subjects in the PICA database.
See Records_Subjects.
These variables reference the corresponding columns in the
Records_Subjectstable in thePICAdatabase. See Records_Subjects.
Class Permutation_Patterns is declared in prmpttrn.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Permutation_Patterns table in the PICA database.
See Permutation_Patterns.
These variables reference the corresponding columns in the
Permutation_Patternstable in thePICAdatabase. See Permutation_Patterns.
Class Remote_Access is declared in rmaccess.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Remote_Access table in the PICA database.
See Remote_Access.
These variables reference the corresponding columns in the
Remote_Accesstable in thePICAdatabase. See Remote_Access.
Class Records_Remote_Access is declared in rcrmaccs.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the association table Records_Remote_Access
in the PICA database.
See Records_Remote_Access.
These variables reference the corresponding columns in the
Records_Remote_Accesstable in thePICAdatabase. See Records_Remote_Access.
Class Publishers is declared in publshrs.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Publishers table in the PICA database.
See Publishers.
long m_publisher_idCStringA m_publisher_nameCStringA m_placeBOOL m_primary_info_sourceThese variables reference the corresponding columns in the
Publisherstable in thePICAdatabase. See Publishers.
Class Records_Publishers is declared in recpubs.web.
It is derived from the MFC class CRecordset using public
derivation.
Its references the association table Records_Publishers in the PICA database.
See Records_Publishers.
These variables reference the corresponding columns in the
Records_Publisherstable in thePICAdatabase. See Records_Publishers.
Class Database_Providers is declared in dbprovs.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Database_Providers table in the PICA database.
See Database_Providers.
long m_database_provider_idCStringA m_database_provider_nameCStringA m_placeThese variables reference the corresponding columns in the
Database_Providerstable in thePICAdatabase. See Database_Providers.
Class Records_Database_Providers is declared in rcdbprov.web.
It is derived from the MFC class CRecordset using public
derivation.
Its references the association table Records_Database_Providers in the PICA database.
See Records_Database_Providers.
These variables reference the corresponding columns in the
Records_Database_Providerstable in thePICAdatabase. See Records_Database_Providers.
Class Temp_IDs is declared in tempids.web.
It is derived from the MFC class CRecordset using public
derivation.
It references the Temp_IDs table in the PICA database.
See Temp_IDs.
This variable references the corresponding column in the
Temp_IDstable in thePICAdatabase. See Temp_IDs.
int identity (0, 1) not null pica_category_idprimary key PK_PICA_Categoriesint not null pica_category_idReferences
PICA_Categories(pica_category_id).
See PICA_Categories.
The default is 0.
int not null pica_field_idReferences
PICA_Fields(pica_field_id).
See PICA_Fields.
The default is 0.
varchar(512) not null identification_numberCan contain non-numerals! The default value is
'N/A'.
This table is filled by the stored procedure regenerate_tables.
See Database Stored Procedures.
It is not changed when ZTest is run.
int identity(0, 1) not null bibliographic_type_code_idprimary key PK_Bibliographic_Type_Codesint identity not null bibliographic_type_idprimary key PK_Bibliographic_Typesint not null bibliographic_type_idReferences
Bibliographic_Types(bibliographic_type_id). The default value is 0.
The Content_Summaries table is referenced by the
ODBC class Content_Summaries.
See Content_Summaries.
int identity(0, 1) not null content_summary_idprimary key PK_Content_Summariesint identity not null database_provider_idprimary key PK_Database_Providersint not null database_provider_idReferences
Database_Providers(database_provider_id). The default value is 0.
varchar(64) not null language_name_englishvarchar(64) not null language_name_germanThe default value is
'N/A'.
The following PICA categories used all used for the physical descriptions of resources. Unfortunately, some are used for more than one physical feature, so they are ambiguous. For example, the English description of the PICA3 4060 category is “Size or Range, Specification of Material, Technical System”. In addition, these categories all have only a single field, namely “Text”, so that unlike other categories, the ambiguity cannot be resolved by the use of fields.
| PICA3 | PICA+
|
|---|---|
| 4060 | 034D
|
| 4061 | 034M
|
| 4062 | 034I
|
| 4063 | 034K
|
!! TODO: Add cross-references and index entries!
The number of different features that can be described using these classifications is
large enough to make it impracticable to have a column for each one in the
Physical_Descriptions table. Due to the above-mentioned ambiguity, it would also be
impossible for a program to determine which column would be appropriate for a given entry.
The Physical_Descriptions table therefore includes a pica_category_id column,
so that users may at least see how the data was categorized in the PICA source.
With respect to these categories, the pica_field_id in the
Physical_Descriptions table is redundant. I have added it in case
other categories are used for physical descriptions.
int identity not null physical_description_idprimary key PK_Physical_Descriptionsint not null pica_category_idReferences
PICA_Categories(pica_category_id).
See PICA_Categories.
int not null physical_description_idReferences
Physical_Descriptions(physical_description_id).
See Physical_Descriptions.
The Remote_Access table stores information from entries of
the category Pica+ 209R/Pica3 7133.
See 209R Local information regarding remote access to electronic resources,
and 7133 Local information regarding remote access to electronic resources.
The function Category_Container::sub_F_209R, which is called by
Category_Container::F_209R, writes to this table.
See Functions for Specific Categories.
Association table. See Records, and Remote_Access.
The function Category_Container::sub_F_209R, which is called by
Category_Container::F_209R, writes to this table.
See Functions for Specific Categories.
int not null remote_access_idReferences
Remote_Access(remote_access_id).
See Remote_Access.
The Exemplar_Production_Numbers table stores information from entries of
the category Pica+ 203@/Pica3 7800.
See 203@ Exemplar Production Number,
and 7800 Exemplar Production Number.
Since so little information is stored in this table,
it includes a column record_id which references
Records::record_id. This makes it possible to do
without an association table.
The function Subcategory_Container::f_203_AT_0 writes to this table.
See Exemplar Production Number.
int identity(0, 1) not null exemplar_production_number_idprimary key PK_Exemplar_Production_NumberThe Call_Numbers table stores information from entries of
the categories Pica+ 209A/Pica3 7100–7109.
See 209A Call Number,
and 7100–7109 Call Number.
The functions
Category_Container::F_209A,
Subcategory_Container::f_209A_a,
Subcategory_Container::f_209A_b,
Subcategory_Container::f_209A_f,
and
Subcategory_Container::f_209A_j
are used to write to this table.
See Call Number,
and
Call Number.
Association table. See Records, and Call_Numbers.
The function Category_Container::F_209A writes to this table.
See Functions for Specific Categories.
The Access_Numbers table stores information from entries of
the category Pica+ 209C/Pica3 8100.
See 209C Access Number,
and 8100 Access Number.
Since so little information is stored in this table,
it includes a column record_id which references
Records::record_id. This makes it possible to do
without an association table.
The function
Subcategory_Container::f_209C_a
writes to this table.
See Access Number.
This table stores information about the classes of subjects specified in the “Indikator/Indicator” field of Pica+ 041A/Pica3 800; 5100–5199. This is the S field in Pica+ 041A. See 041A Subject, 041A Fields, and 800; 5100–5199 Subject.
The Subject_Types table is referenced by the
ODBC class Subject_Types.
See Subject_Types (ODBC Class).
The indicator column (see below)
must contain one of the characters used as values in this field.
The following table shows these values. Some are only used with Pica3 5100–5199.
| Value | German | English | Pica3 800
|
|---|---|---|---|
| c | Körperschaftsschlagwort (Ort) | Entity Subject (Location) | Yes
|
| f | Formschlagwort | Form Subject | No
|
| g | Geografisches/ethnografisches Schlagwort | Geographical/Ethnographical Subject | Yes
|
| p | Personenschlagwort | Personal Subject | Yes
|
| s | Sachschlagwort | Material Subject | Yes
|
| t | Titelschlagwort (800)/Werktitel (51xx) | Title Subject (800)/Work Title (51xx) | Yes
|
| k | Körperschaftsschlagwort (Name) | Entity Subject (Name) | Yes
|
| z | Zeitschlagwort | Temporal Subject | No
|
The Subject_Types table is completely filled by the stored
procedure regenerate_tables. No entries are added when ZTest
is run. Therefore, no default values are needed.
See Database Stored Procedures.
This table stores information from entries of the categories Pica+ 041A/Pica3 800; 5100–5199. See 041A Subject, and 800; 5100–5199 Subject.
int not null subject_type_idReferences
Subject_Types::subject_type_id. See Subject_Types.
This table stores information from entries of the categories Pica+ 041A/Pica3 5100–5199. Permutation patterns (German Permutationsmuster) aren't used in Pica3 800. See 041A Subject, and 800; 5100–5199 Subject.
This table has a column record_id, which references
the record_id column in the Records table, and
columns subject_id_start and
subject_id_end, which reference the subject_id column
in the Subjects table (see below).
It is therefore an association table.
See Records,
and
Subjects.
int identity(0, 1) not null permutation_pattern_idprimary key PK_Permutation_PatternsInitializes the database tables. Some of them contain entries that must be present before data is read from the input file.
Deletes the entries in the database tables, without dropping the tables.
Bib-1. “The Bib-1 attribute set is part of the Z39.50 client server protocol.” (http://en.wikipedia.org/wiki/Bib-1).
ELN: See “External Library Number”.
External Library Number: Abbreviation: ELN.
See Abbreviations E.
MFC: See “Microsoft Foundation Classes”.
Microsoft Foundation Classes: Abbreviation: MFC.
See Abbreviations M.
ODBC: See “Open Database Connectivity”.
PPN: See “Pica Production Number”.
PQF: See “Prefix Query Format”.
Pica Production Number: Abbreviation: PPN. See Abbreviations P.
Pica: See “Project for Integrated Catalogue Automation”.
Project for Integrated Catalogue Automation: Abbreviation: Pica.
RPN: See “Reverse Polish Notation”.
RSWK: See “Rules for the Subject Catalogue” (“Regeln fuer den Schlagwortkatalog”).
Regeln fuer den Schlagwortkatalog (RSWK): Rules for the Subject Catalogue.
See 041A Subject, and
800; 5100–5199 Subject.
Reverse Polish Notation (RPN).
Rules for the Subject Catalogue: Regeln fuer den Schlagwortkatalog (RSWK) See 041A Subject, and 800; 5100–5199 Subject.
ELN: External Library Number
See Glossary E.
engl: English
germ: German
MFC: Microsoft Foundation Classes
See Glossary M.
ODBC: Open Database Connectivity
See Glossary O.
Pica: Project for Integrated Catalogue Automation See Glossary P.
PPN: Pica Production Number
See Glossary P.
PQF: Prefix Query Format
See Glossary P.
RPN: Reverse Polish Notation
See Glossary R.
RSWK: Regeln fuer den Schlagwortkatalog (Rules for the Subject Catalogue)
See 041A Subject,
800; 5100–5199 Subject,
and
Glossary R.
Michael, James J. and Mark Hinnebusch. From A to Z39.50. A Networking Primer. Mecklermedia Corporation. Westport, London 1995. ISBN 0-88736-766-6.
access_number: Access_Numbers Database Tables ZTestaccess_number_id: Access_Numbers Database Tables ZTestAccess_Numbers::m_access_number: Data Members Access_Numbers ZTestAccess_Numbers::m_access_number_id: Data Members Access_Numbers ZTestAccess_Numbers::m_record_id: Data Members Access_Numbers ZTestadditional_creator_main: Main_Titles Database Tables ZTestadditional_creator_parallel: Main_Titles Database Tables ZTestadditions_main: Main_Titles Database Tables ZTestadditions_parallel: Main_Titles Database Tables ZTestALL_RECORDS: Constants Selectorassociation_type: Records_Languages Database Tables ZTestassociation_type_name: Records_Languages Database Tables ZTestauthor_id: Authors Database Tables ZTestauthor_id: Records_Authors Database Tables ZTestAuthors::m_given_name: Data Members Authors ZTestAuthors::m_prefix: Data Members Authors ZTestAuthors::m_surname: Data Members Authors ZTestauthorship: Main_Titles Database Tables ZTestBEG_OR_WHOLE_WORD: Constants Selectorbibliographic_representation: Bibliographic_Types Database Tables ZTestbibliographic_representation_code: Bibliographic_Type_Codes Database Tables ZTestbibliographic_representation_description_english: Bibliographic_Type_Codes Database Tables ZTestbibliographic_representation_description_german: Bibliographic_Type_Codes Database Tables ZTestbibliographic_representation_refinement: Bibliographic_Types Database Tables ZTestbibliographic_type_code_id: Bibliographic_Type_Codes Database Tables ZTestBibliographic_Type_Codes::m_bibliographic_representation_code: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_bibliographic_representation_description_english: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_bibliographic_representation_description_german: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_bibliographic_type_code_id: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_description_status_code: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_description_status_description_english: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_description_status_description_german: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_physical_form_code: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_physical_form_material_name_english: Data Members Bibliographic_Type_Codes ZTestBibliographic_Type_Codes::m_physical_form_material_name_german: Data Members Bibliographic_Type_Codes ZTestbibliographic_type_id: Bibliographic_Types Database Tables ZTestbibliographic_type_id: Records_Bibliographic_Types Database Tables ZTestBibliographic_Types::m_bibliographic_representation: Data Members Bibliographic_Types ZTestBibliographic_Types::m_bibliographic_representation_refinement: Data Members Bibliographic_Types ZTestBibliographic_Types::m_bibliographic_type_id: Data Members Bibliographic_Types ZTestBibliographic_Types::m_description_status: Data Members Bibliographic_Types ZTestBibliographic_Types::m_miscellaneous: Data Members Bibliographic_Types ZTestBibliographic_Types::m_physical_form: Data Members Bibliographic_Types ZTestBibliographic_Types::m_transliteration_code: Data Members Bibliographic_Types ZTestcall_number: Call_Numbers Database Tables ZTestcall_number_id: Records_Call_Numbers Database Tables ZTestcall_number_id: Call_Numbers Database Tables ZTestCall_Numbers::m_call_number: Data Members Call_Numbers ZTestCall_Numbers::m_call_number_id: Data Members Call_Numbers ZTestCall_Numbers::m_library_department: Data Members Call_Numbers ZTestCall_Numbers::m_library_number: Data Members Call_Numbers ZTestCall_Numbers::m_special_location: Data Members Call_Numbers ZTestcategories: Pica_Record Data MembersCategory_Container::content_description_english: Category_Container Data MembersCategory_Container::content_description_german: Category_Container Data MembersCategory_Container::database_command_arguments: Category_Container Data MembersCategory_Container::database_commands: Category_Container Data MembersCategory_Container::pica_3_category_id: Category_Container Data MembersCategory_Container::pica_plus_category_id: Category_Container Data MembersCategory_Container::repeat_code: Category_Container Data MembersCategory_Container::subcategory_map: Category_Container Data MembersCategory_Container::subcategory_vector: Category_Container Data Memberscategory_map: Protected Variables ZClientcdb: Variables Selectorchain_info: Subjects Database Tables ZTestchain_link_number: Subjects Database Tables ZTestchain_number: Subjects Database Tables ZTestchain_number: Permutation_Patterns Database Tables ZTestcompany_id: Publishers_Temp Database Tables ATestcompany_id: Publishers Database Tables ATestconnections: Protected Variables ZClientcontent_description_english: Subcategory_Container Data Memberscontent_description_english: Category_Container Data Memberscontent_description_german: Category_Container Data Memberscontent_description_german: Subcategory_Container Data MembersContent_Summaries::m_content_summary: Data Members Content_Summaries ZTestContent_Summaries::m_content_summary_id: Data Members Content_Summaries ZTestContent_Summaries::m_continuation: Data Members Content_Summaries ZTestContent_Summaries::m_record_id: Data Members Content_Summaries ZTestcontent_summary: Content_Summaries Database Tables ZTestcontent_summary_id: Content_Summaries Database Tables ZTestcontinuation: Content_Summaries Database Tables ZTestcontinuation_additions_main: Main_Titles Database Tables ZTestcontinuation_main_canonical_title: Main_Titles Database Tables ZTestcontributor_id: Records_Contributors Database Tables ZTestcontributor_id: Contributors Database Tables ZTestcontributor_id: Contributors_Temp Database Tables ATestcontributor_id: Contributors Database Tables ATestcontributor_strm: Variables SelectorCONTRIBUTORS: Constants Selectorcontributors: Variables SelectorContributors::m_contributor_id: Data Members Contributors ZTestContributors::m_contributor_id: Data Members ContributorsContributors::m_dc_contributor: Data Members ContributorsContributors::m_given_name: Data Members Contributors ZTestContributors::m_id_number_ppn: Data Members Contributors ZTestContributors::m_institution_id: Data Members ContributorsContributors::m_person_id: Data Members ContributorsContributors::m_prefix: Data Members Contributors ZTestContributors::m_surname: Data Members Contributors ZTestcontributors_temp: Variables SelectorContributors_Temp::m_contributor_id: Data Members Contributors_TempContributors_Temp::m_dc_contributor: Data Members Contributors_TempContributors_Temp::m_institution_id: Data Members Contributors_TempContributors_Temp::m_person_id: Data Members Contributors_Tempcreator_id: Creators Database Tables ATestcreator_id: Creators_Temp Database Tables ATestcreator_strm: Variables Selectorcreators: Variables SelectorCREATORS: Constants SelectorCreators::m_creator_id: Data Members CreatorsCreators::m_dc_creator: Data Members CreatorsCreators::m_institution_id: Data Members CreatorsCreators::m_person_id: Data Members Creatorscreators_temp: Variables SelectorCreators_Temp::m_creator_id: Data Members Creators_TempCreators_Temp::m_dc_creator: Data Members Creators_TempCreators_Temp::m_institution_id: Data Members Creators_TempCreators_Temp::m_person_id: Data Members Creators_Tempcurr_record: Variables Selectordatabase: Protected Variables ZClientDatabase_Command::function: Database_Command Data Membersdatabase_command_arguments: Category_Container Data Membersdatabase_commands: Category_Container Data Membersdatabase_commands: Subcategory_Container Data Membersdatabase_provider_id: Records_Database_Providers Database Tables ZTestdatabase_provider_id: Database_Providers Database Tables ZTestdatabase_provider_name: Database_Providers Database Tables ZTestDatabase_Providers::m_database_provider_id: Data Members Database_Providers ZTestDatabase_Providers::m_database_provider_name: Data Members Database_Providers ZTestDatabase_Providers::m_place: Data Members Database_Providers ZTestdate_most_recent_change: Records Database Tables ZTestdate_original_entry: Records Database Tables ZTestdate_status_change: Records Database Tables ZTestday_of_month: Dialog_1 Data Membersday_of_week: Dialog_1 Data MembersDB_Display::html_strm: DB_Display Data MembersDBT: MetadataSource Data Membersdc_contributor: Contributors Database Tables ATestdc_contributor: Contributors_Temp Database Tables ATestdc_creator: Creators_Temp Database Tables ATestdc_creator: Creators Database Tables ATestdc_date: Records Database Tables ATestdc_date: Records_Temp Database Tables ATestdc_date_strm: Variables SelectorDC_DATES: Constants Selectordc_description: Descriptions Database Tables ATestdc_description: Descriptions_Temp Database Tables ATestdc_identifier: Identifiers_Temp Database Tables ATestdc_identifier: Identifiers Database Tables ATestdc_language: Languages Database Tables ATestdc_language: Languages_Temp Database Tables ATestdc_publisher: Publishers Database Tables ATestdc_publisher: Publishers_Temp Database Tables ATestdc_rights: Rights Database Tables ATestdc_rights: Rights_Temp Database Tables ATestdc_subject: Subjects Database Tables ATestdc_subject: Subjects_Temp Database Tables ATestdc_title: Titles_Temp Database Tables ATestdc_title: Titles Database Tables ATestdc_type: Types_Temp Database Tables ATestdc_type: Types Database Tables ATestdescription: Subject_Types Database Tables ZTestdescription_english: PICA_Categories Database Tables ZTestdescription_english: PICA_Fields Database Tables ZTestdescription_german: PICA_Categories Database Tables ZTestdescription_german: PICA_Fields Database Tables ZTestdescription_id: Descriptions_Temp Database Tables ATestdescription_id: Descriptions Database Tables ATestdescription_status: Bibliographic_Types Database Tables ZTestdescription_status_code: Bibliographic_Type_Codes Database Tables ZTestdescription_status_description_english: Bibliographic_Type_Codes Database Tables ZTestdescription_status_description_german: Bibliographic_Type_Codes Database Tables ZTestdescription_strm: Variables SelectorDESCRIPTIONS: Constants Selectordescriptions_temp: Variables SelectorDescriptions_Temp::m_dc_description: Data Members Descriptions_TempDescriptions_Temp::m_description_id: Data Members Descriptions_TempDescriptions_Temp::m_record_id: Data Members Descriptions_TempDialog_1::day_of_month: Dialog_1 Data MembersDialog_1::day_of_week: Dialog_1 Data MembersDialog_1::edit_1_str: Dialog_1 Data MembersDialog_1::metadata_source: Dialog_1 Data MembersDialog_1::month_of_year: Dialog_1 Data MembersDialog_1::t0: Dialog_1 Data MembersDialog_1::timespan: Dialog_1 Data MembersDialog_2::ignore_case: Dialog_2 Data MembersDialog_2::results_str: Dialog_2 Data MembersDialog_2::search_options: Dialog_2 Data MembersDialog_2::search_str: Dialog_2 Data MembersDialog_2::select_value: Dialog_2 Data MembersDialog_2::sort_field: Dialog_2 Data MembersDialog_2::sort_order: Dialog_2 Data MembersDialog_2::suppress_duplicate_records: Dialog_2 Data MembersDialog_2::timespan: Dialog_2 Data MembersDialog_2::use_date_type: Dialog_2 Data MembersDialog_Z_1::display_records: Dialog_Z_1 Data MembersDialog_Z_1::parse_records: Dialog_Z_1 Data MembersDialog_Z_1::perform_search: Dialog_Z_1 Data MembersDialog_Z_1::search_command: Dialog_Z_1 Data MembersDialog_Z_1::write_records_file: Dialog_Z_1 Data Membersdisplay_records: Dialog_Z_1 Data Membersedit_1_str: Dialog_1 Data Memberseln_most_recent_change: Records Database Tables ZTesteln_original_entry: Records Database Tables ZTesteln_status_change: Records Database Tables ZTestEXACT_MATCH: Constants Selectorexemplar_production_number_id: Exemplar_Production_Numbers Database Tables ZTestexemplar_production_number_numeric: Exemplar_Production_Numbers Database Tables ZTestexemplar_production_number_text: Exemplar_Production_Numbers Database Tables ZTestExemplar_Production_Numbers::m_exemplar_production_number_id: Data Members Exemplar_Production_Numbers ZTestExemplar_Production_Numbers::m_exemplar_production_number_numeric: Data Members Exemplar_Production_Numbers ZTestExemplar_Production_Numbers::m_exemplar_production_number_text: Data Members Exemplar_Production_Numbers ZTestExemplar_Production_Numbers::m_record_id: Data Members Exemplar_Production_Numbers ZTestfield_value: Subcategory_Container Data Membersformat_type: Remote_Access Database Tables ZTestfunction: Database_Command Data MembersGBV_GVK_ID: Static Constants ZClientgiven_name: Authors Database Tables ZTestgiven_name: Contributors Database Tables ZTestheader_datestamp: Records_Temp Database Tables ATestheader_datestamp: Records Database Tables ATestheader_datestamp_strm: Variables SelectorHEADER_DATESTAMPS: Constants Selectorheader_identifier: Records Database Tables ATestheader_identifier: Records_Temp Database Tables ATestheader_status: Records_Temp Database Tables ATestheader_status: Records Database Tables ATesthtml_strm: Variables Selectorhtml_strm: DB_Display Data Membersid: MetadataSource Functionsid_number_ppn: Subjects Database Tables ZTestid_number_ppn: Contributors Database Tables ZTestid_number_ppn: Authors Database Tables ZTestidentification_number: Records Database Tables ZTestidentifier_id: Identifiers Database Tables ATestidentifier_id: Identifiers_Temp Database Tables ATestidentifier_strm: Variables SelectorIDENTIFIERS: Constants Selectoridentifiers_temp: Variables SelectorIdentifiers_Temp::m_dc_identifier: Data Members Identifiers_TempIdentifiers_Temp::m_identifier_id: Data Members Identifiers_TempIGNORE_CASE: Constants Selectorignore_case: Dialog_2 Data Membersindicator: Subject_Types Database Tables ZTestinstitution_id: Creators_Temp Database Tables ATestinstitution_id: Contributors_Temp Database Tables ATestinstitution_id: Publishers_Temp Database Tables ATestinstitution_id: Creators Database Tables ATestinstitution_id: Publishers Database Tables ATestinstitution_id: Contributors Database Tables ATestint: Data Members PICA_Fields ZTestinternal_remarks: Remote_Access Database Tables ZTestlanguage_abbrev: Languages Database Tables ZTestlanguage_id: Languages_Temp Database Tables ATestlanguage_id: Records_Languages Database Tables ZTestlanguage_id: Languages Database Tables ATestlanguage_id: Languages Database Tables ZTestlanguage_name_english: Languages Database Tables ZTestlanguage_name_german: Languages Database Tables ZTestlanguage_strm: Variables SelectorLANGUAGES: Constants SelectorLanguages::m_language_abbrev: Data Members Languages ZTestLanguages::m_language_id: Data Members Languages ZTestLanguages::m_language_name_english: Data Members Languages ZTestLanguages::m_language_name_german: Data Members Languages ZTestlanguages_temp: Variables SelectorLanguages_Temp::m_dc_language: Data Members Languages_TempLanguages_Temp::m_language_id: Data Members Languages_TempLAST_10_YEARS: Constants SelectorLAST_20_YEARS: Constants SelectorLAST_2_YEARS: Constants SelectorLAST_5_YEARS: Constants SelectorLAST_6_MONTHS: Constants SelectorLAST_MONTH: Constants SelectorLAST_WEEK: Constants SelectorLAST_YEAR: Constants Selectorlibrary_department: Call_Numbers Database Tables ZTestlibrary_number: Call_Numbers Database Tables ZTestlicense_indicator: Remote_Access Database Tables ZTestlog_strm: Protected Variables ZClientm_access_number: Data Members Access_Numbers ZTestm_access_number_id: Data Members Access_Numbers ZTestm_additional_creator_main: Data Members Main_Titles ZTestm_additional_creator_parallel: Data Members Main_Titles ZTestm_additions_main: Data Members Main_Titles ZTestm_additions_parallel: Data Members Main_Titles ZTestm_association_type: Data Members Records_Languages ZTestm_association_type_name: Data Members Records_Languages ZTestm_author_id: Data Members Records_Authors ZTestm_author_id: Data Members Authors ZTestm_author_id: Data Members Records_Authors ZTestm_authorship: Data Members Main_Titles ZTestm_bibliographic_representation;: Data Members Bibliographic_Types ZTestm_bibliographic_representation_code: Data Members Bibliographic_Type_Codes ZTestm_bibliographic_representation_description_english: Data Members Bibliographic_Type_Codes ZTestm_bibliographic_representation_description_german: Data Members Bibliographic_Type_Codes ZTestm_bibliographic_representation_refinement;: Data Members Bibliographic_Types ZTestm_bibliographic_type_code_id: Data Members Bibliographic_Type_Codes ZTestm_bibliographic_type_id: Data Members Bibliographic_Types ZTestm_bibliographic_type_id: Data Members Records_Bibliographic_Types ZTestm_call_number: Data Members Call_Numbers ZTestm_call_number_id: Data Members Call_Numbers ZTestm_call_number_id: Data Members Records_Call_Numbers ZTestm_call_number_id: Data Members Call_Numbers ZTestm_chain_info: Data Members Subjects ZTestm_chain_link_number: Data Members Subjects ZTestm_chain_number: Data Members Permutation_Patterns ZTestm_chain_number: Data Members Subjects ZTestm_chain_number: Data Members Permutation_Patterns ZTestm_chain_number: Data Members Subjects ZTestm_company_id: Data Members Publishers_Tempm_content_summary: Data Members Content_Summaries ZTestm_content_summary_id: Data Members Content_Summaries ZTestm_continuation: Data Members Content_Summaries ZTestm_continuation_additions_main: Data Members Main_Titles ZTestm_continuation_main_canonical_title: Data Members Main_Titles ZTestm_contributor_id: Data Members Records_Contributors ZTestm_contributor_id: Data Members Contributors_Tempm_contributor_id: Data Members Contributors ZTestm_contributor_id: Data Members Records_Contributors ZTestm_contributor_id: Data Members Contributors ZTestm_contributor_id: Data Members Contributorsm_creator_id: Data Members Creators_Tempm_creator_id: Data Members Creatorsm_database_provider_id: Data Members Database_Providers ZTestm_database_provider_id: Data Members Records_Database_Providers ZTestm_database_provider_name: Data Members Database_Providers ZTestm_date_most_recent_change: Data Members Records ZTestm_date_original_entry: Data Members Records ZTestm_date_status_change: Data Members Records ZTestm_dc_contributor: Data Members Contributors_Tempm_dc_contributor: Data Members Contributorsm_dc_creator: Data Members Creators_Tempm_dc_creator: Data Members Creatorsm_dc_date: Data Members Recordsm_dc_date: Data Members Records_Tempm_dc_description: Data Members Descriptions_Tempm_dc_identifier: Data Members Identifiers_Tempm_dc_language: Data Members Languages_Tempm_dc_publisher: Data Members Publishers_Tempm_dc_rights: Data Members Rights_Tempm_dc_subject: Data Members Subjectsm_dc_subject: Data Members Subjects_Tempm_dc_title: Data Members Titlesm_dc_title: Data Members Titles_Tempm_dc_type: Data Members Types_Tempm_description_english: Data Members Subject_Types ZTestm_description_english: Data Members PICA_Categories ZTestm_description_english: Data Members Subject_Types ZTestm_description_english: Data Members PICA_Fields ZTestm_description_german: Data Members PICA_Categories ZTestm_description_german: Data Members PICA_Fields ZTestm_description_german: Data Members Subject_Types ZTestm_description_id: Data Members Descriptions_Tempm_description_status;: Data Members Bibliographic_Types ZTestm_description_status_code: Data Members Bibliographic_Type_Codes ZTestm_description_status_description_english: Data Members Bibliographic_Type_Codes ZTestm_description_status_description_german: Data Members Bibliographic_Type_Codes ZTestm_eln_most_recent_change: Data Members Records ZTestm_eln_original_entry: Data Members Records ZTestm_eln_status_change: Data Members Records ZTestm_exemplar_production_number_id: Data Members Exemplar_Production_Numbers ZTestm_exemplar_production_number_numeric: Data Members Exemplar_Production_Numbers ZTestm_exemplar_production_number_text: Data Members Exemplar_Production_Numbers ZTestm_format_type: Data Members Remote_Access ZTestm_given_name: Data Members Contributors ZTestm_given_name: Data Members Authors ZTestm_header_datestamp: Data Members Records_Tempm_header_datestamp: Data Members Recordsm_header_identifier: Data Members Recordsm_header_identifier: Data Members Records_Tempm_header_status: Data Members Recordsm_header_status: Data Members Records_Tempm_id_number_ppn: Data Members Subjects ZTestm_id_number_ppn: Data Members Contributors ZTestm_id_number_ppn: Data Members Subjects ZTestm_id_number_ppn: Data Members Contributors ZTestm_identification_number: Data Members Records ZTestm_identifier_id: Data Members Identifiers_Tempm_indicator: Data Members Subject_Types ZTestm_institution_id: Data Members Creators_Tempm_institution_id: Data Members Contributorsm_institution_id: Data Members Creatorsm_institution_id: Data Members Publishers_Tempm_institution_id: Data Members Contributors_Tempm_internal_remarks: Data Members Remote_Access ZTestm_language_abbrev: Data Members Languages ZTestm_language_id: Data Members Languages ZTestm_language_id: Data Members Records_Languages ZTestm_language_id: Data Members Languages_Tempm_language_name_english: Data Members Languages ZTestm_language_name_german: Data Members Languages ZTestm_library_department: Data Members Call_Numbers ZTestm_library_number: Data Members Call_Numbers ZTestm_license_indicator: Data Members Remote_Access ZTestm_main_canonical_title: Data Members Main_Titles ZTestm_main_title_id: Data Members Records_Main_Titles ZTestm_main_title_id: Data Members Main_Titles ZTestm_miscellaneous;: Data Members Bibliographic_Types ZTestm_parallel_canonical_title: Data Members Main_Titles ZTestm_permutation_pattern: Data Members Permutation_Patterns ZTestm_permutation_pattern_id: Data Members Permutation_Patterns ZTestm_person_id: Data Members Contributorsm_person_id: Data Members Creatorsm_person_id: Data Members Publishers_Tempm_person_id: Data Members Contributors_Tempm_person_id: Data Members Creators_Tempm_physical_description_id: Data Members Physical_Descriptions ZTestm_physical_description_id: Data Members Records_Physical_Descriptions ZTestm_physical_form;: Data Members Bibliographic_Types ZTestm_physical_form_code: Data Members Bibliographic_Type_Codes ZTestm_physical_form_material_name_english: Data Members Bibliographic_Type_Codes ZTestm_physical_form_material_name_german: Data Members Bibliographic_Type_Codes ZTestm_pica3_51xx: Data Members Subject_Types ZTestm_pica3_800: Data Members Subject_Types ZTestm_pica_3_category_code: Data Members PICA_Categories ZTestm_pica_category_id: Data Members PICA_Categories_PICA_Fields ZTestm_pica_category_id: Data Members PICA_Categories ZTestm_pica_category_id: Data Members Physical_Descriptions ZTestm_pica_field_id: Data Members PICA_Categories_PICA_Fields ZTestm_pica_field_id: Data Members Physical_Descriptions ZTestm_pica_field_id: Data Members PICA_Fields ZTestm_pica_plus_category_code: Data Members PICA_Categories ZTestm_pica_plus_field_code: Data Members PICA_Fields ZTestm_place: Data Members Database_Providers ZTestm_place: Data Members Publishers ZTestm_prefix: Data Members Contributors ZTestm_prefix: Data Members Authors ZTestm_prefix: Data Members Contributors ZTestm_primary_info_source: Data Members Publishers ZTestm_publisher_id: Data Members Records_Publishers ZTestm_publisher_id: Data Members Publishers ZTestm_publisher_id: Data Members Publishers_Tempm_publisher_name: Data Members Publishers ZTestm_record_id: Data Members Access_Numbers ZTestm_record_id: Data Members Titlesm_record_id: Data Members Recordsm_record_id: Data Members Records_Tempm_record_id: Data Members Records_Physical_Descriptions ZTestm_record_id: Data Members Records_Call_Numbers ZTestm_record_id: Data Members Records_Publishers ZTestm_record_id: Data Members Records_Remote_Access ZTestm_record_id: Data Members Records_Contributors ZTestm_record_id: Data Members Records_Main_Titles ZTestm_record_id: Data Members Permutation_Patterns ZTestm_record_id: Data Members Descriptions_Tempm_record_id: Data Members Records_Bibliographic_Types ZTestm_record_id: Data Members Records_Authors ZTestm_record_id: Data Members Records_Languages ZTestm_record_id: Data Members Records_Subjects ZTestm_record_id: Data Members Titles_Tempm_record_id: Data Members Records ZTestm_record_id: Data Members Records_Main_Titles ZTestm_record_id: Data Members Records_Call_Numbers ZTestm_record_id: Data Members Content_Summaries ZTestm_record_id: Data Members Records ZTestm_record_id: Data Members Records_Database_Providers ZTestm_record_id: Data Members Records_Contributors ZTestm_record_id: Data Members Exemplar_Production_Numbers ZTestm_record_id: Data Members Records_Bibliographic_Types ZTestm_record_id: Data Members Records_Remote_Access ZTestm_record_id: Data Members Records_Authors ZTestm_record_id: Data Members Access_Numbers ZTestm_record_id: Data Members Exemplar_Production_Numbers ZTestm_remote_access_id: Data Members Remote_Access ZTestm_remote_access_id: Data Members Records_Remote_Access ZTestm_rights_id: Data Members Rights_Tempm_source_abbrev: Data Members Sources ZTestm_source_address: Data Members Sources ZTestm_source_id: Data Members Records ZTestm_source_id: Data Members Sources ZTestm_source_name: Data Members Sources ZTestm_special_location: Data Members Call_Numbers ZTestm_standard_text: Data Members Main_Titles ZTestm_subject: Data Members Subjects ZTestm_subject_id: Data Members Subjects ZTestm_subject_id: Data Members Subjectsm_subject_id: Data Members Records_Subjects ZTestm_subject_id: Data Members Subjects_Tempm_subject_id: Data Members Records_Subjects ZTestm_subject_id: Data Members Subjects ZTestm_subject_id_end: Data Members Permutation_Patterns ZTestm_subject_id_start: Data Members Permutation_Patterns ZTestm_subject_type_id: Data Members Subject_Types ZTestm_subject_type_id: Data Members Subjects ZTestm_surname: Data Members Contributors ZTestm_surname: Data Members Authors ZTestm_temp_id: Data Members Temp_IDs ZTestm_temp_id: Data Members Temp_IDsm_temp_id: Data Members Temp_IDs_1m_temp_id: Data Members Temp_IDs ZTestm_text: Data Members Physical_Descriptions ZTestm_title_id: Data Members Titles_Tempm_title_id: Data Members Titlesm_transliteration_code;: Data Members Bibliographic_Types ZTestm_type_id: Data Members Types_Tempm_URL: Data Members Remote_Access ZTestm_URN: Data Members Remote_Access ZTestm_web_display_text: Data Members Remote_Access ZTestm_year_appearance_begin: Data Members Records ZTestm_year_appearance_end: Data Members Records ZTestm_year_appearance_original: Data Members Records ZTestm_year_appearance_rak_wb: Data Members Records ZTestmain_canonical_title: Main_Titles Database Tables ZTestmain_title_id: Records_Main_Titles Database Tables ZTestmain_title_id: Main_Titles Database Tables ZTestMain_Titles::m_additional_creator_main: Data Members Main_Titles ZTestMain_Titles::m_additional_creator_parallel: Data Members Main_Titles ZTestMain_Titles::m_additions_main: Data Members Main_Titles ZTestMain_Titles::m_additions_parallel: Data Members Main_Titles ZTestMain_Titles::m_authorship: Data Members Main_Titles ZTestMain_Titles::m_continuation_additions_main: Data Members Main_Titles ZTestMain_Titles::m_continuation_main_canonical_title: Data Members Main_Titles ZTestMain_Titles::m_main_canonical_title: Data Members Main_Titles ZTestMain_Titles::m_main_title_id: Data Members Main_Titles ZTestMain_Titles::m_parallel_canonical_title: Data Members Main_Titles ZTestMain_Titles::m_standard_text: Data Members Main_Titles ZTestMAX_RESUMPTION_TOKEN: MetadataSource Data MembersMAX_TAG_LENGTH: MetadataSource Data MembersMAX_ZOOM_CONNECTION: Static Constants ZClientMAX_ZOOM_RESULTSET: Static Constants ZClientmetadata_source: Dialog_1 Data MembersMetadataSource::DBT: MetadataSource Data MembersMetadataSource::id: MetadataSource FunctionsMetadataSource::MAX_RESUMPTION_TOKEN: MetadataSource Data MembersMetadataSource::MAX_TAG_LENGTH: MetadataSource Data MembersMetadataSource::NULL_METADATA_SOURCE: MetadataSource Data MembersMetadataSource::TIMMS: MetadataSource Data Membersmiscellaneous: Bibliographic_Types Database Tables ZTestmonth_of_year: Dialog_1 Data Membersmutex: Output_Stream_Type Data MembersNULL_METADATA_SOURCE: MetadataSource Data MembersNULL_TIMESPAN: Constants Selectoroutput_stream: Output_Stream_Type Data MembersOutput_Stream_Type::mutex: Output_Stream_Type Data MembersOutput_Stream_Type::output_stream: Output_Stream_Type Data Membersparallel_canonical_title: Main_Titles Database Tables ZTestparse_records: Dialog_Z_1 Data Membersperform_search: Dialog_Z_1 Data Memberspermutation_pattern: Permutation_Patterns Database Tables ZTestpermutation_pattern_id: Permutation_Patterns Database Tables ZTestPermutation_Patterns::m_chain_number: Data Members Permutation_Patterns ZTestPermutation_Patterns::m_permutation_pattern: Data Members Permutation_Patterns ZTestPermutation_Patterns::m_permutation_pattern_id: Data Members Permutation_Patterns ZTestPermutation_Patterns::m_record_id: Data Members Permutation_Patterns ZTestPermutation_Patterns::m_subject_id_end: Data Members Permutation_Patterns ZTestPermutation_Patterns::m_subject_id_start: Data Members Permutation_Patterns ZTestperson_id: Publishers_Temp Database Tables ATestperson_id: Contributors_Temp Database Tables ATestperson_id: Publishers Database Tables ATestperson_id: Contributors Database Tables ATestperson_id: Creators Database Tables ATestperson_id: Creators_Temp Database Tables ATestphysical_description_id: Records_Physical_Descriptions Database Tables ZTestphysical_description_id: Physical_Descriptions Database Tables ZTestPhysical_Descriptions::m_physical_description_id: Data Members Physical_Descriptions ZTestphysical_form: Bibliographic_Types Database Tables ZTestphysical_form_code: Bibliographic_Type_Codes Database Tables ZTestphysical_form_material_name_english: Bibliographic_Type_Codes Database Tables ZTestphysical_form_material_name_german: Bibliographic_Type_Codes Database Tables ZTestpica3_51xx: Subject_Types Database Tables ZTestpica3_800: Subject_Types Database Tables ZTestpica_3_category_code: PICA_Categories Database Tables ZTestpica_3_category_id: Category_Container Data Memberspica_3_field_code: PICA_Fields Database Tables ZTestPICA_Categories::m_description_english: Data Members PICA_Fields ZTestPICA_Categories::m_description_english: Data Members PICA_Categories ZTestPICA_Categories::m_description_german: Data Members PICA_Fields ZTestPICA_Categories::m_description_german: Data Members PICA_Categories ZTestPICA_Categories::m_pica_3_category_code: Data Members PICA_Categories ZTestPICA_Categories::m_pica_3_field_code: Data Members PICA_Fields ZTestPICA_Categories::m_pica_category_id: Data Members PICA_Categories ZTestPICA_Categories::m_pica_field_id: Data Members PICA_Fields ZTestPICA_Categories::m_pica_plus_category_code: Data Members PICA_Categories ZTestPICA_Categories::m_pica_plus_field_code: Data Members PICA_Fields ZTestPICA_Categories_PICA_Fields::m_pica_category_id: Data Members PICA_Categories_PICA_Fields ZTestPICA_Categories_PICA_Fields::m_pica_field_id: Data Members PICA_Categories_PICA_Fields ZTestpica_category_id: Physical_Descriptions Database Tables ZTestpica_category_id: PICA_Categories Database Tables ZTestpica_category_id: PICA_Categories_PICA_Fields Database Tables ZTestpica_field_id: PICA_Categories_PICA_Fields Database Tables ZTestpica_field_id: PICA_Fields Database Tables ZTestpica_field_id: Physical_Descriptions Database Tables ZTestpica_plus_category_code: PICA_Categories Database Tables ZTestpica_plus_category_id: Category_Container Data Memberspica_plus_field_code: PICA_Fields Database Tables ZTestpica_plus_field_id: Subcategory_Container Data MembersPica_Record::categories: Pica_Record Data MembersPK_Access_Numbers: Access_Numbers Database Tables ZTestPK_Authors: Authors Database Tables ZTestPK_Bibliographic_Type_Codes: Bibliographic_Type_Codes Database Tables ZTestPK_Bibliographic_Types: Bibliographic_Types Database Tables ZTestPK_Call_Numbers: Call_Numbers Database Tables ZTestPK_Content_Summaries: Content_Summaries Database Tables ZTestPK_Contributors: Contributors Database Tables ATestPK_Contributors: Contributors Database Tables ZTestPK_Creators: Creators Database Tables ATestPK_Database_Providers: Database_Providers Database Tables ZTestPK_Descriptions: Descriptions Database Tables ATestPK_Exemplar_Production_Number: Exemplar_Production_Numbers Database Tables ZTestPK_Identifiers: Identifiers Database Tables ATestPK_Languages: Languages Database Tables ZTestPK_Languages: Languages Database Tables ATestPK_Main_Titles: Main_Titles Database Tables ZTestPK_Permutation_Patterns: Permutation_Patterns Database Tables ZTestPK_Physical_Descriptions: Physical_Descriptions Database Tables ZTestPK_PICA_Categories: PICA_Categories Database Tables ZTestPK_PICA_Fields: PICA_Fields Database Tables ZTestPK_Publishers: Publishers Database Tables ATestPK_Publishers: Publishers Database Tables ZTestPK_Records: Records Database Tables ZTestPK_Records: Records Database Tables ATestPK_Remote_Access: Remote_Access Database Tables ZTestPK_Rights: Rights Database Tables ATestPK_Sources: Sources Database Tables ZTestPK_Subject_Types: Subject_Types Database Tables ZTestPK_Subjects: Subjects Database Tables ZTestPK_Subjects: Subjects Database Tables ATestPK_Titles: Titles Database Tables ATestPK_Types: Types Database Tables ATestplace: Publishers Database Tables ZTestplace: Database_Providers Database Tables ZTestprefix: Contributors Database Tables ZTestprefix: Authors Database Tables ZTestprevious_repeat_code_ctr: Local Static Variables Category_Containerprimary_info_source: Publishers Database Tables ZTestpublisher_id: Publishers_Temp Database Tables ATestpublisher_id: Publishers Database Tables ZTestpublisher_id: Publishers Database Tables ATestpublisher_id: Records_Publishers Database Tables ZTestpublisher_name: Publishers Database Tables ZTestpublisher_strm: Variables SelectorPUBLISHERS: Constants SelectorPublishers::m_place: Data Members Publishers ZTestPublishers::m_primary_info_source: Data Members Publishers ZTestPublishers::m_publisher_id: Data Members Publishers ZTestPublishers::m_publisher_name: Data Members Publishers ZTestpublishers_temp: Variables SelectorPublishers_Temp::m_dc_publisher: Data Members Publishers_TempPublishers_Temp::m_institution_id: Data Members Publishers_TempPublishers_Temp::m_person_id: Data Members Publishers_TempPublishers_Temp::m_publisher_id: Data Members Publishers_TempQUERY_LISTING: Constants SelectorQUERY_NULL_TYPE: Constants SelectorQUERY_SEARCH: Constants Selectorquery_type: Variables Selectorrecord_id: Exemplar_Production_Numbers Database Tables ZTestrecord_id: Records_Remote_Access Database Tables ZTestrecord_id: Records_Contributors Database Tables ZTestrecord_id: Records_Physical_Descriptions Database Tables ZTestrecord_id: Records_Bibliographic_Types Database Tables ZTestrecord_id: Records_Languages Database Tables ZTestrecord_id: Descriptions_Temp Database Tables ATestrecord_id: Records_Temp Database Tables ATestrecord_id: Records_Call_Numbers Database Tables ZTestrecord_id: Records_Authors Database Tables ZTestrecord_id: Records_Main_Titles Database Tables ZTestrecord_id: Access_Numbers Database Tables ZTestrecord_id: Records Database Tables ATestrecord_id: Records Database Tables ZTestrecord_id: Titles_Temp Database Tables ATestrecord_id: Records_Database_Providers Database Tables ZTestrecord_id: Titles Database Tables ATestrecord_id: Records_Publishers Database Tables ZTestrecord_id: Descriptions Database Tables ATestrecord_id: Content_Summaries Database Tables ZTestrecord_id: Records_Subjects Database Tables ZTestrecord_id: Permutation_Patterns Database Tables ZTestrecords: Variables SelectorRecords::m_dc_date: Data Members RecordsRecords::m_header_datestamp: Data Members RecordsRecords::m_header_identifier: Data Members RecordsRecords::m_header_status: Data Members RecordsRecords::m_record_id: Data Members RecordsRecords::m_record_id: Data Members Records ZTestRecords_Authors::m_author_id: Data Members Records_Authors ZTestRecords_Authors::m_record_id: Data Members Records_Authors ZTestRecords_Bibliographic_Types::m_bibliographic_type_id: Data Members Records_Bibliographic_Types ZTestRecords_Bibliographic_Types::m_record_id: Data Members Records_Bibliographic_Types ZTestRecords_Call_Numbers::m_call_number_id: Data Members Records_Call_Numbers ZTestRecords_Call_Numbers::m_record_id: Data Members Records_Call_Numbers ZTestRecords_Contributors::m_contributor_id: Data Members Records_Contributors ZTestRecords_Contributors::m_record_id: Data Members Records_Contributors ZTestRecords_Database_Providers::m_database_provider_id: Data Members Records_Database_Providers ZTestRecords_Database_Providers::m_record_id: Data Members Records_Database_Providers ZTestRecords_Languages::m_association_type: Data Members Records_Languages ZTestRecords_Languages::m_association_type_name: Data Members Records_Languages ZTestRecords_Languages::m_language_id: Data Members Records_Languages ZTestRecords_Languages::m_record_id: Data Members Records_Languages ZTestRecords_Main_Titles::m_main_title_id: Data Members Records_Main_Titles ZTestRecords_Main_Titles::m_record_id: Data Members Records_Main_Titles ZTestRecords_Physical_Descriptions::m_physical_description_id: Data Members Records_Physical_Descriptions ZTestRecords_Physical_Descriptions::m_record_id: Data Members Records_Physical_Descriptions ZTestRecords_Publishers::m_publisher_id: Data Members Records_Publishers ZTestRecords_Publishers::m_record_id: Data Members Records_Publishers ZTestRecords_Remote_Access::m_record_id: Data Members Records_Remote_Access ZTestRecords_Remote_Access::m_remote_access_id: Data Members Records_Remote_Access ZTestRecords_Subjects::m_record_id: Data Members Records_Subjects ZTestRecords_Subjects::m_subject_id: Data Members Records_Subjects ZTestrecords_temp: Variables SelectorRecords_Temp::m_dc_date: Data Members Records_TempRecords_Temp::m_header_datestamp: Data Members Records_TempRecords_Temp::m_header_identifier: Data Members Records_TempRecords_Temp::m_header_status: Data Members Records_TempRecords_Temp::m_record_id: Data Members Records_TempRemote_Access::m_format_type: Data Members Remote_Access ZTestRemote_Access::m_internal_remarks: Data Members Remote_Access ZTestRemote_Access::m_license_indicator: Data Members Remote_Access ZTestRemote_Access::m_remote_access_id: Data Members Remote_Access ZTestRemote_Access::m_URL: Data Members Remote_Access ZTestRemote_Access::m_URN: Data Members Remote_Access ZTestRemote_Access::m_web_display_text: Data Members Remote_Access ZTestremote_access_id: Records_Remote_Access Database Tables ZTestremote_access_id: Remote_Access Database Tables ZTestrepeat_code: Category_Container Data Membersresults_str: Dialog_2 Data Membersresultsets: Protected Variables ZClientRIGHTS: Constants Selectorrights_id: Rights_Temp Database Tables ATestrights_id: Rights Database Tables ATestrights_strm: Variables Selectorrights_temp: Variables SelectorRights_Temp::m_dc_rights: Data Members Rights_TempRights_Temp::m_rights_id: Data Members Rights_Tempsearch_command: Dialog_Z_1 Data Memberssearch_options: Dialog_2 Data Memberssearch_str: Dialog_2 Data Membersselect_value: Dialog_2 Data MembersSelector::ALL_RECORDS: Constants SelectorSelector::BEG_OR_WHOLE_WORD: Constants SelectorSelector::cdb: Variables SelectorSelector::contributor_strm: Variables SelectorSelector::CONTRIBUTORS: Constants SelectorSelector::contributors: Variables SelectorSelector::contributors_temp: Variables SelectorSelector::creator_strm: Variables SelectorSelector::CREATORS: Constants SelectorSelector::creators: Variables SelectorSelector::creators_temp: Variables SelectorSelector::curr_record: Variables SelectorSelector::dc_date_strm: Variables SelectorSelector::DC_DATES: Constants SelectorSelector::description_strm: Variables SelectorSelector::DESCRIPTIONS: Constants SelectorSelector::descriptions_temp: Variables SelectorSelector::EXACT_MATCH: Constants SelectorSelector::header_datestamp_strm: Variables SelectorSelector::HEADER_DATESTAMPS: Constants SelectorSelector::html_strm: Variables SelectorSelector::identifier_strm: Variables SelectorSelector::IDENTIFIERS: Constants SelectorSelector::identifiers_temp: Variables SelectorSelector::IGNORE_CASE: Constants SelectorSelector::language_strm: Variables SelectorSelector::LANGUAGES: Constants SelectorSelector::languages_temp: Variables Selector