Variant Set Variant-1


This definition describes the classes, types, and values, for the variant set Variant-1, that may occur in a variant specification. A variant specification is a sequence of triples; each triple is a variant specifier (as referenced by the identifier variantSpecifier in GRS-1 and ES-1). The first component of the triple is a "Class", the second is a "Type" defined within that class, and the third is a "Value" defined for that type . Class' and type' are integers and the datatype of value' depends on type'.

Class 1: Variant Id

May be used within a supportedVariant, variantRequest, or appliedVariant.

Type MeaningDatatype
1Variant IdOCTET STRING


Class 2: Body Part Type

May be used within a supportedVariant, variantRequest, or appliedVariant.

Type MeaningDatatype/value
1IanaType/subType InternationalString: "<ianaType>/<subType>" e.g. "application/postscript", where <ianaType> and <subType> are registered with IANA (Internet Assigned Numbers Authority)
2Z39.50Type[/subType] InternationalString: e.g. "'sgml/'dtdName" (for example "sgml/TEI") or "sgml". Subtype is optional.
3otherType[/subType] InternationalString: bilaterally agreed upon. Subtype is optional.

Following is an extension to the Z39.50-1995 standard,

added at the August 1997 ZIG meeting (See also class 9, type 5.)
4identified by ISO Object Identifier OBJECT IDENTIFIER;: When An ISO Object Identifier has been defined to identify a body part type, it may be used in lieu of a mime type (i.e where 'type' is 1,2, or 3, for 'iana', 'Z39.50', or 'other'). For example, to identify USMARC, the ISO identifier 1.2.840.10003.5.10 may be used. That is an example where there is no alternative mime type defined. As another example, the OID 1.2.840.10003.5.109.1 identifies pdf (an example where there is an alternative mime type identification).


Class 3: Formatting/Presentation

May be used within a supportedVariant, variantRequest, or appliedVariant.

Type MeaningDatatype/value
1Characters per line Integer
2 line length IntUnit
3 lines per page INTEGER
4 dots per inch INTEGER
5 paperType-Size InternationalString; e.g. A-1, B, C
6 deliverImages BOOLEAN
7 PortraitOrientation BOOLEAN ('true' means "portrait")
8 textJustification InternationalString; 'left', 'right', 'both', or 'center'
9 fontStyle InternationalString
10 fontSize InternationalString
11 fontMetric InternationalString
12 lineSpacing INTEGER
13 numberOfColumns INTEGER
14 verticalMargins IntUnit
15 horizontalMargins IntUnit
16 pageOrderingForward BOOLEAN
17 beginDocsOnNewPage BOOLEAN ('false' means "concatenate documents")
18 termHighlighting BOOLEAN
19 footnoteLocation InternationalString: 'inline', endOfPage', 'endEachDoc', 'endLastDoc'
20 paginationType InternationalString


Class 4: Language/Character Set

May be used within a supportedVariant, variantRequest, or appliedVariant.

Type MeaningDatatype/value
1 language InternationalString (from ANSI/NISOZ39.53-1994)
2 registered character set INTEGER: registration number from ISO International Register of Character Sets
3 character set id OBJECT IDENTIFIER
4 encoding id OBJECT IDENTIFIER
5 private string InternationalString


Class 5: Piece

Type MeaningDatatype/value
1 (variantRequest only) what fragment wanted INTEGER
  1. start
  2. next
  3. previous
  4. current
  5. last
2 (appliedVariant only) what fragment returned INTEGER
  1. start
  2. middle
  3. last
  4. end for now
  5. whole
remainder may be used within variantRequest or appliedVariant
3start IntUnit
4 endIntUnit
5 how muchIntUnit
6 step INTEGER or IntUnit
7 targetTokenOCTET STRING


Class 6: Meta-data requested

May be used within a variantRequest only.

Type MeaningDatatype/value
1 cost Unit or NULL
2 size Unit or NULL
3 hits, variant-specific NULL
4 hits, non-variant-specific NULL
5 variant list NULL
6 is variant supported? NULL
7 document descriptor NULL
8 surrogate information NULL
998 all meta-data NULL
999 other meta-data OBJECT IDENTIFIER


Class 7: Meta-data returned

May be used within a supportedVariant or appliedVariant.

Type MeaningDatatype/value
1 cost IntUnit
2 size IntUNitUnit
3 integrity integer
4 separability integer
5 variant supported boolean

Following is an extension to the Z39.50-1995 standard,

added because variant specifications such as mime type, size, etc. are not sufficiently descriptive when there are various representations and attributes of an object, such as highly compressed, high resolution, reference image, and original; these characterizations are not for client use but rather, descriptive information for the user. (See also class 9, type 4.)
6 variant description InternationalString; used by target to provide text description of a variant


Class 8: Highlighting

May be used within a supportedVariant or appliedVariant.

Type MeaningDatatype/value
1 prefix octet string
2 postfixoctet string
3 (variantRequest only) server default NULL


Class 9: Miscellaneous

r>
Type MeaningDatatype/value
1 (variantRequest only) no data NULL
2 (variantRequest only) UnitUnit (origin requests element according to specific unit)
3 version InternationalString

Following are extensions to the Z39.50-1995 standard.

The following is added because variant specifications such as mime type, size, etc. are not sufficiently descriptive when there are various representations and attributes of an object, such as highly compressed, high resolution, reference image, and original; these characterizations are not for client use but rather, descriptive information for the user (see also class 7, type 6).
4 variant description NULL; used by origin to request text description of a variant
The following was added added at the August 1997 ZIG meeting (See also class 2, type 4.)
5 Content is a pointer NULL;
  • On an applied variant, indicates that the content of the element is a pointer (e.g. URL) to the actual data, not the actual data itself.
  • On a variant request, indicates that a pointer to the actual data is requested, not the actual data itself.
  • On a supported variant, indicates that a pointer to the actual data is available. (This may occur in conjunction with another supported variant for the same element that does not use this variant spec, allowing the client to select either the actual data or a pointer.)