0% found this document useful (0 votes)
57 views181 pages

IWF Metadata Harvester Manual: Laurence D. Finston

Uploaded by

wiw_scribd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views181 pages

IWF Metadata Harvester Manual: Laurence D. Finston

Uploaded by

wiw_scribd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 181

IWF Metadata Harvester Manual

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

2 About This Manual . . . . . . . . . . . . . . . . . . . . . . . . 3


2.1 Copying Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

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

7 Special Character Encodings. . . . . . . . . . . . . . . . 9

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

14 ODBC Classes for ATest . . . . . . . . . . . . . . . . . 24


14.1 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
14.2 Records Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
14.3 Creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
14.4 Creators Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14.5 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14.6 Contributors Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14.7 Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14.8 Titles Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
14.9 Descriptions Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
14.10 Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
14.11 Subjects Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
14.12 Identifiers Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
14.13 Languages Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
14.14 Publishers Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
14.15 Rights Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
14.16 Types Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
v

14.17 Temp IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28


14.18 Temp IDs 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

15 Database Tables for ATest. . . . . . . . . . . . . . . . 30


15.1 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
15.2 Records Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
15.3 Creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
15.4 Creators Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
15.5 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
15.6 Contributors Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
15.7 Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
15.8 Titles Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
15.9 Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
15.10 Descriptions Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15.11 Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15.12 Subjects Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15.13 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15.14 Identifiers Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15.15 Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
15.16 Languages Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15.17 Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15.18 Publishers Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15.19 Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
15.20 Rights Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
15.21 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
15.22 Types Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
15.23 Temp IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
15.24 Temp IDs 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

16 Database Stored Procedures. . . . . . . . . . . . . . 36

17 ZTest: Z39.50 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.1 Global Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.2 Global Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
17.3 Adding Category and Field Functions ZTest . . . . . . . . . . . . . . . . . 37

18 How ZTest Works . . . . . . . . . . . . . . . . . . . . . . . 38

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

22 Pica Formats and Records . . . . . . . . . . . . . . . 50


22.1 Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
22.2 Categories and Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
22.2.1 Repeat Codes for Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
22.2.2 Repeated Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
22.3 Displaying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

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

23.11 209R Local information regarding remote access to electronic


resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
23.11.1 209R Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

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

26.3.3.4 Place of Publication; Publisher . . . . . . . . . . . . . . . . . . . . 71


26.3.3.5 Subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
26.3.3.6 Call Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
26.3.3.7 Local Information Regarding Remote Access to
Electronic Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
26.3.3.8 Functions for Groups of Categories . . . . . . . . . . . . . . . . 75

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

29 Displaying Database Contents (DB Display)


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
29.1 Data Members . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
29.2 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
29.2.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
29.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
29.2.3 Counting Records. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
29.2.4 Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
ix

30 ODBC Classes for ZTest . . . . . . . . . . . . . . . . . 98


30.1 PICA Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
30.2 PICA Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
30.3 PICA Categories PICA Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
30.4 Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
30.5 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
30.6 Access Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
30.7 Call Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
30.8 Records Call Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
30.9 Exemplar Production Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
30.10 Bibliographic Type Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
30.11 Bibliographic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
30.12 Records Bibliographic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
30.13 Physical Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
30.14 Records Physical Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
30.15 Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
30.16 Records Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
30.17 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
30.18 Records Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
30.19 Main Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
30.20 Records Main Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
30.21 Content Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
30.22 Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
30.23 Records Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
30.24 Subject Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
30.25 Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
30.26 Records Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
30.27 Permutation Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
30.28 Remote Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
30.29 Records Remote Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
30.30 Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
30.31 Records Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
30.32 Database Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
30.33 Records Database Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
30.34 Temp IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

31 Database Tables for ZTest. . . . . . . . . . . . . . . 110


31.1 Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
31.2 PICA Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
31.3 PICA Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
31.4 PICA Categories PICA Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
31.5 Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
31.6 Bibliographic Type Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
31.7 Bibliographic Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
31.8 Records Bibliographic Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
31.9 Main Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
31.10 Records Main Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
31.11 Content Summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
x

31.12 Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114


31.13 Records Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
31.14 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
31.15 Records Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
31.16 Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
31.17 Records Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
31.18 Database Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
31.19 Records Database Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
31.20 Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
31.21 Records Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
31.22 Physical Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
31.23 Records Physical Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
31.24 Remote Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
31.25 Records Remote Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
31.26 Exemplar Production Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . 118
31.27 Call Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
31.28 Records Call Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
31.29 Access Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
31.30 Subject Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
31.31 Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
31.32 Records Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
31.33 Permutation Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
31.34 Temp IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

32 Database Stored Procedures . . . . . . . . . . . . 123

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

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

Appendix A GNU Free Documentation License


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
A.0.1 ADDENDUM: How to use this License for your documents
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Appendix B GNU General Public License . . 163


Chapter 1: Introduction 1

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.1 Standards and Protocols


In order for the communication between client and server to function, both must adhere
to a common set of standards and protocols. There are many standards governing the
communication of clients and servers over computer networks, old and new, for various
purposes, and development in this area continues apace.
These standards and protocols and their implementation is a complex subject, and dif-
ferent standards and protocols are not always directly comparable. It often useful to speak
of the “kind” or “type” of a server, but it can be difficult to define precisely what this
means.
Currently, the IWF Metadata Harvester can access two “types” of server: “OAI servers”,
i.e., ones using the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH),
and “Z39.50 Servers”, i.e., ones using the Z39.50 protocol.
The IWF Metadata Harvester contains two programs, ATest and ZTest, whereby ATest
accesses OAI servers and ZTest accesses Z39.50 servers. Of the two protocols, the OAI-
PMH is much simpler, more straightforward, and more modern than Z39.50, which seems
unnecessarily complex and old-fashioned in comparison. Nonetheless, Z39.50 does have
some advantages over OAI-PMH, and is still widely used, especially by libraries.

1.2 Retrieving Data


1.2.1 OAI
Retrieving data from an OAI server is no problem, because one simply uses the Hypertext
Transfer Protocol used in the World Wide Web (WWW) for transferring data in HTML
(Hypertext Markup Language) format, such as web pages. Microsoft Visual C++ provides
library functions for accessing servers using HTTP, as do other implementations of C++
libraries.

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 Data Formats


1.3.1 OAI
The data supplied by an OAI server is in XML format. XML has become a popular format
for exchanging data in several different areas within the field of computer and database pro-
gramming. It is a very clearly structured format and allows for a hierarchical organization
of data. Because of its popularity, documentation is easily accessible, code samples and soft-
ware for processing XML data is widely available, and the relevant standards committees
are active. The use of such a popular and well-supported format for data exchange makes
it easier to use OAI interfaces, because established methods can be used for accessing and
manipulating the data. In fact, it was unnecessary to program an XML parser in ATest,
because Microsoft SQL Server 2000 provides a system stored procedure for representing
XML data in tabular form.

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

2 About This Manual

2.1 Copying Conditions


See Appendix A [GNU Free Documentation License], page 156, (a.k.a. GNU FDL) for copy-
ing conditions. The code is contained in the file ‘fdl.texi’, which should have been included
in the in the distribution. If you haven’t received a copy of the GNU Free Documentation
License, you can obtain one from this address:
The Free Software Foundation
51 Franklin St, Fifth Floor
Boston, MA 02110-1301, USA
http://www.gnu.org/
http://www.gnu.org/licenses/licenses.html
Chapter 3: Databases 4

3 Databases

3.1 Association Tables


The databases which are included in the IWF Metadata Harvester make heavy use of
“association tables”. These are database tables that associate entries of two or more other
database tables.
Association tables are needed when a data record can contain multiple items of infor-
mation of the same type. For example, a book may have more than one author. It would
be possible to define a “Book” database table with a column “author_name”, but then it
would only be possible to store the name of a single author in a line of of the Books table.
A better approach is to define a second table “Authors”. Both the Books table and
the Authors table should have a column containing a unique, numeric identifier, book_id,
and author_id, respectively. These columns should each be associated with primary key
constraints for their table. Let us further assume that the Authors table has a column
“author_name”.
Now, a third table, “Records_Authors” can be defined with the two columns “book_
id” and “author_id”. These columns should be associated with foreign key constraints
referencing the Books table and the Authors table, respectively.
Consider the case that a book has three authors. First, an entry is created in the Books
table, and it is assigned a book_id, say 1. Then, three entries are created in the Authors
table, and they are assigned author_ids, for example, with the values ‘1’, ‘2’, and ‘3’.
Then, three entries are created in the Books_Authors table as follows:

book id author id
1 1
1 2
1 3
Now, the names of all of the authors associated with this book can be found by using
the following Transact-SQL query:
select A.author_name
from Authors as A, Books as B, Books_Authors as BA
where
A.author_id = BA.author_id
and
B.book_id = BA.book_id
and
B.book_id = 1

3.2 “Continuation” Columns


When strings are too long, they are not written to the database correctly, but no er-
ror is signalled. However, CDatabase::ExecuteSQL or CRecordset::Open throws and ex-
ception, when trying to read the string out of the database: Error Code 1021 ‘‘Daten
abgeschnitten’’ (‘‘Data truncated’’).
Chapter 3: Databases 5

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

7 Special Character Encodings.


