Z39.50 International Standard Maintenance Agency - Library of Congress, Network Development and MARC Standards Office

Z39.50 Text
Part 13

Appendix 3 (ATR):
Attribute Sets

[Table of Contents | Previous Section | Next Section]

Appendix 3 ATR: Attribute Sets (Normative)

This standard registers the attribute sets listed below, and assigns the following object identifiers:

Bib-1 {Z39-50-attributeSet 1} (See ATR.1)
Exp-1 {Z39-50-attributeSet 2} (See ATR.2)
Ext-1 {Z39-50-attributeSet 3} (See ATR.3)
CCL-1 {Z39-50-attributeSet 4}
GILS {Z39-50-attributeSet 5}
STAS {Z39-50-attributeSet 6}

[Note: this appendix lists only those attribute sets registered as part of the publication of Z39.50-1995. For a complete list registered attribute sets see http://www.loc.gov/z3950/agency/defns/oids.html#3]

Each attribute set defines a set of types and for each type a set of values. An attribute list (see AttributeList in the ASN.1 for APDUs, 4.1), constructed from an attribute set definition, is a list of attribute pairs. An attribute pair (AttributeElement in the ASN.1 for APDUs) consists of an attribute type and a value list (attributeValue within AttributeElement), where each value in the list is defined for that type.

When version 2 is in force, each value list is a single value and is an integer. When version 3 is in force, attributeValue (within AttributeElement) may select 'complex', allowing the value list to include Multiple values (each may be integer or string) and also to specify a 'semanticAction', indicating how the target is to treat the multiple attributes.

When an attribute list contains any attribute pair where attributeValue selects 'complex', there must not be any attribute type within the attribute list for which there is more than a single attribute pair.

ATR.1 Attribute Set bib-1
This section defines the attribute set bib-1.

ATR.1.1 Bib-1 Types and Values [Link to ATR.1. Bib-1 Types and Values]
This section lists the attribute types and values for attribute-set bib-1

Attribute Type Value:
Use 1
Relation 2
Position 3
Structure 4
Truncation 5
Completeness 6


ATR.1.2 Bib-1 Attribute Combinations
If a target does not support a given attribute list, it should fail the search and supply an appropriate diagnostic.

A given attribute type may appear zero times, one time, or more than one time, in an attribute list.

When attributeValue selects 'complex', 'semanticAction' may be included. SemanticAction is a sequence of integers; for bib-1, it is either a single integer or a sequence of two integers.

For the first integer in the sequence, values are:

  1. May not substitute another attribute. If none in the list is supported, fail the search.
  2. May substitute another attribute, but only if none in the list is supported.
  3. May substitute another attribute at target discretion (even if one or more in the list is supported).

The second integer in the sequence is to be supplied if and only if there are multiple attributes in the list. Values are:

  1. Select the first supported attribute in the list.
  2. Select the best attribute in the list.

ATR.2 Attribute Set exp-1
This section defines the attribute-set exp-1, for use with an Explain database. The attribute set exp-1 defines a single attribute type, 'Use'. In addition, this attribute set definition imports non-Use bib-1 attributes, i.e. those of type Relation, Position, Structure, Truncation, and Completeness. The types and values defined within the bib-1 attribute set for these attributes may be used within the exp-1 attribute set, using the object identifier for this attribute set. It is recommended that

a target supporting the Explain facility support the Relation attribute 'equal', Position attribute 'any' position in field', and Structure attribute 'key'.

Note: If the target supports searching based on date ranges (e.g. to limit a search to records created before or after a particular date or between two dates), the target should also support one or more of the following relation attributes: 'less than', 'less than or equal', 'greater than', and 'greater or equal'.


Table A-3-7: Exp-1 Use Attributes
Use Value
ExplainCategory 1
HumanStringLanguage 2
DatabaseName 3
TargetName 4
AttributeSetOID 5
RecordSyntaxOID 6
TagSetOID 7
ExtendedServiceOID 8
DateAdded 9
DateChanged 10
DateExpires 11
ElementSetName 12
ProcessingContent 13
ProcessingName 14
TermListName 15
SchemaOID 16
Producer 17
Supplier 18
Availability 19
Proprietary 20
UserFee 21
VariantSetOID 22
UnitSystem 23
Keyword 25
ExplainDatabase 26
ProcessingOID 27
  1. The search terms for Use attribute ExplainCategory are listed in Table A3-8.
  2. The search term when the Use attribute is HumanStringLanguage is the three-character language code from ANSI/NISO Z39.53-1994--Codes for the Representation of Languages for Information Interchange.
  3. The search terms when the Use attribute is ProcessingContext are listed in Table A3-9.
  4. Where the search term is an object identifier (where the name of the Use attribute ends with "OID"): for version 2, it is recommended that the term be a character string representing a sequence of integers (each represented by a character string) separated by periods. For version 3, it is recommended that the term be represented as ASN.1 type OBJECT IDENTIFIER.
  5. Use attribute Keyword is used when searching for DatabaseInfo records (i.e., in combination with an operand where Use is ExplainCategory and term is DatabaseInfo). Its use is to search in the keyword element for terms that match one of the query terms.
  6. Use attribute ExplainDatabase is used when searching for DatabaseInfo records (i.e., in combination with an operand where Use is ExplainCategory and term is DatabaseInfo). The term should be NULL, for version 3, or oterwise ignored by the target. The Relation attribute either should be omitted or should be AlwaysMatches.

Table A-3-8: Search terms associated with use attribute ExplainCategory

Table A-3-9: Search terms associated with use attribute


ATR.3 Attribute Set ext-1
This section defines the attribute-set ext-1, for use with an Extended Services database (see Tables A-3-10 and A-3-11). Two types are defined:

Attribute Type Value
Use 1
Permissions 2

Additional attributes (types and/or values) may be defined within a specific Extended Service definition. The attribute set id to be used to identify those attributes is the ObjectIdentifier that identifies the specific Extended Service.

Table A-3-10: Ext-1 Use Attributes

Use Value
UserId 1
PackageName 2
CreationDatetime 3
TaskStatus 4
PackgeType 5
RetentionTime 6
TargetReference 7

Table A-3-11: Ext-1 Permission Attributes
Permission Value
Delete 1
Modify 2
ModifyPermissions 3
Present 4
Invoke 5
Any 6
Note: The permission attribute is for use only when the value of the Use attribute is UserId, in which case the purpose is to search for task packages for which the specified user has the specified permission.


[Table of Contents | Previous Section | Next Section]