2013年1月2日水曜日

データ型 - 集合型

0個以上のASN.1データ型の集まりを表わすために集合型を使用することができます。集合型では、順序列型とは異なり、構成要素の並び順に意味はありません。構成要素の数がわかっていて、列挙する構成要素の順序を気にする必要がない場合に使用します。

型の記法
 集合型 ::= SET{要素型リスト} | SET{}
 要素型リスト ::= 要素型 | 要素型 , 要素型リスト
 要素型 ::= 名前付き型 | 名前付き型 OPTIONAL | 名前付き型 DEFAULT 値 |
 COMPONENT OF 型 

COMPONENT OF を使用して、他のデータ構造を取り込む場合、取り込むデータ型は、集合体でなければいけません。

型の例
UserAccount ::= SET {
  username      [0] VisibleString,
  password      [1] VisibleString,
  accountNumber INTEGER
}

値の記法
  集合値 ::= { 要素値リスト } {}
  要素値リスト ::= 名前付き値 | 要素値リスト , 名前付き値
  名前付き値 ::= 識別子 値 | 値


値の例
myAccount UserAccount ::= SET {
  accountNumber 2013,
  username      "konta",
  password      "xxxxx"
}



0 件のコメント:

コメントを投稿