ASN.1 では、基本的に通常の型に追加の制約を課す「サブタイプ」を宣言できます。
したがって、通常のタイプは次のようになります。
IntType ::= INTEGER
ただし、次のように、特定の範囲内の値のみを許可する「サブタイプ」を作成することにより、タイプを制限できます。
IntType ::= INTEGER (1..100)
これは、1 から 100 の間でなければならない IntType
として宣言します。INTEGER
私の質問は、サブタイプが宣言されると、ASN.1 はサブタイプのさらなる制約をどのように処理するのですか? また、次のように言うとします。
AnotherIntType ::= IntType (1..50)
それは有効ですか?さらに制約する 2 番目の SubType を作成しましたIntType
。しかし、次のように、制約が互いに矛盾する場合はどうなるでしょうか。
AnotherIntType ::= IntType (1..200)
これらの矛盾を解決するための特定のルールはありますか?