X680 26 Sequence-of類型標識

26 Sequence-of類型標識

       26.1 從其他類型定義一個sequence-of類型應該使用SequenceOfType標識。

       SequenceOfType ::= SEQUENCE OF Type |SEQUENCE OF NamedType

       注- SequenceOfType如果在XML值標識中使用的XML標籤名稱必須首字母大寫,那麼使用第一選項。(XML標籤名稱使用Type的名稱構成)

 

       26.2 所有sequence-of類型都包含universal類型標籤,值16。

 

       26.3 定義sequence-of類型的值應使用SequenceOfValue標識,或當使用XMLValue的時候,使用XMLSequenceOfValue。表達式如下:

       SequenceOfValue ::=

              “{” ValueList “}”

              | “{” NamedValueList “}”

              | “{” “}”

 

       ValueList ::=

              Value

              | ValueList “,” Value

 

       NamedValueList ::=

              NamedValue

              | NamedValueList “,” NamedValue

 

       XMLSequenceOfValue ::=

              XMLValueList

              | XMLDelimitedItemList

              | empty

 

       XMLValueList ::=

              XMLValueOrEmpty

              | XMLValueOrEmpty XMLValueList

 

       XMLValueOrEmpty ::=

              XMLValue

              | “<” &NonParameterizedTypeName “/>”

 

       XMLDelimitedItemList ::=

              XMLDelimitedItem

              | XMLDelimitedItemXMLDelimitedItemList

 

       XMLDelimitedItem ::=

              “<”&NanParameterizedTypeName “>” XMLValue

                     “</” &NonParameterizedTypeName “>”

              | “<”& identifier “>”XMLValue “</” & identifier “>”

       “{””}”或empty標識是在SequenceOfValue或XMLSequenceOfValue爲空列表的時候使用。

       注- 這些值的順序在語義學上可能有重大意義。

      

       26.4 如果XMLValue的組件是empty,那麼XMLValueOrEmpty的第二選項應該被選擇來呈現該組件的值。

       注- 這樣的情況值存在與SEQUENCE OF NULL。

 

       26.5 XMLValueList或XMLDelimitedItemList表達式的組件類型是表5的第一列的時候,表達式應該與表5的第二列一致。

ASN.1 type

XML value natation

BitStringType

XMLDelimitedItemList

BooleanType

見26.6

CharacterStringType

XMLDelimitedItemList

ChoiceType

XMLValueList

EmbeddedPDVType

XMLDelimitedItemList

EnumeratedType

見26.7

ExternalType

XMLDelimitedItemList

InstanceOfType

X681 C.9

IntegerType

XMLDelimitedItemList

IRIType

XMLDelimitedItemList

NullType

XMLValueList

ObjectClassFieldType

X681 14.10,14.11

ObjectIdentifierType

XMLDelimitedItemList

OctetStringType

XMLDelimitedItemList

RealType

XMLDelimitedItemList

RelativeIRIType

XMLDelimitedItemList

RelativeOIDType

XMLDelimitedItemList

SequenceType

XMLDelimitedItemList

SequenceOfType

XMLDelimitedItemList

SetType

XMLDelimitedItemList

SetOfType

XMLDelimitedItemList

PrefixedType

見26.10.1

UsefulType(GeneralizedTime)

XMLDelimitedItemList

UsefulType(UTCTime)

XMLDelimitedItemList

UsefulType(ObjectDescriptor)

XMLDelimitedItemList

TypeFromObject

X.681,15.6

ValueSetFromObjects

X.681,15.6

 

       26.6 如果EmptyElementBoolean用於表示boolean類型的值,那麼XMLValueList應該被使用,否則XMLDelimitedItemList應該使用。

 

       26.7 如果EmptyElementEnumerated用於表示enumerated類型的值,那麼XMLValueList應該使用,否則XMLDelimitedItemList應該被使用。

 

       26.8 如果Type的組件是DefinedType,那麼決定XMLSequenceOfValue標識類型應該是DefinedType的引用類型。(見14.1)

 

       26.9 XMLDelimitedItem的第二選項只有在SequenceOfType包含一個identifier,且應該是XMLDelimitedItem的identifier。

 

       26.10 如果使用XMLDelimitedItem的第一選項,那麼如果sequence-of類型組件(忽視TypePrefix)是typereference或ExternalTypeReference,那麼NonParameterizedTypeName應該是typereference或ExternalTypeReference中的typereference;否則它應該是定義在表4中對應組件的內嵌類型的xmlasn1typename。

       26.10.1 如果組件的Type是PrefixedType,那麼決定XMLSequenceOfValue選項和xmlasn1typename(如果包含)的類型應該是PrefixedType(見31.1.5)的Type。如果它本身是一個PrefixedType,ConstraintedType或SelectionType,那麼26.10節應遞歸調用。

 

       26.10.2 如果組件類型是ConstraintedType,那麼決定XMLSequenceOfValue選項和xmlasn1typename(如果包含)的類型的應該是ConstraintedType(見49.1)的類型。如果它本身是一個PrefixedType,ConstraintedType或SelectionType,那麼26.10節應遞歸調用。

 

       26.10.3 如果組件類型是SelectionType,那麼決定XMLSequenceOfValue選項和xmlasn1typename(如果包含)標識類型的應該是SelectionType(見30)引用的類型。如果它本身是一個PrefixedType,ConstraintedType,或SelectionType,那麼26.10節應遞歸調用。

 

       26.11 如果使用SequenceOfType的第一選項,那麼SequenceOfValue也應該使用第一選項。如果SequenceOfValue的ValueList的每個Value和XMLSequenceOfValue的每個選項的XMLValue應該是SequenceOfType指定的類型。

 

       26.12如果使用SequenceOfType的第二選項,那麼SequenceOfValue也應使用第二選型,NamedValueList中的每個NamedValue應該包含值類型由SequenceOfType中的NamedType指定的值。NamedValue中包含的identifier應該是SequenceOfType中的NamedType的identifier。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章