IWF Metadata Harvester Manual: Laurence D. Finston
IWF Metadata Harvester Manual: Laurence D. Finston
Metadata Harvesting.
Manual edition 1.0 for IWF Metadata Harvester Version 1.0
October 2006
Laurence D. Finston
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
c 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”.
i
Short Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 About This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Multi-Threading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Present Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Future Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7 Special Character Encodings. . . . . . . . . . . . . . . . . . . . . . . . 9
8 ATest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
9 Dialog 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
10 Dialog 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
11 Global Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
12 MetadataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
13 Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
14 ODBC Classes for ATest . . . . . . . . . . . . . . . . . . . . . . . . . 24
15 Database Tables for ATest . . . . . . . . . . . . . . . . . . . . . . . . 30
16 Database Stored Procedures . . . . . . . . . . . . . . . . . . . . . . . 36
17 ZTest: Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
18 How ZTest Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
19 Dialog Z 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
20 ZClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
21 Utility Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
22 Pica Formats and Records . . . . . . . . . . . . . . . . . . . . . . . . 50
23 Pica+ Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
24 Pica3 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
25 Pica Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
26 Category Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
27 Subcategory Container . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
28 Database Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
29 Displaying Database Contents (DB Display) . . . . . . . . . . . . 94
30 ODBC Classes for ZTest . . . . . . . . . . . . . . . . . . . . . . . . . . 98
31 Database Tables for ZTest . . . . . . . . . . . . . . . . . . . . . . . . 110
32 Database Stored Procedures . . . . . . . . . . . . . . . . . . . . . . 123
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
ii
Concept Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Variable Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Data Type Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Function Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Database Table Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Database Stored Procedure Index . . . . . . . . . . . . . . . . . . . . . . 150
Filename Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Pica+ Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Pica3 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
A GNU Free Documentation License . . . . . . . . . . . . . . . . . . 156
B GNU General Public License . . . . . . . . . . . . . . . . . . . . . . 163
iii
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Standards and Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Retrieving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 OAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.2 Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Data Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.1 OAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3.2 Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Association Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 “Continuation” Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Multi-Threading . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Present Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Future Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8 ATest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
9 Dialog 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.1 Downloading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.2 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
9.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.3.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.3.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.3.3 Data Exchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.3.4 Downloading Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.3.5 Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
iv
10 Dialog 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.2 Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.3 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.4 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.4.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.4.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.4.3 Exchanging Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.4.4 Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
11 Global Functions . . . . . . . . . . . . . . . . . . . . . . . . 19
12 MetadataSource . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.1 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.2.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.2.3 Parsing Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.2.4 Updating the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
13 Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13.1 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13.1.1 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13.1.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
13.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
13.2.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
13.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
13.2.3 Selecting Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
13.2.4 Listing Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
17 ZTest: Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.1 Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.2 Global Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.3 Adding Category and Field Functions ZTest . . . . . . . . . . . . . . . . . 37
19 Dialog Z 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
19.1 Dialog Box 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
19.2 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
19.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
19.3.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
19.3.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
19.3.3 Event Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
19.3.4 Exchanging Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
vi
20 ZClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.1 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.1.1 Static Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.1.2 Protected Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.2.1 Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.2.3 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
20.2.4 Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
20.2.5 Resultsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
20.2.6 Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
20.2.7 Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
20.2.8 Clearing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
21 Utility Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
21.1 Output Stream Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
21.2 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
21.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
23 Pica+ Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
23.1 001A Identifier and Date of the Original Catalogue Entry . . . . 51
23.1.1 001A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
23.2 009P Remote Access to Electronic Resources . . . . . . . . . . . . . . . . 51
23.3 010@ Code(s) for Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
23.3.1 010@ Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
23.4 011@ Year of Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
23.4.1 011@ Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
23.5 033A Place, Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
23.5.1 033A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
23.6 034D Size or Range; Specification of Material; Technical System
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
23.6.1 034D Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
23.7 041A Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
23.7.1 041A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
23.8 203@ Exemplar Production Number . . . . . . . . . . . . . . . . . . . . . . . . 57
23.8.1 203@ Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
23.9 209A Call Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
23.9.1 209A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
23.10 209C Access Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
23.10.1 209C Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
vii
24 Pica3 Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
24.1 800; 5100–5199 Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
24.1.1 800; 5100–5199 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
24.2 0200 Identifier and Date of the Original Catalogue Entry . . . . . 62
24.2.1 0200 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
24.3 1100 Year of Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
24.3.1 1100 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
24.4 1500 Code(s) for Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
24.4.1 1500 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
24.5 4030 Place, Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
24.5.1 4030 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
24.6 4060 Size or Range; Specification of Material; Technical System
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
24.6.1 4060 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
24.7 5100–5199 Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
24.8 7100–7109 Call Number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
24.8.1 7100–7109 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
24.9 7133 Local information regarding remote access to electronic
resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
24.9.1 7133 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
24.10 7800 Exemplar Production Number . . . . . . . . . . . . . . . . . . . . . . . . 67
24.10.1 7800 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
24.11 8100 Access Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
24.11.1 8100 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
25 Pica Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25.1 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25.2.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25.2.3 Writing to Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
25.2.4 Showing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
26 Category Container. . . . . . . . . . . . . . . . . . . . . . 70
26.1 Local Static Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
26.2 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
26.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
26.3.1 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
26.3.2 Showing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
26.3.3 Category Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
26.3.3.1 Functions for Specific Categories . . . . . . . . . . . . . . . . . . 71
26.3.3.2 Second and Additional Authors . . . . . . . . . . . . . . . . . . . 71
26.3.3.3 Other Contributing Persons . . . . . . . . . . . . . . . . . . . . . . . 71
viii
27 Subcategory Container . . . . . . . . . . . . . . . . . . 77
27.1 Type Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.2 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.3 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.3.1 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.3.2 Showing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.3.3 String Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.3.4 Subcategory Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
27.3.4.1 Identifier and Date of the Original Catalogue Entry
..................................................... 77
27.3.4.2 Other Subcategory Container Functions . . . . . . . . . . . 78
27.3.4.3 Code(s) for Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
27.3.4.4 Year of Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
27.3.4.5 Main Canonical Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
27.3.4.6 First Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
27.3.4.7 Second and Additional Authors . . . . . . . . . . . . . . . . . . . 83
27.3.4.8 Other Contributing Persons . . . . . . . . . . . . . . . . . . . . . . . 83
27.3.4.9 Place of Publication; Publisher . . . . . . . . . . . . . . . . . . . . 84
27.3.4.10 Physical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
27.3.4.11 Subject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
27.3.4.12 Content Summary (Short) . . . . . . . . . . . . . . . . . . . . . . . 87
27.3.4.13 Exemplar Production Number . . . . . . . . . . . . . . . . . . . 87
27.3.4.14 Call Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
27.3.4.15 Access Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
27.3.4.16 Local information regarding remote access to
electronic resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
28 Database Command . . . . . . . . . . . . . . . . . . . . . 93
28.1 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
28.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
28.2.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
28.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
B............................................................. 124
E ............................................................. 124
M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
O............................................................. 124
P ............................................................. 124
R............................................................. 124
Y............................................................. 125
Z ............................................................. 125
Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
E ............................................................. 126
G............................................................. 126
M. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
O............................................................. 126
P ............................................................. 126
R............................................................. 126
Bibliography. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
xi
1 Introduction
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.
1.2.2 Z39.50
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.
Chapter 1: Introduction 2
1.3.2 Z39.50
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.
Chapter 2: About This Manual 3
3 Databases
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
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.
Chapter 4: Multi-Threading 6
4 Multi-Threading
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.
Chapter 5: Present Tasks 7
5 Present Tasks
Chapter 6: Future Tasks 8
6 Future Tasks
Chapter 7: Special Character Encodings. 9
8 ATest
ATest is a package that retrieves records from servers using the OAI (Open Archives Ini-
tiative) 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:
1. Connect with an OAI server and send it a query. If the query is successful, the OAI
server responds by returning an HTTP packet containing a set of metadata records in
an XML structure.
2. Write the information returned by the query to a file. Special characters are converted
to a coding that Microsoft SQL Server 2000 can handle.
3. Process the file of XML code. Extraneous information is discarded, and individ-
ual records are extracted and processed sequentially. Information is extracted and
Transact-SQL commands are executed, in order to write this information to the appro-
priate tables in the dc_test database.
4. Once the data have been written to the database, other functions can be called to
search the database and display its contents using various options.
Chapter 9: Dialog 1 13
9 Dialog 1
9.1 Downloading
Group “Download Records”
Radio Button “Yesterday”
Radio Button “This week”
Radio Button “Last week”
Radio Button “This month”
Radio Button “Last month”
Radio Button “Last six months”
Radio Button “This year”
Radio Button “Last year”
Radio Button “Last two years”
Radio Button “Last five years”
Radio Button “Last 10 years”
Radio Button “Last 20 years”
Radio Button “All records”
Group The following radio buttons are used to determine from which OAI server the
records should be downloaded. At present, ATest can only download records
from these two servers.
Button “Download”
ATest begins downloading records according to the options specified by the
user, or the default settings. No further actions are possible until downloading
is completed, and the data from the records are stored in the database.
Button “Continue”
The current dialog box is closed. Clicking the right mouse button in the empty
view window that remains causes the second dialog box to appear.
Button “Cancel”
ATest exits.
Chapter 9: Dialog 1 14
9.3 Functions
9.3.1 Constructor
void Dialog_1 ([CWnd* pParent = NULL]) [Constructor]
9.3.2 Destructor
void ~Dialog_1 (void) [Destructor]
9.3.3 Data Exchange
void DoDataExchange (CDataExchange* pDX ) [Virtual Protected Function]
9.3.4 Downloading Records
int download_records ( [Function]
const unsigned short metadata_source,
const unsigned short ttimespan,
const CTime* ctime,
char* resumption_token,
char* records_file_name )
9.3.5 Event Handlers
BOOL OnInitDialog (void) [Virtual Function]
afx_msg void OnBnClickedOk (void) [Function]
afx_msg void OnBnClickedCancel (void) [Function]
afx_msg void OnBnClickedDownload (void) [Function]
afx_msg void OnBnClickedAllRecords (void) [Function]
afx_msg void OnBnClickedTimms (void) [Functions]
afx_msg void OnBnClickedDbt (void)
afx_msg void OnBnClickedToday (void) [Functions]
afx_msg void OnBnClickedYesterday (void)
Chapter 9: Dialog 1 15
10 Dialog 2
Class Dialog_2 is declared in ‘dialog2a.web’.
10.1 Searching
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:
Edit Box “Search String”
Caption: “Search for string:”. The user enters the string to be searched for in
the database.
List Box “Tables”
Caption: “in tables:”. The user can choose from a list of database tables, and/or
combinations of database tables, which will be searched for the specified string.
It is possible to choose more than one entry from the list.
Group “Search Options”
This group contains a set of radio buttons and a check box for controlling the
way in which the search is performed.
Radio Button “Beginning of word or whole word”
Radio Button “Whole word only”
Radio Button “Whole or partial word”
Radio Button “Exact match”
Check Box “Ignore case”
10.2 Listing
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:
Static Text “List all records”
List Box “Sorted by”
Check Box “Descending”
Check Box “No duplicates”
Group “Timespan”
Group (Specifier)
No caption.
Radio Button “No limit”
Radio Button “Last Year and This Year”
Radio Button “This Year Only”
Radio Button “Last Six Months”
Radio Button “Last Month and This Month”
Radio Button “This Month Only”
Radio Button “This Week”
Group (Date type)
No caption.
Chapter 10: Dialog 2 17
10.4 Functions
10.4.1 Constructor
void Dialog_2 ([CWnd* pParent = NULL]) [Constructor]
10.4.2 Destructor
void ~Dialog_2 (void) [Destructor]
10.4.3 Exchanging Data
void DoDataExchange (CDataExchange* pDX ) [Protected virtual function]
Chapter 10: Dialog 2 18
11 Global Functions
int get_http_file (LPCTSTR pszURL ) [Function]
Chapter 12: MetadataSource 20
12 MetadataSource
Class MetadataSource is declared in ‘mtdtsrc.web’.
12.2 Functions
unsigned short id [Protected variable]
12.2.1 Constructor
void MetadataSource (void) [Default Constructor]
void MetadataSource (const unsigned short iid) [Constructor]
12.2.2 Destructor
void ~MetadataSource (void) [Destructor]
12.2.3 Parsing Records
int parse_record (ifstream* in_strm, string* out_str, char* [Function]
resumption_token )
12.2.4 Updating the Database
int update_database ( [Function]
BOOL delete_tables,
char* resumption_token,
char* records_file_name )
int sub_update_database_dbt ( [Function]
CDatabase* cdb,
CRecords& curr_record,
char* resumption_token,
char* records_file_name )
int sub_update_database_timms ( [Function]
CDatabase* cdb,
CRecords& curr_record,
char* resumption_token,
char* records_file_name )
Chapter 13: Selector 21
13 Selector
Class Selector is declared in ‘selector.web’.
stringstream temp_strm
unsigned short use_date_type [Variable]
unsigned short query_type [Variable]
ofstream html_strm [Variable]
map<unsigned short, string> sort_field_map [Variable]
map<unsigned short, string> timespan_map [Variable]
13.2 Functions
13.2.1 Constructor
void Selector (void) [Constructor]
13.2.2 Destructor
void ~Selector (void) [Destructor]
13.2.3 Selecting Records
int select_from_database (const unsigned int select_value, [Function]
CString& search_str, const unsigned int search_options )
int fill_table_streams (CDatabase* cdb )
13.2.4 Listing Records
int list_records (unsigned short sort_field, unsigned short [Function]
sort_order, unsigned short timespan, BOOL
suppress_duplicate_records )
int write_html_from_streams (unsigned short query_type, [Function]
[unsigned int select_value = 0, [CString* search_str = 0]])
int list_table (unsigned short table, unsigned short timespan, [Function]
unsigned short sort_order )
Chapter 14: ODBC Classes for ATest 24
14.1 Records
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
Section 15.1 [Records (ATest Database Tables)], page 30.
Data Members
long m_record_id [Variables]
CStringA m_header_identifier
CTime m_header_datestamp
CStringA m_header_status
CTime m_dc_date
These variables reference the corresponding columns in the Records table in the dc_
test database. See Section 15.1 [Records (ATest Database Tables)], page 30.
Data Members
long m_record_id [Variables]
CStringA m_header_identifier
CTime m_header_datestamp
CStringA m_header_status
CTime m_dc_date
These variables reference the corresponding columns in the Records_Temp table in
the dc_test database. See Section 15.2 [Records Temp (ATest Database Tables)],
page 30.
14.3 Creators
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
Section 15.3 [Creators (ATest Database Tables)], page 31.
Data Members
long m_creator_id [Variables]
CStringA m_dc_creator
long m_institution_id
long m_person_id
These variables reference the corresponding columns in the Creators table in the
dc_test database. See Section 15.3 [Creators (ATest Database Tables)], page 31.
Chapter 14: ODBC Classes for ATest 25
Data Members
14.5 Contributors
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 Section 15.5 [Contributors (ATest Database Tables)], page 31.
Data Members
Data Members
14.7 Titles
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
Section 15.7 [Titles (ATest Database Tables)], page 32.
Data Members
long m_title_id [Variables]
long m_record_id
CStringA m_dc_title
These variables reference the corresponding columns in the Titles table in the dc_
test database. See Section 15.7 [Titles (ATest Database Tables)], page 32.
Data Members
long m_title_id [Variables]
long m_record_id
CStringA m_dc_title
These variables reference the corresponding columns in the Titles_Temp table in the
dc_test database. See Section 15.8 [Titles Temp (ATest Database Tables)], page 32.
Data Members
long m_description_id [Variables]
long m_record_id
CStringA m_dc_description
These variables reference the corresponding columns in the Descriptions_Temp table
in the dc_test database. See Section 15.10 [Descriptions Temp (ATest Database
Tables)], page 33.
14.10 Subjects
Class Subjects is declared in ‘subjects.web’. It is derived from the MFC class CRecordset
using public derivation. See Section 15.11 [Subjects (ATest Database Tables)], page 33.
Data Members
long m_subject_id [Variables]
Chapter 14: ODBC Classes for ATest 27
CStringA m_dc_subject
These variables reference the corresponding columns in the Subjects table in the
dc_test database. See Section 15.11 [Subjects (ATest Database Tables)], page 33.
Data Members
long m_subject_id [Variables]
CStringA m_dc_subject
These variables reference the corresponding columns in the Subjects_Temp table in
the dc_test database. See Section 15.12 [Subjects Temp (ATest Database Tables)],
page 33.
Data Members
long m_identifier_id [Variables]
CStringA m_dc_identifier
These variables reference the corresponding columns in the Identifiers_Temp ta-
ble in the dc_test database. See Section 15.14 [Identifiers Temp (ATest Database
Tables)], page 33.
Data Members
long m_language_id [Variables]
CStringA m_dc_language
These variables reference the corresponding columns in the Languages_Temp table in
the dc_test database. See Section 15.16 [Languages Temp (ATest Database Tables)],
page 34.
Data Members
long m_publisher_id [Variables]
CStringA m_dc_publisher
long m_person_id
long m_institution_id
long m_company_id
These variables reference the corresponding columns in the Publishers_Temp table in
the dc_test database. See Section 15.18 [Publishers Temp (ATest Database Tables)],
page 34.
Data Members
long m_rights_id [Variables]
CStringA m_dc_rights
These variables reference the corresponding columns in the Rights_Temp table in
the dc_test database. See Section 15.20 [Rights Temp (ATest Database Tables)],
page 35.
Data Members
long m_type_id [Variables]
CStringA m_dc_type
These variables reference the corresponding columns in the Types_Temp table in the
dc_test database. See Section 15.22 [Types Temp (ATest Database Tables)], page 35.
Data Members
long m_temp_id [Variable]
This variable references the corresponding column in the Temp_IDs table in the dc_
test database. See Section 15.23 [Temp IDs (ATest Database Tables)], page 35.
Chapter 14: ODBC Classes for ATest 29
Data Members
long m_temp_id [Variable]
This variable references the corresponding column in the Temp_IDs_1 table in the dc_
test database. See Section 15.24 [Temp IDs 1 (ATest Database Tables)], page 35.
Chapter 15: Database Tables for ATest 30
The database tables for ATest are defined in the file ‘dc_test/create_tables.sql’.
!! TODO: Write about temporary tables.
15.1 Records
This database table is referenced by the ODBC class Records. See Section 14.1 [Records
(ATest; ODBC Classes)], page 24.
15.3 Creators
This database table is referenced by the ODBC class Creators. See Section 14.3 [Creators
(ATest; ODBC Classes)], page 24.
15.5 Contributors
This database table is referenced by the ODBC class Contributors. See Section 14.5
[Contributors (ATest; ODBC Classes)], page 25.
15.7 Titles
This database table is referenced by the ODBC class Titles. See Section 14.7 [Titles
(ATest; ODBC Classes)], page 25.
15.9 Descriptions
int identity not null description_id [Column]
primary key PK_Descriptions [Constraint]
int not null record_id [Column]
References Records(record_id).
15.11 Subjects
This database table is referenced by the ODBC class Subjects. See Section 14.10 [Subjects
(ATest; ODBC Classes)], page 26.
int identity not null subject_id [Column]
primary key PK_Subjects [Constraint]
varchar(512) unique not null dc_subject [Column]
15.13 Identifiers
int identity not null identifier_id [Column]
primary key PK_Identifiers [Constraint]
varchar(1024) not null dc_identifier [Column]
The default value is ’N/A’.
15.15 Languages
int identity not null language_id [Column]
primary key PK_Languages [Constraint]
varchar(64) not null dc_language [Column]
The default value is ’N/A’.
Chapter 15: Database Tables for ATest 34
15.17 Publishers
int identity not null publisher_id [Column]
primary key PK_Publishers [Constraint]
varchar(64) not null dc_publisher [Column]
The default value is ’N/A’.
int not null person_id [Column]
References Persons(person_id). The default value is 0.
int not null institution_id [Column]
References Institutions(institution_id). The default value is 0.
int not null company_id [Column]
References Companies(company_id). The default value is 0.
15.19 Rights
int identity not null rights_id [Column]
primary key PK_Rights [Constraint]
varchar(1024) not null dc_rights [Column]
The default value is ’N/A’.
Chapter 15: Database Tables for ATest 35
15.21 Types
int identity (0,1) not null type_id [Column]
primary key PK_Types [Constraint]
varchar(64) not null dc_type [Column]
The default value is ’N/A’.
17 ZTest: Z39.50
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.
19 Dialog Z 1
Class Dialog_Z_1 is declared in ‘dialogz1.web’. It is derived from the MFC class CDialog
using public derivation.
19.3 Functions
19.3.1 Constructor
void Dialog_Z_1 ([CWnd* pParent = NULL]) [Constructor]
19.3.2 Destructor
void ~Dialog_Z_1 (void) [Virtual Destructor]
19.3.3 Event Handlers
BOOL OnInitDialog (void) [Public Virtual Function]
BOOL OnBnClickedPerformSearch (void) [Public Virtual Function]
BOOL OnBnClickedParseRecords (void) [Public Virtual Function]
BOOL OnBnClickedDisplayRecords (void) [Public Virtual Function]
BOOL OnBnClickedWriteRecordsFile (void) [Public Virtual Function]
BOOL OnBnClickedClearDatabase (void) [Public Virtual Function]
BOOL OnBnClickedDisplayAll (void) [Public Virtual Function]
void OnOK (void) [Protected Virtual Function]
void OnCancel (void) [Protected Virtual Function]
19.3.4 Exchanging Data
void DoDataExchange (CDataExchange* pDX ) [Protected Virtual Function]
Chapter 20: ZClient 42
20 ZClient
Class ZClient is declared in ‘zclient.web’. Pica_Record is friend of ZClient.
20.2 Functions
20.2.1 Constructors
void ZClient (void) [Default constructor]
void ZClient (unsigned short ssource_id, char* server_name, [Constructor]
[int port_num = 0])
20.2.2 Destructor
void ~ZClient (void) [Destructor]
20.2.3 Initialization
int init_category_map (void) [Function]
Initializes category_map.
Chapter 20: ZClient 43
20.2.4 Connections
ZOOM_connection* get_connection (void) [Function]
ZOOM_connection* get_last_connection [Function]
(vector<ZOOM_connection*>::size_type connection_ctr )
20.2.5 Resultsets
ZOOM_resultset* get_resultset (void) [Function]
ZOOM_resultset* get_last_resultset [Function]
(vector<ZOOM_resultset*>::size_type resultset_ctr )
size_t get_resultset_size [Function]
(vector<ZOOM_resultset*>::size_type resultset_ctr )
size_t get_last_resultset_size (void) [Function]
20.2.6 Searching
int search_pqf (char* curr_query_str, [ZOOM_connection* [Function]
curr_connection = 0])
20.2.7 Parsing
int parse_records (const char* in_filename ) [Public Functions]
int write_field_data (string& category_id, string& repeat_code, char
field_id, string& field_value, Pica_Record* pica_record )
Together with Pica_Record::write_to_database and other functions mentioned be-
low, they implement a lexical scanner a.k.a. a low-level parser. See Section 25.2.3
[Pica Record; Writing to Database], page 69.
parse_records first 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
Chapter 20: ZClient 44
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_records can be in one of four states. It keeps track of this in an unsigned
short variable called ‘state’. The values are constant unsigned shorts called
‘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_Record object, 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 con-
struction 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.
1. Skip Whitespace
There is normally no whitespace at the beginning of an input file, but if there is,
it’s skipped.
2. 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_records now continues to collect characters and
Chapter 20: ZClient 45
21 Utility Types
21.3 Functions
int lock (void) [Function]
int unlock (void) [Function]
Chapter 22: Pica Formats and Records 50
22.1 Parsing
22.3 Displaying
1
I believe this to be true, but there may be categories for which repeat codes don’t make sense, or for
which the cataloguing guidelines (Katalogisierungsrichtlinien) forbid their use.
Chapter 23: Pica+ Codes 51
23 Pica+ Codes
0 (Not present) Kennung und Datum der Identifier and Date of the
Ersterfassung Original Catalogue Entry
Position 01-04: Erfas- Position 01-04: Cataloguing
sungskennung, identifier,
Position 05-13: Datum Position 05-13: Date (:DD-
(:TT-MM-JJ) MM-YY)
The fields are the same, and the data is written to the same tables, i.e., Remote_
Access and Records_Remote_Access. See Section 31.24 [Remote Access], page 117, and
Section 31.25 [Records Remote Access], page 118.
Database Tables:
Publishers, Records_Publishers See Section 31.16 [Publishers], page 115,
and See Section 31.17 [Records Publishers], page 115.
Category_Container Functions:
Category_Container::F_033A, Category_Container::publishers_
database_providers_func. See Section 26.3.3.4 [Place of Publication;
Publisher], page 71.
Subcategory_Container Functions:
Subcategory_Container::f_033A_n, Subcategory_Container::f_033A_p.
See Section 27.3.4.9 [Place of Publication; Publisher], page 84.
S |. . . |¬ Indikator Indicator
The following table shows the values that the “Indikator” (“Indicator”) field can contain.
Some are only used with Pica3 5100–5199.
Pica3 5100–5199
Please note that the field ‘a’ is ambiguous, and can have three different meanings.
Field Set 1:
Field Set 2
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 Section 27.3.4.14 [Call Number], page 88.
Pica3 Codes:
8100
See Section 24.11 [8100 Access Number], page 68.
German: Zugangsnummer
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/8100.pdf
Database Table:
Access_Numbers. See Section 31.29 [Access Numbers], page 119.
Subcategory_Container Function:
Subcategory_Container::f_209C_a. See Section 27.3.4.15 [Access Number],
page 90.
24 Pica3 Codes
S |. . . |¬ Indikator Indicator
Chapter 24: Pica3 Codes 61
The following table shows the values that the “Indikator” (“Indicator”) field can contain.
Some are only used with Pica3 5100–5199.
Pica3 5100–5199
Please note that the field ‘a’ is ambiguous, and can have three different meanings.
Field Set 1:
Field Set 2
0 (Not present) Kennung und Datum der Identifier and Date of the
Ersterfassung Original Catalogue Entry
Position 01-04: Erfas- Position 01-04: Cataloguing
sungskennung, identifier,
Position 05-13: Datum Position 05-13: Date (:DD-
(:TT-MM-JJ) MM-YY)
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/1100.pdf
Database Tables:
Records. See Section 31.5 [Records], page 111.
Subcategory_Container Functions:
f_011_AT_a, f_011_AT_b, f_011_AT_e, f_011_AT_n, and year_appearance_
func. See Section 27.3.4.4 [Year of Appearance], page 80.
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/7100.pdf
Database Table:
Call_Numbers. See Section 31.27 [Call Numbers], page 119.
Category_Container Functions:
Category_Container::F_209A and Category_Container::sub_F_209A. See
Section 26.3.3.6 [Call Number], page 73.
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 Section 27.3.4.14 [Call Number], page 88.
Category_Container Functions:
Category_Container::F_209R and Category_Container::sub_F_209R.
See hundefinedi [Functions for Specific Categories], page hundefinedi.
Subcategory_Container Functions:
Subcategory_Container::f_209R_S. See Section 27.3.4.16 [Local information
regarding remote access to electronic resources], page 90.
Subcategory_Container Functions:
Subcategory_Container::f_203@_S. See Section 27.3.4.13 [Exemplar Produc-
tion Number], page 87.
25 Pica Record
Class Pica_Record is declared in ‘picarcrd.web’. class ZClient is a friend of Pica_
Record.
25.2 Functions
25.2.1 Constructor
void Pica_Record (void) [Default Constructor]
25.2.2 Destructor
void ~Pica_Record (void) [Destructor]
25.2.3 Writing to Database
int write_to_database (ZClient* zclient, CDatabase* database, [Function]
Output_Stream_Type& log_strm )
25.2.4 Showing
int show (stringstream& local_strm, [string s = ""]) [Function]
Chapter 26: Category Container 70
26 Category Container
Class Category_Container is declared in ‘ctgcntnr.web’. The classes Pica_Record,
ZClient, and Subcategory_Container are friends of Category_Container.
26.3 Functions
26.3.1 Assignment
void operator= (const Category_Container& c ) [Assignment Operator]
26.3.2 Showing
int show (stringstream& local_strm, [string prefix = ""]) [Function]
26.3.3 Category Functions
Chapter 26: Category Container 71
See also Section 23.5.1 [033A Fields], page 54, or Section 24.5.1 [4030 Fields], page 64.
26.3.3.5 Subject
int F_041A (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ Code:
041A
See Section 23.7 [041A Pica+ Codes], page 55.
Pica3 Codes:
800; 5100–5199
See Section 24.1 [800; 5100–5199 Pica3 Codes], page 60.
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)
Chapter 26: Category Container 73
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 Section 31.31 [Subjects], page 121.
Records_Subjects. See Section 31.32 [Records Subjects], page 121.
Permutation_Patterns. See Section 31.33 [Permutation Patterns],
page 121.
Subcategory_Container Functions:
f_041A_9
f_041A_a
f_041A_f
f_041A_S.
See Section 27.3.4.11 [Subject], page 86.
See also Section 23.7.1 [041A Fields], page 55, or Section 24.1.1 [800; 5100–5199
Fields], page 60.
int sub_F_041A (CDatabase* database, [Static Function]
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.
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 Section 31.27 [Call Numbers], page 119.
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 Section 27.3.4.14 [Call Number],
page 88.
See also Section 23.9.1 [209A Fields], page 58, or Section 24.8.1 [7100–7109 Fields],
page 66.
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/
01Erschliessung/02Richtlinien/01KatRicht/7133.pdf
Database Table:
Remote_Access. See Section 31.24 [Remote Access], page 117.
Subcategory_Container Functions:
Subcategory_Container::f_209R_S. See Section 27.3.4.16 [Local infor-
mation regarding remote access to electronic resources], page 90.
See also Section 23.11.1 [209R Fields], page 59, or Section 24.9.1 [7133 Fields], page 67.
27 Subcategory Container
Class Subcategory_Container is declared in ‘sbctgcnt.web’. The classes Pica_Record
and ZClient are friends of Subcategory_Container.
Subcategory_Vector_Type [Typedef]
Subcategory_Vector_Type is a synonym for vector<pair<char, Subcategory_
Container*> >.
27.3 Functions
27.3.1 Assignment
void operator= (const Subcategory_Container& s ) [Assignment Operator]
27.3.2 Showing
int show (stringstream& local_strm, [string prefix = ""]) [Function]
27.3.3 String Processing
int fix_string (const string& in_string, string& [Static Function]
out_string )
27.3.4 Subcategory Functions
27.3.4.1 Identifier and Date of the Original Catalogue Entry
Pica+ Code:
001A
See Section 23.1 [001A Pica+ Codes], page 51.
Pica3 Code:
0200
See Section 24.2 [0200 Pica3 Codes], page 62.
Chapter 27: Subcategory Container 78
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/0200.pdf
Database Tables:
Records. See Section 31.5 [ZTest; Database Tables; Records], page 111.
No Category_Container Functions.
See also Section 23.1.1 [001A Fields], page 51, or Section 24.2.1 [0200 Fields], page 62.
Pica+ field:
0
Pica3 field:
No identifier.
Pica3 Code:
1500
See Section 24.4 [1500 Code(s) for Languages], page 63.
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/1500.pdf
Database Tables:
Languages, Records_Languages. See Section 31.20 [Languages], page 116, and
See Section 31.21 [Records Languages], page 116.
See also Section 23.3.1 [010@ Fields], page 52, or Section 24.4.1 [1500 Fields], page 63.
Chapter 27: Subcategory Container 80
See also Section 23.4.1 [011@ Fields], page 53, or Section 24.3.1 [1100 Fields], page 63.
int f_011_AT_a (CDatabase* database, [Static Function]
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
int f_011_AT_b (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ field:
b
Chapter 27: Subcategory Container 81
See also Section 23.5.1 [033A Fields], page 54, or Section 24.5.1 [4030 Fields], page 64.
See also Section 23.6.1 [034D Fields], page 54, or Section 24.6.1 [4060 Fields], page 65.
27.3.4.11 Subject
Pica+ Code:
041A
See Section 23.7 [041A Pica+ Codes], page 55.
Pica3 Codes:
800; 5100–5199
See Section 24.1 [800; 5100–5199 Pica3 Codes], page 60.
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 Section 31.31 [Subjects], page 121.
Records_Subjects. See Section 31.32 [Records Subjects], page 121.
Permutation_Patterns. See Section 31.33 [Permutation Patterns], page 121.
Category_Container Functions:
F_041A and sub_F_041A.
See Section 26.3.3.5 [Subject], page 72.
See also Section 23.7.1 [041A Fields], page 55, or Section 24.1.1 [800; 5100–5199 Fields],
page 60.
S |. . . |¬ Indikator Indicator
See also Section 23.7.1 [041A Fields], page 55.
See also Section 23.8.1 [203@ Fields], page 57, or Section 24.10.1 [7800 Fields], page 68.
See also Section 23.9.1 [209A Fields], page 58, or Section 24.8.1 [7100–7109 Fields], page 66.
Chapter 27: Subcategory Container 89
See also Section 23.10.1 [209C Fields], page 58, or Section 24.11.1 [8100 Fields], page 68.
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/7133.pdf
Database Table:
Remote_Access. See Section 31.24 [Remote Access], page 117.
Category_Container Functions:
Category_Container::F_209R and Category_Container::sub_F_209R.
See hundefinedi [Functions for Specific Categories], page hundefinedi.
See also Section 23.11.1 [209R Fields], page 59, or Section 24.9.1 [7133 Fields], page 67.
28 Database Command
struct Database_Command is declared in ‘dbcmmnd.web’.
28.2 Functions
28.2.1 Constructor
void Database_Command (void) [Default Constructor]
28.2.2 Destructor
void ~Database_Command (void) [Destructor]
Chapter 29: Displaying Database Contents (DB Display) 94
29.2 Functions
29.2.1 Constructor
void DB_Display (void) [Default Constructor]
29.2.2 Destructor
void ~DB_Display (void) [Destructor]
29.2.3 Counting Records
int count_records (unsigned int start, unsigned int end, [Public Function]
[vector<long>* record_id_vector = 0])
29.2.4 Output
int open_html_file (const char* html_filename ) [Public Function]
int display_single_record ( [Public Function]
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 Records table 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 Records
table contained a single ‘author_name’ column, only one author’s name could be
stored in a line of the Records table. If the resource referred to by this record had no
author, the column would have to contain NULL or a default value. On the other hand,
if it had two authors, one would have to be left out. Nor would redefining the Records
table 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.
Chapter 29: Displaying Database Contents (DB Display) 95
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 Section 3.1 [Association Tables], page 4.
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_record must
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_record is designed to be simple and
complete, and reflect the structure of the PICA database. The code in display_
single_record could be used as the basis for fancier and more complicated displays.
display_single_record writes 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_record will 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 Records table. 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 the Records table is created by means of an
association table or a foreign key constraint in the current database table.
The database table Content_Summaries uses a foreign key constraint. For example,
Record 23 may have a content summary, which is stored in the Contents_Summaries
table. The value in the ‘content_summary_id’ column for the entry in the Contents_
Summaries table may have the value 92. The Contents_Summaries table also has a
column ‘record_id’, which references the column ‘record_id’ in the Records table.
Its value will therefore be 23 in this entry. The following Transact-SQL query will
return this row from the Contents_Summaries table:
select * from Content_Summaries where record_id = 23 order by content_summary_id
The Authors database, 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 the Authors table may the values of 104, 105, and 210 in their ‘author_id’
columns. The Records_Authors table has only two columns, ‘record_id’ and
‘author_id’, whereby the former references the ‘record_id’ column in the Records
table, and the latter references the ‘author_id’ column in the Authors table.
The following Transact-SQL query will return the data from all the rows in the
Authors table 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
Chapter 29: Displaying Database Contents (DB Display) 96
the Authors table must be named explicitly, because the Records_Authors and
‘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_id
Whether 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
Open function of an object whose type is an class derived from CRecordset (an ODBC
class) that corresponds to one of the database tables. See Chapter 30 [ODBC Classes
for ZTest], page 98.
ZTest contains an ODBC class corresponding to each of the database tables in the
PICA database. For example, class Records corresponds to the Records table,
class Authors corresponds to the Authors table, etc. display_single_record de-
clares 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_
record now uses the “navigation functions” CRecordset to iterate through the rows.
Each time CRecordset::MoveNext is 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_record then writes this data to the output file,
along with the appropriate “boilerplate” HTML code to format it.
Otherwise, display_records starts displaying records from record number start, and
continues up to and including record number end. It will continue to call display_
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_records with no arguments will display all
of the records in the PICA_DB database.
Data Members
long m_pica_category_id [Variables]
CStringA m_pica_plus_category_code
int m_pica_3_category_code
CStringA m_description_german
CStringA m_description_english
These variables reference the corresponding columns in the PICA_Categories table
in the PICA database. See Section 31.2 [PICA Categories], page 110.
Data Members
long m_pica_field_id [Variables]
CStringA m_pica_plus_field_code
int m pica 3 field code
CStringA m_description_german
CStringA m_description_english
These variables reference the corresponding columns in the PICA_Fields table in the
PICA database. See Section 31.3 [PICA Fields], page 110.
Data Members
long m_pica_category_id [Variables]
long m_pica_field_id
These variables reference the corresponding columns in the PICA_Categories_PICA_
Fields table in the PICA database. See Section 31.4 [PICA Categories PICA Fields],
page 111.
Chapter 30: ODBC Classes for ZTest 99
30.4 Sources
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 Sec-
tion 31.1 [Sources], page 110.
Data Members
long m_source_id [Variables]
CStringA m_source_name
CStringA m_source_abbrev
CStringA m_source_address
These variables reference the corresponding columns in the Sources table in the PICA
database. See Section 31.1 [Sources], page 110.
30.5 Records
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 Section 31.5
[Records], page 111.
Data Members
long m_record_id [Variables]
int m_eln_original_entry
int m_eln_most_recent_change
int m_eln_status_change
CStringA m_identification_number
CTime m_date_original_entry
CTime m_date_most_recent_change
CTime m_date_status_change
long m_source_id
int m_year_appearance_begin
int m_year_appearance_end
int m_year_appearance_rak_wb
int m_year_appearance_original
These variables reference the corresponding columns in the Records table in the PICA
database. See Section 31.5 [Records], page 111.
Data Members
long m_access_number_id [Variables]
CStringA m_access_number
long m_record_id
These variables reference the corresponding columns in the Access_Numbers table in
the PICA database. See Section 31.29 [Access Numbers], page 119.
Data Members
long m_call_number_id [Variables]
CStringA m_call_number
int m_library_number
CStringA m_library_department
CStringA m_special_location
These variables reference the corresponding columns in the Call_Numbers table in
the PICA database. See Section 31.27 [Call Numbers], page 119.
Data Members
long m_record_id [Variables]
long m_call_number_id
These variables reference the corresponding columns in the Records_Call_Numbers
table in the PICA database. See Section 31.28 [Records Call Numbers], page 119.
Data Members
long m_exemplar_production_number_id [Variables]
LONGLONG m_exemplar_production_number_numeric
CStringA m_exemplar_production_number_text
Chapter 30: ODBC Classes for ZTest 101
long m_record_id
These variables reference the corresponding columns in the Exemplar_
Production_Numbers table in the PICA database. See Section 31.26
[Exemplar Production Numbers], page 118.
Data Members
long m_bibliographic_type_code_id [Variables]
CStringA m_physical_form_code
CStringA m_physical_form_material_name_english
CStringA m_physical_form_material_name_german
CStringA m_bibliographic_representation_code
CStringA m_bibliographic_representation_description_english
CStringA m_bibliographic_representation_description_german
CStringA m_description_status_code
CStringA m_description_status_description_english
CStringA m_description_status_description_german
These variables reference the corresponding columns in the Bibliographic_Type_
Codes table in the PICA database. See Section 31.6 [Bibliographic Type Codes],
page 112.
Data Members
long m_bibliographic_type_id [Variables]
CStringA m_physical_form;
CStringA m_bibliographic_representation;
CStringA m_description_status;
CStringA m_miscellaneous;
CStringA m_bibliographic_representation_refinement;
CStringA m_transliteration_code;
These variables reference the corresponding columns in the Bibliographic_Types
table in the PICA database. See Section 31.7 [Bibliographic Types], page 112.
Types table in the PICA database. See Section 31.8 [Records Bibliographic Types],
page 112.
Data Members
long m_record_id [Variables]
long m_bibliographic_type_id
These variables reference the corresponding columns in the Records_Bibliographic_
Types table in the PICA database. See Section 31.8 [Records Bibliographic Types],
page 112.
Data Members
long m_physical_description_id [Variables]
CStringA m_text
long m_pica_category_id
long m_pica_field_id
These variables reference the corresponding columns in the Physical_Descriptions
table in the PICA database. See Section 31.22 [Physical Descriptions], page 116.
Data Members
long m_record_id [Variables]
long m_physical_description_id
These variables reference the corresponding columns in the Records_
Physical_Descriptions table in the PICA database. See Section 31.23
[Records Physical Descriptions], page 117.
30.15 Authors
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 Sec-
tion 31.12 [Authors], page 114.
Data Members
long m_author_id [Variables]
Chapter 30: ODBC Classes for ZTest 103
CStringA m_given_name
CStringA m_surname
CStringA m_prefix
These variables reference the corresponding columns in the Authors table in the PICA
database. See Section 31.12 [Authors], page 114.
Data Members
30.17 Contributors
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 Section 31.14 [Contributors], page 114.
Data Members
Data Members
Data Members
long m_main_title_id [Variables]
CStringA m_standard_text
CStringA m_main_canonical_title
long m_continuation_main_canonical_title
CStringA m_additions_main
long m_continuation_additions_main
CStringA m_additional_creator_main
CStringA m_parallel_canonical_title
CStringA m_additions_parallel
CStringA m_additional_creator_parallel
CStringA m_authorship
These variables reference the corresponding columns in the Main_Titles table in the
PICA database. See Section 31.9 [Main Titles], page 113.
Data Members
long m_record_id [Variables]
long m_main_title_id
These variables reference the corresponding columns in the Records_Main_Titles
table in the PICA database. See Section 31.10 [Records Main Titles], page 113.
Data Members
long m_content_summary_id [Variables]
long m_record_id
long m_continuation
CStringA m_content_summary
These variables reference the corresponding columns in the Content_Summaries table
in the PICA database. See Section 31.11 [Content Summaries], page 114.
Chapter 30: ODBC Classes for ZTest 105
30.22 Languages
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 Section 31.20 [Languages], page 116.
Data Members
Data Members
Data Members
30.25 Subjects
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 Sec-
tion 31.31 [Subjects], page 121.
Data Members
Data Members
Data Members
Data Members
Data Members
30.30 Publishers
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 Section 31.16 [Publishers], page 115.
Data Members
Data Members
Data Members
Data Members
Data Members
long m_temp_id [Variable]
This variable references the corresponding column in the Temp_IDs table in the PICA
database. See Section 31.34 [Temp IDs], page 122.
Chapter 31: Database Tables for ZTest 110
31.1 Sources
int identity (0, 1) not null source_id [Column]
primary key PK_Sources [Constraint]
varchar(128) not null source_name [Column]
The default value is ’N/A’.
31.5 Records
int identity(0, 1) not null record_id [Column]
primary key PK_Records [Constraint]
varchar(512) not null identification_number [Column]
Can contain non-numerals! The default value is ’N/A’.
31.12 Authors
int identity not null author_id [Column]
primary key PK_Authors [Constraint]
varchar(128) not null given_name [Column]
The default value is ’N/A’.
31.14 Contributors
int identity not null contributor_id [Column]
primary key PK_Contributors [Constraint]
varchar(128) not null given_name [Column]
The default value is ’N/A’.
varchar(128) not null surname [Column]
The default value is ’N/A’.
Chapter 31: Database Tables for ZTest 115
31.16 Publishers
int identity not null publisher_id [Column]
primary key PK_Publishers [Constraint]
varchar(256) not null publisher_name [Columns]
The default value is ’N/A’.
31.20 Languages
int identity not null language_id [Column]
primary key PK_Languages [Constraint]
varchar(64) not null language_name_english [Columns]
varchar(64) not null language_name_german
The default value is ’N/A’.
PICA3 PICA+
4060 034D
4061 034M
4062 034I
4063 034K
Chapter 31: Database Tables for ZTest 117
The following table shows these values. Some are only used with Pica3 5100–5199.
31.31 Subjects
This table stores information from entries of the categories Pica+ 041A/Pica3 800; 5100–
5199. See Section 23.7 [041A Subject], page 55, and Section 24.1 [800; 5100–5199 Subject],
page 60.
Glossary
B
Bib-1. “The Bib-1 attribute set is part of the Z39.50 client server protocol.”
(http://en.wikipedia.org/wiki/Bib-1).
E
ELN: See “External Library Number”.
External Library Number: Abbreviation: ELN. See [Abbreviations E], page 126.
M
MFC: See “Microsoft Foundation Classes”.
Microsoft Foundation Classes: Abbreviation: MFC. See [Abbreviations M], page 126.
O
ODBC: See “Open Database Connectivity”.
P
PPN: See “Pica Production Number”.
Pica Production Number: Abbreviation: PPN. See [Abbreviations P], page 126.
Prefix Query Format.
Pica: See “Project for Integrated Catalogue Automation”.
Project for Integrated Catalogue Automation: Abbreviation: Pica.
R
RPN: See “Reverse Polish Notation”.
RSWK: See “Rules for the Subject Catalogue” (“Regeln fuer den Schlagwortkatalog”).
Chapter 32: Glossary 125
Regeln fuer den Schlagwortkatalog (RSWK): Rules for the Subject Catalogue. See Sec-
tion 23.7 [041A Subject], page 55, and Section 24.1 [800; 5100–5199 Subject], page 60.
Rules for the Subject Catalogue: Regeln fuer den Schlagwortkatalog (RSWK) See Sec-
tion 23.7 [041A Subject], page 55, and Section 24.1 [800; 5100–5199 Subject], page 60.
Y
YAZ.
Z
Z39.50.
Chapter 32: Abbreviations 126
Abbreviations
E
ELN: External Library Number
See [Glossary E], page 124.
engl: English
G
germ: German
M
MFC: Microsoft Foundation Classes
See [Glossary M], page 124.
O
ODBC: Open Database Connectivity
See [Glossary O], page 124.
P
Pica: Project for Integrated Catalogue Automation See [Glossary P], page 124.
PPN: Pica Production Number
See [Glossary P], page 124.
PQF: Prefix Query Format
See [Glossary P], page 124.
R
RPN: Reverse Polish Notation
See [Glossary R], page 124.
RSWK: Regeln fuer den Schlagwortkatalog (Rules for the Subject Catalogue)
See Section 23.7 [041A Subject], page 55, Section 24.1 [800; 5100–5199 Subject], page 60,
and [Glossary R], page 124.
Chapter 32: Bibliography 127
Bibliography
Michael, James J. and Mark Hinnebusch. From A to Z39.50. A Networking Primer. Meck-
lermedia Corporation. Westport, London 1995. ISBN 0-88736-766-6.
Chapter 32: Concept Index 128
Concept Index
! E
!! TODO . . . . 1, 2, 4, 30, 37, 39, 43, 44, 45, 46, 50, ELN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124, 126
51, 72, 99, 116, 155 else (conditional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
else if (conditional) . . . . . . . . . . . . . . . . . . . . . . . . . . 44
end-of-file character . . . . . . . . . . . . . . . . . . . . . . . . . 126
$ end-of-file character (EOF) . . . . . . . . . . . . . . . . . . . 46
$ (field id prefix character) . . . . . . . . . . . . . . . . . . . 43 EOF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
EOF (end-of-file character) . . . . . . . . . . . . . . . . . . . 46
event handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A expressions, regular . . . . . . . . . . . . . . . . . . . . . . . . . . 43
architecture, client–server . . . . . . . . . . . . . . . . . . . . . 1 External Library Number . . . . . . . . . . . . . . . 124, 126
argument (of field id) . . . . . . . . . . . . . . . . . . . . . . . . 43
ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
ASCII characters, seven-bit . . . . . . . . . . . . . . . . . . . 43 F
association table . . . . . 94, 95, 96, 98, 102, 103, 104,
FDL, GNU Free Documentation License . . . . . . 156
106, 107, 111, 112, 113, 114, 115, 116, 117,
field id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 44
118, 119, 121
field value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 45
association tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ATest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 field, PICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Flex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
foreign key constraint . . . . . . . . . . . . . . . . . 94, 95, 96
B format, Pica+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Bib-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 format, Pica3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
boilerplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 format, XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
bugs, database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
bugs, ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 G
GBV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Gemeinsamer Bibliotheksverbund . . . . . . . . . . . . . 50
C Gemeinsamer Bibliotheksverbund = Common
C++. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Library Network . . . . . . . . . . . . . . . . . . . . . . . . . 50
cataloguing guidelines . . . 50, 51, 52, 53, 54, 55, 57, GPL, GNU General Public License . . . . . . . . . . . 163
58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73,
74, 77, 79, 80, 84, 85, 86, 87, 88, 90
category code approach to scanning . . . . . . . . . . . 43
category codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
H
category id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 44 HTML (Hypertext Markup Language). . . . . . . . . . 1
category, PICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 HTTP (Hypertext Transfer Protocol) . . . . . . . 1, 12
client (see also server) . . . . . . . . . . . . . . . . . . . . . . . . . 1 Hypertext Markup Language (HTML). . . . . . . . . . 1
client application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Hypertext Transfer Protocol (HTTP) . . . . . . . 1, 12
client–server architecture . . . . . . . . . . . . . . . . . . . . . . 1
Common Library Network . . . . . . . . . . . . . . . . . . . . 50
Common Library Network = Gemeinsamer I
Bibliotheksverbund . . . . . . . . . . . . . . . . . . . . . . 50
if (conditional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
conditional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
conditional construction . . . . . . . . . . . . . . . . . . . . . . 44
constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
D
databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
K
dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Katalogisierungsrichtlinien . . . . . . . . . . . . . . . . . . . . 50
Dublin Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Knuth, Donald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Chapter 32: Concept Index 129
L PICA formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
lex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Pica Production Number . . . . . . . . . . . . . . . . . . . . 124
Pica Production Number (PPN) . . . . . . . . . . . . . 126
Pica record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
M PICA records, parsing . . . . . . . . . . . . . . . . . . . . . . . . . 2
MARC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2, 37 Pica+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 50
Pica+ category. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
metadata harvesting . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Pica+ format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2, 38
METAFONT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Pica: Project for Integrated Catalogue Automation
MFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124, 126
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Microsoft Foundation Classes . . . . . . . . . . . 124, 126
Pica3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 50
Microsoft SQL Server 2000 . . . . . . . . . . . . . . . . . . . . 2
Pica3 category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Microsoft SQL Server 2000, system stored
Pica3 format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
PPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Microsoft Visual C++ . . . . . . . . . . . . . . . . . . . . . . . . . . 1
PPN: Pica Production Number . . . . . . . . . . . . . . 126
multi-threading . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 49
PQF: Prefix Query Format. . . . . . . . . . . . . . 124, 126
mutexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 49
Prefix Query Format (PQF). . . . . . . . . . . . . 124, 126
mutexes, locking . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 49
Project for Integrated Catalogue Automation
mutexes, unlocking . . . . . . . . . . . . . . . . . . . . . . . . 6, 49
(Pica) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124, 126
protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Protocol for Metadata Harvesting (OAI–PMH)
N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 protocol, networking . . . . . . . . . . . . . . . . . . . . . . . . . . 1
networking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Q
O query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
OAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 query, Transact-SQL. . . . . . . . . . . . . . . . . . . . . . 95, 96
OAI (Open Archives Initiative) . . . . . . . . . . . . . . . 12
OAI interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
OAI server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 2 R
OAI–PMH (Open Archives Initiative–Protocol for Regeln fuer den Schlagwortkatalog: RSWK . . 124,
Metadata Harvesting) . . . . . . . . . . . . . . . . . . . . 12 125, 126
OAI-PMH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 regular expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
ODBC class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 repeat code . . . . . . . . . . . . . . . . . . . . . . . 43, 44, 45, 50
ODBC: Open Database Connectivity . . . . 124, 126 Reverse Polish Notation (RPN) . . . . . . . . . . . . . . 126
Open Archives Initiative. . . . . . . . . . . . . . . . . . . . . . . 1 Reverse Polish Notation: RPN . . . . . . . . . . 124, 125
Open Archives Initiative (OAI) . . . . . . . . . . . . . . . 12 Richtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Open Archives Initiative–Protocol for Metadata RPN: Reverse Polish Notation . . . . . . 124, 125, 126
Harvesting (OAI–PMH) . . . . . . . . . . . . . . . . . . 12 RSWK: Regeln fuer den Schlagwortkatalog . . . . 55,
Open Database Connectivity (ODBC) . . . 124, 126 60, 72, 86, 124, 125, 126
RSWK: Rules for the Subject Catalogue . . . 55, 60,
72, 86, 124, 125, 126
P Rules for the Subject Catalogue: RSWK . . . . . 124,
parser. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 125, 126
parser, low-level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
parsing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 S
parsing PICA records . . . . . . . . . . . . . . . . . . . . . . . . . 2 scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
parsing, low-level . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 scanner, lexical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
parsing, state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Pica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 scanning, category code approach to. . . . . . . . . . . 43
PICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 scanning, lexical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Pica (Project for Integrated Catalogue server (see also client) . . . . . . . . . . . . . . . . . . . . . . . . . 1
Automation) . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 server, OAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 2
Pica category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 server, Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 2
PICA category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 seven-bit ASCII characters . . . . . . . . . . . . . . . . . . . 43
PICA field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 32: Concept Index 130
standard, networking . . . . . . . . . . . . . . . . . . . . . . . . . . 1 V
standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Visual C++, Microsoft . . . . . . . . . . . . . . . . . . . . . . . . . 1
state, parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
stored procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
stream I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
W
synchronization, threads . . . . . . . . . . . . . . . . . . . 6, 49 World Wide Web (WWW) . . . . . . . . . . . . . . . . . . . . 1
system stored procedure, Microsoft SQL Server WWW (World Wide Web) . . . . . . . . . . . . . . . . . . . . 1
2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
X
T
XML format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
thread synchronization . . . . . . . . . . . . . . . . . . . . . 6, 49 Y
threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 49
Transact-SQL . . . . . . . . . . . . . . . . . . . . . . . . 38, 95, 96 YAZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 125
Transact-SQL query . . . . . . . . . . . . . . . . . . . . . . 95, 96
type definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
typedef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Z
Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 37, 124, 125
Z39.50 interface . . . . . . . . . . . . . . . . . . . . . . . . . . 37, 38
U Z39.50 server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
USMARC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2, 37 ZOOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 32: Variable Index 131
Variable Index
A Bibliographic_Types::m_bibliographic_
access_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 representation_refinement . . . . . . . . . . . . 101
access_number_id . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Bibliographic_Types::m_bibliographic_type_
Access_Numbers::m_access_number . . . . . . . . . . 100 id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Access_Numbers::m_access_number_id . . . . . . 100 Bibliographic_Types::m_description_status
Access_Numbers::m_record_id . . . . . . . . . . . . . . 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
additional_creator_main . . . . . . . . . . . . . . . . . . 113 Bibliographic_Types::m_miscellaneous . . . . 101
Bibliographic_Types::m_physical_form . . . . 101
additional_creator_parallel . . . . . . . . . . . . . . 113
Bibliographic_Types::m_transliteration_code
additions_main . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
additions_parallel . . . . . . . . . . . . . . . . . . . . . . . . 113
ALL_RECORDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
association_type . . . . . . . . . . . . . . . . . . . . . . . . . . 116 C
association_type_name . . . . . . . . . . . . . . . . . . . . 116
call_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
author_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
call_number_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Authors::m_given_name . . . . . . . . . . . . . . . . . . . . 102
Call_Numbers::m_call_number . . . . . . . . . . . . . . 100
Authors::m_prefix . . . . . . . . . . . . . . . . . . . . . . . . . 102
Call_Numbers::m_call_number_id . . . . . . . . . . . 100
Authors::m_surname . . . . . . . . . . . . . . . . . . . . . . . . 102
Call_Numbers::m_library_department . . . . . . 100
authorship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Call_Numbers::m_library_number . . . . . . . . . . . 100
Call_Numbers::m_special_location . . . . . . . . . 100
categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B Category_Container::content_description_
BEG_OR_WHOLE_WORD . . . . . . . . . . . . . . . . . . . . . . . . . . 22 english . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
bibliographic_representation . . . . . . . . . . . . . 112 Category_Container::content_description_
bibliographic_representation_code . . . . . . . 112 german . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
bibliographic_representation_description_ Category_Container::database_command_
english . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
bibliographic_representation_description_ Category_Container::database_commands . . . . 70
german . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Category_Container::pica_3_category_id . . . 70
bibliographic_representation_refinement Category_Container::pica_plus_category_id
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
bibliographic_type_code_id . . . . . . . . . . . . . . . 112 Category_Container::repeat_code . . . . . . . . . . . 70
Bibliographic_Type_Codes::m_bibliographic_ Category_Container::subcategory_map . . . . . . 70
representation_code . . . . . . . . . . . . . . . . . . 101 Category_Container::subcategory_vector . . . 70
Bibliographic_Type_Codes::m_bibliographic_ category_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
representation_description_english . . 101 cdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Bibliographic_Type_Codes::m_bibliographic_ chain_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
representation_description_german . . . 101 chain_link_number . . . . . . . . . . . . . . . . . . . . . . . . . 121
Bibliographic_Type_Codes::m_bibliographic_ chain_number . . . . . . . . . . . . . . . . . . . . . . . . . . 121, 122
type_code_id . . . . . . . . . . . . . . . . . . . . . . . . . . 101 company_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Bibliographic_Type_Codes::m_description_ connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
status_code . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 content_description_english . . . . . . . . . . . . 70, 77
Bibliographic_Type_Codes::m_description_ content_description_german . . . . . . . . . . . . . 70, 77
status_description_english . . . . . . . . . . . 101 Content_Summaries::m_content_summary . . . . 104
Bibliographic_Type_Codes::m_description_ Content_Summaries::m_content_summary_id
status_description_german . . . . . . . . . . . . 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Bibliographic_Type_Codes::m_physical_form_ Content_Summaries::m_continuation . . . . . . . 104
code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Content_Summaries::m_record_id . . . . . . . . . . . 104
Bibliographic_Type_Codes::m_physical_form_ content_summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
material_name_english . . . . . . . . . . . . . . . . 101 content_summary_id . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliographic_Type_Codes::m_physical_form_ continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
material_name_german . . . . . . . . . . . . . . . . . 101 continuation_additions_main . . . . . . . . . . . . . . 113
bibliographic_type_id . . . . . . . . . . . . . . . . . . . . 112 continuation_main_canonical_title . . . . . . . 113
Bibliographic_Types::m_bibliographic_ contributor_id . . . . . . . . . . . . . . . . . 31, 32, 114, 115
representation . . . . . . . . . . . . . . . . . . . . . . . . 101 contributor_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Chapter 32: Variable Index 132
contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 dc_publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
CONTRIBUTORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 dc_rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 35
Contributors::m_contributor_id . . . . . . . 25, 103 dc_subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Contributors::m_dc_contributor . . . . . . . . . . . . 25 dc_title. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Contributors::m_given_name . . . . . . . . . . . . . . . 103 dc_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Contributors::m_id_number_ppn . . . . . . . . . . . . 103 description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Contributors::m_institution_id . . . . . . . . . . . . 25 description_english . . . . . . . . . . . . . . . . . . . . . . . 110
Contributors::m_person_id . . . . . . . . . . . . . . . . . 25 description_german . . . . . . . . . . . . . . . . . . . . . . . . 110
Contributors::m_prefix . . . . . . . . . . . . . . . . . . . 103 description_id . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 33
Contributors::m_surname . . . . . . . . . . . . . . . . . . 103 description_status . . . . . . . . . . . . . . . . . . . . . . . . 112
contributors_temp . . . . . . . . . . . . . . . . . . . . . . . . . . 22 description_status_code . . . . . . . . . . . . . . . . . . 112
Contributors_Temp::m_contributor_id . . . . . . 25 description_status_description_english . . 112
Contributors_Temp::m_dc_contributor . . . . . . 25 description_status_description_german . . . 112
Contributors_Temp::m_institution_id . . . . . . 25 description_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Contributors_Temp::m_person_id . . . . . . . . . . . . 25 DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
creator_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 descriptions_temp . . . . . . . . . . . . . . . . . . . . . . . . . . 22
creator_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Descriptions_Temp::m_dc_description . . . . . . 26
creators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Descriptions_Temp::m_description_id . . . . . . 26
CREATORS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Descriptions_Temp::m_record_id . . . . . . . . . . . . 26
Creators::m_creator_id . . . . . . . . . . . . . . . . . . . . 24 Dialog_1::day_of_month . . . . . . . . . . . . . . . . . . . . 14
Creators::m_dc_creator . . . . . . . . . . . . . . . . . . . . 24 Dialog_1::day_of_week . . . . . . . . . . . . . . . . . . . . . 14
Creators::m_institution_id . . . . . . . . . . . . . . . . 24 Dialog_1::edit_1_str. . . . . . . . . . . . . . . . . . . . . . . 14
Creators::m_person_id . . . . . . . . . . . . . . . . . . . . . 24 Dialog_1::metadata_source . . . . . . . . . . . . . . . . . 14
creators_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Dialog_1::month_of_year . . . . . . . . . . . . . . . . . . . 14
Creators_Temp::m_creator_id . . . . . . . . . . . . . . . 25 Dialog_1::t0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Creators_Temp::m_dc_creator . . . . . . . . . . . . . . . 25 Dialog_1::timespan . . . . . . . . . . . . . . . . . . . . . . . . . 14
Creators_Temp::m_institution_id . . . . . . . . . . . 25 Dialog_2::ignore_case . . . . . . . . . . . . . . . . . . . . . 17
Creators_Temp::m_person_id . . . . . . . . . . . . . . . . 25 Dialog_2::results_str . . . . . . . . . . . . . . . . . . . . . 17
curr_record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Dialog_2::search_options . . . . . . . . . . . . . . . . . . 17
Dialog_2::search_str. . . . . . . . . . . . . . . . . . . . . . . 17
D Dialog_2::select_value . . . . . . . . . . . . . . . . . . . . 17
Dialog_2::sort_field. . . . . . . . . . . . . . . . . . . . . . . 17
database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Dialog_2::sort_order. . . . . . . . . . . . . . . . . . . . . . . 17
Database_Command::function . . . . . . . . . . . . . . . . 93 Dialog_2::suppress_duplicate_records . . . . . 17
database_command_arguments . . . . . . . . . . . . . . . . 70 Dialog_2::timespan . . . . . . . . . . . . . . . . . . . . . . . . . 17
database_commands . . . . . . . . . . . . . . . . . . . . . . 70, 77 Dialog_2::use_date_type . . . . . . . . . . . . . . . . . . . 17
database_provider_id . . . . . . . . . . . . . . . . . 115, 116 Dialog_Z_1::display_records . . . . . . . . . . . . . . . 40
database_provider_name . . . . . . . . . . . . . . . . . . . 115
Dialog_Z_1::parse_records . . . . . . . . . . . . . . . . . 40
Database_Providers::m_database_provider_id
Dialog_Z_1::perform_search . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Dialog_Z_1::search_command . . . . . . . . . . . . . . . . 40
Database_Providers::m_database_provider_
Dialog_Z_1::write_records_file . . . . . . . . . . . . 40
name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
display_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Database_Providers::m_place . . . . . . . . . . . . . . 108
date_most_recent_change . . . . . . . . . . . . . . . . . . 111
date_original_entry . . . . . . . . . . . . . . . . . . . . . . . 111
date_status_change . . . . . . . . . . . . . . . . . . . . . . . . 111
E
day_of_month . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 edit_1_str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
day_of_week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 eln_most_recent_change . . . . . . . . . . . . . . . . . . . 111
DB_Display::html_strm . . . . . . . . . . . . . . . . . . . . . 94 eln_original_entry . . . . . . . . . . . . . . . . . . . . . . . . 111
DBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 eln_status_change . . . . . . . . . . . . . . . . . . . . . . . . . 111
dc_contributor . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32 EXACT_MATCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
dc_creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 exemplar_production_number_id . . . . . . . . . . . . 118
dc_date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 exemplar_production_number_numeric . . . . . . 118
dc_date_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 exemplar_production_number_text . . . . . . . . . . 118
DC_DATES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Exemplar_Production_Numbers::m_exemplar_
dc_description . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 33 production_number_id . . . . . . . . . . . . . . . . . 100
dc_identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Exemplar_Production_Numbers::m_exemplar_
dc_language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 34 production_number_numeric . . . . . . . . . . . . 100
Chapter 32: Variable Index 133
Exemplar_Production_Numbers::m_exemplar_ LAST_10_YEARS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
production_number_text . . . . . . . . . . . . . . . 100 LAST_2_YEARS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Exemplar_Production_Numbers::m_record_id LAST_20_YEARS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 LAST_5_YEARS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
LAST_6_MONTHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
LAST_MONTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
F LAST_WEEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
field_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 LAST_YEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
format_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 library_department . . . . . . . . . . . . . . . . . . . . . . . . 119
function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 library_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
license_indicator . . . . . . . . . . . . . . . . . . . . . . . . . 117
log_strm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
G
GBV_GVK_ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
given_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 M
m_access_number . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
m_access_number_id . . . . . . . . . . . . . . . . . . . . . . . . 100
H m_additional_creator_main . . . . . . . . . . . . . . . . 104
header_datestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 m_additional_creator_parallel . . . . . . . . . . . . 104
header_datestamp_strm . . . . . . . . . . . . . . . . . . . . . 22 m_additions_main . . . . . . . . . . . . . . . . . . . . . . . . . . 104
HEADER_DATESTAMPS . . . . . . . . . . . . . . . . . . . . . . . . . . 21 m_additions_parallel. . . . . . . . . . . . . . . . . . . . . . 104
header_identifier . . . . . . . . . . . . . . . . . . . . . . . . . . 30 m_association_type . . . . . . . . . . . . . . . . . . . . . . . . 105
header_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 m_association_type_name . . . . . . . . . . . . . . . . . . 105
html_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 94 m_author_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 102, 103
m_authorship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_bibliographic_representation; . . . . . . . . . . 101
I m_bibliographic_representation_code . . . . . 101
id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 m_bibliographic_representation_description_
id_number_ppn . . . . . . . . . . . . . . . . . . . . 114, 115, 121 english . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
identification_number . . . . . . . . . . . . . . . . . . . . 111 m_bibliographic_representation_description_
identifier_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 german . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
identifier_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 m_bibliographic_representation_refinement;
IDENTIFIERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
identifiers_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 m_bibliographic_type_code_id . . . . . . . . . . . . . 101
Identifiers_Temp::m_dc_identifier . . . . . . . . . 27 m_bibliographic_type_id . . . . . . . . . . . . . . 101, 102
Identifiers_Temp::m_identifier_id . . . . . . . . . 27 m_call_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
ignore_case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 m_call_number_id . . . . . . . . . . . . . . . . . . . . . . . . . . 100
IGNORE_CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 m_chain_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 m_chain_link_number . . . . . . . . . . . . . . . . . . . . . . . 106
institution_id . . . . . . . . . . . . . . . . . . . . . . 31, 32, 34 m_chain_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
int . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 m_company_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
internal_remarks . . . . . . . . . . . . . . . . . . . . . . . . . . 118 m_content_summary . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_content_summary_id. . . . . . . . . . . . . . . . . . . . . . 104
m_continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
L m_continuation_additions_main . . . . . . . . . . . . 104
language_abbrev . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 m_continuation_main_canonical_title . . . . . 104
language_id . . . . . . . . . . . . . . . . . . . . . . . . 33, 34, 116 m_contributor_id . . . . . . . . . . . . . . . . . . . . . . 25, 103
language_name_english . . . . . . . . . . . . . . . . . . . . 116 m_creator_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24, 25
language_name_german. . . . . . . . . . . . . . . . . . . . . . 116 m_database_provider_id . . . . . . . . . . . . . . . . . . . 108
language_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 m_database_provider_name . . . . . . . . . . . . . . . . . 108
LANGUAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 m_date_most_recent_change . . . . . . . . . . . . . . . . . 99
Languages::m_language_abbrev . . . . . . . . . . . . . 105 m_date_original_entry . . . . . . . . . . . . . . . . . . . . . 99
Languages::m_language_id . . . . . . . . . . . . . . . . . 105 m_date_status_change. . . . . . . . . . . . . . . . . . . . . . . 99
Languages::m_language_name_english . . . . . . 105 m_dc_contributor . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Languages::m_language_name_german . . . . . . . 105 m_dc_creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24, 25
languages_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 m_dc_date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Languages_Temp::m_dc_language . . . . . . . . . . . . . 27 m_dc_description . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Languages_Temp::m_language_id . . . . . . . . . . . . . 27 m_dc_identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Chapter 32: Variable Index 134
Q Remote_Access::m_URL. . . . . . . . . . . . . . . . . . . . . . 107
QUERY_LISTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Remote_Access::m_URN. . . . . . . . . . . . . . . . . . . . . . 107
QUERY_NULL_TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Remote_Access::m_web_display_text . . . . . . . 107
QUERY_SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 remote_access_id . . . . . . . . . . . . . . . . . . . . . 117, 118
query_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 repeat_code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
results_str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
resultsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
R RIGHTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
rights_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 35
record_id . . . . . 30, 32, 33, 111, 112, 113, 114, 115,
rights_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
116, 117, 118, 119, 120, 121, 122
rights_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Rights_Temp::m_dc_rights . . . . . . . . . . . . . . . . . . 28
Records::m_dc_date . . . . . . . . . . . . . . . . . . . . . . . . . 24
Rights_Temp::m_rights_id . . . . . . . . . . . . . . . . . . 28
Records::m_header_datestamp . . . . . . . . . . . . . . . 24
Records::m_header_identifier . . . . . . . . . . . . . . 24
Records::m_header_status . . . . . . . . . . . . . . . . . . 24 S
Records::m_record_id . . . . . . . . . . . . . . . . . . . 24, 99
Records_Authors::m_author_id . . . . . . . . . . . . . 103 search_command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Records_Authors::m_record_id . . . . . . . . . . . . . 103 search_options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Records_Bibliographic_Types::m_ search_str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
bibliographic_type_id . . . . . . . . . . . . . . . . 102 select_value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Records_Bibliographic_Types::m_record_id Selector::ALL_RECORDS . . . . . . . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Selector::BEG_OR_WHOLE_WORD . . . . . . . . . . . . . . . 22
Records_Call_Numbers::m_call_number_id . . 100 Selector::cdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Records_Call_Numbers::m_record_id . . . . . . . 100 Selector::contributor_strm . . . . . . . . . . . . . . . . 22
Records_Contributors::m_contributor_id . . 103 Selector::contributors . . . . . . . . . . . . . . . . . . . . 22
Records_Contributors::m_record_id . . . . . . . 103 Selector::CONTRIBUTORS . . . . . . . . . . . . . . . . . . . . 21
Records_Database_Providers::m_database_ Selector::contributors_temp . . . . . . . . . . . . . . . 22
provider_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Selector::creator_strm . . . . . . . . . . . . . . . . . . . . 22
Records_Database_Providers::m_record_id Selector::creators . . . . . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Selector::CREATORS . . . . . . . . . . . . . . . . . . . . . . . . . 21
Records_Languages::m_association_type . . . 105 Selector::creators_temp . . . . . . . . . . . . . . . . . . . 22
Records_Languages::m_association_type_name Selector::curr_record . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Selector::dc_date_strm . . . . . . . . . . . . . . . . . . . . 22
Records_Languages::m_language_id . . . . . . . . . 105 Selector::DC_DATES . . . . . . . . . . . . . . . . . . . . . . . . . 21
Records_Languages::m_record_id . . . . . . . . . . . 105 Selector::description_strm . . . . . . . . . . . . . . . . 22
Records_Main_Titles::m_main_title_id . . . . 104 Selector::DESCRIPTIONS . . . . . . . . . . . . . . . . . . . . 21
Records_Main_Titles::m_record_id . . . . . . . . . 104 Selector::descriptions_temp . . . . . . . . . . . . . . . 22
Records_Physical_Descriptions::m_physical_ Selector::EXACT_MATCH . . . . . . . . . . . . . . . . . . . . . 22
description_id . . . . . . . . . . . . . . . . . . . . . . . . 102 Selector::header_datestamp_strm . . . . . . . . . . . 22
Records_Physical_Descriptions::m_record_id Selector::HEADER_DATESTAMPS . . . . . . . . . . . . . . . 21
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Selector::html_strm . . . . . . . . . . . . . . . . . . . . . . . . 23
Records_Publishers::m_publisher_id . . . . . . 108 Selector::identifier_strm . . . . . . . . . . . . . . . . . 22
Records_Publishers::m_record_id . . . . . . . . . . 108 Selector::IDENTIFIERS . . . . . . . . . . . . . . . . . . . . . 21
Records_Remote_Access::m_record_id . . . . . . 107 Selector::identifiers_temp . . . . . . . . . . . . . . . . 22
Records_Remote_Access::m_remote_access_id Selector::IGNORE_CASE . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Selector::language_strm . . . . . . . . . . . . . . . . . . . 22
Records_Subjects::m_record_id . . . . . . . . . . . . 106 Selector::LANGUAGES . . . . . . . . . . . . . . . . . . . . . . . . 21
Records_Subjects::m_subject_id . . . . . . . . . . . 106 Selector::languages_temp . . . . . . . . . . . . . . . . . . 22
records_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Selector::LAST_10_YEARS . . . . . . . . . . . . . . . . . . . 21
Records_Temp::m_dc_date . . . . . . . . . . . . . . . . . . . 24 Selector::LAST_2_YEARS . . . . . . . . . . . . . . . . . . . . 21
Records_Temp::m_header_datestamp . . . . . . . . . . 24 Selector::LAST_20_YEARS . . . . . . . . . . . . . . . . . . . 21
Records_Temp::m_header_identifier . . . . . . . . . 24 Selector::LAST_5_YEARS . . . . . . . . . . . . . . . . . . . . 21
Records_Temp::m_header_status . . . . . . . . . . . . . 24 Selector::LAST_6_MONTHS . . . . . . . . . . . . . . . . . . . 21
Records_Temp::m_record_id . . . . . . . . . . . . . . . . . 24 Selector::LAST_MONTH. . . . . . . . . . . . . . . . . . . . . . . 21
Remote_Access::m_format_type . . . . . . . . . . . . . 107 Selector::LAST_WEEK . . . . . . . . . . . . . . . . . . . . . . . . 21
Remote_Access::m_internal_remarks . . . . . . . 107 Selector::LAST_YEAR . . . . . . . . . . . . . . . . . . . . . . . . 21
Remote_Access::m_license_indicator . . . . . . 107 Selector::publisher_strm . . . . . . . . . . . . . . . . . . 22
Remote_Access::m_remote_access_id . . . . . . . 107 Selector::PUBLISHERS. . . . . . . . . . . . . . . . . . . . . . . 21
Chapter 32: Variable Index 137
Selector::publishers_temp . . . . . . . . . . . . . . . . . 22 Sources::m_source_abbrev . . . . . . . . . . . . . . . . . . 99
Selector::QUERY_LISTING . . . . . . . . . . . . . . . . . . . 21 Sources::m_source_address . . . . . . . . . . . . . . . . . 99
Selector::QUERY_NULL_TYPE . . . . . . . . . . . . . . . . . 21 Sources::m_source_id. . . . . . . . . . . . . . . . . . . . . . . 99
Selector::QUERY_SEARCH . . . . . . . . . . . . . . . . . . . . 21 Sources::m_source_name . . . . . . . . . . . . . . . . . . . . 99
Selector::query_type. . . . . . . . . . . . . . . . . . . . . . . 23 special_location . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Selector::records . . . . . . . . . . . . . . . . . . . . . . . . . . 22 standard_text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Selector::records_temp . . . . . . . . . . . . . . . . . . . . 22 Subcategory_Container::content_description_
Selector::RIGHTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 english . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Selector::rights_strm . . . . . . . . . . . . . . . . . . . . . 22 Subcategory_Container::content_description_
Selector::rights_temp . . . . . . . . . . . . . . . . . . . . . 22 german . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Selector::SORT_ASCENDING . . . . . . . . . . . . . . . . . . 21 Subcategory_Container::database_commands
Selector::SORT_DESCENDING . . . . . . . . . . . . . . . . . 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Selector::SORT_FIELD_CREATOR . . . . . . . . . . . . . . 21 Subcategory_Container::field_value . . . . . . . 77
Selector::SORT_FIELD_DC_DATE . . . . . . . . . . . . . . 21 Subcategory_Container::pica_plus_field_id
Selector::SORT_FIELD_HEADER_DATESTAMP . . . . 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Selector::sort_field_map . . . . . . . . . . . . . . . . . . 23 subcategory_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Selector::SORT_FIELD_RECORD_ID . . . . . . . . . . . . 21 subcategory_vector . . . . . . . . . . . . . . . . . . . . . . . . . 70
Selector::SORT_FIELD_TITLE . . . . . . . . . . . . . . . . 21 subject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Selector::subject_strm . . . . . . . . . . . . . . . . . . . . 22 subject_id. . . . . . . . . . . . . . . . . . . . . . . . . . 33, 70, 121
Selector::subjects . . . . . . . . . . . . . . . . . . . . . . . . . 22 subject_id_end . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Selector::SUBJECTS . . . . . . . . . . . . . . . . . . . . . . . . . 21 subject_id_start . . . . . . . . . . . . . . . . . . . . . . 70, 122
Selector::subjects_temp . . . . . . . . . . . . . . . . . . . 22 subject_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Selector::temp_ids . . . . . . . . . . . . . . . . . . . . . . . . . 22 subject_type_id . . . . . . . . . . . . . . . . . . . . . . 120, 121
Selector::temp_ids_1. . . . . . . . . . . . . . . . . . . . . . . 22 Subject_Types::m_description_english . . . . 105
Selector::temp_strm . . . . . . . . . . . . . . . . . . . . . . . . 22 Subject_Types::m_description_german . . . . . 105
Selector::THIS_MONTH. . . . . . . . . . . . . . . . . . . . . . . 21 Subject_Types::m_indicator . . . . . . . . . . . . . . . 105
Selector::THIS_WEEK . . . . . . . . . . . . . . . . . . . . . . . . 21 Subject_Types::m_pica3_51xx . . . . . . . . . . . . . . 105
Selector::THIS_YEAR . . . . . . . . . . . . . . . . . . . . . . . . 21 Subject_Types::m_pica3_800 . . . . . . . . . . . . . . . 105
Selector::timespan_map . . . . . . . . . . . . . . . . . . . . 23 Subject_Types::m_subject_type_id . . . . . . . . . 105
Selector::title_strm. . . . . . . . . . . . . . . . . . . . . . . 22 subjects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Selector::titles . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 SUBJECTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Selector::TITLES . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Subjects::m_chain_info . . . . . . . . . . . . . . . . . . . 106
Selector::titles_temp . . . . . . . . . . . . . . . . . . . . . 22 Subjects::m_chain_link_number . . . . . . . . . . . . 106
Selector::TODAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Subjects::m_chain_number . . . . . . . . . . . . . . . . . 106
Selector::type_strm . . . . . . . . . . . . . . . . . . . . . . . . 22 Subjects::m_dc_subject . . . . . . . . . . . . . . . . . . . . 26
Selector::TYPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Subjects::m_id_number_ppn . . . . . . . . . . . . . . . . 106
Selector::types_temp. . . . . . . . . . . . . . . . . . . . . . . 22 Subjects::m_subject . . . . . . . . . . . . . . . . . . . . . . . 106
Selector::use_date_type . . . . . . . . . . . . . . . . . . . 23 Subjects::m_subject_id . . . . . . . . . . . . . . . . 26, 106
Selector::USE_DC_DATE . . . . . . . . . . . . . . . . . . . . . 21 Subjects::m_subject_type_id . . . . . . . . . . . . . . 106
Selector::USE_HEADER_DATESTAMP . . . . . . . . . . . . 21 subjects_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Selector::WHOLE_OR_PARTIAL_WORD . . . . . . . . . . . 22 Subjects_Temp::m_dc_subject . . . . . . . . . . . . . . . 27
Selector::WHOLE_WORD_ONLY . . . . . . . . . . . . . . . . . 22 Subjects_Temp::m_subject_id . . . . . . . . . . . . . . . 27
Selector::YESTERDAY . . . . . . . . . . . . . . . . . . . . . . . . 21 suppress_duplicate_records . . . . . . . . . . . . . . . . 17
SORT_ASCENDING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 surname. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
SORT_DESCENDING . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
sort_field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SORT_FIELD_CREATOR . . . . . . . . . . . . . . . . . . . . . . . . . 21 T
SORT_FIELD_DC_DATE . . . . . . . . . . . . . . . . . . . . . . . . . 21 t0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
SORT_FIELD_HEADER_DATESTAMP . . . . . . . . . . . . . . . 21 temp_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35, 122
sort_field_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 temp_ids. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
SORT_FIELD_RECORD_ID. . . . . . . . . . . . . . . . . . . . . . . 21 Temp_IDs::m_temp_id . . . . . . . . . . . . . . . . . . . 28, 109
SORT_FIELD_TITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 temp_ids_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
sort_order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Temp_IDs_1::m_temp_id . . . . . . . . . . . . . . . . . . . . . 29
source_abbrev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 temp_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
source_address . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
source_id . . . . . . . . . . . . . . . . . . . . . . 30, 42, 110, 111 THIS_MONTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
source_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 THIS_WEEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
source_recordset . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 THIS_YEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Chapter 32: Variable Index 138
time_mutex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 W
timespan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 17
web_display_text . . . . . . . . . . . . . . . . . . . . . . . . . . 118
timespan_map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
TIMMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 WHOLE_OR_PARTIAL_WORD . . . . . . . . . . . . . . . . . . . . . 22
title_id. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 WHOLE_WORD_ONLY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
title_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 write_records_file . . . . . . . . . . . . . . . . . . . . . . . . . 40
titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
TITLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Titles::. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Y
titles_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
year_appearance_begin . . . . . . . . . . . . . . . . . . . . 111
Titles_Temp::m_dc_title . . . . . . . . . . . . . . . . . . . 26
Titles_Temp::m_record_id . . . . . . . . . . . . . . . . . . 26 year_appearance_end . . . . . . . . . . . . . . . . . . . . . . . 111
Titles_Temp::m_title_id . . . . . . . . . . . . . . . . . . . 26 year_appearance_original . . . . . . . . . . . . . . . . . 111
TODAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 year_appearance_rak_wb . . . . . . . . . . . . . . . . . . . 111
transliteration_code. . . . . . . . . . . . . . . . . . . . . . 112 YESTERDAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
type_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
type_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
TYPES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Z
types_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
ZClient::category_map . . . . . . . . . . . . . . . . . . . . . 42
Types_Temp::m_dc_type . . . . . . . . . . . . . . . . . . . . . 28
ZClient::connections. . . . . . . . . . . . . . . . . . . . . . . 42
Types_Temp::m_type_id . . . . . . . . . . . . . . . . . . . . . 28
ZClient::database . . . . . . . . . . . . . . . . . . . . . . . . . . 42
ZClient::GBV_GVK_ID . . . . . . . . . . . . . . . . . . . . . . . . 42
U ZClient::log_strm . . . . . . . . . . . . . . . . . . . . . . . . . . 42
URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 ZClient::MAX_ZOOM_CONNECTION . . . . . . . . . . . . . . 42
URN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 ZClient::MAX_ZOOM_RESULTSET . . . . . . . . . . . . . . . 42
use_date_type . . . . . . . . . . . . . . . . . . . . . . . . . . . 17, 23 ZClient::resultsets . . . . . . . . . . . . . . . . . . . . . . . . 42
USE_DC_DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ZClient::source_id . . . . . . . . . . . . . . . . . . . . . . . . . 42
USE_HEADER_DATESTAMP. . . . . . . . . . . . . . . . . . . . . . . 21 ZClient::source_recordset . . . . . . . . . . . . . . . . . 42
Chapter 32: Data Type Index 139
Chapter 32: Data Type Index 140
A P
Access_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Permutation_Patterns. . . . . . . . . . . . . . . . . . . . . . 106
Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Physical_Descriptions . . . . . . . . . . . . . . . . . . . . 102
PICA_Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
B PICA_Categories_PICA_Fields . . . . . . . . . . . . . . . 98
PICA_Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Bibliographic_Type_Codes . . . . . . . . . . . . . . . . . 101
Pica_Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Bibliographic_Types . . . . . . . . . . . . . . . . . . . . . . . 101
Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Publishers_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
C
Call_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Category_Container . . . . . . . . . . . . . . . . . . . . . 50, 70 R
CMutex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6, 49 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24, 99
Content_Summaries . . . . . . . . . . . . . . . . . . . . . . . . . 104 Records_Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . 25, 103 Records_Bibliographic_Types . . . . . . . . . . . . . . 101
Contributors_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Records_Call_Numbers. . . . . . . . . . . . . . . . . . . . . . 100
Creators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Records_Contributors. . . . . . . . . . . . . . . . . . . . . . 103
Creators_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Records_Database_Providers . . . . . . . . . . . . . . . 108
CRecordset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Records_Languages . . . . . . . . . . . . . . . . . . . . . . . . . 105
Records_Main_Titles . . . . . . . . . . . . . . . . . . . . . . . 104
D Records_Physical_Descriptions . . . . . . . . . . . . 102
Database_Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Records_Publishers . . . . . . . . . . . . . . . . . . . . . . . . 108
Database_Providers . . . . . . . . . . . . . . . . . . . . . . . . 108 Records_Remote_Access . . . . . . . . . . . . . . . . . . . . 107
DB_Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Records_Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Descriptions_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Records_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Dialog_1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Remote_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Dialog_2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Rights_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Dialog_Z_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
E S
Exemplar_Production_Numbers . . . . . . . . . . . . . . 100 Selector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Subcategory_Container . . . . . . . . . . . . . . . . . . . . . 77
I Subcategory_Map_Type. . . . . . . . . . . . . . . . . . . . . . . 77
Identifiers_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Subcategory_Vector_Type . . . . . . . . . . . . . . . . . . . 77
Subject_Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 106
L Subjects_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Languages_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
T
Temp_IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 108
M Temp_IDs_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Main_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
MetadataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Titles_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
multimap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Types_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
O
ofstream. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Z
Output_Stream_Type . . . . . . . . . . . . . . . . . . . . . . . . . 49 ZClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Chapter 32: Function Index 141
Function Index
~ DB_Display::close_html_file . . . . . . . . . . . . . . . 97
~Database_Command . . . . . . . . . . . . . . . . . . . . . . . . . . 93 DB_Display::count_records . . . . . . . . . . . . . . . . . 94
~DB_Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 DB_Display::DB_Display . . . . . . . . . . . . . . . . . . . . 94
~Dialog_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 DB_Display::display_records . . . . . . . . . . . . . . . 96
~Dialog_2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 DB_Display::display_single_record. . . . . . . . . 94
~Dialog_Z_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 DB_Display::open_html_file . . . . . . . . . . . . . . . . 94
~MetadataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 delete_tables . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 123
~Pica_Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Dialog_1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
~Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Dialog_1::~Dialog_1 . . . . . . . . . . . . . . . . . . . . . . . . 14
~ZClient. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Dialog_1::Dialog_1 . . . . . . . . . . . . . . . . . . . . . . . . . 14
Dialog_1::DoDataExchange . . . . . . . . . . . . . . . . . . 14
Dialog_1::download_records . . . . . . . . . . . . . . . . 14
C Dialog_1::OnBnClickedAllRecords . . . . . . . . . . . 14
Dialog_1::OnBnClickedCancel . . . . . . . . . . . . . . . 14
Category_Container::F_001B . . . . . . . . . . . . . . . . 71
Dialog_1::OnBnClickedDbt . . . . . . . . . . . . . . . . . . 14
Category_Container::F_021A . . . . . . . . . . . . . . . . 71
Dialog_1::OnBnClickedDownload . . . . . . . . . . . . . 14
Category_Container::F_028A . . . . . . . . . . . . . . . . 71
Dialog_1::OnBnClickedLast10Years . . . . . . . . . . 14
Category_Container::F_028B . . . . . . . . . . . . . . . . 71
Dialog_1::OnBnClickedLast20Years . . . . . . . . . . 14
Category_Container::F_028C . . . . . . . . . . . . . . . . 71
Dialog_1::OnBnClickedLast2Years . . . . . . . . . . . 14
Category_Container::F_033A . . . . . . . . . . . . . . . . 71
Dialog_1::OnBnClickedLast5Years . . . . . . . . . . . 14
Category_Container::F_041A . . . . . . . . . . . . . . . . 72
Dialog_1::OnBnClickedLast6Months . . . . . . . . . . 14
Category_Container::F_209A . . . . . . . . . . . . 73, 119
Dialog_1::OnBnClickedLastMonth . . . . . . . . . . . . 14
Category_Container::F_209R . . . . . 59, 66, 74, 90,
Dialog_1::OnBnClickedLastWeek . . . . . . . . . . . . . 14
117, 118
Dialog_1::OnBnClickedLastYear . . . . . . . . . . . . . 14
Category_Container::operator= . . . . . . . . . . . . . 70
Dialog_1::OnBnClickedOk . . . . . . . . . . . . . . . . . . . 14
Category_Container::personal_names_ Dialog_1::OnBnClickedThisMonth . . . . . . . . . . . . 14
category_func . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Dialog_1::OnBnClickedThisWeek . . . . . . . . . . . . . 14
Category_Container::publishers_database_ Dialog_1::OnBnClickedThisYear . . . . . . . . . . . . . 14
providers_func . . . . . . . . . . . . . . . . . . . . . . . . . 72
Dialog_1::OnBnClickedTimms . . . . . . . . . . . . . . . . 14
Category_Container::show . . . . . . . . . . . . . . . . . . 70 Dialog_1::OnBnClickedToday . . . . . . . . . . . . . . . . 14
Category_Container::sub_F_041A . . . . . . . . . . . . 73 Dialog_1::OnBnClickedYesterday . . . . . . . . . . . . 14
Category_Container::sub_F_209A . . . . . . . . . . . . 74 Dialog_1::OnInitDialog . . . . . . . . . . . . . . . . . . . . 14
Category_Container::sub_F_209R . . . . 59, 66, 74, Dialog_2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
75, 90, 117, 118 Dialog_2::~Dialog_2 . . . . . . . . . . . . . . . . . . . . . . . . 17
Category_Container::sub_personal_names_ Dialog_2::Dialog_2 . . . . . . . . . . . . . . . . . . . . . . . . . 17
category_func . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Dialog_2::DoDataExchange . . . . . . . . . . . . . . . . . . 17
Category_Container::sub_titles_category_ Dialog_2::OnBnClickedAllDates . . . . . . . . . . . . . 18
func . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Dialog_2::OnBnClickedBegOrWholeWord . . . . . . 18
Category_Container::titles_category_func Dialog_2::OnBnClickedCancel . . . . . . . . . . . . . . . 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Dialog_2::OnBnClickedCaseIgnore . . . . . . . . . . . 18
clear_database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Dialog_2::OnBnClickedContributors. . . . . . . . . 18
close_html_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Dialog_2::OnBnClickedCreators . . . . . . . . . . . . . 18
count_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Dialog_2::OnBnClickedDescending . . . . . . . . . . . 18
create_catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Dialog_2::OnBnClickedExactMatch . . . . . . . . . . . 18
create_catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Dialog_2::OnBnClickedLast6Months . . . . . . . . . . 18
create_tables . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 123 Dialog_2::OnBnClickedLastMonth . . . . . . . . . . . . 18
ctgcntnr.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Dialog_2::OnBnClickedListRecords . . . . . . . . . . 18
Dialog_2::OnBnClickedListTitles . . . . . . . . . . . 18
Dialog_2::OnBnClickedOk . . . . . . . . . . . . . . . . . . . 18
D Dialog_2::OnBnClickedSearch . . . . . . . . . . . . . . . 18
Database_Command . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Dialog_2::OnBnClickedSinceLastYear . . . . . . . 18
Database_Command::~Database_Command . . . . . . 93 Dialog_2::OnBnClickedSubjects . . . . . . . . . . . . . 18
Database_Command::Database_Command . . . . . . . 93 Dialog_2::OnBnClickedThisMonth . . . . . . . . . . . . 18
DB_Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Dialog_2::OnBnClickedThisWeek . . . . . . . . . . . . . 18
DB_Display::~DB_Display . . . . . . . . . . . . . . . . . . . 94 Dialog_2::OnBnClickedThisYear . . . . . . . . . . . . . 18
Chapter 32: Function Index 142
Dialog_2::OnBnClickedUseDcDate . . . . . . . . . . . . 18 F_033A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Dialog_2::OnBnClickedUseHeaderDatestamp . . 18 f_033A_n. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Dialog_2::OnBnClickedWholeOrPartialWord . . 18 f_033A_p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Dialog_2::OnBnClickedWholeWordOnly . . . . . . . 18 f_034D_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Dialog_2::OnInitDialog . . . . . . . . . . . . . . . . . . . . 18 F_041A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Dialog_Z_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 f_041A_9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Dialog_Z_1::~Dialog_Z_1 . . . . . . . . . . . . . . . . . . . 41 f_041A_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Dialog_Z_1::Dialog_Z_1 . . . . . . . . . . . . . . . . . . . . 41 f_041A_f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Dialog_Z_1::DoDataExchange . . . . . . . . . . . . . . . . 41 f_041A_S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Dialog_Z_1::OnBnClickedClearDatabase . . . . . 41 f_047I_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Dialog_Z_1::OnBnClickedDisplayAll . . . . . . . . . 41 f_203_AT_0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88, 118
Dialog_Z_1::OnBnClickedDisplayRecords . . . . 41 F_209A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73, 119
Dialog_Z_1::OnBnClickedParseRecords . . . . . . 41
f_209A_a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89, 119
Dialog_Z_1::OnBnClickedPerformSearch . . . . . 41
f_209A_b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89, 119
Dialog_Z_1::OnBnClickedWriteRecordsFile . . 41
f_209A_f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89, 119
Dialog_Z_1::OnCancel. . . . . . . . . . . . . . . . . . . . . . . 41
f_209A_j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89, 119
Dialog_Z_1::OnInitDialog . . . . . . . . . . . . . . . . . . 41
Dialog_Z_1::OnOK . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 F_209C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
display_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 f_209C_a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90, 119
display_single_record . . . . . . . . . . . . . . . . . . . . . 94 F_209R. . . . . . . . . . . . . . . . . . . 59, 66, 74, 90, 117, 118
DoDataExchange . . . . . . . . . . . . . . . . . . . . . . 14, 17, 41 f_209R_0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
download_records . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 f_209R_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
drop_tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 123 f_209R_g. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
f_209R_S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
f_209R_x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
F f_209R_y. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
f_001A_0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 fill_catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
F_001B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 fill_catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
f_001B_0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 fill_table_streams . . . . . . . . . . . . . . . . . . . . . . . . . 23
f_001B_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 fix_string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
f_002_AT_0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
f_003_AT_0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
f_010_AT_a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 G
f_011_AT_a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 get_connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
f_011_AT_b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 get_http_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
f_011_AT_e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 get_last_connection . . . . . . . . . . . . . . . . . . . . . . . . 43
f_011_AT_n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 get_last_resultset . . . . . . . . . . . . . . . . . . . . . . . . . 43
F_021A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
get_last_resultset_size . . . . . . . . . . . . . . . . . . . 43
f_021A_1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
get_resultset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
f_021A_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
get_resultset_size . . . . . . . . . . . . . . . . . . . . . . . . . 43
f_021A_d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
f_021A_e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
f_021A_f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
f_021A_h. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 I
F_028A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 init_category_map . . . . . . . . . . . . . . . . . . . . . . . . . . 42
f_028A_9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
f_028A_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
f_028A_c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 L
f_028A_d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
list_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 36
F_028B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
f_028B_9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 list_table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
f_028B_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
f_028B_d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
F_028C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
f_028C_9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
M
f_028C_a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 MetadataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
f_028C_c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 MetadataSource::~MetadataSource . . . . . . . . . . . 20
f_028C_d. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 MetadataSource::MetadataSource . . . . . . . . . . . . 20
Chapter 32: Function Index 143
O Pica_Record::show . . . . . . . . . . . . . . . . . . . . . . . . . . 69
OnBnClickedAllDates . . . . . . . . . . . . . . . . . . . . . . . . 18 Pica_Record::write_to_database . . . . . . . . . . . . 69
OnBnClickedAllRecords . . . . . . . . . . . . . . . . . . . . . 14 publishers_database_providers_func . . . . . . . 72
OnBnClickedBegOrWholeWord . . . . . . . . . . . . . . . . . 18
OnBnClickedCancel . . . . . . . . . . . . . . . . . . . . . . 14, 18
OnBnClickedCaseIgnore . . . . . . . . . . . . . . . . . . . . . 18 R
OnBnClickedClearDatabase . . . . . . . . . . . . . . . . . . 41 regenerate_tables . . . . . . . . . . . . . . . . . . . . . . . . . 123
OnBnClickedContributors . . . . . . . . . . . . . . . . . . . 18
OnBnClickedCreators . . . . . . . . . . . . . . . . . . . . . . . . 18
OnBnClickedDbt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 S
OnBnClickedDescending . . . . . . . . . . . . . . . . . . . . . 18 sbctgcnt.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
OnBnClickedDisplayAll . . . . . . . . . . . . . . . . . . . . . 41 search_for_records . . . . . . . . . . . . . . . . . . . . . . . . . 36
OnBnClickedDisplayRecords . . . . . . . . . . . . . . . . . 41 search_pqf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
OnBnClickedDownload . . . . . . . . . . . . . . . . . . . . . . . . 14 select_from_database. . . . . . . . . . . . . . . . . . . . . . . 23
OnBnClickedExactMatch . . . . . . . . . . . . . . . . . . . . . 18 Selector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
OnBnClickedLast10Years . . . . . . . . . . . . . . . . . . . . 15 Selector::~Selector . . . . . . . . . . . . . . . . . . . . . . . . 23
OnBnClickedLast20Years . . . . . . . . . . . . . . . . . . . . 15 Selector::fill_table_streams . . . . . . . . . . . . . . 23
OnBnClickedLast2Years . . . . . . . . . . . . . . . . . . . . . 15 Selector::list_records . . . . . . . . . . . . . . . . . . . . 23
OnBnClickedLast5Years . . . . . . . . . . . . . . . . . . . . . 15 Selector::list_table. . . . . . . . . . . . . . . . . . . . . . . 23
OnBnClickedLast6Months . . . . . . . . . . . . . . . . . 15, 18 Selector::select_from_database . . . . . . . . . . . . 23
OnBnClickedLastMonth . . . . . . . . . . . . . . . . . . . 15, 18 Selector::Selector . . . . . . . . . . . . . . . . . . . . . . . . . 23
OnBnClickedLastWeek . . . . . . . . . . . . . . . . . . . . . . . . 15 Selector::write_html_from_streams. . . . . . . . . 23
OnBnClickedLastYear . . . . . . . . . . . . . . . . . . . . . . . . 15 show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69, 70, 77
OnBnClickedListRecords . . . . . . . . . . . . . . . . . . . . 18 store_in_temp_tables. . . . . . . . . . . . . . . . . . . . . . . 36
OnBnClickedListTitles . . . . . . . . . . . . . . . . . . . . . 18 sub_F_041A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
OnBnClickedOk . . . . . . . . . . . . . . . . . . . . . . . . . . . 14, 18 sub_F_209A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
OnBnClickedParseRecords . . . . . . . . . . . . . . . . . . . 41 sub_F_209R . . . . . . . . . . . 59, 66, 74, 75, 90, 117, 118
OnBnClickedPerformSearch . . . . . . . . . . . . . . . . . . 41 sub_personal_names_category_func . . . . . . . . . . 76
OnBnClickedSearch . . . . . . . . . . . . . . . . . . . . . . . . . . 18 sub_titles_category_func . . . . . . . . . . . . . . . . . . 76
OnBnClickedSinceLastYear . . . . . . . . . . . . . . . . . . 18 sub_update_database_dbt . . . . . . . . . . . . . . . . . . . 20
OnBnClickedSubjects . . . . . . . . . . . . . . . . . . . . . . . . 18 sub_update_database_timms . . . . . . . . . . . . . . . . . 20
OnBnClickedThisMonth . . . . . . . . . . . . . . . . . . . 15, 18 Subcategory_Container::f_001A_0 . . . . . . . . . . . 78
OnBnClickedThisWeek . . . . . . . . . . . . . . . . . . . . 14, 18 Subcategory_Container::f_001B_0 . . . . . . . . . . . 79
OnBnClickedThisYear . . . . . . . . . . . . . . . . . . . . 15, 18 Subcategory_Container::f_001B_t . . . . . . . . . . . 79
OnBnClickedTimms . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Subcategory_Container::f_002_AT_0. . . . . . . . . 79
OnBnClickedToday . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Subcategory_Container::f_003_AT_0. . . . . . . . . 79
OnBnClickedUseDcDate. . . . . . . . . . . . . . . . . . . . . . . 18 Subcategory_Container::f_010_AT_a. . . . . . . . . 79
OnBnClickedUseHeaderDatestamp . . . . . . . . . . . . . 18 Subcategory_Container::f_011_AT_a. . . . . . . . . 80
OnBnClickedWholeOrPartialWord . . . . . . . . . . . . . 18 Subcategory_Container::f_011_AT_b. . . . . . . . . 80
OnBnClickedWholeWordOnly . . . . . . . . . . . . . . . . . . 18 Subcategory_Container::f_011_AT_e. . . . . . . . . 81
OnBnClickedWriteRecordsFile . . . . . . . . . . . . . . . 41 Subcategory_Container::f_011_AT_n. . . . . . . . . 81
OnBnClickedYesterday. . . . . . . . . . . . . . . . . . . . . . . 14 Subcategory_Container::f_021A_1 . . . . . . . . . . . 82
OnCancel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Subcategory_Container::f_021A_a . . . . . . . . . . . 82
OnInitDialog . . . . . . . . . . . . . . . . . . . . . . . . 14, 18, 41 Subcategory_Container::f_021A_d . . . . . . . . . . . 82
OnOK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Subcategory_Container::f_021A_e . . . . . . . . . . . 82
open_html_file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Subcategory_Container::f_021A_f . . . . . . . . . . . 82
operator= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70, 77 Subcategory_Container::f_021A_h . . . . . . . . . . . 82
Output_Stream_Type::. . . . . . . . . . . . . . . . . . . . . . . 49 Subcategory_Container::f_028A_9 . . . . . . . . . . . 83
Output_Stream_Type::lock . . . . . . . . . . . . . . . . . . 49 Subcategory_Container::f_028A_a . . . . . . . . . . . 83
Subcategory_Container::f_028A_c . . . . . . . . . . . 83
Subcategory_Container::f_028A_d . . . . . . . . . . . 83
P Subcategory_Container::f_028B_9 . . . . . . . . . . . 83
parse_record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Subcategory_Container::f_028B_a . . . . . . . . . . . 83
parse_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Subcategory_Container::f_028B_d . . . . . . . . . . . 83
personal_names_category_func . . . . . . . . . . . . . . 76 Subcategory_Container::f_028C_9 . . . . . . . . . . . 84
Pica_Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Subcategory_Container::f_028C_a . . . . . . . . . . . 84
Pica_Record::~Pica_Record . . . . . . . . . . . . . . . . . 69 Subcategory_Container::f_028C_c . . . . . . . . . . . 84
Pica_Record::Pica_Record . . . . . . . . . . . . . . . . . . 69 Subcategory_Container::f_028C_d . . . . . . . . . . . 84
Chapter 32: Function Index 144
Subcategory_Container::f_033A_n . . . . . . . . . . . 85 U
Subcategory_Container::f_033A_p . . . . . . . . . . . 85 unlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Subcategory_Container::f_034D_a . . . . . . . . . . . 85 update_database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Subcategory_Container::f_041A_9 . . . . . . . . . . . 86
Subcategory_Container::f_041A_a . . . . . . . . . . . 86
Subcategory_Container::f_041A_f . . . . . . . . . . . 87
Subcategory_Container::f_041A_S . . . . . . . . . . . 87
W
Subcategory_Container::f_047I_a . . . . . . . . . . . 87 write_field_data . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Subcategory_Container::f_203_AT_0 . . . . 88, 118 write_html_from_streams . . . . . . . . . . . . . . . . . . . 23
Subcategory_Container::f_209A_a . . . . . . 88, 119 write_to_database . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Subcategory_Container::f_209A_b . . . . . . 89, 119 write_to_tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Subcategory_Container::f_209A_f . . . . . . 89, 119
Subcategory_Container::f_209A_j . . . . . . 89, 119
Subcategory_Container::f_209C_a . . . . . . 90, 119 Y
Subcategory_Container::f_209R_0 . . . . . . . . . . . 91 year_appearance_func. . . . . . . . . . . . . . . . . . . . . . . 81
Subcategory_Container::f_209R_a . . . . . . . . . . . 91
Subcategory_Container::f_209R_g . . . . . . . . . . . 91
Subcategory_Container::f_209R_S . . . . . . . . . . . 92 Z
Subcategory_Container::f_209R_x . . . . . . . . . . . 92
Subcategory_Container::f_209R_y . . . . . . . . . . . 92 ZClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Subcategory_Container::fix_string . . . . . . . . . 77 zclient.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Subcategory_Container::operator= . . . . . . . . . . 77 ZClient::~ZClient . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Subcategory_Container::parse_record . . . . . . 20 ZClient::clear_database . . . . . . . . . . . . . . . . . . . 48
Subcategory_Container::show . . . . . . . . . . . . . . . 77 ZClient::get_connection . . . . . . . . . . . . . . . . . . . 43
Subcategory_Container::sub_update_database_ ZClient::get_last_connection . . . . . . . . . . . . . . 43
dbt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ZClient::get_last_resultset . . . . . . . . . . . . . . . 43
Subcategory_Container::sub_update_database_ ZClient::get_last_resultset_size . . . . . . . . . . 43
timms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ZClient::get_resultset . . . . . . . . . . . . . . . . . . . . 43
Subcategory_Container::update_database . . . 20 ZClient::get_resultset_size . . . . . . . . . . . . . . . 43
Subcategory_Container::year_appearance_func ZClient::init_category_map . . . . . . . . . . . . . . . . 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 ZClient::parse_records . . . . . . . . . . . . . . . . . . . . 43
ZClient::search_pqf . . . . . . . . . . . . . . . . . . . . . . . . 43
ZClient::write_field_data . . . . . . . . . . . . . . . . . 43
T ZClient::ZClient . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
titles_category_func. . . . . . . . . . . . . . . . . . . . . . . 76 zoomtst2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Chapter 32: Database Table Index 145
A Bibliographic_Type_Codes::physical_form_
access_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 material_name_german . . . . . . . . . . . . . . . . . 112
Access_Number::access_number . . . . . . . . . . . . . 120 bibliographic_type_id . . . . . . . . . . . . . . . . . . . . 112
Access_Number::access_number_id . . . . . . . . . . 119 Bibliographic_Types . . . . . . . . . . . . . . . . . . . . . . . 112
Access_Number::PK_Access_Numbers . . . . . . . . . 119 Bibliographic_Types::bibliographic_
Access_Number::record_id . . . . . . . . . . . . . . . . . 120 representation . . . . . . . . . . . . . . . . . . . . . . . . 112
access_number_id . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Bibliographic_Types::bibliographic_
representation_refinement . . . . . . . . . . . . 112
Access_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Bibliographic_Types::bibliographic_type_id
additional_creator_main . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
additional_creator_parallel . . . . . . . . . . . . . . 113
Bibliographic_Types::description_status
additions_main . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
additions_parallel . . . . . . . . . . . . . . . . . . . . . . . . 113
Bibliographic_Types::miscellaneous . . . . . . 112
association_type . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Bibliographic_Types::physical_form . . . . . . 112
association_type_name . . . . . . . . . . . . . . . . . . . . 116
Bibliographic_Types::record_id . . . . . . . . . . . 112
author_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliographic_Types::transliteration_code
Authors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Authors::author_id . . . . . . . . . . . . . . . . . . . . . . . . 114
Authors::given_name . . . . . . . . . . . . . . . . . . . . . . . 114
Authors::id_number_ppn . . . . . . . . . . . . . . . . . . . 114 C
Authors::PK_Authors . . . . . . . . . . . . . . . . . . . . . . . 114
call_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Authors::prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Call_Number::call_number . . . . . . . . . . . . . . . . . 119
Authors::surname . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Call_Number::call_number_id . . . . . . . . . . . . . . 119
authorship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Call_Number::library_department . . . . . . . . . . 119
Call_Number::library_number . . . . . . . . . . . . . . 119
Call_Number::PK_Call_Numbers . . . . . . . . . . . . . 119
B Call_Number::special_location . . . . . . . . . . . . 119
bibliographic_representation . . . . . . . . . . . . . 112 call_number_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
bibliographic_representation_code . . . . . . . 112 Call_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
bibliographic_representation_description_ chain_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
english . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 chain_link_number . . . . . . . . . . . . . . . . . . . . . . . . . 121
bibliographic_representation_description_ chain_number . . . . . . . . . . . . . . . . . . . . . . . . . . 121, 122
german . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 company_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
bibliographic_representation_refinement Content_Summaries . . . . . . . . . . . . . . . . . . . . . . . . . 114
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Content_Summaries::content_summary . . . . . . 114
bibliographic_type_code_id . . . . . . . . . . . . . . . 112 Content_Summaries::content_summary_id . . . 114
Bibliographic_Type_Codes . . . . . . . . . . . . . . . . . 112 Content_Summaries::continuation . . . . . . . . . . 114
Bibliographic_Type_Codes::bibliographic_ Content_Summaries::PK_Content_Summaries
representation_code . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliographic_Type_Codes::bibliographic_ Content_Summaries::record_id . . . . . . . . . . . . . 114
representation_description_english . . 112 content_summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliographic_Type_Codes::bibliographic_ content_summary_id . . . . . . . . . . . . . . . . . . . . . . . . 114
representation_description_german . . . 112 continuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliographic_Type_Codes::bibliographic_ continuation_additions_main . . . . . . . . . . . . . . 113
type_code_id . . . . . . . . . . . . . . . . . . . . . . . . . . 112 continuation_main_canonical_title . . . . . . . 113
Bibliographic_Type_Codes::description_ contributor_id . . . . . . . . . . . . . . . . . 31, 32, 114, 115
status_code . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 114
Bibliographic_Type_Codes::description_ Contributors::contributor_id . . . . . . . . . 31, 114
status_description_english . . . . . . . . . . . 112 Contributors::dc_contributor . . . . . . . . . . . . . . 31
Bibliographic_Type_Codes::description_ Contributors::given_name . . . . . . . . . . . . . . . . . 114
status_description_german . . . . . . . . . . . . 112 Contributors::id_number_ppn . . . . . . . . . . . . . . 115
Bibliographic_Type_Codes::physical_form_ Contributors::institution_id . . . . . . . . . . . . . . 31
code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Contributors::person_id . . . . . . . . . . . . . . . . . . . 31
Bibliographic_Type_Codes::physical_form_ Contributors::PK_Contributors . . . . . . . . 31, 114
material_name_english . . . . . . . . . . . . . . . . 112 Contributors::prefix. . . . . . . . . . . . . . . . . . . . . . 115
Chapter 32: Database Table Index 146
L Physical_Descriptions::pica_category_id
language_abbrev . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
language_id . . . . . . . . . . . . . . . . . . . . . . . . 33, 34, 116 Physical_Descriptions::pica_field_id . . . . 117
language_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Physical_Descriptions::text . . . . . . . . . . . . . . 117
Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 116 physical_form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Languages::dc_language . . . . . . . . . . . . . . . . . . . . 33 physical_form_code . . . . . . . . . . . . . . . . . . . . . . . . 112
Languages::language_abbrev . . . . . . . . . . . . . . . 116 physical_form_material_name_english . . . . . 112
Languages::language_id . . . . . . . . . . . . . . . . 33, 116 physical_form_material_name_german . . . . . . 112
Languages::language_name . . . . . . . . . . . . . . . . . 116 pica_3_category_code. . . . . . . . . . . . . . . . . . . . . . 110
Languages::PK_Languages . . . . . . . . . . . . . . . . . . . 33 pica_3_field_code . . . . . . . . . . . . . . . . . . . . . . . . . 110
Languages_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 PICA_Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Languages_Temp::dc_language . . . . . . . . . . . . . . . 34 PICA_Categories::description_english . . . . 110
Languages_Temp::language_id . . . . . . . . . . . . . . . 34 PICA_Categories::description_german . . . . . 110
library_department . . . . . . . . . . . . . . . . . . . . . . . . 119 PICA_Categories::pica_3_category_code . . . 110
library_number . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 PICA_Categories::pica_category_id . . . . . . . 110
license_indicator . . . . . . . . . . . . . . . . . . . . . . . . . 117 PICA_Categories::pica_plus_category_code
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
PICA_Categories::PK_PICA_Categories . . . . . 110
M PICA_Categories_PICA_Fields . . . . . . . . . . . . . . 111
main_canonical_title. . . . . . . . . . . . . . . . . . . . . . 113 PICA_Categories_PICA_Fields::pica_category_
main_title_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Main_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 PICA_Categories_PICA_Fields::pica_field_id
Main_Titles::additional_creator_main . . . . 113 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Main_Titles::additional_creator_parallel pica_category_id . . . . . . . . . . . . . . . . . 110, 111, 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 pica_field_id . . . . . . . . . . . . . . . . . . . . 110, 111, 117
Main_Titles::additions_main . . . . . . . . . . . . . . 113 PICA_Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Main_Titles::additions_parallel . . . . . . . . . . 113 PICA_Fields::description_english . . . . . . . . . 110
Main_Titles::authorship . . . . . . . . . . . . . . . . . . 113 PICA_Fields::description_german . . . . . . . . . . 110
Main_Titles::continuation_additions_main PICA_Fields::pica_3_field_code . . . . . . . . . . . 110
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 PICA_Fields::pica_field_id . . . . . . . . . . . . . . . 110
Main_Titles::continuation_main_canonical_ PICA_Fields::pica_plus_field_code . . . . . . . 110
title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 PICA_Fields::PK_PICA_Fields . . . . . . . . . . . . . . 110
Main_Titles::main_canonical_title . . . . . . . 113 pica_plus_category_code . . . . . . . . . . . . . . . . . . 110
Main_Titles::main_title_id . . . . . . . . . . . . . . . 113 pica_plus_field_code. . . . . . . . . . . . . . . . . . . . . . 110
Main_Titles::parallel_canonical_title . . . 113 pica3_51xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Main_Titles::PK_Main_Titles . . . . . . . . . . . . . . 113 pica3_800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Main_Titles::standard_text . . . . . . . . . . . . . . . 113 PK_Access_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . 119
miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 PK_Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
PK_Call_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
PK_Content_Summaries. . . . . . . . . . . . . . . . . . . . . . 114
P PK_Contributors. . . . . . . . . . . . . . . . . . . . . . . . 31, 114
parallel_canonical_title . . . . . . . . . . . . . . . . . 113 PK_Creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
permutation_pattern . . . . . . . . . . . . . . . . . . . . . . . 122 PK_Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
permutation_pattern_id . . . . . . . . . . . . . . . . . . . 121 PK_Exemplar_Production_Number . . . . . . . . . . . . 118
Permutation_Patterns. . . . . . . . . . . . . . . . . . . . . . 121 PK_Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Permutation_Patterns::chain_number . . . . . . 122 PK_Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Permutation_Patterns::permutation_pattern PK_Main_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 PK_PICA_Categories . . . . . . . . . . . . . . . . . . . . . . . . 110
Permutation_Patterns::permutation_pattern_ PK_PICA_Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 PK_Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Permutation_Patterns::record_id . . . . . . . . . . 122 PK_Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 111
Permutation_Patterns::subject_id_end . . . . 122 PK_Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Permutation_Patterns::subject_id_start . . 122 PK_Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
person_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32, 34 PK_Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
physical_description_id . . . . . . . . . . . . . . . . . . 117 PK_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Physical_Descriptions . . . . . . . . . . . . . . . . . . . . 116 place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Physical_Descriptions::physical_ prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114, 115
description_id . . . . . . . . . . . . . . . . . . . . . . . . 117 primary_info_source . . . . . . . . . . . . . . . . . . . . . . . 115
Chapter 32: Database Table Index 148
T Y
temp_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35, 122 year_appearance_begin . . . . . . . . . . . . . . . . . . . . 111
Temp_IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35, 122 year_appearance_end . . . . . . . . . . . . . . . . . . . . . . . 111
Temp_IDs::temp_id . . . . . . . . . . . . . . . . . . . . . 35, 122 year_appearance_original . . . . . . . . . . . . . . . . . 111
Temp_IDs_1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 year_appearance_rak_wb . . . . . . . . . . . . . . . . . . . 111
Chapter 32: Database Stored Procedure Index 150
C list_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
create_catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
create_catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . 36 P
create_tables . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 123
PICA::create_catalogs . . . . . . . . . . . . . . . . . . . . 123
PICA::create_tables . . . . . . . . . . . . . . . . . . . . . . . 123
D PICA::delete_tables . . . . . . . . . . . . . . . . . . . . . . . 123
PICA::drop_tables . . . . . . . . . . . . . . . . . . . . . . . . . 123
dc_test::create_catalogues . . . . . . . . . . . . . . . . 36 PICA::fill_catalogs . . . . . . . . . . . . . . . . . . . . . . . 123
dc_test::create_tables . . . . . . . . . . . . . . . . . . . . 36 PICA::regenerate_tables . . . . . . . . . . . . . . . . . . 123
dc_test::delete_tables . . . . . . . . . . . . . . . . . . . . 36
dc_test::drop_tables. . . . . . . . . . . . . . . . . . . . . . . 36
dc_test::fill_catalogues . . . . . . . . . . . . . . . . . . 36 R
dc_test::list_records . . . . . . . . . . . . . . . . . . . . . 36 regenerate_tables . . . . . . . . . . . . . . . . . 38, 112, 123
dc_test::search_for_records . . . . . . . . . . . . . . . 36
dc_test::store_in_temp_tables . . . . . . . . . . . . . 36
dc_test::write_to_tables . . . . . . . . . . . . . . . . . . 36 S
delete_tables . . . . . . . . . . . . . . . . . . . . . . 36, 38, 123 search_for_records . . . . . . . . . . . . . . . . . . . . . . . . . 36
drop_tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36, 123 store_in_temp_tables. . . . . . . . . . . . . . . . . . . . . . . 36
F W
fill_catalogs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 write_to_tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
fill_catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Z
L ZTest::regenerate_tables . . . . . . . . . . . . . . . . . 112
Chapter 32: Filename Index 151
Filename Index
A P
accnums.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 pblshtmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
authors.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 pccatfld.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
physdesc.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
picacats.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
B picaflds.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
bbtpcds.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 picarcrd.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
bibtyps.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 prmpttrn.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
publshrs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
C
callnums.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 R
cntrbtmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 rcbbtyps.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
cntrbtrs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . 25, 103 rccllnms.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
contributors.html . . . . . . . . . . . . . . . . . . . . . . . . . . 17 rccntrbt.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
contsums.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 rcdbprov.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
creators.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 rcmnttls.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
creators.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 rcphsdsc.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
crtcats.sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 rcrdstmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
crtrstmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 rcrmaccs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
recathrs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
reclang.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
D records.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
dbdspl.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 records.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
dbprovs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 records.web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
dc_test/create_tables.sql . . . . . . . . . . . . . . . . . 30 recpubs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
dscrptmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 recsubjs.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
rghtstmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
rmaccess.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
E
exprnums.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 S
sbctgcnt.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
F sbjcttmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
sources.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
fillcats.sql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 stdafx.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
subjects.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
subjects.web . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 106
I subjtyps.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
identtmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
T
L tempids.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 108
langtmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 tempids1.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
language.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 titles.html . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
titles.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
ttlstmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
M typestmp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
mnttls.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Z
O ztest.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
opstrmtp.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 ztstzoom.web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Chapter 32: Pica+ Index 152
Pica+ Index
H P
Hauptschlagwort und Unterschlagwoerter Place, Publisher: 033A . . . . . . . . . . . . . 53, 64, 71, 84
(Schlagwortansetzung): 041A. . . 55, 60, 72, 86
R
I RSWK Chains: 041A . . . . . . . . . . . . . . 55, 60, 72, 86
Identifier and Date of the Original Catalogue RSWK-Ketten: 041A . . . . . . . . . . . . . . 55, 60, 72, 86
Entry: 001A. . . . . . . . . . . . . . . . . . . . . . 51, 62, 77 RSWK: Regeln fuer den Schlagwortkatalog . . . . 55,
60, 72, 86
RSWK: Rules for the Subject Catalogue . . . 55, 60,
K 72, 86
Kennung und Datum der Ersterfassung: 001A
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62, 77
S
Signatur: 209A . . . . . . . . . . . . . . . . . . . . 57, 65, 73, 88
L Size or Range, Specification of Material, Technical
Local information regarding remote access to System: 034D . . . . . . . . . . . . . . . . . . . . 54, 65, 85
electronic resources: 209R . . . . . . 59, 66, 74, 90
Lokale Angaben zum Zugriff auf elektronische
Ressourcen im Fernzugriff: 209R . . 59, 66, 74,
U
90 Umfangsangabe, spezifische Materialbenennung,
technisches System: 034D . . . . . . . . . 54, 65, 85
M
Main Subject and Subsidiary Subjects (Subject Y
Assignment): 041A . . . . . . . . . . . . 55, 60, 72, 86 Year of Appearance: 011@ . . . . . . . . . . . . . 53, 62, 80
O Z
Ort, Verlag: 033A . . . . . . . . . . . . . . . . . 53, 64, 71, 84 Zugangsnummer: 209C . . . . . . . . . . . . . . . . 58, 68, 90
Chapter 32: Pica3 Index 154
Pica3 Index
E M
Erscheinungsjahr: 1100 . . . . . . . . . . . . . . . . 53, 62, 80 Main Subject and Subsidiary Subjects (Subject
Exemplar Production Number: 7800. . . . 57, 67, 87 Assignment): 800 . . . . . . . . . . . . . 55, 60, 72, 86
Exemplar-Produktionsnummer: 7800 . . . 57, 67, 87
O
F Ort, Verlag: 4030 . . . . . . . . . . . . . . . . . . 53, 64, 71, 84
Fields 0200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62
Fields 1500 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52, 63
Fields 4030 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 64 P
Fields 4060 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 65 Place, Publisher: 4030 . . . . . . . . . . . . . 53, 64, 71, 84
Fields 5100–5199 . . . . . . . . . . . . . . . . . . . . . . . . . 56, 61
Fields 7100–7109 . . . . . . . . . . . . . . . . . . . . . . . . . 58, 66
Fields 7800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 68 R
Fields 800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55, 60 RSWK Chains: 5100–5199 . . . . . . . . . 55, 60, 72, 86
Fields 8100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 68 RSWK-Ketten: 5100–5199 . . . . . . . . . 55, 60, 72, 86
RSWK: Regeln fuer den Schlagwortkatalog . . . . 55,
60, 72, 86
H RSWK: Rules for the Subject Catalogue . . . 55, 60,
Hauptschlagwort und Unterschlagwoerter 72, 86
(Schlagwortansetzung): 800 . . . . 55, 60, 72, 86
S
I Signatur: 7100–7109 . . . . . . . . . . . . . . . 57, 65, 73, 88
Identifier and Date of the Original Catalogue Size or Range, Specification of Material, Technical
Entry: 0200 . . . . . . . . . . . . . . . . . . . . . . 51, 62, 77 System: 4060 . . . . . . . . . . . . . . . . . . . . . 54, 65, 85
K U
Kennung und Datum der Ersterfassung: 0200 Umfangsangabe, spezifische Materialbenennung,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62, 77 technisches System: 4060 . . . . . . . . . . 54, 65, 85
L Y
Local information regarding remote access to Year of Appearance: 1100 . . . . . . . . . . . . . 53, 62, 80
electronic resources: 7133 . . . . . . 59, 66, 74, 90
Lokale Angaben zum Zugriff auf elektronische
Ressourcen im Fernzugriff: 7133 . . . 59, 66, 74, Z
90 Zugangsnummer: 8100 . . . . . . . . . . . . . . . . 58, 68, 90
Appendix A: GNU Free Documentation License 156
under this License. If a section does not fit the above definition of Secondary then it is
not allowed to be designated as Invariant. The Document may contain zero Invariant
Sections. If the Document does not identify any Invariant Sections then there are none.
The “Cover Texts” are certain short passages of text that are listed, as Front-Cover
Texts or Back-Cover Texts, in the notice that says that the Document is released under
this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may
be at most 25 words.
A “Transparent” copy of the Document means a machine-readable copy, represented
in a format whose specification is available to the general public, that is suitable for
revising the document straightforwardly with generic text editors or (for images com-
posed of pixels) generic paint programs or (for drawings) some widely available drawing
editor, and that is suitable for input to text formatters or for automatic translation to
a variety of formats suitable for input to text formatters. A copy made in an otherwise
Transparent file format whose markup, or absence of markup, has been arranged to
thwart or discourage subsequent modification by readers is not Transparent. An image
format is not Transparent if used for any substantial amount of text. A copy that is
not “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain ascii without
markup, Texinfo input format, LaTEX input format, SGML or XML using a publicly
available DTD, and standard-conforming simple HTML, PostScript or PDF designed
for human modification. Examples of transparent image formats include PNG, XCF
and JPG. Opaque formats include proprietary formats that can be read and edited
only by proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the machine-generated HTML,
PostScript or PDF produced by some word processors for output purposes only.
The “Title Page” means, for a printed book, the title page itself, plus such following
pages as are needed to hold, legibly, the material this License requires to appear in the
title page. For works in formats which do not have any title page as such, “Title Page”
means the text near the most prominent appearance of the work’s title, preceding the
beginning of the body of the text.
A section “Entitled XYZ” means a named subunit of the Document whose title either
is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in
another language. (Here XYZ stands for a specific section name mentioned below, such
as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve
the Title” of such a section when you modify the Document means that it remains a
section “Entitled XYZ” according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that
this License applies to the Document. These Warranty Disclaimers are considered to
be included by reference in this License, but only as regards disclaiming warranties:
any other implication that these Warranty Disclaimers may have is void and has no
effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or
noncommercially, provided that this License, the copyright notices, and the license
notice saying this License applies to the Document are reproduced in all copies, and
Appendix A: GNU Free Documentation License 158
that you add no other conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further copying of the copies
you make or distribute. However, you may accept compensation in exchange for copies.
If you distribute a large enough number of copies you must also follow the conditions
in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly
display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of
the Document, numbering more than 100, and the Document’s license notice requires
Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all
these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify you as the publisher
of these copies. The front cover must present the full title with all words of the title
equally prominent and visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve the title of the
Document and satisfy these conditions, can be treated as verbatim copying in other
respects.
If the required texts for either cover are too voluminous to fit legibly, you should put
the first ones listed (as many as fit reasonably) on the actual cover, and continue the
rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100,
you must either include a machine-readable Transparent copy along with each Opaque
copy, or state in or with each Opaque copy a computer-network location from which
the general network-using public has access to download using public-standard network
protocols a complete Transparent copy of the Document, free of added material. If
you use the latter option, you must take reasonably prudent steps, when you begin
distribution of Opaque copies in quantity, to ensure that this Transparent copy will
remain thus accessible at the stated location until at least one year after the last time
you distribute an Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the Document well
before redistributing any large number of copies, to give them a chance to provide you
with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions
of sections 2 and 3 above, provided that you release the Modified Version under precisely
this License, with the Modified Version filling the role of the Document, thus licensing
distribution and modification of the Modified Version to whoever possesses a copy of
it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct from that of the
Document, and from those of previous versions (which should, if there were any,
be listed in the History section of the Document). You may use the same title as
a previous version if the original publisher of that version gives permission.
Appendix A: GNU Free Documentation License 159
B. List on the Title Page, as authors, one or more persons or entities responsible for
authorship of the modifications in the Modified Version, together with at least five
of the principal authors of the Document (all of its principal authors, if it has fewer
than five), unless they release you from this requirement.
C. State on the Title page the name of the publisher of the Modified Version, as the
publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications adjacent to the other
copyright notices.
F. Include, immediately after the copyright notices, a license notice giving the public
permission to use the Modified Version under the terms of this License, in the form
shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections and required Cover
Texts given in the Document’s license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled “History”, Preserve its Title, and add to it an item
stating at least the title, year, new authors, and publisher of the Modified Version
as given on the Title Page. If there is no section Entitled “History” in the Docu-
ment, create one stating the title, year, authors, and publisher of the Document
as given on its Title Page, then add an item describing the Modified Version as
stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for public access to
a Transparent copy of the Document, and likewise the network locations given in
the Document for previous versions it was based on. These may be placed in the
“History” section. You may omit a network location for a work that was published
at least four years before the Document itself, or if the original publisher of the
version it refers to gives permission.
K. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title
of the section, and preserve in the section all the substance and tone of each of the
contributor acknowledgements and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document, unaltered in their text and
in their titles. Section numbers or the equivalent are not considered part of the
section titles.
M. Delete any section Entitled “Endorsements”. Such a section may not be included
in the Modified Version.
N. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in
title with any Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify
as Secondary Sections and contain no material copied from the Document, you may at
your option designate some or all of these sections as invariant. To do this, add their
titles to the list of Invariant Sections in the Modified Version’s license notice. These
titles must be distinct from any other section titles.
Appendix A: GNU Free Documentation License 160
You may add a section Entitled “Endorsements”, provided it contains nothing but
endorsements of your Modified Version by various parties—for example, statements of
peer review or that the text has been approved by an organization as the authoritative
definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up
to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified
Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be
added by (or through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or by arrangement
made by the same entity you are acting on behalf of, you may not add another; but
you may replace the old one, on explicit permission from the previous publisher that
added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission
to use their names for publicity for or to assert or imply endorsement of any Modified
Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this License,
under the terms defined in section 4 above for modified versions, provided that you
include in the combination all of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your combined work in its license
notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical
Invariant Sections may be replaced with a single copy. If there are multiple Invariant
Sections with the same name but different contents, make the title of each such section
unique by adding at the end of it, in parentheses, the name of the original author or
publisher of that section if known, or else a unique number. Make the same adjustment
to the section titles in the list of Invariant Sections in the license notice of the combined
work.
In the combination, you must combine any sections Entitled “History” in the vari-
ous original documents, forming one section Entitled “History”; likewise combine any
sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You
must delete all sections Entitled “Endorsements.”
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released
under this License, and replace the individual copies of this License in the various
documents with a single copy that is included in the collection, provided that you
follow the rules of this License for verbatim copying of each of the documents in all
other respects.
You may extract a single document from such a collection, and distribute it individu-
ally under this License, provided you insert a copy of this License into the extracted
document, and follow this License in all other respects regarding verbatim copying of
that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent
documents or works, in or on a volume of a storage or distribution medium, is called
Appendix A: GNU Free Documentation License 161
an “aggregate” if the copyright resulting from the compilation is not used to limit the
legal rights of the compilation’s users beyond what the individual works permit. When
the Document is included in an aggregate, this License does not apply to the other
works in the aggregate which are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document,
then if the Document is less than one half of the entire aggregate, the Document’s Cover
Texts may be placed on covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form. Otherwise they
must appear on printed covers that bracket the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations
of the Document under the terms of section 4. Replacing Invariant Sections with
translations requires special permission from their copyright holders, but you may
include translations of some or all Invariant Sections in addition to the original versions
of these Invariant Sections. You may include a translation of this License, and all the
license notices in the Document, and any Warranty Disclaimers, provided that you
also include the original English version of this License and the original versions of
those notices and disclaimers. In case of a disagreement between the translation and
the original version of this License or a notice or disclaimer, the original version will
prevail.
If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “His-
tory”, the requirement (section 4) to Preserve its Title (section 1) will typically require
changing the actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly
provided for under this License. Any other attempt to copy, modify, sublicense or
distribute the Document is void, and will automatically terminate your rights under
this License. However, parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such parties remain in full
compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free
Documentation License from time to time. Such new versions will be similar in spirit
to the present version, but may differ in detail to address new problems or concerns.
See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document
specifies that a particular numbered version of this License “or any later version”
applies to it, you have the option of following the terms and conditions either of that
specified version or of any later version that has been published (not as a draft) by
the Free Software Foundation. If the Document does not specify a version number of
this License, you may choose any version ever published (not as a draft) by the Free
Software Foundation.
Appendix A: GNU Free Documentation License 162
Preamble
The licenses for most software are designed to take away your freedom to share and change
it. By contrast, the GNU General Public License is intended to guarantee your freedom
to share and change free software—to make sure the software is free for all its users. This
General Public License applies to most of the Free Software Foundation’s software and to
any other program whose authors commit to using it. (Some other Free Software Foundation
software is covered by the GNU Lesser General Public License instead.) You can apply it
to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General
Public Licenses are designed to make sure that you have the freedom to distribute copies
of free software (and charge for this service if you wish), that you receive source code or
can get it if you want it, that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you
these rights or to ask you to surrender the rights. These restrictions translate to certain
responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you
must give the recipients all the rights that you have. You must make sure that they, too,
receive or can get the source code. And you must show them these terms so they know
their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this
license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author’s protection and ours, we want to make certain that everyone
understands that there is no warranty for this free software. If the software is modified by
someone else and passed on, we want its recipients to know that what they have is not the
original, so that any problems introduced by others will not reflect on the original authors’
reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid
the danger that redistributors of a free program will individually obtain patent licenses, in
effect making the program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone’s free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
Appendix B: GNU General Public License 164
Thus, it is not the intent of this section to claim rights or contest your rights to
work written entirely by you; rather, the intent is to exercise the right to control the
distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the
Program (or with a work based on the Program) on a volume of a storage or distribution
medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2)
in object code or executable form under the terms of Sections 1 and 2 above provided
that you also do one of the following:
a. Accompany it with the complete corresponding machine-readable source code,
which must be distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
b. Accompany it with a written offer, valid for at least three years, to give any third
party, for a charge no more than your cost of physically performing source distri-
bution, a complete machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium customarily
used for software interchange; or,
c. Accompany it with the information you received as to the offer to distribute cor-
responding source code. (This alternative is allowed only for noncommercial dis-
tribution and only if you received the program in object code or executable form
with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifi-
cations to it. For an executable work, complete source code means all the source code
for all modules it contains, plus any associated interface definition files, plus the scripts
used to control compilation and installation of the executable. However, as a spe-
cial exception, the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major components (compiler,
kernel, and so on) of the operating system on which the executable runs, unless that
component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from
a designated place, then offering equivalent access to copy the source code from the
same place counts as distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly
provided under this License. Any attempt otherwise to copy, modify, sublicense or
distribute the Program is void, and will automatically terminate your rights under this
License. However, parties who have received copies, or rights, from you under this
License will not have their licenses terminated so long as such parties remain in full
compliance.
5. You are not required to accept this License, since you have not signed it. However,
nothing else grants you permission to modify or distribute the Program or its derivative
works. These actions are prohibited by law if you do not accept this License. Therefore,
by modifying or distributing the Program (or any work based on the Program), you
indicate your acceptance of this License to do so, and all its terms and conditions for
copying, distributing or modifying the Program or works based on it.
Appendix B: GNU General Public License 166
6. Each time you redistribute the Program (or any work based on the Program), the
recipient automatically receives a license from the original licensor to copy, distribute
or modify the Program subject to these terms and conditions. You may not impose
any further restrictions on the recipients’ exercise of the rights granted herein. You are
not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any
other reason (not limited to patent issues), conditions are imposed on you (whether by
court order, agreement or otherwise) that contradict the conditions of this License, they
do not excuse you from the conditions of this License. If you cannot distribute so as
to satisfy simultaneously your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the Program at all. For
example, if a patent license would not permit royalty-free redistribution of the Program
by all those who receive copies directly or indirectly through you, then the only way
you could satisfy both it and this License would be to refrain entirely from distribution
of the Program.
If any portion of this section is held invalid or unenforceable under any particular
circumstance, the balance of the section is intended to apply and the section as a
whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other
property right claims or to contest validity of any such claims; this section has the
sole purpose of protecting the integrity of the free software distribution system, which
is implemented by public license practices. Many people have made generous contri-
butions to the wide range of software distributed through that system in reliance on
consistent application of that system; it is up to the author/donor to decide if he or
she is willing to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence
of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either
by patents or by copyrighted interfaces, the original copyright holder who places the
Program under this License may add an explicit geographical distribution limitation
excluding those countries, so that distribution is permitted only in or among countries
not thus excluded. In such case, this License incorporates the limitation as if written
in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General
Public License from time to time. Such new versions will be similar in spirit to the
present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a
version number of this License which applies to it and “any later version”, you have
the option of following the terms and conditions either of that version or of any later
version published by the Free Software Foundation. If the Program does not specify a
version number of this License, you may choose any version ever published by the Free
Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distri-
bution conditions are different, write to the author to ask for permission. For software
Appendix B: GNU General Public License 167
which is copyrighted by the Free Software Foundation, write to the Free Software Foun-
dation; we sometimes make exceptions for this. Our decision will be guided by the two
goals of preserving the free status of all derivatives of our free software and of promoting
the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLI-
CABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPY-
RIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS
IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MER-
CHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST
OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO
MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF
THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an
interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’.
This is free software, and you are welcome to redistribute it
under certain conditions; type ‘show c’ for details.
The hypothetical commands ‘show w’ and ‘show c’ should show the appropriate parts of
the General Public License. Of course, the commands you use may be called something
other than ‘show w’ and ‘show c’; they could even be mouse-clicks or menu items—whatever
suits your program.
You should also get your employer (if you work as a programmer) or your school, if any,
to sign a “copyright disclaimer” for the program, if necessary. Here is a sample; alter the
names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
‘Gnomovision’ (which makes passes at compilers) written by James Hacker.