See also “UTF-8 encoding table and Unicode characters”
(http://www.utf8-chartable.de/) and “Universal Character Set — Wikipedia, the free
encyclopedia” (http://en.wikipedia.org/wiki/Universal_Character_Set).

Hex. Oct. Dec. UTF-8 Enc. Sym. Unicode Name


#
80 ◦
200 128 #
C2 80 Â\200 \200 hcontroli
#
81 ◦
201 129 #
C2 81 Â\201 \201 hcontroli
#
82 ◦
202 130 #
C2 82 Â\202 \202 hcontroli
#
83 ◦
203 131 #
C2 83 Â\203 \203 hcontroli
#
84 ◦
204 132 #
C2 84 Â\204 \204 hcontroli
#
85 ◦
205 133 #
C2 85 Â\205 \205 hcontroli
#
86 ◦
206 134 #
C2 86 Â\206 \206 hcontroli
#
87 ◦
207 135 #
C2 87 Â\207 \207 hcontroli
#
88 ◦
210 136 #
C2 88 Â\210 \210 hcontroli
#
89 ◦
211 137 #
C2 89 Â\211 \211 hcontroli
#
8A ◦
212 138 #
C2 8A Â\212 \212 hcontroli
#
8B ◦
213 139 #
C2 8B Â\213 \213 hcontroli
#
8C ◦
214 140 #
C2 8C Â\214 \214 hcontroli
#
8D ◦
215 141 #
C2 8D Â\215 \215 hcontroli
#
8E ◦
216 142 #
C2 8E Â\216 \216 hcontroli
#
8F ◦
217 143 #
C2 8F Â\217 \217 hcontroli
#
93 ◦
223 147 #
C2 93 Â\223 \223 hcontroli
#
96 ◦
226 150 #
C2 96 Â\226 \226 hcontroli
#
97 ◦
227 151 #
C2 97 Â\227 \227 hcontroli
#
9B ◦
233 155 #
C2 9B Â\233 \233 hcontroli
#
9C ◦
234 156 #
C2 9C Â\234 \234 hcontroli
#
9F ◦
237 159 #
C2 9F Â\237 \237 hcontroli
#
A0 ◦
240 160 #
C2 A0 Â\240 \240 No-Break Space
#
A1 ◦
241 161 #
C2 A1 ¡ ¡ Inverted Exclamation Mark
#
A4 ◦
244 164 #
C2 A4 ¤ ¤ Currency Sign
#
A8 ◦
250 168 #
C2 A8 ¨ ¨ Diaeresis
#
A7 ◦
247 167 #
C2 A7 § § Section Sign
#
A9 ◦
251 169 #
C2 A9 Â c c
Copyright Sign
#
AD ◦
255 173 #
C2 AD Â- - Soft Hyphen
#
AE ◦
256 174 #
C2 AE ® ® Registered Sign
#
AF ◦
257 175 #
C2 AF ¯ ¯ Macron
(cont.)
Chapter 7: Special Character Encodings. 10

Hex. Oct. Dec. UTF-8 Enc. Sym. Unicode Name


#
B0 ◦
260 176 #
C2 B0 ° ° Degree Sign
#
B1 ◦
261 177 #
C2 B1 ± ± Plus-Minus Sign
#
B3 ◦
263 179 #
C2 B3 Â3 3
Superscript Three
#
B4 ◦
264 180 #
C2 B4 ´ ´ Acute Accent
#
B5 ◦
265 181 #
C2 B5 µ µ Micro Sign
#
B6 ◦
266 182 #
C2 B6 ¶ ¶ Pilcrow Sign
#
B7 ◦
267 183 #
C2 B7 · · Middle Dot
#
B8 ◦
270 184 #
C2 B8 Â Cedilla
#
BC ◦
274 188 #
C2 BC ¼ ¼ Vulgar Fraction One Quarter
#
BD ◦
275 189 #
C2 BD ½ ½ Vulgar Fraction One Half
#
BF ◦
277 191 #
C2 BF ¿ ¿ Inverted Question Mark
Latin Capital Letter A
#
C0 300

192 #
C3 80 Ã\200 À With Grave
Latin Capital Letter A
#
C1 301

193 #
C3 81 Ã\201 Á With Acute
Latin Capital Letter A
#
C2 302

194 #
C3 82 Ã\202 Â With Circumflex
Latin Capital Letter A
#
C3 303

195 #
C3 83 Ã\203 Ã With Tilde
Latin Capital Letter A
#
C4 304

196 #
C3 84 Ã\204 Ä With Diaeresis
Latin Capital Letter A
#
C5 305

197 #
C3 85 Ã\205 Å With Ring Above
#
C6 306

198 #
C3 86 Ã\206 Æ Latin Capital Letter AE
Latin Capital Letter C
#
C7 307

199 #
C3 87 Ã\207 Ç With Cedilla
Latin Capital Letter E
#
C8 310

200 #
C3 88 Ã\210 È With Grave
Latin Capital Letter E
#
C9 311

201 #
C3 89 Ã\211 É With Acute
Latin Capital Letter E
#
CA 312

202 #
C3 8A Ã\212 Ê With Circumflex
Latin Capital Letter E
#
CB 313

203 #
C3 8B Ã\213 Ë With Diaeresis
Latin Capital Letter I
#
CE 316

206 #
C3 8E Ã\216 Î With Circumflex
Latin Capital Letter O
#
D6 ◦
326 214 #
C3 96 Ã\226 Ö With Diaeresis
#
D7 ◦
327 215 #
C3 97 Ã\227 × Multiplication Sign
Latin Capital Letter U
#
DB 333

219 #
C3 9B Ã\233 Û With Circumflex
Latin Capital Letter U
#
DC 334

220 #
C3 9C Ã\234 Ü With Diaeresis
#
DF 337

223 #
C3 9F Ã\237 ß Latin Small Letter Sharp S
(cont.)
Chapter 7: Special Character Encodings. 11

Hex. Oct. Dec. UTF-8 Enc. Sym. Unicode Name


Latin Small Letter A
#
E0 340

224 #
C3 A0 Ã\240 à With Grave
Latin Small Letter A
#
E1 341

225 #
C3 A1 á á With Acute
Latin Small Letter A
#
E4 344

228 #
C3 A4 ä ä With Diaeresis
Latin Small Letter C
#
E7 347

231 #
C3 A7 ç ç With Cedilla
Latin Small Letter E
#
E8 350

232 #
C3 A8 è è With Grave
Latin Small Letter E
#
E9 351

233 #
C3 A9 c
à é With Acute
Latin Small Letter I
#
ED 355

237 #
C3 AD Ã- ı́ With Acute
Latin Small Letter I
#
EE 356

238 #
C3 AE î ı̂ With Circumflex
Latin Small Letter I
#
EF 357

239 #
C3 AF ï ı̈ With Diaeresis
Latin Small Letter N
#
F1 361

241 #
C3 B1 ñ ñ With Tilde
Latin Small Letter O
#
F3 363

243 #
C3 B3 Ã3 ó With Acute
Latin Small Letter O
#
F6 366

246 #
C3 B6 ö ö With Diaeresis
Latin Small Letter U
#
FC 374

252 #
C3 BC ü ü With Diaeresis
Latin Small Letter Y
#
FD 375

253 #
C3 BD ý ý With Acute
Latin Small Letter Y
#
FF 377

255 #
C3 BF ÿ ÿ With Diaeresis
Chapter 8: ATest 12

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

Class Dialog_1 is declared in ‘dialog1a.web’.

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.

Radio Button “TIMMS (Tübingen)”


Radio Button “DBT (Digitale Bibliothek Thüringen)”
Edit Box Contains messages for the user. The user doesn’t enter text into it.

Check Box “Delete Old Records”.


If checked, then the old records in the dc_test database are deleted before
the data from the newly-downloaded records is written to it. This is useful for
testing purposes, but will not be done in production.

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.2 Data Members


unsigned short timespan [Protected Variable]
CString edit_1_str [Protected Variable]
unsigned short metadata_source [Protected Variable]
int day_of_month [Protected Variable]
int day_of_week [Protected Variable]
int month_of_year [Protected Variable]
CTime t0 [Protected Variable]

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

afx_msg void OnBnClickedThisWeek (void)


afx_msg void OnBnClickedLastWeek (void)
afx_msg void OnBnClickedThisMonth (void)
afx_msg void OnBnClickedLastMonth (void)
afx_msg void OnBnClickedLast6Months (void)
afx_msg void OnBnClickedThisYear (void)
afx_msg void OnBnClickedLastYear (void)
afx_msg void OnBnClickedLast2Years (void)
afx_msg void OnBnClickedLast5Years (void)
afx_msg void OnBnClickedLast10Years (void)
afx_msg void OnBnClickedLast20Years (void)
Chapter 10: Dialog 2 16

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

Radio Button “Use dc:date”


Radio Button “Use header datestamp”
Button “List Records”
Group (List Fields)
No caption
Button “Titles”
The output is written to ‘titles.html’.
Button “Creators”
The output is written to ‘creators.html’.
Button “Contributors”
The output is written to ‘contributors.html’.
Button “Subjects”
The output is written to ‘subjects.html’.
Edit Box “Messages”
Button “OK”
Button “Cancel”

10.3 Data Members


unsigned int select_value [Protected Variable]
CString results_str [Protected Variable]
CString search_str [Protected Variable]
BOOL ignore_case [Protected Variable]
unsigned int search_options [Protected Variable]
unsigned short timespan [Protected Variable]
unsigned short sort_order [Protected Variable]
unsigned short sort_field [Protected Variable]
unsigned short use_date_type [Protected Variable]
BOOL suppress_duplicate_records [Protected Variable]

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

10.4.4 Event Handlers


BOOL OnInitDialog (void) [Virtual function]
afx_msg void OnBnClickedOk (void) [Function]
afx_msg void OnBnClickedCancel (void) [Function]
afx_msg void OnBnClickedSearch (void) [Function]
afx_msg void OnBnClickedBegOrWholeWord (void) [Functions]
afx_msg void OnBnClickedWholeWordOnly (void)
afx_msg void OnBnClickedWholeOrPartialWord (void) [Function]
afx_msg void OnBnClickedCaseIgnore (void) [Function]
afx_msg void OnBnClickedExactMatch (void) [Function]
afx_msg void OnBnClickedAllDates (void) [Function]
afx_msg void OnBnClickedSinceLastYear (void) [Functions]
afx_msg void OnBnClickedThisYear (void)
afx_msg void OnBnClickedLast6Months (void) [Function]
afx_msg void OnBnClickedLastMonth (void) [Function]
afx_msg void OnBnClickedThisMonth (void) [Function]
afx_msg void OnBnClickedThisWeek (void) [Function]
afx_msg void OnBnClickedListRecords (void) [Function]
afx_msg void OnBnClickedDescending (void) [Function]
afx_msg void OnBnClickedUseDcDate (void) [Function]
afx_msg void OnBnClickedUseHeaderDatestamp (void) [Function]
afx_msg void OnBnClickedListTitles (void) [Function]
afx_msg void OnBnClickedCreators (void) [Function]
afx_msg void OnBnClickedContributors (void) [Function]
afx_msg void OnBnClickedSubjects (void) [Function]
Chapter 11: Global Functions 19

11 Global Functions
int get_http_file (LPCTSTR pszURL ) [Function]
Chapter 12: MetadataSource 20

12 MetadataSource
Class MetadataSource is declared in ‘mtdtsrc.web’.

12.1 Data Members


unsigned short NULL_METADATA_SOURCE [Public static constants]
unsigned short TIMMS
unsigned short DBT
unsigned short MAX_TAG_LENGTH [Public static constant]
unsigned short MAX_RESUMPTION_TOKEN [Public static constant]

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’.

13.1 Data Members


13.1.1 Constants
unsigned short QUERY_NULL_TYPE [Public Static Constants]
unsigned short QUERY_SEARCH
unsigned short QUERY_LISTING
unsigned short NULL_TIMESPAN [Public Static Constants]
unsigned short TODAY
unsigned short YESTERDAY
unsigned short THIS_WEEK
unsigned short LAST_WEEK
unsigned short THIS_MONTH
unsigned short LAST_MONTH
unsigned short LAST_6_MONTHS
unsigned short THIS_YEAR
unsigned short LAST_YEAR
unsigned short LAST_2_YEARS
unsigned short LAST_5_YEARS
unsigned short LAST_10_YEARS
unsigned short LAST_20_YEARS
unsigned short ALL_RECORDS
unsigned short USE_DC_DATE [Public Static Constants]
unsigned short USE_HEADER_DATESTAMP
unsigned short SORT_ASCENDING [Public Static Constants]
unsigned short SORT_DESCENDING
unsigned short SORT_FIELD_RECORD_ID [Public Static Constants]
unsigned short SORT_FIELD_CREATOR
unsigned short SORT_FIELD_TITLE
unsigned short SORT_FIELD_DC_DATE
unsigned short SORT_FIELD_HEADER_DATESTAMP
unsigned int CONTRIBUTORS [Public Static Constants]
unsigned int CREATORS
unsigned int DC_DATES
unsigned int DESCRIPTIONS
unsigned int DESCRIPTIONS
unsigned int HEADER_DATESTAMPS
unsigned int IDENTIFIERS
unsigned int LANGUAGES
unsigned int PUBLISHERS
unsigned int RIGHTS
Chapter 13: Selector 22

unsigned int SUBJECTS


unsigned int TITLES
unsigned int TYPES
unsigned int BEG_OR_WHOLE_WORD [Public Static Constants]
unsigned short WHOLE_WORD_ONLY
unsigned short WHOLE_OR_PARTIAL_WORD
unsigned short EXACT_MATCH
unsigned int IGNORE_CASE [Public Static Constants]
13.1.2 Variables
CRecords curr_record [Protected Variable]
CDatabase* cdb [Variable]
CRecords records [Variables]
CContributors contributors
CCreators creators
CSubjects subjects
CTitles titles
CTemp_IDs temp_ids
CTemp_IDs_1 temp_ids_1
CRecords_Temp records_temp
CContributors_Temp contributors_temp
CCreators_Temp creators_temp
CDescriptions_Temp descriptions_temp
CIdentifiers_Temp identifiers_temp
CLanguages_Temp languages_temp
CPublishers_Temp publishers_temp
CRights_Temp rights_temp
CSubjects_Temp subjects_temp
CTitles_Temp titles_temp
CTypes_Temp types_temp
These variables reference database tables.

stringstream contributor_strm [Variables]


stringstream creator_strm
stringstream dc_date_strm
stringstream description_strm
stringstream header_datestamp_strm
stringstream identifier_strm
stringstream language_strm
stringstream publisher_strm
stringstream rights_strm
stringstream subject_strm
stringstream title_strm
stringstream type_strm
Chapter 13: Selector 23

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 ODBC Classes for ATest

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.

14.2 Records Temp


Class Records_Temp is declared in ‘rcrdstmp.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Records_Temp table in the dc_test
database. See Section 15.2 [Records Temp (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

14.4 Creators Temp


Class Creators_Temp is declared in ‘crtrstmp.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Creators_Temp table in the dc_test
database. See Section 15.4 [Creators Temp (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_Temp table in
the dc_test database. See Section 15.4 [Creators Temp (ATest Database Tables)],
page 31.

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

long m_contributor_id [Variable]


CStringA m_dc_contributor
long m_institution_id
long m_person_id
These variables reference the corresponding columns in the Contributors table in the
dc_test database. See Section 15.5 [Contributors (ATest Database Tables)], page 31.

14.6 Contributors Temp


Class Contributors_Temp is declared in ‘cntrbtmp.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Contributors_Temp table in the dc_
test database. See Section 15.6 [Contributors Temp (ATest Database Tables)], page 32.

Data Members

long m_contributor_id [Variables]


CStringA m_dc_contributor
long m_institution_id
long m_person_id
These variables reference the corresponding columns in the Contributors_Temp table
in the dc_test database. See Section 15.6 [Contributors Temp (ATest Database
Tables)], page 32.
Chapter 14: ODBC Classes for ATest 26

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.

14.8 Titles Temp


Class Titles_Temp is declared in ‘ttlstmp.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Titles_Temp table in the dc_test
database. See Section 15.8 [Titles Temp (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.

14.9 Descriptions Temp


Class Descriptions_Temp is declared in ‘dscrptmp.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.10 [Descriptions Temp (ATest Database
Tables)], page 33.

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.

14.11 Subjects Temp


Class Subjects_Temp is declared in ‘sbjcttmp.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Subjects_Temp table in the dc_test
database. See Section 15.12 [Subjects Temp (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.

14.12 Identifiers Temp


Class Identifiers_Temp is declared in ‘identtmp.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.14 [Identifiers 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.

14.13 Languages Temp


Class Languages_Temp is declared in ‘langtmp.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.16 [Languages Temp (ATest Database
Tables)], page 34.

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.

14.14 Publishers Temp


Class Publishers_Temp is declared in ‘pblshtmp.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.18 [Publishers Temp (ATest Database
Tables)], page 34.
Chapter 14: ODBC Classes for ATest 28

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.

14.15 Rights Temp


Class Rights_Temp is declared in ‘rghtstmp.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.20 [Rights Temp (ATest Database
Tables)], page 35.

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.

14.16 Types Temp


Class Types_Temp is declared in ‘typestmp.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.22 [Types 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.

14.17 Temp IDs


Class Temp_IDs is declared in ‘tempids.web’. It is derived from the MFC class CRecordset
using public derivation. See Section 15.23 [Temp IDs (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

14.18 Temp IDs 1


Class Temp_IDs_1 is declared in ‘tempids1.web’. It is derived from the MFC class
CRecordset using public derivation. See Section 15.24 [Temp IDs 1 (ATest Database
Tables)], page 35.

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

15 Database Tables for ATest

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.

int identity not null record_id [Column]


primary key PK_Records [Constraint]
The values stored in the record_id column are the unique identifiers for the records
stored in the Records table. These values are used in other tables, including associ-
ation tables, for associating data from other tables with particular records.

varchar(512) not null header_identifier [Column]


The default value is ’N/A’.

datetime not null header_datestamp [Column]


varchar(128) not null header_status [Column]
The default value is ’normal’.

datetime null dc_date [Column]


int not null source_id [Column]
References Sources(source_id). The default value is 0.

15.2 Records Temp


This database table is referenced by the ODBC class Records_Temp. See Section 14.2
[Records Temp (ATest; ODBC Classes)], page 24.

int not null record_id [Column]


varchar(512) not null header_identifier [Column]
The default value is ’N/A’.

datetime not null header_datestamp [Column]


The default value is ’N/A’.

varchar(128) not null header_status [Column]


The default value is ’normal’.

datetime null dc_date [Column]


int not null source_id [Column]
Chapter 15: Database Tables for ATest 31

15.3 Creators
This database table is referenced by the ODBC class Creators. See Section 14.3 [Creators
(ATest; ODBC Classes)], page 24.

int identity (0, 1) not null creator_id [Column]


primary key PK_Creators [Constraint]

varchar(64) not null dc_creator [Column]


The default value is ’N/A’.

int not null institution_id [Column]


References Institutions(institution_id). The default value is 0.

int not null person_id [Column]


References Persons(person_id). The default value is 0.

15.4 Creators Temp


This database table is referenced by the ODBC class Creators_Temp. See Section 14.4
[Creators Temp (ATest; ODBC Classes)], page 25.

int not null creator_id [Column]

varchar(64) not null dc_creator [Column]


The default value is ’N/A’.

int not null institution_id [Column]

int not null person_id [Column]

15.5 Contributors
This database table is referenced by the ODBC class Contributors. See Section 14.5
[Contributors (ATest; ODBC Classes)], page 25.

int identity not null contributor_id [Column]


primary key PK_Contributors [Constraint]

varchar(512) not null dc_contributor [Column]


The default value is ’N/A’.

int not null institution_id [Column]


References Institutions(institution_id). The default value is 0.

int not null person_id [Column]


References Persons(institution_id). The default value is 0.
Chapter 15: Database Tables for ATest 32

15.6 Contributors Temp


This database table is referenced by the ODBC class Contributors_Temp. See Section 14.6
[Contributors Temp (ATest; ODBC Classes)], page 25.

int not null person_id [Column]


The default value is 0.

int not null contributor_id [Column]


varchar(512) not null dc_contributor [Column]
The default value is ’N/A’.

int not null institution_id [Column]


The default value is 0.

15.7 Titles
This database table is referenced by the ODBC class Titles. See Section 14.7 [Titles
(ATest; ODBC Classes)], page 25.

int identity not null title_id [Column]


primary key PK_Titles [Constraint]
int not null record_id [Column]
References Records(record_id).

varchar(512) dc_title [Column]

15.8 Titles Temp


This database table is referenced by the ODBC class Titles_Temp. See Section 14.8 [Ti-
tles Temp (ATest; ODBC Classes)], page 26.

int not null title_id [Column]


int not null record_id [Column]
varchar(512) dc_title [Column]

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).

varchar(2048) not null dc_description [Column]


The default value is ’N/A’.
Chapter 15: Database Tables for ATest 33

15.10 Descriptions Temp


This database table is referenced by the ODBC class Descriptions_Temp. See Section 14.9
[Descriptions Temp (ATest; ODBC Classes)], page 26.
int not null description_id [Column]
int not null record_id [Column]
varchar(2048) not null dc_description [Column]
The default value is ’N/A’.

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.12 Subjects Temp


This database table is referenced by the ODBC class Subjects_Temp. See Section 14.11
[Subjects Temp (ATest; ODBC Classes)], page 27.
int not null subject_id [Column]
varchar(512) 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.14 Identifiers Temp


This database table is referenced by the ODBC class Identifiers_Temp. See Section 14.12
[Identifiers Temp (ATest; ODBC Classes)], page 27.
int not null identifier_id [Column]
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.16 Languages Temp


This database table is referenced by the ODBC class Languages_Temp. See Section 14.13
[Languages Temp (ATest; ODBC Classes)], page 27.
int not null language_id [Column]
varchar(64) not null dc_language [Column]
The default value is ’N/A’.

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.18 Publishers Temp


This database table is referenced by the ODBC class Publishers_Temp. See Section 14.14
[Publishers Temp (ATest; ODBC Classes)], page 27.
int not null publisher_id [Column]
varchar(64) not null dc_publisher [Column]
The default value is ’N/A’.
int not null person_id [Column]
The default value is 0.
int not null institution_id [Column]
The default value is 0.
int not null company_id [Column]
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.20 Rights Temp


This database table is referenced by the ODBC class Rights_Temp. See Section 14.15
[Rights Temp (ATest; ODBC Classes)], page 28.

int not null rights_id [Column]


varchar(1024) not null dc_rights [Column]
The default value is ’N/A’.

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’.

15.22 Types Temp


This database table is referenced by the ODBC class Types_Temp. See Section 14.16
[Types Temp (ATest; ODBC Classes)], page 28.

int not null type_id [Column]


varchar(64) not null dc_type [Column]
The default value is ’N/A’.

15.23 Temp IDs


This database table is referenced by the ODBC class Temp_IDs. See Section 14.17
[Temp IDs (ATest; ODBC Classes)], page 28.

int temp_id [Column]

15.24 Temp IDs 1


This database table is referenced by the ODBC class Temp_IDs_1. See Section 14.18
[Temp IDs 1 (ATest; ODBC Classes)], page 29.

int temp_id [Column]


Chapter 16: Database Stored Procedures 36

16 Database Stored Procedures


create_catalogues [Stored Procedure]
create_tables [Stored Procedure]
delete_tables [Stored Procedure]
drop_tables [Stored Procedure]
fill_catalogues [Stored Procedure]
list_records ( [Stored Procedure]
int @sort_field ,
int @sort_order,
bit @timespan )
search_for_records ( [Stored Procedure]
nvarchar(128) @search_str,
int @search_options,
bit @contributor_value,
bit @creator_value,
bit @description_value,
bit @identifier_value,
bit @language_value,
bit @publisher_value,
bit @rights_value,
bit @subject_value,
bit @title_value,
bit @type_value )
store_in_temp_tables (int @temp_record_id ) [Stored Procedure]
write_to_tables ( [Stored Procedure]
int @source_number,
bigint @record_ctr,
ntext @XML_data,
nvarchar(4000) @namespace_data )
Chapter 17: ZTest: Z39.50 37

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.

17.1 Global Variables


CMutex time_mutex [Global Variable]
Declared in ‘ztest.web’ and declared extern in ‘stdafx.web’.

17.2 Global Functions


int zoomtst2 ( [Global Function]
unsigned short server selector,
CString search command,
[bool perform search = true,
[bool write records file = true,
[bool clear database = true,
[bool parse records = true,
[bool display records = true]]]]])
Defined in ‘ztstzoom.web’.

17.3 Adding Category and Field Functions ZTest


1. Add code to ZClient::init_category_map.
2. Add declarations and definitions of f_ functions to ‘sbctgcnt.web’.
3. Add declarations and definitions of F_ functions, if any, to ‘ctgcntnr.web’.
Chapter 18: How ZTest Works 38

18 How ZTest Works


When ZTest is started, a dialog box is displayed. This dialog box is associated with the
class Dialog_Z_1, which is described in Chapter 19 [Dialog Z 1 ZTest], page 40. Clicking
the “OK” button will cause the event handler Dialog_Z_1::OnOK to be called. See Sec-
tion 19.3.3 [Event Handlers], page 41. Dialog_Z_1::OnOK, in turn, calls the global function
zoomtst2. See Section 17.2 [Global Functions], page 37. Assuming all of the options are
checked, zoomtst2 performs the following actions:
1. Create a ZClient object.
An identification number, the name of the server, and, optionally, a port number, are
passed to the ZClient constructor, e.g.,
ZClient z(ZClient::GBV_GVK_ID, "z3950.gbv.de:20010/GVK");
See Section 20.2.1 [ZClient; Constructors], page 42. ZClient::GBV_GVK_ID is the iden-
tifier for the the German Gemeinsamer Verbundkatalog (GVK, engl. Union Catalogue)
of the Gemeinsamer Bibliotheksverbund (GBV, engl. Common Library Network). See
Section 20.1.1 [ZClient; Static Constants], page 42. The corresponding server, i.e.,
z3950.gbv.de:20010/GVK, is so far the only one addressed by ZTest.
2. Initialize ZClient::category_map
ZClient::category_map is a protected data member of ZClient, and is of type
Category_Map_Type. The latter is a type definition (or “typedef ”) for map<string,
Category_Container*>. See Chapter 26 [Category Container], page 70.
Initialization is performed by the function ZClient::init_category_map. See Sec-
tion 20.2.3 [ZClient Initialization], page 42.
3. Search
The search query in the edit box will be sent to the Z39.50 interface.
4. Write records file
If the search is successful, the Z39.50 interface returns a stream of data containing
bibliographic records in Pica+ format. This data is written to the file ‘records.txt’.
5. Clear database (only if parsing)
The function ZClient::clear_database causes the Transact-SQL stored procedures
‘delete_tables’ and ‘regenerate_tables’ to be executed in the PICA database. See
Chapter 32 [ZTest; Database Stored Procedures], page 123.
6. Parse records
The function ZClient::parse_records is called with the string "records.txt" as its
argument. Parsing is somewhat complex. ZClient::parse_records is described in
Section 20.2.7 [ZClient; Parsing], page 43.
7. Display records
An object of type DB_Display called db_display is created. See Chapter 29 [Displaying
Database Contents (DB Display)], page 94. Then, the functions DB_Display::open_
html_file and DB_Display::display_records are called on it. See Section 29.2.4
[DB Display; Output], page 94. They cause HTML code to be written to the file
whose name is passed as an argument to DB_Display::open_html_file, currently,
"records.html".
Chapter 18: How ZTest Works 39

8. Clean up and exit


Call ZOOM_resultset_destroy and ZOOM_connection_destroy to clean up. !! TODO:
Document these functions! LDF 2006.09.11.
Chapter 19: Dialog Z 1 40

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.1 Dialog Box 1


Edit Box “Enter search string:”
Contains a search query. The default is currently “@and @and @attr 1=59
Clausthal @attr 1=1031 @attr 4=1 "Elektronische Ressource" @attr
1=31 @attr 2=4 @attr 4=4 2006”.
Group “Options”
Check Box “Perform search”
Check Box “Write records file”
Check Box “Clear database (only if parsing)”
Check Box “Parse Records”
Check Box “Display Records”
If checked, output is written to ‘records.html’.
Group (Display Options)
Radio Button “All records”
Radio Button (Range)
Edit Box “From:”
Record number at low end of range.
Edit Box “To:”
Record number at high end of range.
Group “Search Options”
List Box “Servers”
List of servers to which connections should be made.
Button “OK”
Press to perform actions.
Button “Cancel”
ZTest exits.

19.2 Data Members


CString search_command [Public Variable]
BOOL perform_search [Public Variable]
BOOL parse_records [Public Variable]
BOOL display_records [Public Variable]
BOOL write_records_file [Public Variable]
Chapter 19: Dialog Z 1 41

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.1 Data Members


20.1.1 Static Constants
unsigned short MAX_ZOOM_CONNECTION [Static constant]
Initialized to 16 in ‘zclient.web’.

unsigned short MAX_ZOOM_RESULTSET [Static constant]


Initialized to 16 in ‘zclient.web’.

unsigned short GBV_GVK_ID [Static constant]


Initialized to 1 in ‘zclient.web’.

20.1.2 Protected Variables


vector<ZOOM_connection*> connections [Protected variable]
connections.

vector<ZOOM_resultset*> resultsets [Protected variable]


Category_Map_Type category_map [Protected variable]
Output_Stream_Type log_strm [Protected variable]
CSources source_recordset [Protected variable]
CDatabase* database [Protected variable]
unsigned short source_id [Protected variable]

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

add them to ‘curr_category_id’ until it reads a whitespace character. The


category id is now complete. It should consist of four characters, optionally
followed by a repeat code. A repeat code consists of a slash followed by two
digits, e.g., /01, /02, etc.
If a repeat code is present, it is now removed from the category id and stored in
the string ‘curr_repeat_code’. ‘state’ is now set to ‘COLLECTING_FIELD’.
3. Collect Fields
The first character following the whitespace that follows a category id or a
repeat code should be octal 237, which should be followed by a letter or digit.
Each category has a set of valid fields associated with it. These are documented
in the cataloguing guidelines (germ. Katagorisierungsrichtlinien) of the GBV:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/inhalt.shtml Field ids are only unique with
respect to a given category id! That is, the same field id may have a completely
different interpretation with respect to two different category ids.
An arbitrary number of characters, including whitespace, may following the field
id. These characters comprise the field value. The field value is terminated by a
new field id, or the end of the line.
4. Write Field Data
When a field value has been collected, parse_records calls the
function ZClient::write_field_data, passing the current category
id (‘curr_category_id’), the (possibly non-existent) repeat code
(‘curr_repeat_code’), the (possibly non-existent) previous field id
(‘prev_field_id’), the current field value (‘curr_field_value’), and the
pointer to the current Pica_Record object (‘curr_pica_record’) as arguments.
write_field_data checks whether the current category is one which is handled
for this particular ZClient object. Whether a ZClient object handles any given
category is determined by the function ZClient::init_category_map. See Sec-
tion 20.2.3 [ZClient; Initialization], page 42. Currently, there is only one version
of this function, and it is designed for use with the Z39.50 server for the GVK
database of the GBV. When ZTest is adapted for use with other servers, it may
be possible to use init_category_map unchanged or it may have to be modified.
Alternatively, other, similar functions may be defined for use with other servers.
If a category is “unknown” to this instance of ZClient, the field id and field value
we’ve collected is simply discarded. Otherwise, write_field_data checks to see
whether a Category_Container object for the present combination of category
id and repeat code has already been created and placed onto the Category_
Multimap_Type categories data member of the current Pica_Record object.
If so, it will be used for any further actions. Otherwise, it will create a new
Category_Container object, if the current field id is also known.
The next step is to check whether this is the case. If the field id is unknown to
this instance of ZClient, no further action is taken, and write_field_data
exits. Otherwise, a new Subcategory_Container object is created, and it
together with the current field id are placed onto the Subcategory_Vector_Type
subcategory_vector data member of the current Category_Container object.
Chapter 20: ZClient 46

(Subcategory_Vector_Type is a type definition for vector<pair<char,


Subcategory_Container*> > Subcategory_Vector_Type). Please note
that a new Subcategory_Vector_Type is always added to Category_
Container::subcategory_vector; A given field often occurs more than once
within a record line.
5. Write Record Data
A record ends with a blank line, or an EOF (end-of-file), which also indicates that
the current record is the last one. parse_records now calls the function Pica_
Record::write_to_database on *curr_pica_record, i.e., the Pica_Record ob-
ject referenced by the pointer curr_pica_record. At this point, the Category_
Multimap_Type categories data member of *curr_pica_record contains all of
the information for the categories and fields that parse_records has collected in
the previous steps. Category_Multimap_Type is a type definition or “typedef”
for multimap<string, Category_Container*>.
A pointer to the current ZClient object is passed to Pica_Record::write_to_
database, along with a pointer to a CDatabase object that references the PICA
database. See Chapter 31 [Database Tables for ZTest], page 110, and a reference
to Output_Stream_Type used for accessing a log file. write_to_database now
iterates through the Category_Multimap_Type Pica_Records::categories
data member, referencing each Category_Multimap_Type (i.e., pair<string,
Category_Container*>) object on categories in turn. categories is a
multimap rather than a map, because there can be multiple lines for the
same category within a single record. It’s convenient to use a multimap in
ZClient::write_field_data, but in Pica_Record::write_to_database, the
order of the categories doesn’t matter, so it just iterates through them from
beginning to end, as though it were a vector.
write_to_database now extracts the category id from the current
Category_Multimap_Type object, and looks it up in the Category_Map_Type
category_map data member of our ZClient object. This is the map that’s
initialized by ZClient::init_category_map. If a Category_Map_Type (i.e.,
pair<string, Category_Container*>, just like Category_Multimap_Type)
object correspoding to the current category id is found on ZClient::category_
map, then write_to_database exits. Otherwise, it iterates through the
pair<char, Subcategory_Container*> objects the Subcategory_Vector_
Type subcategory_vector data member of the Category_Container
objects referenced by the pointers to Category_Container in the current
Category_Multimap_Type object. (Subcategory_Vector_Type is a type
definition for vector<pair<char, Subcategory_Container*> >.)
Now, write_to_database extracts the field id from the current <pair<char,
Subcategory_Container*> > and looks it up in the Subcategory_Map_Type
subcategory_map data member of the current reference Category_Container
from the ZClient object. If no corresponding <pair<char, Subcategory_
Container*> > is found, then write_to_database ignores this field and
continues. Otherwise, it cycles through the vector<Database_Command*>
database_commands data member of the Subcategory_Container pointed
to by the Subcategory_Container pointer in the pair returned. If
Chapter 20: ZClient 47

Subcategory_Container::database_commands isn’t empty, it will contain


pointers to objects of type Database_Command. A Database_Command object
contains a data member called ‘function’, which is a pointer to a function
taking the following arguments:
1. CDatabase* database
2. long record id
3. Category_Container* category
4. Subcategory_Container* subcategory
5. Output_Stream_Type& log strm
When write_to_database cycles through the database_commands vector, it
calls the function referenced by the ‘function’ data member belonging to each
Database_Command object. These Database_Command objects are on the ref-
erence Subcategory_Container object, which is on the reference Category_
Container object, which, in turn, is on the ZClient object. In other words,
they have no connection with the current Pica_Record object that contains
the Category_Container objects that contain the Subcategory_Container ob-
jects that contain the field ids and values that we’ve collected from the records
in the input file. Therefore, pointers to the current Category_Container and
Subcategory_Container from the current Pica_Record are passed to ‘function’
as arguments.
These functions are all static member functions of Subcategory_Container and
have names corresponding to the Pica+ category and field ids, e.g., ‘f_001A_0’,
‘f_011_AT_b’, ‘f_047I_a’, etc. They all have the same return type and argu-
ments (otherwise it wouldn’t be possible to refer to them all using Database_
Command::function). However, they fall into two different types, according to
the way they function. Where the information in a field value conceptually
“stands alone” and can be processed without reference to the values of other
fields, the function can simply cause the appropriate Transact-SQL code to be
executed in the database. Sometimes, however, fields are related, and the way
they’re processed depends on their order, what other fields are present, or other
conditions. In this case, the current field id and value are pushed onto the
vector<pair<char, string> > database_command_arguments data member of
the current Category_Container to be processed in the next step.
Once all the Subcategory_Container objects for the current Category_
Container object have been processed, write_to_database checks the
database_commands vector on the current reference Category_Container
object. Since many fields are processed by the corresponding Subcategory_
Container functions alone, not every category requires database commands
for the Category_Container. Some do, however, and these have non-empty
database_command and database_command_arguments vectors. The latter
contain the field ids and values from the Subcategory_Container objects
from the current Category_Container object’s subcategory_vector data
member, as explained above. The Database_Command objects referenced
by the pointers on Category_Container::database_commands are just like
the ones on Subcategory_Container::database_commands, except that
Chapter 20: ZClient 48

‘function’ points to a static member function of Category_Container. These


functions are similar to the field-handling functions of Subcategory_Container,
except that their names begin with ‘F_’ and are otherwise derived from
the category ids alone, e.g., F_001B, F_041A, F_209A, etc. They take the
same arguments as the Subcategory_Container::f_* functions, but the
Subcategory_Container* subcategory argument is always 0 when they’re
called. Declaring them to have the same arguments makes it possible
to use the Database_Command type both for Category_Container and
Subcategory_Container. The Category_Container::f_* functions process
the field data stored in Category_Container::database_command_arguments
and cause the appropriate Transact-SQL commands to be executed in the
database, like the Subcategory_Container::f_* functions.
Category_Container::database_commands and Subcategory_
Container::database_commands are vectors, so that any number of
functions could be called for a given Category_Container or Subcategory_
Container. However, currently, only one function is ever called for each
Subcategory_Container, and either no functions, or only one function is ever
called for each Category_Container.

20.2.8 Clearing the Database


int clear_database (void) [Public Function]
Chapter 21: Utility Types 49

21 Utility Types

21.1 Output Stream Type


Struct Zutput_Stream_Type is declared in ‘opstrmtp.web’.

21.2 Data Members


ofstream output_stream [Public variable]
CMutex mutex [Public variable]

21.3 Functions
int lock (void) [Function]
int unlock (void) [Function]
Chapter 22: Pica Formats and Records 50

22 Pica Formats and Records


The term “Pica” refers to a pair of formats used for library records, namely “Pica3” and
“Pica+”. Pica is commonly used in Germany, in particular, by the Gemeinsamer Biblio-
theksverbund (Common Library Network) or GBV.
!! TODO: Write about Erfassungspraxis/Cataloguing practice Pica3 800 vs. Pica+ 5100–
5199

22.1 Parsing

22.2 Categories and Fields


22.2.1 Repeat Codes for Categories
Where consecutive lines belong to the same category, repeat codes may be used, but aren’t
always. Used in this way, any category code can be followed by a repeat code.1
On the other hand, specific repeat codes change the meaning of the associated category.
In this case, the Pica+ category code may correspond to different Pica3 categories, depending
on the repeat code.
!! TODO: Add example.
Currently, in ZTest, an object of class Category_Container is created for each line in
a Pica record, unless two or more lines within a group of lines of the same category either
have no repeat code, or share the same one. The field codes and their associated values are
stored in the same class Category_Container and they are processed as though they had
all occurred on a single line. It would be possible to change this behavior, and force lines
of fulfilling these criteria to be handled separately. Alternatively, it would be possible to
continue to use a single Category_Container, but to handle the groups of fields belonging
to each lines separately. One way of implementing doing this would be to push an ASCII
null character (’\0’) onto the list of field codes. This character isn’t used as a Pica field
code.
!! TODO: Add example and cross references.
!! TODO: Explain about

22.2.2 Repeated Fields


!! TODO: Note the use of different field codes for additional items, as in Pica+ 041A/Pica3
5100–5199. Note, too, that in this case, I’ve found that ‘a’ wasn’t used, and that ‘f’ was
repeated. See Section 23.7 [041A Subject], page 55, and Section 24.1 [800; 5100–5199
Subject], page 60.

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

23.1 001A Identifier and Date of the Original Catalogue


Entry
Pica+ Code:
001A
Pica3 Code:
0200
See Section 24.2 [0200 Pica3 Codes], page 62.
German: Kennung und Datum der Ersterfassung
English: Identifier and Date of the Original Catalogue Entry
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.
Subcategory_Container Function:
f_001A_0. See Section 27.3.4.1 [Identifier and Date of the Original Catalogue
Entry], page 77.

23.1.1 001A Fields

Pica+ Pica3 German English

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)

23.2 009P Remote Access to Electronic Resources


!! TODO: Write about this. Add corresponding section to ‘pica3cds.texi’.
This is the first category for which I place Database_Command objects on the curr_
category_container object and the curr_subcategory_container objects, where the
‘function’ members point to functions belonging to another categories, namely Pica+ 209R,
Pica3 7133 “Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff”,
“Local information regarding remote access to electronic resources”. See Section 23.11 [209R
Local information regarding remote access to electronic resources], page 59, and Section 24.9
[7133 Local information regarding remote access to electronic resources], page 66.
Chapter 23: Pica+ Codes 52

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.

23.3 010@ Code(s) for Languages


Pica+ Code:
010@
Pica3 Code:
1500
See Section 24.4 [1500 Code(s) for Languages], page 63.
German: Code(s) für Sprachen
English: Code(s) for Languages
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.
Subcategory_Container Functions:
Subcategory_Container::f_010@_a. See Section 27.3.4.3 [Code(s) for Lan-
guages], page 79.

23.3.1 010@ Fields

Pica+ Pica3 German English

a /1 1. Sprachencode für den vorliegen- First language code for the


den Text present text

a /1 jeder weitere Sprachencode für each subsequent language code for


den vorliegenden Text the present text

b /2 1. Sprachencode der Inter- First language code for the inter-


mediärsprache mediary language

b /2 jeder weitere Sprachencode für In- Each subsequent language code


termediärsprachen for the intermediary language

c /3 1. Sprachencode für die First language code for the origi-


Originalsprache nal language

c /3 jeder weitere Sprachencode für Each subsequent language code


Originalsprachen for the original language
In data from external sources, the category Pica+ 010@/Pica3 1500 can contain additional
fields.
Chapter 23: Pica+ Codes 53

Pica+ Pica3 German English

d /4 1. Sprachencode für die First language code for the ab-


Zusammenfassung stract

d /4 jeder weitere Sprachencode für die Each subsequent language code


Zusammenfassung for the abstract
Currently, ZTest only processes field ‘a’.

23.4 011@ Year of Appearance


Pica+ Code:
011@
Pica3 Code:
1100
See hundefinedi [1100 Year of Appearance], page hundefinedi.
German: Erscheinungsjahr
English: Year of Appearance
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.

23.4.1 011@ Fields

23.5 033A Place, Publisher


Pica+ Code:
033A
Pica3 Code:
4030
See Section 24.5 [4030 Pica3 Codes], page 64.
German: Ort, Verlag
English: Place, Publisher
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/4030.pdf
Chapter 23: Pica+ Codes 54

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.

23.5.1 033A Fields

Pica+ Pica3 German English

n ¬:¬ Verlag Publisher

p (None) Ort Place

23.6 034D Size or Range; Specification of Material;


Technical System
Pica+ Code:
034D
Pica3 Code:
4060
See Section 24.6 [4060 Pica3 Codes], page 65.
German: Umfangsangabe, spezifische Materialbenennung, technisches System
English: Size or Range, Specification of Material, Technical System
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/4060.pdf
Database Tables:
Physical_Descriptions, Records_Physical_Descriptions. See
Section 31.22 [Physical Descriptions], page 116, and Section 31.23
[Records Physical Descriptions], page 117.
Subcategory_Container Function:
Subcategory_Container::f_034D_a. See Section 27.3.4.10 [Physical Descrip-
tion], page 85.

23.6.1 034D Fields

Pica+ Pica3 German English

a (Not present) Text Text


Chapter 23: Pica+ Codes 55

23.7 041A Subject


Pica+ Code:
041A
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.
Subcategory_Container Functions:
f_041A_9
f_041A_a
f_041A_f
f_041A_S.
See Section 27.3.4.11 [Subject], page 86.

23.7.1 041A Fields


Pica3 800

Pica+ Pica3 German English

a (Not Present) Haupt- bzw. Unterschlagwort Main or Subsidiary Subject

S |. . . |¬ Indikator Indicator

The following table shows the values that the “Indikator” (“Indicator”) field can contain.
Some are only used with Pica3 5100–5199.

Value German English Pica3 800


Chapter 23: Pica+ Codes 56

c Körperschaftsschlagwort Entity Subject (Location) Yes


(Ort)
f Formschlagwort Form Subject No

g Geografisches/ethnografisches Geographical/Ethnographical Yes


Schlagwort Subject
p Personenschlagwort Personal Subject Yes

s Sachschlagwort Material Subject Yes

t Titelschlagwort (800)/Werk- Title Subject (800)/Work Ti- Yes


titel (51xx) tle (51xx)
k Körperschaftsschlagwort Entity Subject (Name) Yes
(Name)
z Zeitschlagwort Temporal Subject No

Pica3 5100–5199

Please note that the field ‘a’ is ambiguous, and can have three different meanings.

Field Set 1:

Pica+ Pica3 German English

9 !. . . ! Identifikationsnummer (PPN) Identification Number


(PPN)

a (Not Present) Schlagwort Subject

S |. . . | Schlagwortindikator Subject Indicator

Field Set 2

Pica+ Pica3 German English

f h. . .i Permutationsmuster Permutation Pattern

a (Not Present) Zweites und weiteres Second and additional per-


Permutationsmuster mutation pattern
Field Set 3

Pica+ Pica3 German English

a (Not Present) Angaben zur Schlagwortkette Subject Chain Information


Chapter 23: Pica+ Codes 57

23.8 203@ Exemplar Production Number


Pica+ Code:
203@
Pica3 Code:
7800
See Section 24.10 [7800 Exemplar Production Number], page 67.
German: Exemplar-Produktionsnummer
English: Exemplar Production Number
Cataloguing Guidelines:
Not present.
Database Table:
Exemplar_Production_Numbers. See Section 31.26 [Exem-
plar Production Numbers], page 118.
Subcategory_Container Functions:
Subcategory_Container::f_203@_S. See Section 27.3.4.13 [Exemplar Produc-
tion Number], page 87.

23.8.1 203@ Fields

Pica+ Pica3 German English

0 (Not Exemplar-Produktionsnummer Exemplar Production Number


present)

23.9 209A Call Number


Pica+ Code:
209A
Pica3 Codes:
7100–7109
See Section 24.8 [7100–7109 Call Number], page 65.
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.
Category_Container Functions:
Category_Container::F_209A and Category_Container::sub_F_209A. See
Section 26.3.3.6 [Call Number], page 73.
Chapter 23: Pica+ Codes 58

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.

23.9.1 209A Fields

Pica+ Pica3 German English

a (Not present) Signatur Call Number

b, j . . . /. . . # Bibliotheksnummer / Library Number / Library


Abteilung der Bibliothek Department

f !. . . ! Sonderstandort Special Location


The Pica+ category 209A and the corresponding Pica3 categories 7100–7109 have ad-
ditional fields, which ZTest currently doesn’t use. See the cataloguing guidelines for more
information: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/7100.pdf

23.10 209C Access Number


Pica+ Code:
209C

Pica3 Codes:
8100
See Section 24.11 [8100 Access Number], page 68.

German: Zugangsnummer

English: Access Number

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.

23.10.1 209C Fields

Pica+ Pica3 German English

a (Not present) Zugangsnummer Access Number


Chapter 23: Pica+ Codes 59

23.11 209R Local information regarding remote access to


electronic resources
Pica+ Code:
209R
Pica3 Code:
7133
See Section 24.9 [7133 Local Information Regarding Remote Access to Elec-
tronic Resources], page 66.
German: Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff
English: Local information regarding remote access to electronic resources
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/7133.pdf
Database Table:
Remote_Access. See 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.
Subcategory_Container Functions:
Subcategory_Container::f_209R_S. See Section 27.3.4.16 [Local information
regarding remote access to electronic resources], page 90.

23.11.1 209R Fields


The fields for Pica+ 209R/Pica3 7133 are the same as for Pica3 408x: “Angaben zum Zugriff
auf elektronische Ressourcen im Fernzugriff”, “Information regarding remote to electronic
resources”. “408x” currently refers to the follow Pica3 categories: 4083, 4085, 4086, 4087,
4088, and 4089.
See the cataloguing guidelines for Pica3 408x/Pica+ 009P for more informa-
tion: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/408x.pdf.

Pica+ Pica3 German English


0 Format Format

a ¬ =A¬ URL (Universal Resource URL (Universal Resource Loca-


Locator) tor)

g ¬ =G¬ URN (Universal Resource Name) URN (Universal Resource Name)

S hi Lizenzindikator License indicator

x ¬ =X¬ Interne Bemerkungen Internal Remarks

y ¬[. . . ] Text für die Web-Anzeige Text for Web Display


Chapter 24: Pica3 Codes 60

24 Pica3 Codes

24.1 800; 5100–5199 Subject


Pica3 Codes:
800
5100–5199
Pica+ Code:
041A
See Section 23.7 [041A Pica+ Codes], page 55.
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.
Subcategory_Container Functions:
f_041A_9
f_041A_a
f_041A_f
f_041A_S.
See Section 27.3.4.11 [Subject], page 86.

24.1.1 800; 5100–5199 Fields


Pica3 800

Pica+ Pica3 German English

a (Not Present) Haupt- bzw. Unterschlagwort Main or Subsidiary Subject

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.

Value German English Pica3 800

c Körperschaftsschlagwort Entity Subject (Location) Yes


(Ort)
f Formschlagwort Form Subject No

g Geografisches/ethnografisches Geographical/Ethnographical Yes


Schlagwort Subject
p Personenschlagwort Personal Subject Yes

s Sachschlagwort Material Subject Yes

t Titelschlagwort (800)/Werk- Title Subject (800)/Work Ti- Yes


titel (51xx) tle (51xx)
k Körperschaftsschlagwort Entity Subject (Name) Yes
(Name)
z Zeitschlagwort Temporal Subject No

Pica3 5100–5199

Please note that the field ‘a’ is ambiguous, and can have three different meanings.

Field Set 1:

Pica+ Pica3 German English

9 !. . . ! Identifikationsnummer (PPN) Identification Number


(PPN)

a (Not Present) Schlagwort Subject

S |. . . | Schlagwortindikator Subject Indicator

Field Set 2

Pica+ Pica3 German English

f h. . .i Permutationsmuster Permutation Pattern

a (Not Present) Zweites und weiteres Second and additional per-


Permutationsmuster mutation pattern
Field Set 3
Chapter 24: Pica3 Codes 62

Pica+ Pica3 German English

a (Not Present) Angaben zur Schlagwortkette Subject Chain Information

24.2 0200 Identifier and Date of the Original Catalogue


Entry
Pica+ Code:
001A
Pica3 Code:
0200
See Section 24.2 [0200 Pica3 Codes], page 62.
German: Kennung und Datum der Ersterfassung
English: Identifier and Date of the Original Catalogue Entry
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.
Subcategory_Container Function:
f_001A_0. See Section 27.3.4.1 [Identifier and Date of the Original Catalogue
Entry], page 77.

24.2.1 0200 Fields

Pica+ Pica3 German English

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)

24.3 1100 Year of Appearance


Pica3 Code:
1100
Pica+ Code:
011@
See hundefinedi [011@ Year of Appearance], page hundefinedi.
German: Erscheinungsjahr
English: Year of Appearance
Chapter 24: Pica3 Codes 63

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.

24.3.1 1100 Fields

24.4 1500 Code(s) for Languages


Pica3 Code:
1500
Pica+ Code:
010@
See Section 23.3 [010@ Code(s) for Languages], page 52.
German: Code(s) für Sprachen
English: Code(s) for Languages
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.
Subcategory_Container Functions:
Subcategory_Container::f_010@_a. See Section 27.3.4.3 [Code(s) for Lan-
guages], page 79.

24.4.1 1500 Fields

Pica+ Pica3 German English

a /1 1. Sprachencode für den vorliegen- First language code for the


den Text present text

a /1 jeder weitere Sprachencode für each subsequent language code for


den vorliegenden Text the present text

b /2 1. Sprachencode der Inter- First language code for the inter-


mediärsprache mediary language

b /2 jeder weitere Sprachencode für In- Each subsequent language code


termediärsprachen for the intermediary language
Chapter 24: Pica3 Codes 64

c /3 1. Sprachencode für die First language code for the origi-


Originalsprache nal language

c /3 jeder weitere Sprachencode für Each subsequent language code


Originalsprachen for the original language
In data from external sources, the category Pica+ 010@/Pica3 1500 can contain additional
fields.

Pica+ Pica3 German English

d /4 1. Sprachencode für die First language code for the ab-


Zusammenfassung stract

d /4 jeder weitere Sprachencode für die Each subsequent language code


Zusammenfassung for the abstract
Currently, ZTest only processes field ‘a’.

24.5 4030 Place, Publisher


Pica3 Code:
4030
Pica+ Code:
033A
See Section 23.5 [033A Pica+ Codes], page 53.
German: Ort, Verlag
English: Place, Publisher
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/4030.pdf
Database Tables:
Publishers, Records_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.

24.5.1 4030 Fields

Pica+ Pica3 German English


Chapter 24: Pica3 Codes 65

n ¬:¬ Verlag Publisher

p (None) Ort Place

24.6 4060 Size or Range; Specification of Material; Technical


System
Pica3 Code:
4060
Pica+ Code:
034D
See Section 23.6 [034D Pica+ Codes], page 54.
German: Umfangsangabe, spezifische Materialbenennung, technisches System
English: Size or Range, Specification of Material, Technical System
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/4060.pdf
Database Tables:
Physical_Descriptions, Records_Physical_Descriptions. See
Section 31.22 [Physical Descriptions], page 116, and Section 31.23
[Records Physical Descriptions], page 117.
Subcategory_Container Function:
Subcategory_Container::f_034D_a. See Section 27.3.4.10 [Physical Descrip-
tion], page 85.

24.6.1 4060 Fields

Pica+ Pica3 German English

a (Not present) Text Text

24.7 5100–5199 Subject


See Section 24.1 [800; 5100–5199 Subject], page 60.

24.8 7100–7109 Call Number


Pica3 Codes:
7100–7109
Pica+ Code:
209A
See Section 23.9 [209A Call Number], page 57.
German: Signatur
English: Call Number
Chapter 24: Pica3 Codes 66

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.

24.8.1 7100–7109 Fields

Pica+ Pica3 German English

a (Not present) Signatur Call Number

b, j . . . /. . . # Bibliotheksnummer / Library Number / Library


Abteilung der Bibliothek Department

f !. . . ! Sonderstandort Special Location


The Pica+ category 209A and the corresponding Pica3 categories 7100–7109 have ad-
ditional fields, which ZTest currently doesn’t use. See the cataloguing guidelines for more
information: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/7100.pdf

24.9 7133 Local information regarding remote access to


electronic resources
Pica3 Code:
7133
Pica+ Code:
209R
See Section 23.11 [209R Local Information Regarding Remote Access to Elec-
tronic Resources], page 59.
German: Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff
English: Local information regarding remote access to electronic resources
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/7133.pdf
Database Table:
Remote_Access. See Section 31.24 [Remote Access], page 117.
Chapter 24: Pica3 Codes 67

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.

24.9.1 7133 Fields


The fields for Pica+ 209R/Pica3 7133 are the same as for Pica3 408x: “Angaben zum Zugriff
auf elektronische Ressourcen im Fernzugriff”, “Information regarding remote to electronic
resources”. “408x” currently refers to the follow Pica3 categories: 4083, 4085, 4086, 4087,
4088, and 4089.
See the cataloguing guidelines for Pica3 408x/Pica+ 009P for more informa-
tion: http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/408x.pdf.

Pica+ Pica3 German English


0 Format Format

a ¬ =A¬ URL (Universal Resource URL (Universal Resource Loca-


Locator) tor)

g ¬ =G¬ URN (Universal Resource Name) URN (Universal Resource Name)

S hi Lizenzindikator License indicator

x ¬ =X¬ Interne Bemerkungen Internal Remarks

y ¬[. . . ] Text für die Web-Anzeige Text for Web Display

24.10 7800 Exemplar Production Number


Pica3 Code:
7800
Pica+ Code:
203@
See Section 23.8 [203@ Exemplar Production Number], page 57.
German: Exemplar-Produktionsnummer
English: Exemplar Production Number
Cataloguing Guidelines:
Not present.
Database Table:
Exemplar_Production_Numbers. See Section 31.26 [Exem-
plar Production Numbers], page 118.
Chapter 24: Pica3 Codes 68

Subcategory_Container Functions:
Subcategory_Container::f_203@_S. See Section 27.3.4.13 [Exemplar Produc-
tion Number], page 87.

24.10.1 7800 Fields

Pica+ Pica3 German English

0 (Not Exemplar-Produktionsnummer Exemplar Production Number


present)

24.11 8100 Access Number


Pica3 Codes:
8100
Pica+ Code:
209C
See Section 23.10 [209C Access Number], page 58.
German: Zugangsnummer
English: Access Number
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.11.1 8100 Fields

Pica+ Pica3 German English

a (Not present) Zugangsnummer Access Number


Chapter 25: Pica Record 69

25 Pica Record
Class Pica_Record is declared in ‘picarcrd.web’. class ZClient is a friend of Pica_
Record.

25.1 Data Members


Category_Multimap_Type categories [Protected variable]

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.1 Local Static Variables


These static variables are local to ‘ctgcntnr.web’. They are not members of class
Category_Container.
long* subject_id [Static variable]
Initialized to 0. Used in Category_Container::F_041A and Category_
Container::sub_F_041A. See Section 26.3.3.5 [Subject], page 72.
long* subject_id_start [Static variable]
Initialized to 0. Used in Category_Container::F_041A and Category_
Container::sub_F_041A. See Section 26.3.3.5 [Subject], page 72.
unsigned short previous_repeat_code_ctr [Static variable]
Initialized to 0. Used in Category_Container::F_041A and Category_
Container::sub_F_041A. See Section 26.3.3.5 [Subject], page 72.

26.2 Data Members


string pica_plus_category_id [Protected variable]
string pica_3_category_id [Protected variable]
string content_description_english [Protected variable]
string content_description_german [Protected variable]
string repeat_code [Protected variable]
Subcategory_Map_Type subcategory_map [Protected variable]
Subcategory_Vector_Type subcategory_vector [Protected variable]
vector<Database_Command*> database_commands [Protected variable]
vector<pair<char, string> > [Protected variable]
database_command_arguments

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

26.3.3.1 Functions for Specific Categories


int F_001B (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int F_021A (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int F_028A (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
26.3.3.2 Second and Additional Authors
int F_028B (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
26.3.3.3 Other Contributing Persons
int F_028C (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
26.3.3.4 Place of Publication; Publisher
int F_033A (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ Code:
033A
See Section 23.5 [033A Pica+ Codes], page 53.
Pica3 Code:
4030
See Section 24.5 [4030 Pica3 Codes], page 64.
German: Ort, Verlag
Chapter 26: Category Container 72

English: Place, Publisher


Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/
01Erschliessung/02Richtlinien/01KatRicht/4030.pdf
Database Tables:
Publishers, Records_Publishers See Section 31.16 [Publishers],
page 115, and See Section 31.17 [Records Publishers], page 115.
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.

See also Section 23.5.1 [033A Fields], page 54, or Section 24.5.1 [4030 Fields], page 64.

int publishers_database_providers_func (CDatabase* [Static Function]


database,
long record_id,
string column_str,
string place_str,
bool primary_switch,
bool table_switch,
Output_Stream_Type& log_strm )
Called in Category_Container::F_033A and Category_Container::F_033B (which
doesn’t yet exist).

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.

26.3.3.6 Call Number


int F_209A (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ Code:
209A
See Section 23.9 [209A Call Number], page 57.
Pica3 Codes:
7100–7109
See Section 24.8 [7100–7109 Call Number], page 65.
Chapter 26: Category Container 74

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.

int sub_F_209A (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
string call_number_str,
string library_number_str,
string library_department_str,
string special_location_str,
long* call_number_id,
Output_Stream_Type& log_strm )
This function is called in Category_Container::F_209A.

26.3.3.7 Local Information Regarding Remote Access to


Electronic Resources
int F_209R (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ Code:
209R
See Section 23.11 [209R Local Information Regarding Remote Access to
Electronic Resources], page 59.
Pica3 Code:
7133
See Section 24.9 [7133 Local Information Regarding Remote Access to
Electronic Resources], page 66.
German: Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff
Chapter 26: Category Container 75

English: Local information regarding remote access to electronic resources

Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/
01Erschliessung/02Richtlinien/01KatRicht/7133.pdf

Database Table:
Remote_Access. See 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.

int sub_F_209R (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
string format_str,
string URL_str,
string URN_str,
string license_str,
string internal_str,
string web_str,
long* remote_access_id,
Output_Stream_Type& log_strm )
This function is called in Category_Container::F_209R.
Chapter 26: Category Container 76

26.3.3.8 Functions for Groups of Categories


int personal_names_category_func ( [Static Function]
string main_table_name,
string assoc_table_name,
string column_name,
CDatabase* database,
long record_id,
Category_Container* category )
int sub_personal_names_category_func ( [Static Function]
string main_table_name,
string assoc_table_name,
string column_name,
CDatabase* database,
long record_id,
Category_Container* category,
string surname,
string given_name,
string prefix,
unsigned long id_number_ppn,
long table_ctr,
Output_Stream_Type& log_strm )
int titles_category_func (string main_table_name, [Static Function]
string assoc_table_name, string column_name, CDatabase*
database, long record_id, Category_Container* category )
int sub_titles_category_func (string main_table_name, [Static Function]
string assoc_table_name,
string column_name,
CDatabase* database,
long record_id,
Category_Container* category,
long table_ctr,
Output_Stream_Type& log_strm,
[string* main_canonical_title = 0,
[string* continuation_main_canonical_title = 0,
[string* additions_main = 0,
[string* continuation additions main = 0,
[string* authorship = 0,
[string* standard_text = 0,
[string* additional_creator_main = 0,
[string* parallel_canonical_title = 0,
[string* additions_parallel = 0,
[string* additional_creator_parallel = 0 ]]]]]]]]]])
Chapter 27: Subcategory Container 77

27 Subcategory Container
Class Subcategory_Container is declared in ‘sbctgcnt.web’. The classes Pica_Record
and ZClient are friends of Subcategory_Container.

27.1 Type Definitions


Subcategory_Map_Type [Typedef]
Subcategory_Map_Type is a synonym for map<char, Subcategory_Container*>

Subcategory_Vector_Type [Typedef]
Subcategory_Vector_Type is a synonym for vector<pair<char, Subcategory_
Container*> >.

27.2 Data Members


char pica_plus_field_id [Protected variable]
string content_description_german [Protected variable]
string content_description_english [Protected variable]
string field_value [Protected variable]
vector<Database_Command*> database_commands [Protected variable]

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

German: Kennung und Datum der Ersterfassung

English: Identifier and Date of the Original Catalogue Entry

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.

int f_001A_0 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ field:
0

Pica3 field:
No identifier.

English: Identifier and Date of the Original Catalogue Entry


Position 01-04: Cataloguing identifier,
Position 05-13: Date (:DD-MM-YY)

German: Kennung und Datum der Ersterfassung


Position 01-04: Erfassungskennung,
Position 05-13: Datum (:TT-MM-JJ)
Chapter 27: Subcategory Container 79

27.3.4.2 Other Subcategory Container Functions

int f_001B_0 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_001B_t (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_002_AT_0 (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_003_AT_0 (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
27.3.4.3 Code(s) for Languages
Pica+ Code:
010@
See Section 23.3 [010@ Code(s) for Languages], page 52.

Pica3 Code:
1500
See Section 24.4 [1500 Code(s) for Languages], page 63.

German: Code(s) für Sprachen

English: Code(s) for Languages

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

int f_010_AT_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ field:
a
English: Language Code for the Present Text
German: Sprachencode für den vorliegenden Text

27.3.4.4 Year of Appearance


Pica+ Code:
011@
See hundefinedi [011@ Year of Appearance], page hundefinedi.
Pica3 Code:
1100
See hundefinedi [1100 Year of Appearance], page hundefinedi.
German: Erscheinungsjahr
English: Year of Appearance
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.

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

English: Year of Appearance (End), Form for Sorting

German: Erscheinugsjahr (Ende), Sortierform

int f_011_AT_e (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ field:
e

English: Original Year of Appearance

German: Ursprüngliches Erscheinugsjahr

int f_011_AT_n (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ field:
e

English: Year of Appearance (according to RAK-WB)

German: Erscheinugsjahr (nach RAK-WB)

int year_appearance_func (string column, [Static Function]


CDatabase* database,
long record_id,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
This function is called by the other Subcategory_Container functions f_011_AT_a,
f_011_AT_b, f_011_AT_e, and f_011_AT_n, which are described above.
Chapter 27: Subcategory Container 82

27.3.4.5 Main Canonical Title

int f_021A_1 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_021A_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_021A_d (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_021A_e (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_021A_f (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_021A_h (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Chapter 27: Subcategory Container 83

27.3.4.6 First Author

int f_028A_9 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_028A_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_028A_c (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_028A_d (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
27.3.4.7 Second and Additional Authors

int f_028B_9 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_028B_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

int f_028B_d (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Chapter 27: Subcategory Container 84

27.3.4.8 Other Contributing Persons


int f_028C_9 (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_028C_a (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_028C_c (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_028C_d (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
27.3.4.9 Place of Publication; Publisher
Pica+ Code:
033A
See Section 23.5 [033A Pica+ Codes], page 53.
Pica3 Code:
4030
See Section 24.5 [4030 Pica3 Codes], page 64.
German: Ort, Verlag
English: Place, Publisher
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/4030.pdf
Database Tables:
Publishers, Records_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.
Chapter 27: Subcategory Container 85

See also Section 23.5.1 [033A Fields], page 54, or Section 24.5.1 [4030 Fields], page 64.

int f_033A_n (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
int f_033A_p (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
27.3.4.10 Physical Description
Pica+ Code:
034D
See Section 23.6 [034D Pica+ Codes], page 54.
Pica3 Code:
4060
See Section 24.6 [4060 Pica3 Codes], page 65.
German: Umfangsangabe, spezifische Materialbenennung, technisches System
English: Size or Range, Specification of Material, Technical System
Cataloguing Guidelines:
http://www.gbv.de/vgm/info/mitglieder/02Verbund/01Erschliessung/
02Richtlinien/01KatRicht/4060.pdf
Database Tables:
Physical_Descriptions, Records_Physical_Descriptions. See
Section 31.22 [Physical Descriptions], page 116, and Section 31.23
[Records Physical Descriptions], page 117.

See also Section 23.6.1 [034D Fields], page 54, or Section 24.6.1 [4060 Fields], page 65.

int f_034D_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Pica+ field:
a
English: Text
German: Text
Chapter 27: Subcategory Container 86

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.

int f_041A_9 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

9 !. . . ! Identifikationsnummer (PPN) Identification Number (PPN)


See also Section 23.7.1 [041A Fields], page 55.
int f_041A_a (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
Field ‘a’ of Pica+ 401A is ambiguous, and can have three different meanings.
Chapter 27: Subcategory Container 87

Pica+ Pica3 German English

a (Not Present) Schlagwort Subject


a (Not Present) Zweites und weiteres Second and additional per-
Permutationsmuster mutation pattern
a (Not Present) Angaben zur Schlagwortkette Subject Chain Information
See also Section 23.7.1 [041A Fields], page 55.

int f_041A_f (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

f h. . .i Permutationsmuster Permutation Pattern


See also Section 23.7.1 [041A Fields], page 55.

int f_041A_S (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

S |. . . |¬ Indikator Indicator
See also Section 23.7.1 [041A Fields], page 55.

27.3.4.12 Content Summary (Short)


int f_047I_a (CDatabase* database, [Static Function]
long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )
27.3.4.13 Exemplar Production Number
Pica+ Code:
203@
See Section 23.8 [203@ Exemplar Production Number], page 57.
Pica3 Code:
7800
See Section 24.10 [7800 Exemplar Production Number], page 67.
German: Exemplar-Produktionsnummer
Chapter 27: Subcategory Container 88

English: Exemplar Production Number


Cataloguing Guidelines:
Not present.
Database Table:
Exemplar_Production_Numbers. See Section 31.26 [Exem-
plar Production Numbers], page 118.

See also Section 23.8.1 [203@ Fields], page 57, or Section 24.10.1 [7800 Fields], page 68.

int f_203_AT_0 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

0 Exemplar-Produktionnummer Exemplar Production Number


See also Section 23.8.1 [203@ Fields], page 57.

27.3.4.14 Call Number


Pica+ Code:
209A
See Section 23.9 [209A Call Number], page 57.
Pica3 Codes:
7100–7109
See Section 24.8 [7100–7109 Call Number], page 65.
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.
Category_Container Functions:
Category_Container::F_209A and Category_Container::sub_F_209A. See
Section 26.3.3.6 [Call Number], page 73.

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

int f_209A_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

a (Not Present) Signatur Call Number


See also Section 23.9.1 [209A Fields], page 58.

int f_209A_b (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

b ... Bibliotheksnummer Library Number


In Pica3, ‘...’ may be followed directly by ‘/...#’, which corresponds to Pica+ ‘j’.
See the description of Subcategory_Container::f_209A_j below.
See also Section 23.9.1 [209A Fields], page 58.

int f_209A_f (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

f !. . . ! Sonderstandort Special Location


See also Section 23.9.1 [209A Fields], page 58.

int f_209A_j (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

j /. . . # Abteilung der Bibliothek Library Department


In Pica3, ‘/...#’ may directly follow ‘...’, which corresponds to Pica+ ‘b’. See the
description of Subcategory_Container::f_209A_b above.
See also Section 23.9.1 [209A Fields], page 58.
Chapter 27: Subcategory Container 90

27.3.4.15 Access Number


Pica+ Code:
209C
See Section 23.10 [209C Access Number], page 58.
Pica3 Codes:
8100
See Section 24.11 [8100 Access Number], page 68.
German: Zugangsnummer
English: Access Number
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.

See also Section 23.10.1 [209C Fields], page 58, or Section 24.11.1 [8100 Fields], page 68.

int f_209C_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

a (Not Present) Zugangsnummer Access Number


See also Section 23.10.1 [209C Fields], page 58.

27.3.4.16 Local information regarding remote access to electronic


resources
Pica+ Code:
209R
See Section 23.11 [209R Local Information Regarding Remote Access to Elec-
tronic Resources], page 59.
Pica3 Code:
7133
See Section 24.9 [7133 Local Information Regarding Remote Access to Elec-
tronic Resources], page 66.
German: Lokale Angaben zum Zugriff auf elektronische Ressourcen im Fernzugriff
English: Local information regarding remote access to electronic resources
Chapter 27: Subcategory Container 91

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.

int f_209R_0 (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English


0 Format Format
See also Section 23.11.1 [209R Fields], page 59.

int f_209R_a (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

a ¬ =A¬ URL (Universal Resource URL (Universal Resource


Locator) Locator)
See also Section 23.11.1 [209R Fields], page 59.

int f_209R_g (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

g ¬ =G¬ URN (Universal Resource Name) URN (Universal Resource Name)


See also Section 23.11.1 [209R Fields], page 59.
Chapter 27: Subcategory Container 92

int f_209R_S (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

S hi Lizenzindikator License indicator


See also Section 23.11.1 [209R Fields], page 59.

int f_209R_x (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

x ¬ =X¬ Interne Bemerkungen Internal Remarks


See also Section 23.11.1 [209R Fields], page 59.

int f_209R_y (CDatabase* database, [Static Function]


long record_id,
Category_Container* category,
Subcategory_Container* subcategory,
Output_Stream_Type& log_strm )

Pica+ Pica3 German English

y ¬[. . . ] Text für die Web-Anzeige Text for Web Display


See also Section 23.11.1 [209R Fields], page 59.
Chapter 28: Database Command 93

28 Database Command
struct Database_Command is declared in ‘dbcmmnd.web’.

28.1 Data Members


(Pointer to function) function [Public variable]
function is a pointer to a function returning int and taking the following arguments:
CDatabase* database
long record id
Category_Container* category
Subcategory_Container* subcategory
Output_Stream_Type& log strm

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 Displaying Database Contents (DB Display)


class DB_Display is declared in ‘dbdspl.web’.

29.1 Data Members


ofstream html_strm [Private variable]

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.

int display_records ( [Public Function]


[CString search_command_str = "",
[const unsigned int start = 1,
[const unsigned int end = 0 ]]])
display_records displays a range of records from record number start to record
number end. Both of these arguments have default values. The default for start is 1
and the default for end is 0.
If end = 0, either because it was passed by the caller explicitly, or because the default
is being used, then display_records starts with record start and continues until
display_single_record returns unsuccessfully (return value 1).
Otherwise, if end > 0 and end < start, then a warning is issued, end is set to 0, and
display_records proceeds as above.
Chapter 29: Displaying Database Contents (DB Display) 97

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.

int close_html_file (void) [Public Function]


Chapter 30: ODBC Classes for ZTest 98

30 ODBC Classes for ZTest

30.1 PICA Categories


Class PICA_Categories is declared in ‘picacats.web’. It is derived from the MFC class
CRecordset using public derivation. It references the PICA_Categories table in the PICA
database. See Section 31.2 [PICA Categories], page 110.

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.

30.2 PICA Fields


Class PICA_Fields is declared in ‘picaflds.web’. It is derived from the MFC class
CRecordset using public derivation. It references the PICA_Fields table in the PICA data-
base. See Section 31.3 [PICA Fields], 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.

30.3 PICA Categories PICA Fields


Class PICA_Categories_PICA_Fields is declared in ‘pccatfld.web’. It is derived
from the MFC class CRecordset using public derivation. It references the association
table PICA_Categories_PICA_Fields in the PICA database. See Section 31.4
[PICA Categories PICA Fields], page 111.

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.

30.6 Access Numbers


Class Access_Numbers is declared in ‘accnums.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Access_Numbers table in the PICA
database. See Section 31.29 [Access Numbers], page 119.
Chapter 30: ODBC Classes for ZTest 100

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.

30.7 Call Numbers


Class Call_Numbers is declared in ‘callnums.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Call_Numbers table in the PICA
database. See Section 31.27 [Call 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.

30.8 Records Call Numbers


Class Records_Call_Numbers is declared in ‘rccllnms.web’. It is derived from the MFC
class CRecordset using public derivation. It references the Records_Call_Numbers table
in the PICA database. See Section 31.28 [Records 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.

30.9 Exemplar Production Numbers


Class Exemplar_Production_Numbers is declared in ‘exprnums.web’. It is derived from the
MFC class CRecordset using public derivation. It references the Exemplar_Production_
Numbers table in the PICA database. See Section 31.26 [Exemplar Production Numbers],
page 118.

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.

30.10 Bibliographic Type Codes


Class Bibliographic_Type_Codes is declared in ‘bbtpcds.web’. It is derived from the
MFC class CRecordset using public derivation. It references the Bibliographic_Type_
Codes table in the PICA database. See Section 31.6 [Bibliographic Type Codes], page 112.

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.

30.11 Bibliographic Types


Class Bibliographic_Types is declared in ‘bibtyps.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Bibliographic_Types table in the
PICA database. See Section 31.7 [Bibliographic Types], 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.

30.12 Records Bibliographic Types


Class Records_Bibliographic_Types is declared in ‘rcbbtyps.web’. It is derived from the
MFC class CRecordset using public derivation. It references the Records_Bibliographic_
Chapter 30: ODBC Classes for ZTest 102

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.

30.13 Physical Descriptions


Class Physical_Descriptions is declared in ‘physdesc.web’. It is derived from the MFC
class CRecordset using public derivation. It references the Physical_Descriptions table
in the PICA database. See Section 31.22 [Physical Descriptions], page 116.

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.

30.14 Records Physical Descriptions


Class Records_Physical_Descriptions is declared in ‘rcphsdsc.web’. It is derived
from the MFC class CRecordset using public derivation. It references the association
table Records_Physical_Descriptions in the PICA database. See Section 31.23
[Records Physical Descriptions], page 117.

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.

30.16 Records Authors


Class Records_Authors is declared in ‘recathrs.web’. It is derived from the MFC class
CRecordset using public derivation. It references the association table Records_Authors
in the PICA database. See Section 31.13 [Records Authors], page 114.

Data Members

long m_record_id [Variables]


long m_author_id
These variables reference the corresponding columns in the Records_Authors table
in the PICA database. See Section 31.13 [Records Authors], page 114.

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

long m_contributor_id [Variables]


CStringA m_given_name
CStringA m_surname
CStringA m_prefix
LONGLONG m_id_number_ppn
These variables reference the corresponding columns in the Contributors table in
the PICA database. See Section 31.14 [Contributors], page 114.

30.18 Records Contributors


Class Records_Contributors is declared in ‘rccntrbt.web’. It is derived from the MFC
class CRecordset using public derivation. It references the association table Records_
Contributors in the PICA database. See Section 31.15 [Records Contributors], page 115.

Data Members

long m_record_id [Variables]


long m_contributor_id
These variables reference the corresponding columns in the Records_Contributors
table in the PICA database. See Section 31.15 [Records Contributors], page 115.
Chapter 30: ODBC Classes for ZTest 104

30.19 Main Titles


Class Main_Titles is declared in ‘mnttls.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Main_Titles table in the PICA
database. See Section 31.9 [Main Titles], page 113.

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.

30.20 Records Main Titles


Class Records_Main_Titles is declared in ‘rcmnttls.web’. It is derived from the MFC
class CRecordset using public derivation. It references the association table Records_Main_
Titles in the PICA database. See Section 31.10 [Records 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.

30.21 Content Summaries


Class Content_Summaries is declared in ‘contsums.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Content_Summaries table in the PICA
database. See Section 31.11 [Content Summaries], page 114.

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

long m_language_id [Variables]


CStringA m_language_name_english
CStringA m_language_name_german
CStringA m_language_abbrev
These variables reference the corresponding columns in the Languages table in the
PICA database. See Section 31.20 [Languages], page 116.

30.23 Records Languages


Class Records_Languages is declared in ‘reclang.web’. It is derived from the MFC
class CRecordset using public derivation. Its references the association table Records_
Languages in the PICA database. See Section 31.21 [Records Languages], page 116.

Data Members

long m_record_id [Variables]


long m_language_id
CStringA m_association_type
CStringA m_association_type_name
These variables reference the corresponding columns in the Records_Languages table
in the PICA database. See Section 31.21 [Records Languages], page 116.

30.24 Subject Types


Class Subject_Types is declared in ‘subjtyps.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Subject_Types table in the PICA
database. See Section 31.30 [Subject Types], page 120.

Data Members

long m_subject_type_id [Variables]


CStringA m_indicator
CStringA m_description_german
CStringA m_description_english
BOOL m_pica3_800
BOOL m_pica3_51xx
These variables reference the corresponding columns in the Subject_Types table in
the PICA database. See Section 31.30 [Subject Types], page 120.
Chapter 30: ODBC Classes for ZTest 106

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

long m_subject_id [Variables]


long m_subject_type_id
CStringA m_subject
LONGLONG m_id_number_ppn
int m_chain_number
int m_chain_link_number
CStringA m_chain_info
These variables reference the corresponding columns in the Subjects table in the
PICA database. See Section 31.31 [Subjects], page 121.

30.26 Records Subjects


Class Records_Subjects is declared in ‘recsubjs.web’. It is derived from the MFC class
CRecordset using public derivation. It references the association table Records_Subjects
in the PICA database. See Section 31.32 [Records Subjects], page 121.

Data Members

long m_record_id [Variables]


long m_subject_id
These variables reference the corresponding columns in the Records_Subjects table
in the PICA database. See Section 31.32 [Records Subjects], page 121.

30.27 Permutation Patterns


Class Permutation_Patterns is declared in ‘prmpttrn.web’. It is derived from the MFC
class CRecordset using public derivation. It references the Permutation_Patterns table
in the PICA database. See Section 31.33 [Permutation Patterns], page 121.

Data Members

long m_permutation_pattern_id [Variables]


long m_record_id
long m_subject_id_start
long m_subject_id_end
long m_chain_number
CStringA m_permutation_pattern
These variables reference the corresponding columns in the Permutation_Patterns
table in the PICA database. See Section 31.33 [Permutation Patterns], page 121.
Chapter 30: ODBC Classes for ZTest 107

30.28 Remote Access


Class Remote_Access is declared in ‘rmaccess.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Remote_Access table in the PICA
database. See Section 31.24 [Remote Access], page 117.

Data Members

long m_remote_access_id [Variables]


long m_remote_access_id
BOOL m_license_indicator
CStringA m_format_type
CStringA m_web_display_text
CStringA m_URL
CStringA m_URN
CStringA m_internal_remarks
These variables reference the corresponding columns in the Remote_Access table in
the PICA database. See Section 31.24 [Remote Access], page 117.

30.29 Records Remote Access


Class Records_Remote_Access is declared in ‘rcrmaccs.web’. It is derived from the MFC
class CRecordset using public derivation. It references the association table Records_
Remote_Access in the PICA database. See Section 31.25 [Records Remote Access],
page 118.

Data Members

long m_record_id [Variables]


long m_remote_access_id
These variables reference the corresponding columns in the Records_Remote_Access
table in the PICA database. See Section 31.25 [Records Remote Access], page 118.

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

long m_publisher_id [Variables]


CStringA m_publisher_name
CStringA m_place
BOOL m_primary_info_source
These variables reference the corresponding columns in the Publishers table in the
PICA database. See Section 31.16 [Publishers], page 115.
Chapter 30: ODBC Classes for ZTest 108

30.31 Records Publishers


Class Records_Publishers is declared in ‘recpubs.web’. It is derived from the MFC
class CRecordset using public derivation. Its references the association table Records_
Publishers in the PICA database. See Section 31.17 [Records Publishers], page 115.

Data Members

long m_record_id [Variables]


long m_publisher_id
These variables reference the corresponding columns in the Records_Publishers
table in the PICA database. See Section 31.17 [Records Publishers], page 115.

30.32 Database Providers


Class Database_Providers is declared in ‘dbprovs.web’. It is derived from the MFC class
CRecordset using public derivation. It references the Database_Providers table in the
PICA database. See Section 31.18 [Database Providers], page 115.

Data Members

long m_database_provider_id [Variables]


CStringA m_database_provider_name
CStringA m_place
These variables reference the corresponding columns in the Database_Providers
table in the PICA database. See Section 31.18 [Database Providers], page 115.

30.33 Records Database Providers


Class Records_Database_Providers is declared in ‘rcdbprov.web’. It is derived from
the MFC class CRecordset using public derivation. Its references the association
table Records_Database_Providers in the PICA database. See Section 31.19
[Records Database Providers], page 116.

Data Members

long m_record_id [Variables]


long m_database_provider_id
These variables reference the corresponding columns in the Records_
Database_Providers table in the PICA database. See Section 31.19
[Records Database Providers], page 116.

30.34 Temp IDs


Class Temp_IDs is declared in ‘tempids.web’. It is derived from the MFC class CRecordset
using public derivation. It references the Temp_IDs table in the PICA database. See Sec-
tion 31.34 [Temp IDs], page 122.
Chapter 30: ODBC Classes for ZTest 109

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 Database Tables for ZTest

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’.

varchar(32) not null source_abbrev [Column]


The default value is ’N/A’.

varchar (1024) not null source_address [Column]


The default value is ’N/A’.

31.2 PICA Categories


int identity (0, 1) not null pica_category_id [Column]
primary key PK_PICA_Categories [Constraint]
char(7) not null pica_plus_category_code [Column]
The default value is ’N/A’.

smallint null pica_3_category_code [Column]


varchar(128) not null description_german [Column]
The default value is ’N/A’.

varchar(128) not null description_english [Column]


The default value is ’N/A’.

31.3 PICA Fields


int identity (0, 1) not null pica_field_id [Column]
primary key PK_PICA_Fields [Constraint]
char(7) not null pica_plus_field_code [Column]
The default value is ’N/A’.

char(4) not null pica_3_field_code [Column]


The default value is ’N/A’.

varchar(128) not null description_german [Column]


The default value is ’N/A’.

varchar(128) not null description_english [Column]


The default value is ’N/A’.
Chapter 31: Database Tables for ZTest 111

31.4 PICA Categories PICA Fields


Association table.

int not null pica_category_id [Column]


References PICA_Categories(pica_category_id).
See Section 31.2 [PICA Categories], page 110.
The default is 0.

int not null pica_field_id [Column]


References PICA_Fields(pica_field_id).
See Section 31.3 [PICA Fields], page 110.
The default is 0.

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’.

datetime date_original_entry [Column]


TO DO: Change to “not null” after testing!

datetime date_most_recent_change [Column]


TO DO: Change to “not null” after testing!

datetime date_status_change [Column]


TO DO: Change to “not null” after testing!

smallint eln_original_entry [Column]


TO DO: Change to “not null” after testing!

smallint eln_most_recent_change [Column]


TO DO: Change to “not null” after testing!

smallint eln_status_change [Column]


TO DO: Change to “not null” after testing!

smallint null year_appearance_begin [Column]


smallint null year_appearance_end [Column]
smallint null year_appearance_rak_wb [Column]
smallint null year_appearance_original [Column]
int not null source_id [Column]
References Sources(source_id). The default value is 0.
Chapter 31: Database Tables for ZTest 112

31.6 Bibliographic Type Codes


This table is filled by the stored procedure regenerate_tables. See Chapter 32 [Database
Stored Procedures], page 123. It is not changed when ZTest is run.

int identity(0, 1) not null bibliographic_type_code_id [Column]


primary key PK_Bibliographic_Type_Codes [Constraint]
char(1) null physical_form_code [Column]
varchar(128) null physical_form_material_name_english [Column]
varchar(128) null physical_form_material_name_german [Column]
char(1) null bibliographic_representation_code [Column]
varchar(128) null [Column]
bibliographic_representation_description_english
varchar(128) null [Column]
bibliographic_representation_description_german
char(1) null description_status_code [Column]
varchar(64) null description_status_description_english [Column]
varchar(64) null description_status_description_german [Column]

31.7 Bibliographic Types


int identity not null bibliographic_type_id [Column]
primary key PK_Bibliographic_Types [Constraint]
char(1) not null physical_form [Column]
char(1) not null bibliographic_representation [Column]
char(1) not null description_status [Column]
char(1) null miscellaneous [Column]
char(1) null bibliographic_representation_refinement [Column]
char(1) null transliteration_code [Column]

31.8 Records Bibliographic Types


Association table.

int not null record_id [Column]


References Records(record_id). The default value is 0.

int not null bibliographic_type_id [Column]


References Bibliographic_Types(bibliographic_type_id). The default value is
0.
Chapter 31: Database Tables for ZTest 113

31.9 Main Titles

int identity not null main_title_id [Column]


primary key PK_Main_Titles [Constraint]

varchar(512) not null standard_text [Column]


The default value is ’N/A’.

varchar(512) not null main_canonical_title [Column]


The default value is ’N/A’.

int not null continuation_main_canonical_title [Column]


The default value is 0.

varchar(512) not null additions_main [Column]


The default value is ’N/A’.

int not null continuation_additions_main [Column]


The default value is 0.

varchar(512) not null additional_creator_main [Column]


The default value is ’N/A’.

varchar(512) not null parallel_canonical_title [Column]


The default value is ’N/A’.

varchar(512) not null additions_parallel [Column]


The default value is ’N/A’.

varchar(512) not null additional_creator_parallel [Column]


The default value is ’N/A’.

varchar(512) not null authorship [Column]


The default value is ’N/A’.

31.10 Records Main Titles


Association table.

int not null record_id [Column]


References Records(record_id). The default value is 0.

int not null main_title_id [Column]


References Main_Titles(main_title_id).
Chapter 31: Database Tables for ZTest 114

31.11 Content Summaries


The Content_Summaries table is referenced by the ODBC class Content_Summaries. See
Section 30.21 [Content Summaries], page 104.
int identity(0, 1) not null content_summary_id [Column]
primary key PK_Content_Summaries [Constraint]
int not null record_id [Column]
References Records(record_id). See Section 31.5 [Records], page 111.
int not null continuation [Column]
The default value is 0.

varchar(1024) not null content_summary [Column]

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’.

varchar(128) not null surname [Column]


The default value is ’N/A’.

varchar(16) not null prefix [Column]


The default value is ’N/A’.

bigint not null id_number_ppn [Column]


The default value is 0.

31.13 Records Authors


Association table.

int not null record_id [Column]


References Records(record_id). The default value is 0.

int not null author_id [Column]


References Authors(author_id).

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

varchar(16) not null prefix [Column]


The default value is ’N/A’.

bigint not null id_number_ppn [Column]


The default value is 0.

31.15 Records Contributors


Association table.

int not null record_id [Column]


References Records(record_id). The default value is 0.

int not null contributor_id [Column]


References Contributors(contributor_id).

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’.

varchar(256) not null place [Columns]


The default value is ’N/A’.

bit not null primary_info_source [Columns]


The default value is 1.

31.17 Records Publishers


Association table.

int not null record_id [Column]


References Records(record_id). The default value is 0.

int not null publisher_id [Column]


References Publishers(publisher_id). The default value is 0.

31.18 Database Providers


int identity not null database_provider_id [Column]
primary key PK_Database_Providers [Constraint]
varchar(256) not null database_provider_name [Columns]
The default value is ’N/A’.

varchar(256) not null place [Columns]


The default value is ’N/A’.
Chapter 31: Database Tables for ZTest 116

31.19 Records Database Providers


Association table.

int not null record_id [Column]


References Records(record_id). The default value is 0.

int not null database_provider_id [Column]


References Database_Providers(database_provider_id). The default value is 0.

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’.

char(3) not null language_abbrev [Column]


The default value is ’N/A’.

31.21 Records Languages


Association table.

int not null record_id [Column]


References Records(record_id).

int not null language_id [Column]


References Languages(language_id).

char(1) null association_type [Column]


varchar(32) not null association_type_name [Column]
The default value is ’N/A’.

31.22 Physical Descriptions


The following PICA categories used all used for the physical descriptions of resources.
Unfortunately, some are used for more than one physical feature, so they are ambiguous. For
example, the English description of the PICA3 4060 category is “Size or Range, Specification
of Material, Technical System”. In addition, these categories all have only a single field,
namely “Text”, so that unlike other categories, the ambiguity cannot be resolved by the
use of fields.

PICA3 PICA+
4060 034D
4061 034M
4062 034I
4063 034K
Chapter 31: Database Tables for ZTest 117

!! TODO: Add cross-references and index entries!


The number of different features that can be described using these classifications is
large enough to make it impracticable to have a column for each one in the Physical_
Descriptions table. Due to the above-mentioned ambiguity, it would also be impossible
for a program to determine which column would be appropriate for a given entry. The
Physical_Descriptions table therefore includes a pica_category_id column, so that
users may at least see how the data was categorized in the PICA source.
With respect to these categories, the pica_field_id in the Physical_Descriptions
table is redundant. I have added it in case other categories are used for physical descriptions.
int identity not null physical_description_id [Column]
primary key PK_Physical_Descriptions [Constraint]
varchar(256) not null text [Column]
The default value is ’N/A’.
int not null pica_category_id [Column]
References PICA_Categories(pica_category_id).
See Section 31.2 [PICA Categories], page 110.
int not null pica_field_id [Column]
References PICA_Fields(pica_field_id).
See Section 31.3 [PICA Fields], page 110.

31.23 Records Physical Descriptions


Association table.
int not null record_id [Column]
References Records(record_id).
See Section 31.5 [Records], page 111.
int not null physical_description_id [Column]
References Physical_Descriptions(physical_description_id).
See Section 31.22 [Physical Descriptions], page 116.

31.24 Remote Access


The Remote_Access table stores information from entries of the category Pica+ 209R/Pica3
7133. See Section 23.11 [209R Local information regarding remote access to electronic
resources], page 59, and Section 24.9 [7133 Local information regarding remote access to
electronic resources], page 66.
The function Category_Container::sub_F_209R, which is called by Category_
Container::F_209R, writes to this table. See hundefinedi [Functions for Specific
Categories], page hundefinedi.
int identity(0, 1) not null remote_access_id [Column]
primary key PK_Remote_Access [Constraint]
bit not null license_indicator [Column]
varchar(64) not null format_type [Column]
The default value is ’N/A’.
Chapter 31: Database Tables for ZTest 118

varchar(512) not null web_display_text [Column]


The default value is ’N/A’.

varchar(512) not null URL [Column]


The default value is ’N/A’.

varchar(512) not null URN [Column]


The default value is ’N/A’.

varchar(512) not null internal_remarks [Column]


The default value is ’N/A’.

31.25 Records Remote Access


Association table. See Section 31.5 [Records], page 111, and Section 31.24 [Remote Access],
page 117.
The function Category_Container::sub_F_209R, which is called by Category_
Container::F_209R, writes to this table. See hundefinedi [Functions for Specific
Categories], page hundefinedi.

int not null record_id [Column]


References Records(record_id).
See Section 31.5 [Records], page 111.

int not null remote_access_id [Column]


References Remote_Access(remote_access_id).
See Section 31.24 [Remote Access], page 117.

31.26 Exemplar Production Numbers


The Exemplar_Production_Numbers table stores information from entries of the category
Pica+ 203@/Pica3 7800. See Section 23.8 [203@ Exemplar Production Number], page 57,
and Section 24.10 [7800 Exemplar Production Number], page 67.
Since so little information is stored in this table, it includes a column record_id which
references Records::record_id. This makes it possible to do without an association table.
The function Subcategory_Container::f_203_AT_0 writes to this table. See Sec-
tion 27.3.4.13 [Exemplar Production Number], page 87.

int identity(0, 1) not null exemplar_production_number_id [Column]


primary key PK_Exemplar_Production_Number [Constraint]
bigint null exemplar_production_number_numeric [Column]
varchar(64) exemplar_production_number_text [Column]
The default value is ’N/A’.

int not null record_id [Column]


References Records::record_id. See Section 31.5 [Records], page 111.
Chapter 31: Database Tables for ZTest 119

31.27 Call Numbers


The Call_Numbers table stores information from entries of the categories Pica+ 209A/Pica3
7100–7109. See Section 23.9 [209A Call Number], page 57, and Section 24.8 [7100–7109 Call
Number], page 65.
The functions Category_Container::F_209A, Subcategory_Container::f_209A_a,
Subcategory_Container::f_209A_b, Subcategory_Container::f_209A_f, and
Subcategory_Container::f_209A_j are used to write to this table. See Section 26.3.3.6
[Call Number], page 73, and Section 27.3.4.14 [Call Number], page 88.

int identity(0, 1) not null call_number_id [Column]


primary key PK_Call_Numbers [Constraint]
varchar(128) call_number [Column]
The default value is ’N/A’.

smallint not null library_number [Column]


The default value is 0.

varchar(64) library_department [Column]


The default value is ’N/A’.

varchar(128) special_location [Column]


The default value is ’N/A’.

31.28 Records Call Numbers


Association table. See Section 31.5 [Records], page 111, and Section 31.27 [Call Numbers],
page 119.
The function Category_Container::F_209A writes to this table. See hundefinedi [Func-
tions for Specific Categories], page hundefinedi.

int not null record_id [Column]


References Records(record_id).
See Section 31.5 [Records], page 111.

int not null call_number_id [Column]


References Call_Numbers(call_number_id).
See Section 31.27 [Call Numbers], page 119.

31.29 Access Numbers


The Access_Numbers table stores information from entries of the category Pica+
209C/Pica3 8100. See Section 23.10 [209C Access Number], page 58, and Section 24.11
[8100 Access Number], page 68.
Since so little information is stored in this table, it includes a column record_id which
references Records::record_id. This makes it possible to do without an association table.
The function Subcategory_Container::f_209C_a writes to this table. See
Section 27.3.4.15 [Access Number], page 90.
Chapter 31: Database Tables for ZTest 120

int identity(0, 1) not null access_number_id [Column]


primary key PK_Access_Numbers [Constraint]

varchar(128) not null access_number [Column]


The default value is ’N/A’.

int not null record_id [Column]


References Records::record_id.

31.30 Subject Types


This table stores information about the classes of subjects specified in the “Indika-
tor/Indicator” field of Pica+ 041A/Pica3 800; 5100–5199. This is the ‘S’ field in Pica+
041A. See Section 23.7 [041A Subject], page 55, Section 23.7.1 [041A Fields], page 55, and
Section 24.1 [800; 5100–5199 Subject], page 60.
The Subject_Types table is referenced by the ODBC class Subject_Types. See Sec-
tion 30.24 [Subject Types (ODBC Class)], page 105.
The indicator column (see below) must contain one of the characters used as values in
this field.

The following table shows these values. Some are only used with Pica3 5100–5199.

Value German English Pica3 800

c Körperschaftsschlagwort Entity Subject (Location) Yes


(Ort)
f Formschlagwort Form Subject No

g Geografisches/ethnografisches Geographical/Ethnographical Yes


Schlagwort Subject
p Personenschlagwort Personal Subject Yes

s Sachschlagwort Material Subject Yes

t Titelschlagwort (800)/Werk- Title Subject (800)/Work Ti- Yes


titel (51xx) tle (51xx)
k Körperschaftsschlagwort Entity Subject (Name) Yes
(Name)
z Zeitschlagwort Temporal Subject No

The Subject_Types table is completely filled by the stored procedure regenerate_


tables. No entries are added when ZTest is run. Therefore, no default values are needed.
See Chapter 32 [Database Stored Procedures], page 123.

int identity(0, 1) not null subject_type_id [Column]


Chapter 31: Database Tables for ZTest 121

primary key PK_Subject_Types [Constraint]


char(1) null indicator [Column]
varchar(64) not null description [Column]
bit not null pica3_800 [Column]
bit not null pica3_51xx [Column]

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.

int identity(0, 1) not null subject_type_id [Column]


primary key PK_Subjects [Constraint]
int not null subject_type_id [Column]
References Subject_Types::subject_type_id. See Section 31.30 [Subject Types],
page 120.

varchar(128) not null default ’N/A’ subject [Column]


bigint not null id_number_ppn [Column]
The default value is 0.

smallint null chain_number [Column]


smallint null chain_link_number [Column]
varchar(256) not null default ’N/A’ chain_info [Column]

31.32 Records Subjects


Association table.

int not null record_id [Column]


References Records::record_id. The default is 0.

int not null subject_id [Column]


References Subjects::subject_id. The default is 0.

31.33 Permutation Patterns


This table stores information from entries of the categories Pica+ 041A/Pica3 5100–5199.
Permutation patterns (German Permutationsmuster ) aren’t used in Pica3 800. See Sec-
tion 23.7 [041A Subject], page 55, and Section 24.1 [800; 5100–5199 Subject], page 60.
This table has a column record_id, which references the record_id column in the
Records table, and columns subject_id_start and subject_id_end, which reference the
subject_id column in the Subjects table (see below). It is therefore an association table.
See Section 31.5 [Records], page 111, and Section 31.31 [Subjects], page 121.
Chapter 31: Database Tables for ZTest 122

int identity(0, 1) not null permutation_pattern_id [Column]


primary key PK_Permutation_Patterns [Constraint]
int not null record_id [Column]
References Records::record_id. See Section 31.5 [Records], page 111.

int not null subject_id_start [Column]


References Subjects::subject_id. See Section 31.31 [Subjects], page 121.

int not null subject_id_end [Column]


References Subjects::subject_id. See Section 31.31 [Subjects], page 121.

int not null chain_number [Column]


varchar(64) not null permutation_pattern [Column]

31.34 Temp IDs


int temp_id [Column]
Chapter 32: Database Stored Procedures 123

32 Database Stored Procedures


create_tables [Stored Procedure]
Creates the database tables.

regenerate_tables [Stored Procedure]


Initializes the database tables. Some of them contain entries that must be present
before data is read from the input file.

delete_tables [Stored Procedure]


Deletes the entries in the database tables, without dropping the tables.

drop_tables [Stored Procedure]


Drops the database tables.

create_catalogs [Stored Procedure]


Creates the fulltext catalogs.

fill_catalogs [Stored Procedure]


Fills the fulltext catalogs.
Chapter 32: Glossary 124

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”.

Open Database Connectivity.

P
PPN: See “Pica Production Number”.

PQF: See “Prefix Query Format”.

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.

Reverse Polish Notation (RPN).

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.

EOF: end-of-file character

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

m_dc_language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 m_place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107, 108


m_dc_publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 m_prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102, 103
m_dc_rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 m_primary_info_source . . . . . . . . . . . . . . . . . . . . 107
m_dc_subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 27 m_publisher_id . . . . . . . . . . . . . . . . . . . . 28, 107, 108
m_dc_title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 m_publisher_name . . . . . . . . . . . . . . . . . . . . . . . . . . 107
m_dc_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 m_record_id. . . 24, 26, 99, 100, 102, 103, 104, 105,
m_description_english . . . . . . . . . . . . . . . . . 98, 105 106, 107, 108
m_description_german . . . . . . . . . . . . . . . . . . 98, 105 m_remote_access_id . . . . . . . . . . . . . . . . . . . . . . . . 107
m_description_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 m_rights_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
m_description_status; . . . . . . . . . . . . . . . . . . . . 101 m_source_abbrev . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
m_description_status_code . . . . . . . . . . . . . . . . 101 m_source_address . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
m_description_status_description_english m_source_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 m_source_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
m_description_status_description_german m_special_location . . . . . . . . . . . . . . . . . . . . . . . . 100
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 m_standard_text . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_eln_most_recent_change . . . . . . . . . . . . . . . . . . 99 m_subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
m_eln_original_entry. . . . . . . . . . . . . . . . . . . . . . . 99 m_subject_id . . . . . . . . . . . . . . . . . . . . . . . 26, 27, 106
m_eln_status_change . . . . . . . . . . . . . . . . . . . . . . . . 99 m_subject_id_end . . . . . . . . . . . . . . . . . . . . . . . . . . 106
m_exemplar_production_number_id . . . . . . . . . . 100 m_subject_id_start . . . . . . . . . . . . . . . . . . . . . . . . 106
m_exemplar_production_number_numeric . . . . 100 m_subject_type_id . . . . . . . . . . . . . . . . . . . . 105, 106
m_exemplar_production_number_text . . . . . . . 100 m_surname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102, 103
m_format_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 m_temp_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 28, 29, 109
m_given_name . . . . . . . . . . . . . . . . . . . . . . . . . . 102, 103 m_text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
m_header_datestamp . . . . . . . . . . . . . . . . . . . . . . . . . 24 m_title_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
m_header_identifier . . . . . . . . . . . . . . . . . . . . . . . . 24 m_transliteration_code; . . . . . . . . . . . . . . . . . . 101
m_header_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 m_type_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
m_id_number_ppn . . . . . . . . . . . . . . . . . . . . . . 103, 106 m_URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
m_identification_number . . . . . . . . . . . . . . . . . . . 99 m_URN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
m_identifier_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 m_web_display_text . . . . . . . . . . . . . . . . . . . . . . . . 107
m_indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 m_year_appearance_begin . . . . . . . . . . . . . . . . . . . 99
m_institution_id . . . . . . . . . . . . . . . . . . . . 24, 25, 28 m_year_appearance_end . . . . . . . . . . . . . . . . . . . . . 99
m_internal_remarks . . . . . . . . . . . . . . . . . . . . . . . . 107 m_year_appearance_original . . . . . . . . . . . . . . . . 99
m_language_abbrev . . . . . . . . . . . . . . . . . . . . . . . . . 105 m_year_appearance_rak_wb . . . . . . . . . . . . . . . . . . 99
m_language_id . . . . . . . . . . . . . . . . . . . . . . . . . . 27, 105 main_canonical_title. . . . . . . . . . . . . . . . . . . . . . 113
m_language_name_english . . . . . . . . . . . . . . . . . . 105 main_title_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
m_language_name_german . . . . . . . . . . . . . . . . . . . 105 Main_Titles::m_additional_creator_main . . 104
m_library_department. . . . . . . . . . . . . . . . . . . . . . 100 Main_Titles::m_additional_creator_parallel
m_library_number . . . . . . . . . . . . . . . . . . . . . . . . . . 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_license_indicator . . . . . . . . . . . . . . . . . . . . . . . 107 Main_Titles::m_additions_main . . . . . . . . . . . . 104
m_main_canonical_title . . . . . . . . . . . . . . . . . . . 104 Main_Titles::m_additions_parallel . . . . . . . 104
m_main_title_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Main_Titles::m_authorship . . . . . . . . . . . . . . . . 104
m_miscellaneous; . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Main_Titles::m_continuation_additions_main
m_parallel_canonical_title . . . . . . . . . . . . . . . 104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_permutation_pattern . . . . . . . . . . . . . . . . . . . . 106 Main_Titles::m_continuation_main_canonical_
m_permutation_pattern_id . . . . . . . . . . . . . . . . . 106 title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_person_id . . . . . . . . . . . . . . . . . . . . . . . . . 24, 25, 28 Main_Titles::m_main_canonical_title . . . . . 104
m_physical_description_id . . . . . . . . . . . . . . . . 102 Main_Titles::m_main_title_id . . . . . . . . . . . . . 104
m_physical_form; . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Main_Titles::m_parallel_canonical_title
m_physical_form_code. . . . . . . . . . . . . . . . . . . . . . 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
m_physical_form_material_name_english . . . 101 Main_Titles::m_standard_text . . . . . . . . . . . . . 104
m_physical_form_material_name_german . . . . 101 MAX_RESUMPTION_TOKEN. . . . . . . . . . . . . . . . . . . . . . . 20
m_pica_3_category_code . . . . . . . . . . . . . . . . . . . . 98 MAX_TAG_LENGTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
m_pica_category_id . . . . . . . . . . . . . . . . . . . . 98, 102 MAX_ZOOM_CONNECTION . . . . . . . . . . . . . . . . . . . . . . . . 42
m_pica_field_id. . . . . . . . . . . . . . . . . . . . . . . . 98, 102 MAX_ZOOM_RESULTSET . . . . . . . . . . . . . . . . . . . . . . . . . 42
m_pica_plus_category_code . . . . . . . . . . . . . . . . . 98 metadata_source . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
m_pica_plus_field_code . . . . . . . . . . . . . . . . . . . . 98 MetadataSource::DBT . . . . . . . . . . . . . . . . . . . . . . . . 20
m_pica3_51xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 MetadataSource::id . . . . . . . . . . . . . . . . . . . . . . . . . 20
m_pica3_800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 MetadataSource::MAX_RESUMPTION_TOKEN . . . . . 20
Chapter 32: Variable Index 135

MetadataSource::MAX_TAG_LENGTH . . . . . . . . . . . . 20 pica_category_id . . . . . . . . . . . . . . . . . 110, 111, 117


MetadataSource::NULL_METADATA_SOURCE . . . . . 20 pica_field_id . . . . . . . . . . . . . . . . . . . . 110, 111, 117
MetadataSource::TIMMS . . . . . . . . . . . . . . . . . . . . . 20 pica_plus_category_code . . . . . . . . . . . . . . . . . . 110
miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 pica_plus_category_id . . . . . . . . . . . . . . . . . . . . . 70
month_of_year . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 pica_plus_field_code. . . . . . . . . . . . . . . . . . . . . . 110
mutex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
pica_plus_field_id . . . . . . . . . . . . . . . . . . . . . . . . . 77
Pica_Record::categories . . . . . . . . . . . . . . . . . . . 69
N pica3_51xx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
NULL_METADATA_SOURCE. . . . . . . . . . . . . . . . . . . . . . . 20 pica3_800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
NULL_TIMESPAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 PK_Access_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . 120
PK_Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
PK_Bibliographic_Type_Codes . . . . . . . . . . . . . . 112
O PK_Bibliographic_Types . . . . . . . . . . . . . . . . . . . 112
output_stream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 PK_Call_Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Output_Stream_Type::mutex . . . . . . . . . . . . . . . . . 49 PK_Content_Summaries. . . . . . . . . . . . . . . . . . . . . . 114
Output_Stream_Type::output_stream . . . . . . . . . 49 PK_Contributors. . . . . . . . . . . . . . . . . . . . . . . . 31, 114
PK_Creators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
P PK_Database_Providers . . . . . . . . . . . . . . . . . . . . 115
PK_Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
parallel_canonical_title . . . . . . . . . . . . . . . . . 113
PK_Exemplar_Production_Number . . . . . . . . . . . . 118
parse_records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
perform_search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 PK_Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
permutation_pattern . . . . . . . . . . . . . . . . . . . . . . . 122 PK_Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 116
permutation_pattern_id . . . . . . . . . . . . . . . . . . . 122 PK_Main_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Permutation_Patterns::m_chain_number . . . . 106 PK_Permutation_Patterns . . . . . . . . . . . . . . . . . . 122
Permutation_Patterns::m_permutation_pattern PK_Physical_Descriptions . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 PK_PICA_Categories . . . . . . . . . . . . . . . . . . . . . . . . 110
Permutation_Patterns::m_permutation_ PK_PICA_Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
pattern_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 PK_Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 115
Permutation_Patterns::m_record_id . . . . . . . 106
PK_Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 111
Permutation_Patterns::m_subject_id_end . . 106
Permutation_Patterns::m_subject_id_start PK_Remote_Access . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 PK_Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
person_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32, 34 PK_Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
physical_description_id . . . . . . . . . . . . . . . . . . 117 PK_Subject_Types . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Physical_Descriptions::m_physical_ PK_Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 121
description_id . . . . . . . . . . . . . . . . . . . . . . . . 102 PK_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
physical_form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 PK_Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
physical_form_code . . . . . . . . . . . . . . . . . . . . . . . . 112 place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
physical_form_material_name_english . . . . . 112
prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114, 115
physical_form_material_name_german . . . . . . 112
previous_repeat_code_ctr . . . . . . . . . . . . . . . . . . 70
pica_3_category_code. . . . . . . . . . . . . . . . . . . . . . 110
pica_3_category_id . . . . . . . . . . . . . . . . . . . . . . . . . 70 primary_info_source . . . . . . . . . . . . . . . . . . . . . . . 115
pica_3_field_code . . . . . . . . . . . . . . . . . . . . . . . . . 110 publisher_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 115
PICA_Categories::m_description_english . . . 98 publisher_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
PICA_Categories::m_description_german . . . . 98 publisher_strm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PICA_Categories::m_pica_3_category_code . . 98 PUBLISHERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
PICA_Categories::m_pica_3_field_code . . . . . 98 Publishers::m_place . . . . . . . . . . . . . . . . . . . . . . . 107
PICA_Categories::m_pica_category_id . . . . . . 98 Publishers::m_primary_info_source . . . . . . . 107
PICA_Categories::m_pica_field_id . . . . . . . . . . 98 Publishers::m_publisher_id . . . . . . . . . . . . . . . 107
PICA_Categories::m_pica_plus_category_code
Publishers::m_publisher_name . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
publishers_temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PICA_Categories::m_pica_plus_field_code . . 98
PICA_Categories_PICA_Fields::m_pica_ Publishers_Temp::m_dc_publisher . . . . . . . . . . . 28
category_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Publishers_Temp::m_institution_id. . . . . . . . . 28
PICA_Categories_PICA_Fields::m_pica_field_ Publishers_Temp::m_person_id . . . . . . . . . . . . . . 28
id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Publishers_Temp::m_publisher_id . . . . . . . . . . . 28
Chapter 32: Variable Index 136

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

Data Type Index

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

Database Table Index

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

Contributors::surname . . . . . . . . . . . . . . . . . . . . 114 Descriptions_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . 33


Contributors_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Descriptions_Temp::description_id. . . . . . . . . 33
Contributors_Temp::contributor_id . . . . . . . . . 32 Descriptions_Temp::record_id . . . . . . . . . . . . . . 33
Contributors_Temp::dc_contributor . . . . . . . . . 32
Contributors_Temp::dc_description . . . . . . . . . 33
Contributors_Temp::dc_title . . . . . . . . . . . . . . . 32
Contributors_Temp::institution_id . . . . . . . . . 32 E
Contributors_Temp::person_id . . . . . . . . . . . . . . 32 eln_most_recent_change . . . . . . . . . . . . . . . . . . . 111
creator_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 eln_original_entry . . . . . . . . . . . . . . . . . . . . . . . . 111
Creators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 eln_status_change . . . . . . . . . . . . . . . . . . . . . . . . . 111
Creators::creator_id. . . . . . . . . . . . . . . . . . . . . . . 31
Exemplar_Production_Number::exemplar_
Creators::dc_creator. . . . . . . . . . . . . . . . . . . . . . . 31
production_number_id . . . . . . . . . . . . . . . . . 118
Creators::institution_id . . . . . . . . . . . . . . . . . . 31
Exemplar_Production_Number::exemplar_
Creators::person_id . . . . . . . . . . . . . . . . . . . . . . . . 31
production_number_numeric . . . . . . . . . . . . 118
Creators::PK_Creators . . . . . . . . . . . . . . . . . . . . . 31
Creators_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Exemplar_Production_Number::exemplar_
Creators_Temp::creator_id . . . . . . . . . . . . . . . . . 31 production_number_text . . . . . . . . . . . . . . . 118
Creators_Temp::dc_creator . . . . . . . . . . . . . . . . . 31 Exemplar_Production_Number::PK_Exemplar_
Creators_Temp::institution_id . . . . . . . . . . . . . 31 Production_Number. . . . . . . . . . . . . . . . . . . . . 118
Creators_Temp::person_id . . . . . . . . . . . . . . . . . . 31 Exemplar_Production_Number::record_id . . . 118
exemplar_production_number_id . . . . . . . . . . . . 118
exemplar_production_number_numeric . . . . . . 118
D exemplar_production_number_text . . . . . . . . . . 118
database_provider_id . . . . . . . . . . . . . . . . . 115, 116 Exemplar_Production_Numbers . . . . . . . . . . . . . . 118
database_provider_name . . . . . . . . . . . . . . . . . . . 115
Database_Providers . . . . . . . . . . . . . . . . . . . . . . . . 115
Database_Providers::database_provider_id
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
F
Database_Providers::database_provider_name format_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Database_Providers::place . . . . . . . . . . . . . . . . 115
date_most_recent_change . . . . . . . . . . . . . . . . . . 111
date_original_entry . . . . . . . . . . . . . . . . . . . . . . . 111
G
date_status_change . . . . . . . . . . . . . . . . . . . . . . . . 111 given_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
dc_contributor . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32
dc_creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
dc_date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
dc_description . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 33
H
dc_identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 header_datestamp . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
dc_language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 34 header_identifier . . . . . . . . . . . . . . . . . . . . . . . . . . 30
dc_publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 header_status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
dc_rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 35
dc_subject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
dc_title. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
dc_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
I
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 id_number_ppn . . . . . . . . . . . . . . . . . . . . 114, 115, 121
description_english . . . . . . . . . . . . . . . . . . . . . . . 110 identification_number . . . . . . . . . . . . . . . . . . . . 111
description_german . . . . . . . . . . . . . . . . . . . . . . . . 110 identifier_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
description_id . . . . . . . . . . . . . . . . . . . . . . . . . . 32, 33 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
description_status . . . . . . . . . . . . . . . . . . . . . . . . 112 Identifiers::dc_identifier . . . . . . . . . . . . . . . . 33
description_status_code . . . . . . . . . . . . . . . . . . 112 Identifiers::PK_Identifiers . . . . . . . . . . . . . . . 33
description_status_description_english . . 112
Identifiers_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
description_status_description_german . . . 112
Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Identifiers_Temp::dc_identifier . . . . . . . . . . . 33
Descriptions::dc_description . . . . . . . . . . . . . . 32 Identifiers_Temp::identifier_id . . . . . . . . . . . 33
Descriptions::description_id . . . . . . . . . . . . . . 32 indicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Descriptions::PK_Descriptions . . . . . . . . . . . . . 32 institution_id . . . . . . . . . . . . . . . . . . . . . . 31, 32, 34
Descriptions::record_id . . . . . . . . . . . . . . . . . . . 32 internal_remarks . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Chapter 32: Database Table Index 147

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

publisher_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 115 Records_Languages::association_type_name


publisher_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Publishers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 115 Records_Languages::language_id . . . . . . . . . . . 116
Publishers::company_id . . . . . . . . . . . . . . . . . . . . 34 Records_Languages::record_id . . . . . . . . . . . . . 116
Publishers::dc_publisher . . . . . . . . . . . . . . . . . . 34 Records_Main_Titles . . . . . . . . . . . . . . . . . . . . . . . 113
Publishers::institution_id . . . . . . . . . . . . . . . . 34 Records_Main_Titles::main_title_id . . . . . . 113
Publishers::person_id . . . . . . . . . . . . . . . . . . . . . 34 Records_Main_Titles::record_id . . . . . . . . . . . 113
Publishers::PK_Publishers . . . . . . . . . . . . . . . . . 34 Records_Physical_Descriptions . . . . . . . . . . . . 117
Publishers::place . . . . . . . . . . . . . . . . . . . . . . . . . 115 Records_Physical_Descriptions::physical_
Publishers::primary_info_source . . . . . . . . . . 115 description_id . . . . . . . . . . . . . . . . . . . . . . . . 117
Publishers::publisher_id . . . . . . . . . . . . . . 34, 115 Records_Physical_Descriptions::record_id
Publishers::publisher_name . . . . . . . . . . . . . . . 115 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Publishers_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Records_Publishers . . . . . . . . . . . . . . . . . . . . . . . . 115
Publishers_Temp::company_id . . . . . . . . . . . . . . . 34 Records_Publishers::publisher_id . . . . . . . . . 115
Publishers_Temp::dc_publisher . . . . . . . . . . . . . 34 Records_Publishers::record_id . . . . . . . . . . . . 115
Publishers_Temp::institution_id . . . . . . . . . . . 34 Records_Remote_Access . . . . . . . . . . . . . . . . . . . . 118
Publishers_Temp::person_id . . . . . . . . . . . . . . . . 34 Records_Remote_Access::record_id . . . . . . . . . 118
Publishers_Temp::publisher_id . . . . . . . . . . . . . 34 Records_Remote_Access::remote_access_id
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Records_Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . 121
R Records_Subjects::record_id . . . . . . . . . . . . . . 121
record_id . . . . . 30, 32, 33, 111, 112, 113, 114, 115, Records_Subjects::subject_id . . . . . . . . . . . . . 121
116, 117, 118, 119, 120, 121, 122 Records_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30, 111 Records_Temp::dc_date . . . . . . . . . . . . . . . . . . . . . 30
Records::date_most_recent_change . . . . . . . . . 111 Records_Temp::header_datestamp . . . . . . . . . . . . 30
Records::date_original_entry . . . . . . . . . . . . . 111 Records_Temp::header_identifier . . . . . . . . . . . 30
Records::date_status_change . . . . . . . . . . . . . . 111 Records_Temp::header_status . . . . . . . . . . . . . . . 30
Records::dc_date . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Records_Temp::record_id . . . . . . . . . . . . . . . . . . . 30
Records::eln_most_recent_change . . . . . . . . . . 111 Records_Temp::source_id . . . . . . . . . . . . . . . . . . . 30
Records::eln_original_entry . . . . . . . . . . . . . . 111 Remote_Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Records::eln_status_change . . . . . . . . . . . . . . . 111 Remote_Access::format_type . . . . . . . . . . . . . . . 117
Records::header_datestamp . . . . . . . . . . . . . . . . . 30 Remote_Access::internal_remarks . . . . . . . . . . 118
Records::header_identifier . . . . . . . . . . . . . . . . 30 Remote_Access::license_indicator . . . . . . . . . 117
Records::header_status . . . . . . . . . . . . . . . . . . . . 30 Remote_Access::remote_access_id . . . . . . . . . . 117
Records::identification_number . . . . . . . . . . . 111 Remote_Access::URL . . . . . . . . . . . . . . . . . . . . . . . . 118
Records::PK_Records . . . . . . . . . . . . . . . . . . . 30, 111 Remote_Access::URN . . . . . . . . . . . . . . . . . . . . . . . . 118
Records::record_id . . . . . . . . . . . . . . . . . . . . 30, 111 Remote_Access::web_display_text . . . . . . . . . . 118
Records::source_id . . . . . . . . . . . . . . . . . . . . 30, 111 remote_access_id . . . . . . . . . . . . . . . . . . . . . 117, 118
Records::year_appearance_begin . . . . . . . . . . . 111 Rights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Records::year_appearance_end . . . . . . . . . . . . . 111 Rights::dc_rights . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Records::year_appearance_original . . . . . . . 111 Rights::PK_Rights . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Records::year_appearance_rak_wb . . . . . . . . . . 111 Rights::rights_id . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Records_Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 rights_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34, 35
Records_Authors::author_id . . . . . . . . . . . . . . . 114 Rights_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Records_Authors::record_id . . . . . . . . . . . . . . . 114 Rights_Temp::dc_rights . . . . . . . . . . . . . . . . . . . . 35
Records_Bibliographic_Types . . . . . . . . . . . . . . 112 Rights_Temp::rights_id . . . . . . . . . . . . . . . . . . . . 35
Records_Call_Numbers. . . . . . . . . . . . . . . . . . . . . . 119
Records_Call_Numbers::call_number_id . . . . 119
Records_Call_Numbers::record_id . . . . . . . . . . 119 S
Records_Contributors. . . . . . . . . . . . . . . . . . . . . . 115 source_abbrev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Records_Contributors::contributor_id . . . . 115 source_address . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Records_Contributors::record_id . . . . . . . . . . 115 source_id. . . . . . . . . . . . . . . . . . . . . . . . . . 30, 110, 111
Records_Database_Providers . . . . . . . . . . . . . . . 116 source_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Records_Database_Providers::database_ Sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
provider_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Sources::PK_Sources . . . . . . . . . . . . . . . . . . . . . . . 110
Records_Database_Providers::record_id . . . 116 Sources::source_abbrev . . . . . . . . . . . . . . . . . . . 110
Records_Languages . . . . . . . . . . . . . . . . . . . . . . . . . 116 Sources::source_address . . . . . . . . . . . . . . . . . . 110
Records_Languages::association_type . . . . . 116 Sources::source_id . . . . . . . . . . . . . . . . . . . . . . . . 110
Chapter 32: Database Table Index 149

Sources::source_name. . . . . . . . . . . . . . . . . . . . . . 110 Temp_IDs_1::temp_id . . . . . . . . . . . . . . . . . . . . . . . . 35


special_location . . . . . . . . . . . . . . . . . . . . . . . . . . 119 text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
standard_text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 title_id. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
subject. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Titles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
subject_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 121 Titles::dc_title . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
subject_id_end . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Titles::PK_Titles . . . . . . . . . . . . . . . . . . . . . . . . . . 32
subject_id_start . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Titles::record_id . . . . . . . . . . . . . . . . . . . . . . . . . . 32
subject_type_id . . . . . . . . . . . . . . . . . . . . . . 120, 121 Titles::title_id . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Subject_Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Titles_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Subject_Types::description . . . . . . . . . . . . . . . 121 Titles_Temp::record_id . . . . . . . . . . . . . . . . . . . . 32
Subject_Types::indicator . . . . . . . . . . . . . . . . . 121 Titles_Temp::title_id . . . . . . . . . . . . . . . . . . . . . 32
Subject_Types::pica3_51xx . . . . . . . . . . . . . . . . 121 transliteration_code. . . . . . . . . . . . . . . . . . . . . . 112
Subject_Types::pica3_800 . . . . . . . . . . . . . . . . . 121 type_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Subject_Types::subject_type_id . . . . . . . . . . . 120 Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Subjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33, 121 Types::dc_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Subjects::chain_info. . . . . . . . . . . . . . . . . . . . . . 121 Types::type_id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Subjects::chain_link_number . . . . . . . . . . . . . . 121 Types_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Subjects::chain_number . . . . . . . . . . . . . . . . . . . 121 Types_Temp::dc_type . . . . . . . . . . . . . . . . . . . . . . . . 35
Subjects::dc_subject. . . . . . . . . . . . . . . . . . . . . . . 33 Types_Temp::type_id . . . . . . . . . . . . . . . . . . . . . . . . 35
Subjects::id_number_ppn . . . . . . . . . . . . . . . . . . 121
Subjects::identifier_id . . . . . . . . . . . . . . . . . . . 33
Subjects::PK_Subjects . . . . . . . . . . . . . . . . . . . . . 33 U
Subjects::subject . . . . . . . . . . . . . . . . . . . . . . . . . 121
URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Subjects::subject_id. . . . . . . . . . . . . . . . . . . . . . . 33
URN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Subjects::subject_type_id . . . . . . . . . . . . . . . . 121
Subjects_Temp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Subjects_Temp::dc_subject . . . . . . . . . . . . . . . . . 33 W
Subjects_Temp::subject_id . . . . . . . . . . . . . . . . . 33
surname. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 web_display_text . . . . . . . . . . . . . . . . . . . . . . . . . . 118

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

Database Stored Procedure Index

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

0 209C Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 68


001A = Pica3 0200. . . . . . . . . . . . . . . . . . . . 51, 62, 77 209C: Access Number . . . . . . . . . . . . . . . . . 58, 68, 90
001A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62 209C: cataloguing guidelines . . . . . . . . . . . 58, 68, 90
001A: cataloguing guidelines . . . . . . . . . . . 51, 62, 77 209C: Zugangsnummer . . . . . . . . . . . . . . . . 58, 68, 90
001A: Identifier and Date of the Original 209R = Pica3 7133 . . . . . . . . . . . . . . . . 59, 66, 74, 90
Catalogue Entry . . . . . . . . . . . . . . . . . . 51, 62, 77 209R Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59, 67
001A: Kennung und Datum der Ersterfassung 209R: cataloguing guidelines . . . . . . . . 59, 66, 74, 90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62, 77 209R: Local information regarding remote access
009P: cataloguing guidelines. . . . . . . . . . . . . . . 59, 67 to electronic resources . . . . . . . . . 59, 66, 74, 90
010@ = Pica3 1500 . . . . . . . . . . . . . . . . . . . 52, 63, 79 209R: Lokale Angaben zum Zugriff auf
010@ Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52, 63 elektronische Ressourcen im Fernzugriff . . . 59,
010@: cataloguing guidelines . . . . . . . . . . . 52, 63, 79 66, 74, 90
010@: Code(s) for Languages . . . . . . . . . . 52, 63, 79
010@: Code(s) fuer Sprachen . . . . . . . . . . 52, 63, 79
011@ = Pica3 1100 . . . . . . . . . . . . . . . . . . . 53, 62, 80 A
011@: cataloguing guidelines . . . . . . . . . . . 53, 62, 80
Access Number: 209C . . . . . . . . . . . . . . . . . 58, 68, 90
011@: Erscheinungsjahr . . . . . . . . . . . . . . . 53, 62, 80
011@: Year of Appearance . . . . . . . . . . . . . 53, 62, 80
033A = Pica3 4030 . . . . . . . . . . . . . . . . 53, 64, 71, 84
033A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 64 C
033A: cataloguing guidelines. . . . . . . . 53, 64, 71, 84 Call Number: 209A . . . . . . . . . . . . . . . . 57, 65, 73, 88
033A: Ort, Verlag . . . . . . . . . . . . . . . . . 53, 64, 71, 84 cataloguing guidelines: 001A . . . . . . . . . . . 51, 62, 77
033A: Place, Publisher . . . . . . . . . . . . . 53, 64, 71, 84 cataloguing guidelines: 009P . . . . . . . . . . . . . . 59, 67
034D = Pica3 4060. . . . . . . . . . . . . . . . . . . . 54, 65, 85 cataloguing guidelines: 010@ . . . . . . . . . . . 52, 63, 79
034D Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 65 cataloguing guidelines: 011@ . . . . . . . . . . . 53, 62, 80
034D: cataloguing guidelines . . . . . . . . . . . 54, 65, 85 cataloguing guidelines: 033A . . . . . . . 53, 64, 71, 84
034D: Size or Range, Specification of Material, cataloguing guidelines: 034D . . . . . . . . . . . 54, 65, 85
Technical System . . . . . . . . . . . . . . . . . 54, 65, 85 cataloguing guidelines: 041A . . . . . . . 55, 60, 72, 86
034D: Umfangsangabe, spezifische cataloguing guidelines: 203@ . . . . . . . . . . . 57, 67, 87
Materialbenennung, technisches System . . . 54,
cataloguing guidelines: 209A . . . . . . . 57, 65, 73, 88
65, 85
cataloguing guidelines: 209C . . . . . . . . . . . 58, 68, 90
041A = Pica3 800, 5100–5199 . . . . . . 55, 60, 72, 86
cataloguing guidelines: 209R . . . . . . . 59, 66, 74, 90
041A Fields . . . . . . . . . . . . . . . . . . . . . . . 55, 56, 60, 61
041A: cataloguing guidelines. . . . . . . . 55, 60, 72, 86 Code(s) for Languages: 010@ . . . . . . . . . . 52, 63, 79
041A: Hauptschlagwort und Unterschlagwoerter Code(s) fuer Sprachen: 010@ . . . . . . . . . . 52, 63, 79
(Schlagwortansetzung) . . . . . . . . . 55, 60, 72, 86
041A: Main Subject and Subsidiary Subjects
(Subject Assignment) . . . . . . . . . . 55, 60, 72, 86 E
041A: RSWK Chains . . . . . . . . . . . . . . 55, 60, 72, 86 Erscheinungsjahr: 011@ . . . . . . . . . . . . . . . 53, 62, 80
041A: RSWK-Ketten . . . . . . . . . . . . . . 55, 60, 72, 86 Exemplar Production Number: 203@ . . . 57, 67, 87
Exemplar-Produktionsnummer: 203@. . . 57, 67, 87
2
203@ = Pica3 7800 . . . . . . . . . . . . . . . . . . . 57, 67, 87 F
203@ Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 68
203@: cataloguing guidelines . . . . . . . . . . . 57, 67, 87 Fields 001A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62
203@: Exemplar Production Number . . . 57, 67, 87 Fields 010@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52, 63
203@: Exemplar-Produktionsnummer. . . 57, 67, 87 Fields 033A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 64
209A = Pica3 7100–7109 . . . . . . . . . . . 57, 65, 73, 88 Fields 034D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 65
209A Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 66 Fields 041A . . . . . . . . . . . . . . . . . . . . . . . 55, 56, 60, 61
209A: Call Number . . . . . . . . . . . . . . . . 57, 65, 73, 88 Fields 203@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 68
209A: cataloguing guidelines. . . . . . . . 57, 65, 73, 88 Fields 209A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 66
209A: Signatur . . . . . . . . . . . . . . . . . . . . 57, 65, 73, 88 Fields 209C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 68
209C = Pica3 8100 . . . . . . . . . . . . . . . . . . . . 58, 68, 90 Fields 209R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59, 67
Chapter 32: Pica+ Index 153

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

0 7133 209R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59, 67


0200 = Pica+ 001A. . . . . . . . . . . . . . . . . . . . 51, 62, 77 7133 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59, 67
0200 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62 7133: cataloguing guidelines . . . . . . . . 59, 66, 74, 90
0200: cataloguing guidelines . . . . . . . . . . . 51, 62, 77 7133: Local information regarding remote access to
0200: Identifier and Date of the Original Catalogue electronic resources . . . . . . . . . . . . 59, 66, 74, 90
Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62, 77 7133: Lokale Angaben zum Zugriff auf
0200: Kennung und Datum der Ersterfassung elektronische Ressourcen im Fernzugriff . . . 59,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51, 62, 77 66, 74, 90
7800 = Pica+ 203@ . . . . . . . . . . . . . . . . . . . 57, 67, 87
7800 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57, 68
1 7800: cataloguing guidelines . . . . . . . . . . . 57, 67, 87
1100 = Pica+ 011@ . . . . . . . . . . . . . . . . . . . 53, 62, 80 7800: Exemplar Production Number. . . . 57, 67, 87
1100: cataloguing guidelines . . . . . . . . . . . 53, 62, 80 7800: Exemplar-Produktionsnummer . . . 57, 67, 87
1100: Erscheinungsjahr . . . . . . . . . . . . . . . . 53, 62, 80
1100: Year of Appearance . . . . . . . . . . . . . 53, 62, 80
1500 = Pica+ 010@ . . . . . . . . . . . . . . . . . . . 52, 63, 79
1500 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52, 63
8
1500: cataloguing guidelines . . . . . . . . . . . 52, 63, 79 800 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55, 60
1500: Code(s) for Languages . . . . . . . . . . . 52, 63, 79 800, 5100–5199 = Pica+ 041A . . . . . . 55, 60, 72, 86
1500: Code(s) fuer Sprachen . . . . . . . . . . . 52, 63, 79 800: cataloguing guidelines . . . . . . . . . 55, 60, 72, 86
800: Hauptschlagwort und Unterschlagwoerter
(Schlagwortansetzung) . . . . . . . . . 55, 60, 72, 86
4 800: Main Subject and Subsidiary Subjects
4030 = Pica+ 033A . . . . . . . . . . . . . . . . 53, 64, 71, 84 (Subject Assignment) . . . . . . . . . . 55, 60, 72, 86
4030 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 64 8100 = Pica+ 209C. . . . . . . . . . . . . . . . . . . . 58, 68, 90
4030: cataloguing guidelines . . . . . . . . 53, 64, 71, 84 8100 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58, 68
4030: Ort, Verlag . . . . . . . . . . . . . . . . . . 53, 64, 71, 84 8100: Access Number . . . . . . . . . . . . . . . . . 58, 68, 90
4030: Place, Publisher . . . . . . . . . . . . . 53, 64, 71, 84
8100: cataloguing guidelines . . . . . . . . . . . 58, 68, 90
4060 = Pica+ 034D . . . . . . . . . . . . . . . . . . . 54, 65, 85
8100: Zugangsnummer . . . . . . . . . . . . . . . . 58, 68, 90
4060 Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54, 65
4060: cataloguing guidelines . . . . . . . . . . . 54, 65, 85
4060: Size or Range, Specification of Material,
Technical System . . . . . . . . . . . . . . . . . 54, 65, 85 A
4060: Umfangsangabe, spezifische Access Number: 8100 . . . . . . . . . . . . . . . . . 58, 68, 90
Materialbenennung, technisches System . . . 54,
65, 85
408x: cataloguing guidelines . . . . . . . . . . . . . . . 59, 67
C
Call Number: 7100–7109 . . . . . . . . . . . 57, 65, 73, 88
5 cataloguing guidelines: 0200 . . . . . . . . . . . 51, 62, 77
5100–5199 = Pica+ 041A . . . . . . . . . . . 55, 60, 72, 86 cataloguing guidelines: 1100 . . . . . . . . . . . 53, 62, 80
5100–5199 Fields . . . . . . . . . . . . . . . . . . . . . . . . . 56, 61 cataloguing guidelines: 1500 . . . . . . . . . . . 52, 63, 79
5100–5199: RSWK Chains . . . . . . . . . 55, 60, 72, 86 cataloguing guidelines: 4030 . . . . . . . . 53, 64, 71, 84
5100–5199: RSWK-Ketten . . . . . . . . . 55, 60, 72, 86 cataloguing guidelines: 4060 . . . . . . . . . . . 54, 65, 85
5100-5199: cataloguing guidelines . . . 55, 60, 72, 86
cataloguing guidelines: 408x . . . . . . . . . . . . . . . 59, 67
cataloguing guidelines: 5100–5199 . . . 55, 60, 72, 86
7 cataloguing guidelines: 7100–7109 . . . 57, 65, 73, 88
7100–7109 = Pica+ 209A . . . . . . . . . . . 57, 65, 73, 88 cataloguing guidelines: 7133 . . . . . . . . 59, 66, 74, 90
7100–7109 Fields . . . . . . . . . . . . . . . . . . . . . . . . . 58, 66 cataloguing guidelines: 7800 . . . . . . . . . . . 57, 67, 87
7100–7109: Call Number . . . . . . . . . . . 57, 65, 73, 88 cataloguing guidelines: 800 . . . . . . . . . 55, 60, 72, 86
7100–7109: cataloguing guidelines . . . 57, 65, 73, 88 cataloguing guidelines: 8100 . . . . . . . . . . . 58, 68, 90
7100–7109: Signatur . . . . . . . . . . . . . . . 57, 65, 73, 88 Code(s) for Languages: 1500 . . . . . . . . . . . 52, 63, 79
7133 = Pica+ 209R . . . . . . . . . . . . . . . . 59, 66, 74, 90 Code(s) fuer Sprachen: 1500 . . . . . . . . . . . 52, 63, 79
Chapter 32: Pica3 Index 155

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

Appendix A GNU Free Documentation License


Version 1.2, November 2002
Copyright c 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies


of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and
useful document free in the sense of freedom: to assure everyone the effective freedom
to copy and redistribute it, with or without modifying it, either commercially or non-
commercially. Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible for modifications
made by others.
This License is a kind of “copyleft”, which means that derivative works of the document
must themselves be free in the same sense. It complements the GNU General Public
License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because
free software needs free documentation: a free program should come with manuals
providing the same freedoms that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License principally for
works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a
notice placed by the copyright holder saying it can be distributed under the terms
of this License. Such a notice grants a world-wide, royalty-free license, unlimited in
duration, to use that work under the conditions stated herein. The “Document”,
below, refers to any such manual or work. Any member of the public is a licensee, and
is addressed as “you”. You accept the license if you copy, modify or distribute the work
in a way requiring permission under copyright law.
A “Modified Version” of the Document means any work containing the Document or
a portion of it, either copied verbatim, or with modifications and/or translated into
another language.
A “Secondary Section” is a named appendix or a front-matter section of the Document
that deals exclusively with the relationship of the publishers or authors of the Document
to the Document’s overall subject (or to related matters) and contains nothing that
could fall directly within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any mathematics.) The
relationship could be a matter of historical connection with the subject or with related
matters, or of legal, commercial, philosophical, ethical or political position regarding
them.
The “Invariant Sections” are certain Secondary Sections whose titles are designated, as
being those of Invariant Sections, in the notice that says that the Document is released
Appendix A: GNU Free Documentation License 157

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

A.0.1 ADDENDUM: How to use this License for your documents


To use this License in a document you have written, include a copy of the License in the
document and put the following copyright and license notices just after the title page:
Copyright (C) year your name.
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’’.
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the
“with...Texts.” line with this:
with the Invariant Sections being list their titles, with
the Front-Cover Texts being list, and with the Back-Cover Texts
being list.
If you have Invariant Sections without Cover Texts, or some other combination of the
three, merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing
these examples in parallel under your choice of free software license, such as the GNU
General Public License, to permit their use in free software.
Appendix B: GNU General Public License 163

Appendix B GNU General Public License


Version 2, June 1991
Copyright c 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies


of this license document, but changing it is not allowed.

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

TERMS AND CONDITIONS FOR COPYING,


DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed
by the copyright holder saying it may be distributed under the terms of this General
Public License. The “Program”, below, refers to any such program or work, and a
“work based on the Program” means either the Program or any derivative work under
copyright law: that is to say, a work containing the Program or a portion of it, either
verbatim or with modifications and/or translated into another language. (Hereinafter,
translation is included without limitation in the term “modification”.) Each licensee is
addressed as “you”.
Activities other than copying, distribution and modification are not covered by this
License; they are outside its scope. The act of running the Program is not restricted,
and the output from the Program is covered only if its contents constitute a work based
on the Program (independent of having been made by running the Program). Whether
that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program’s source code as you
receive it, in any medium, provided that you conspicuously and appropriately publish
on each copy an appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any warranty; and give
any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your
option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a
work based on the Program, and copy and distribute such modifications or work under
the terms of Section 1 above, provided that you also meet all of these conditions:
a. You must cause the modified files to carry prominent notices stating that you
changed the files and the date of any change.
b. You must cause any work that you distribute or publish, that in whole or in part
contains or is derived from the Program or any part thereof, to be licensed as a
whole at no charge to all third parties under the terms of this License.
c. If the modified program normally reads commands interactively when run, you
must cause it, when started running for such interactive use in the most ordinary
way, to print or display an announcement including an appropriate copyright notice
and a notice that there is no warranty (or else, saying that you provide a warranty)
and that users may redistribute the program under these conditions, and telling
the user how to view a copy of this License. (Exception: if the Program itself is
interactive but does not normally print such an announcement, your work based
on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections
of that work are not derived from the Program, and can be reasonably considered
independent and separate works in themselves, then this License, and its terms, do not
apply to those sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based on the Program,
the distribution of the whole must be on the terms of this License, whose permissions
for other licensees extend to the entire whole, and thus to each and every part regardless
of who wrote it.
Appendix B: GNU General Public License 165

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.

END OF TERMS AND CONDITIONS


Appendix B: GNU General Public License 168

Appendix: How to Apply These Terms to Your New


Programs
If you develop a new program, and you want it to be of the greatest possible use to the public,
the best way to achieve this is to make it free software which everyone can redistribute and
change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the
start of each source file to most effectively convey the exclusion of warranty; and each file
should have at least the “copyright” line and a pointer to where the full notice is found.
one line to give the program’s name and a brief idea of what it does.
Copyright (C) yyyy name of author

This program is free software; you can redistribute it and/or modify


it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,


but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

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.

signature of Ty Coon, 1 April 1989


Ty Coon, President of Vice
This General Public License does not permit incorporating your program into proprietary
programs. If your program is a subroutine library, you may consider it more useful to permit
linking proprietary applications with the library. If this is what you want to do, use the
GNU Lesser General Public License instead of this License.

You might also like