This is incorrect ASN.1 syntax. What follows the word DEFAULT has to be a value OF THE CHOICE TYPE. In other words, it should be something like "DEFAULT {deci-seconds: 0}" or whatever, meaming that if time-SecondFractions is missing, then it is as if it had been encoded as the deci-seconds alternative with a value of zero.

The value notation "{0}" is not a value of the CHOICE type, and cannot be used after the word DEFAULT.

John L

Eduard Lascu wrote:

Hello ASN.1 experts,

I have a CHOICE type that is defined like this:

time-SecondFractions CHOICE {
   deci-seconds   INTEGER (0..9),
   centi-seconds  INTEGER (0..99),
   milliseconds   INTEGER (0..999) ) DEFAULT(0)

I have a problem interpreting what the BER standard says about encoding such
a field. On one hand, members having the Default value are not to be
encoded. In a SEQUENCE, the class of the members is context specific and the
tag numbers are used too determine which member is present and which is
absent.

On the other hand, BER says that the encoding of a choice value shall be the
same as the encoding of the value of the chosen type. If the inner members
are not OPTIONAL and cannot have a DEFAULT VALUE everything is fine. But if
they are OPTIONAL or if they can have a DEFAULT VALUE (such as my case,
above described) I am confused.

If my chosen type has exactly the default value, how do I encode the Choice?

Any help would be highly appreciated.

Best regards,
Eddie

_______________________________________________
ASN1 mailing list
[email protected]
http://lists.asn1.org/mailman/listinfo/asn1



-- Prof John Larmouth Larmouth T&PDS Ltd (Training and Protocol Development Services Ltd) 1 Blueberry Road Bowdon [EMAIL PROTECTED] Cheshire WA14 3LS England Tel: +44 161 928 1605 Fax: +44 161 928 8069


_______________________________________________ ASN1 mailing list [email protected] http://lists.asn1.org/mailman/listinfo/asn1

Reply via email to