[Fwd: Re: string identifiers for schemas]

I've changed the proposal as suggested by Joe Zeeman (not a substantive change,
just the ASN.1).

-------- Original Message --------
From: "Johan Zeeman" <joe.zeeman@tlcdelivers.com>
Subject: Re: string identifiers for schemas
To: <rden@loc.gov>

Ray:

I think your rationale for the ASN.1 you propose is wrong:

Specification ::= SEQUENCE{
   stringSchema [0] IMPLICIT InternationalString OPTIONAL,
   schema          [1] IMPLICIT OBJECT IDENTIFIER OPTIONAL,
   elementSpec  [2].......

Note: This approach is taken (of adding a new parameter rather than changing
'schema' to a CHOICE), because the datatype for 'schema' is IMPLICITly
defined, so a CHOICE would result in an ambiguous datatype.

By assigning an explicit tag within a choice, the data type is unambiguous
(or at any rate no more ambiguous than with any other IMPLICIT datatype).
Since the oid vs url is in fact a choice, we really to need to show that in
the ASN.1.  Otherwise you could get both.

I would do it like this:

Specification ::= SEQUENCE {
    schema                CHOICE {
               oid        [1]     IMPLICIT OBJECT IDENTIFIER,
               uri         [300] IMPLICIT InternationalString  } OPTIONAL,
    elementSpec     [2] ...
}

This keeps bit-compatibility with the previous version. (I don't care what
the tag is, but I prefer it to be a value after the existing tags in the
sequence, to indicate it is an addition in a later version)

J.

Received on Monday, 10 September 2001 11:33:05 UTC