4.1. Protocol Version
The profile requires Version 2 or Version 3 of Z39.50-1995, depending on Functional Area and Conformance Level. All implementations are encouraged to use Version 3, but in the near term, conformance to certain specifications prescribed by this profile is available to Version 2 implementations. Version 3 allows support for multiple attribute sets in a query. This multiple attribute set support is required by some national profiles that extend Bath for domestic requirements.
4.2. Z39.50 Objects
The profile uses a number of Z39.50 registered objects. The following table summarizes all Z39.50 objects referenced in the four Functional Areas.
| Object |
OID |
| bib-1 attribute set |
1.2.840.10003.3.1 |
| bib-1 diagnostic set |
1.2.840.10003.4.1 |
| holdings schema |
1.2.840.10003.13.7.4 |
| UNIMARC record syntax |
1.2.840.10003.5.1 |
| MARC21 record syntax |
1.2.840.10003.5.10 |
| Simple unstructured records syntax (SUTRS) |
1.2.840.10003.5.101 |
| XML record syntax |
1.2.840.10003.5.109.10 |
Support for these registered objects by Z-clients and Z-servers is specified in Section 5, Conformance. For information on Z39.50 registered objects, see the Z39.50 Maintenance Agency's Z39.50 Registry of Object Identifiers (see also Z39.50 Maintenance Agency).
4.3. Z39.50 Services
The profile specifies the use of the following Z39.50 services:
See Section 5, Conformance, for specific requirements related to these Z39.50 services.
No additional services are required for conformance to this profile. Z-clients and Z-servers optionally may use other Z39.50 services.
Standard Z39.50 Init Service negotiation procedures control the use of all services.
4.3.1. Init
Z-clients conforming to this profile may use the IDAuthentication parameters to transmit authentication information (e.g., userid and password). Z-servers conforming to this profile may or may not require authentication. The profile specifies no other security requirements. Z-clients may need to know in advance the authentication policy of a given server, and be prepared to provide values for userid and password.
Character Set Negotiation is required for Z-clients and Z-servers for particular Conformance Levels; see Section 5, Conformance.
4.3.2. Search: Query Type and Attribute Sets
The profile requires Z-clients and Z-servers to use Z39.50 Type 1 queries (i.e., general purpose Boolean query structures).
The Result-set-name parameter is required for Z-servers, and Z-servers must be able to retain at least two named results sets for the duration of a session. Exceptional server situations may override the "two named results sets" requirement.
To accommodate the searching requirements for the four Functional Areas, the profile requires Z-clients and Z-servers to use the following attribute set:
| Object |
OID |
| bib-1 attribute set |
1.2.840.10003.3.1 |
Conformant Z-clients and Z-servers will support Attribute types and values according to Section 5. Conformance. "Support" in this context means:
-
Z-clients must transmit the attribute combination in a Type 1 Query for each defined search.
-
Z-clients must accept the corresponding relevant responses (which may be a diagnostic record) from Z-servers including specified record syntaxes
-
Z-servers must recognize the attribute set's OID
-
Z-servers must recognize the attribute set's attribute types and value(s) listed for a conformance level
-
Z-servers must accept for each defined search the associated attribute combination if they are relevant in the context of the corresponding databases
-
Z-servers must process each defined search using the attribute combination sent by the Z-client and produce a valid result set (which could contain 0 hits)
-
Z-servers must return the corresponding relevant responses (which may be a diagnostic message) to the Z-client including specified record syntaxes.
This means that all implementations conforming to this profile must have search capabilities for attribute types and values listed in each Functional Area and Conformance Level for which conformance is claimed (see Section 5, Conformance). Z-clients and Z-servers may also use attribute types and values from other public or private attribute sets in addition to those required by this profile.
Complex keyword searches can be expressed using Boolean operators to connect one or more operands where the operands are constructed using the searches defined in these specifications. Some servers, however, may only accept a limited number of search terms combined with Boolean operators. In such cases the z-server should return the appropriate diagnostic; see Section 4.4 Diagnostic Messages.
The bib-1 Attribute Set plays a primary role in this profile for both basic bibliographic searching and for cross-domain searching. Semantics for most of the bib-1 attributes specified for support in this profile can be found in Attribute Set bib-1 (Z39.50-1995): Semantics (September 1995). Not all current bib-1 attribute values, however, are defined in that document. However, the complete bib-1 Attribute Set is available at http://lcweb.loc.gov/z3950/agency/defns/bib1.html.
The following table summarizes the bib-1 Attribute Set types and values referenced in the Functional Areas A, C and D:
| Attribute Type |
Attribute Values |
Attribute Names |
| Use (1) |
1
2
3
4
6
8
12
21
31
33
54
58
63
1002
1003
1007
1016
1031
1044
1075
1079 |
personal name
corporate name
conference name
title
uniform title
ISSN
local control number
subject heading
date of publication
title key
code-language
geographic name
note
name
author
identifier-standard
any
material-type
possessing institution
genre/form subject
topical subject |
| Relation (2) |
1
2
3
4
5
104 |
less than
less than or equal
equal
greater than or equal
greater than
within |
| Position (3) |
1
3 |
first in field
any position in field |
| Structure (4) |
1
2
4
|
phrase
word
year |
| Truncation (5) |
1
100 |
right truncation
do not truncate |
| Completeness (6) |
1 3 |
incomplete subfield
complete field |
4.3.3. Retrieval: Record Syntaxes
For interoperability, Z-clients and Z-servers must support common record syntaxes. Support of a record syntax means that for every record in a result set, the Z-server can deliver the record in a required record syntax. Exceptional server situations may override this required syntax requirement (e.g., database temporarily not available). Local policies may also restrict access to records in one or more specific record syntaxes to authorized users. In such cases, the server should return a diagnostic; see Section 4.4. Diagnostic Messages.
Z-clients and Z-servers have different responsibilities in their support for record syntaxes. Z-clients will support all syntaxes required in a Functional Area and at a given Conformance Level, while Z-servers will normally support only those syntaxes required for their business.
For bibliographic and authority retrieval (Functional Areas A and D), the MARC21 and SUTRS record syntaxes are required depending on Conformance Level; however, it is strongly recommended that UNIMARC also be supported for international interoperability. Regional, national, state, local, or project companion profiles may specify other Z39.50 registered MARC record syntaxes in addition to those required by this profile. In the case where a user requests a particular record syntax and the Z-server only provides records in a different syntax, the Z-server should return the appropriate diagnostic; see Section 4.4. Diagnostic Messages.
Interoperability requires use of standard character sets. If a character set is not negotiated the server should assume that the character set is ISO Latin-1. Character set negotiation is required depending on Conformance Level. See Section 5, Conformance for specific requirements.
For retrieval of bibliographic holdings information (Functional Area B), XML and the Z39.50 Holdings Schema are required. Three sub-schemas have been defined for the ESNs described in Functional Area B. These sub-schemas are available at the Z39.50 Maintenanace Agency web site.
For retrieval of information resources in the context of resource discovery and cross-domain searching (Functional Area C), SUTRS and XML are the required record syntaxes. Appendix B contains an XML Document Type Definition (DTD) for Dublin Core Simple metadata records. This DTD is required when using the XML Record Syntax in Functional Area C.
See Section 5, Conformance for specific requirements regarding record syntaxes for the different Functional Areas and Conformance Levels. Z-clients and Z-servers may support other registered Z39.50 record syntaxes in addition to those required by this profile.
4.4. Diagnostic Messages
The profile requires that Z-servers return appropriate diagnostic messages from Diagnostic Set bib-1. To assist implementors in sending the appropriate diagnostic for an error condition, a listing of bib-1 Diagnostics to use for specific error conditions is located at the Maintenance Agency site as a Related Specification/Contribution (http://lcweb.loc.gov/z3950/agency/contributions/1.html). In addition, Z-clients are encouraged to display usable and meaningful diagnostic messages to users. To assist implementors, the list also includes suggested wording for diagnostic messages meant to be read by a user.