19 Integer類型標識
19.1 integer類型(詳見3.8.48)應使用IntegerType引用:
IntegerType ::=
INTEGER
| INTEGER ”{”NamedNumberList”}”
NamedNumberList ::=
NamedNumber
| NamedNumberList ”,” NamedNumber
NamedNumber ::=
identifier “(”SignedNumber”)”
| identifier “(”DefinedValue”)”
SignedNumber ::=
number
| “-”number
19.2 如果number值是0,那麼不應該使用第二選項。
19.3 NamedNumberList在類型定義中並不重要。它僅僅用於定義在19.9的值標識中。
19.4 DefinedValue中的valuereference應該是integer類型。
注- 因爲identifier不能用來指定NamedNumber類型的值,所以DefinedValue不會與InitegerValue值混淆。以下是例子:
a INTEGER ::= 1
T1 ::= INTEGER { a(2) }
T2 ::= INTEGER { a(3), b(a) }
c T2 ::= b
d T2 ::= a
c的值爲1,因爲c不能引用a的第二次和第三次事件,d的值爲3.
19.5 出現在NamedNumberList中的SignedNumber或DefinedValue的值都應該是不同的,而且是integer類型的值。
19.6 NamedNumberList的每個identifier應該是不同的。
19.7 NamedNumberList的NamedNumber的順序不是重要的。
19.8 標識的標籤類型是universal類型,標籤值是2。
19.9 使用XMLIntegerValue標識定義integer類型值時,應使用IntegerValue標識或當使用XMLValue時,使用XMLIntegerValue標識定義。表達式如下:
IntegerValue ::=
SignedNumber
| identifier
XMLIntegerValue ::=
XMlSignedNumber
| EmptyElementInteger
| TextInteger
XMLSignedNumber ::=
number
| “-”&number
EmptyElementInteger ::=
“<”&identifier”>”
TextInteger ::=
identifier
19.10 如果XMLValueAssignment中出現EmptyElementInteger,那麼XMLValueAssignment中不應該包含TextInteger。
19.11 IntegerValue中的identifier和XMLIntegerValue中的最後2個選項應該是IntegerType類型的identifier並且值應該是相互關聯的,並卻以number方式展現。
注- 引用一個integer型值定義identifier,使用identifier構成IntegerValue和XMLIntegerValue應該是首選的。
19.12 一個integer型的值標識實例包含一個NamedNumberList,出現的任何名稱都是NamedNumberList的一個identifier,並且引用名稱也被解析爲identifier。
19.13 如果number是0,那麼XMLSignedNumber的第二個選項不應該被使用。