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。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章