Question from:Yannis Velegrakis
TagSetInfo is included as an Explain category to allow a client to
discover information about a tagSet supported on the target. The target
can convey, for a supported tagSet, the identifier of the tagSet
(tagSets are registered; they are assigned a global Object Identifier),
and for each supported element, its name, tag, datatype, and
description.
How (and if) this Explain category will be put to practical use remains
to be seen. One scenario involves collaboration between the end-user and
client, where the client retrieves the TagSetInfo information and
conveys the names and descriptions to the end-user, who then decides
which elements are of interest and requests the client to retrieve those
specific elements, which the client requests via their tags. In this
scenario, the semantics of an individual element are conveyed
transparently to the end-user, so the client never needs to understand
their meaning, only their datatype and tag; and the end-user never knows
the tag or datatype.
Question:
Why use tags? What is the purpose of TagsetInfo in Explain?
Response:
A tag may be thought of informally as a field name -- the name of a
field (or "element" as it is called in Z39.50) in a database record. For
example, in a personnel record you might have the field "years of
service", an integer. Without a field name, you may be able to discern
that the datatype of the field is an integer (that would be conveyed via
ASN.1) but the value isn't of much use unless you know what it
represents, that is, unless the field name is also conveyed. Typically,
for Z39.50, tagSets are developed for specific applications, that list
field names and description, and assign each field a numeric tag (an
integer). So, for example, say "years of service" is assigned the
numeric tag 10, when it is encoded in a GRS-1 record, the value 10 is
understood to mean "years of service" because it is accompanied by a
"tagType" which identifies the tagSet.
Status: Approved (8/97)
Library
of Congress
(10/23/97)