




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021信息技術(shù)抽象語法記法一(ASN.1)第2部分:信息客體規(guī)范GB/T16262的本文件是抽象語法記法一(ASN.1)的一個部分,并提供規(guī)定信息客體類別、信息客體和信息客體集合的記法。2規(guī)范性引用文件下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不可少的條款。其中,注日期的引用文件,僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。GB/T16262.1—xxxx信息技術(shù)抽象語法記法一(ASN.1)第1部分:基本記法規(guī)范(ISO/IEC8824-1:2021,IDT)GB/T16262.3—xxxx信息技術(shù)抽象語法記法一(ASN.1)第3部分:約束規(guī)范(ISO/IEC8824-3:2021,IDT)GB/T16262.4—xxxx信息技術(shù)抽象語法記法一(ASN.1)第4部分:ASN.1規(guī)范的參數(shù)化(ISO/IEC8824-4:2021,IDT)注:上述引用文件說明了對已確定的文件及其所有已發(fā)布的修正案和技術(shù)勘誤的引用。3術(shù)語和定義下列術(shù)語和定義適用于GB/T16262—xxxx的本文件。3.1基本記法規(guī)范本文件使用GB/T16262.1—xxxx中定義的術(shù)語。3.2約束規(guī)范本文件使用GB/T16262.3—xxxx中定義的下列術(shù)語:——表約束tableconstraint3.3ASN.1規(guī)范的參數(shù)化本文件使用GB/T16262.4—xxxx中定義的下列術(shù)語:a)參數(shù)化類型parameterizedtype;b)參數(shù)化值parameterizedvalue。3.4附加定義2GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:20213.4.1關(guān)聯(lián)表associatedtable通過由已有的鏈接字段(見3.4.15)而產(chǎn)生的展開分層結(jié)構(gòu)可從客體或客體集合導(dǎo)出的(某個信息客體或信息客體集合)抽象表。注:關(guān)聯(lián)表能用來確定某種約束的精確性質(zhì)(),3.4.2默認語法defaultsyntax對定義者沒有提供定義語法的類別,定義這種類別信息客體的記法(見11.10的示例)。3.4.3定義語法definedsyntax由類別的定義者提供的記法,它允許以用戶友好的方式定義此類別的信息客體。注:例如,類別OPERATION的定義語法可以允許此類別的實例定義如下:字ARGUMENTRESULT后接&ResultType,然后,字CODE后接&OperationCode(見11.3.4.4可擴展客體集合extensibleobjectset具有擴展標記的客體集合或?qū)蓴U展的客體集合進行集合運算定義的客體集合。3.4.5字段field信息客體類別的組件。每個字段是類型字段、固定類型值字段、可變類型值字段、固定類型值集合字段、可變類型值集合字段、信息客體字段或信息客體集合字段。3.4.6字段名稱fieldname標識某個類別的字段的名稱;或是直接規(guī)定此字段的類別,在此情況中,此名稱是原始字段名稱,或是具有與其中此字段實際上已被規(guī)定的情況有關(guān)的一系列鏈接字段的類別(見9.13和9.14)。3.4.7支配(類別)governing(class)支配者governor要求其引用或規(guī)定支配類別的信息客體時,影響ASN.1語法某部分解釋的信息客體類別定義或引用。3.4.8標識符字段identifierfield為提供類別中信息客體的唯一標識,所選用的類別的固定類型值字段。標識符字段值,如果提供,在對此類別定義的任一信息客體集合中應(yīng)是無歧義的。它們可以,但不需要在更廣范圍內(nèi)起到無歧義地標識此類別的信息客體。注1:標識符字段具有固定的ASN.1類型,此類型的值可包含在協(xié)議中以標識此類型中的信息客體。注2:標識符為無歧義的范圍是信息客體集合的范圍。然而,它還能在任一給定的抽象語言中,或完整的應(yīng)用上下文中是無歧義的,或甚至通過標識符字段使用客體標識符類型能對所有類別是完全無歧義的。3.4.9信息客體informationobject某個信息客體類別中的實例,由符合此類別字段規(guī)范的字段集合組成。注:例如,信息客體類別OPERATION(在3.4.10的示例中提及的)一個具體實例可以是invertMatrix,它具有&ArgumentType字段(包含類型Matrix&ResultType字段(也包含類型Matri3GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021含值7見10.13的示例)。3.4.10信息客體類別(類別)informationobjectclass(class)對可能未界定的信息客體(此類別的實例)匯集為定義,形成模板的字段集合。&ResultType和&operationCode字段,前兩個規(guī)定類型字段,第三個規(guī)定值字3.4.11信息客體字段informationobjectfield包含某個規(guī)定類別信息客體的字段。3.4.12信息客體集合informationobjectset使用相同信息客體類別引用名定義的所有信息客體的非空集合。注:例如,類別OPERATION(在3.4.10例中使用的)一個信息客體集合MatrixOperati3.4.9中提及過)和其他有關(guān)操作(例如,addMatric調(diào)用作出規(guī)定并產(chǎn)生所有這些操作的結(jié)果報告的抽象語法(見13.4.13信息客體集合字段informationobjectsetfield包含某個規(guī)定類別信息客體集合的字段。3.4.14單一實例類型instance-oftype通過引用與類型相關(guān)聯(lián)的客體標識符的信息客體類別所定義的類型。3.4.15鏈接字段linkfield客體或客體集合字段。3.4.16客體類別字段類型objectclassfieldtype通過對信息客體類別中的某個字段的引用所規(guī)定的類型。在GB/T16262.3—xxxx中,提供的記法通過對此類別信息客體集合的引用使此類型受到限制。3.4.17原始字段名稱primitivefieldname在信息客體類別定義中無須使用鏈接字段而直接規(guī)定的名稱。3.4.18遞歸定義(引用名稱的)recursivedefinition(ofareferencename)解析引用名稱或引用名稱定義的支配者要求解析最初引用名稱的引用名稱。3.4.19遞歸實例(參數(shù)化引用名稱的)recursiveinstantiation(ofaparameterizedreferencename)在解析實際參數(shù)要求解析最初引用名稱時,引用名稱的實例。3.4.204GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021類型字段typefield包含任意類型的字段。3.4.21值字段valuefield包含值的字段。這種字段或是固定類型或是可變類型。前者,值的類型是由字段規(guī)范確定的;后者,值的類型含在同一信息客體某個(指定)類型字段之中。3.4.22值集合字段valuesetfield包含某個類型非空值集合的字段。這種字段或是固定類型或是可變類型。前者,值的類型是由字段規(guī)范確定的;后者,值的類型含在同一信息客體某個(指定)類型字段之中。注:對一信息客體而言,值集合字段中的值集合構(gòu)成規(guī)定類型的子類型。4縮略語本文件使用下列縮略語:ASN.1抽象語法記法一(AbstractSyntaxNotationOne)。5約定本文件采用GB/T16262.1—xxxx的第5章定義的記法約定。本章綜述本文件定義的記法。5.1賦值本文件定義了下列記法,此記法能用作“Assignment”(見GB/T16262.1—xxxx第13章)的替代記法:——ObjectClassAssignment(見9.1);——ObjectAssignment(見11.1);——ObjectSetAssignment(見12.1)。6記法本章綜述本文件定義的記法。6.1類型6.1.1本文件定義了下列記法,此記法能用作“BuiltinType”(見GB/T16262.1—xxxx的17.2)的替代記法:——ObjectClassFieldType(見14.1);——InstanceOfType(見附錄C)。6.1.2本文件定義了下列記法,此記法能用作“ReferencedType”(見GB/T16262.1—xxxx的17.3)的替代記法:5GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021——TypeFromObject(見15章);——ValueSetFromObjects(見15章)。6.2值6.2.1本文件定義了下列記法,此記法能用作“Value”(見GB/T16262.1—xxxx的17.7)的替代記法:——ObjectClassFieldValue(見4.6)。6.2.2本文件定義了下列記法,此記法能用作“BuiltinValue”(見GB/T16262.1—xxxx的17.9)的替代記法:——InstanceOfValue(見附錄C)。6.2.3本文件定義了下列記法,此記法能用作“ReferencedValue”(見GB/T16262.1—xxxx的17.11)的替代記法:——ValueFromObject(見15章)。6.3元素6.3.1本文件定義了下列記法,此記法能用作“Elements”(見GB/T16262.1—xxxx的50.6)替代記法:——ObjectSetElements(見12.10)。7ASN.1詞項除GB/T16262.1—xxxx第12章中規(guī)定的詞匯之外,本文件中還使用下列各條規(guī)定的詞項。適用于這些詞項的一般規(guī)則是按GB/T16262.1—xxxx的12.1定義的。這些新的詞項使用GB/T16262.1—xxxx第11章規(guī)定的ASN.1字符集,以及字符“&”。注:GB/T16262.1—xxxx的11.1中的注也適用于7.1到7.9中規(guī)定的詞項。7.1信息客體類別引用詞項名稱——objectclassreference“objectclassreference”應(yīng)由GB/T16262.1—xxxx的12.2對“typereference”規(guī)定的字符序列組成,但不應(yīng)包括小寫字母。7.2信息客體引用詞項名稱——objectreference“objectreference”應(yīng)由GB/T16262.1—xxxx的12.4對“valuereference”規(guī)定的字符序列組成。7.3信息客體集合引用詞項名稱——objectsetreference6GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021“objectsetreference”應(yīng)由GB/T16262.1—xxxx的12.2對“typereference”規(guī)定的字符序列組7.4類型字段引用詞項名稱——typefieldreference“typefieldreference”應(yīng)由“&”緊接GB/T16262.1—xxxx的12.2對“typereference”規(guī)定的字符序列組成。7.5值字段引用詞項名稱——valuefieldreference“valuefieldreference”應(yīng)由“&”緊接GB/T16262.1—xxxx的12.4對“valuereference”規(guī)定的字符序列組成。7.6值集合字段引用詞項名稱——valuesetfieldreference“valuesetfieldreference”應(yīng)由“&”緊接GB/T16262.1—xxxx的12.2對“typereference”規(guī)定的字符序列組成。7.7客體字段引用詞項名稱——objectfieldreference“objectfieldreference”應(yīng)由“&”緊接7.2對“objectreference”規(guī)定的字符序列組成。7.8客體集合字段引用詞項名稱——objectsetfieldreference“objectsetfieldreference”應(yīng)由“&”緊接7.3對“objectsetreference”規(guī)定的字符序列組成。7.9字詞項名稱——word“word”應(yīng)由GB/T16262.1—xxxx的12.2.1對“typereference”規(guī)定的字符序列組成,但不應(yīng)包括小寫字母或數(shù)字。7.10附加關(guān)鍵字名稱CLASS、INSTANCE、SYNTAX和UNIQUE在GB/T16262.1—xxxx的12.38中作為備用字列出。8定義引用8.1結(jié)構(gòu):DefinedObjectClass::=ExternalObjectClassReference|objectclassreference|UsefulObjectClassReference7GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021DefinedObject::=ExternalObjectReference|objectreferenceDefinedObjectSet::=ExternalObjectSetReference|objectsetreference分別用來引用類別,信息客體和信息客體集合定義。8.2對信息客體和信息客體集合的引用有一個支配類別。要求所引用的信息客體和所引用的信息客體集合中的信息客體應(yīng)是支配類別中的客體或是通過其簡單的引用賦值所得到的客體。對信息客體而言,沒有所規(guī)定的等效“valuemappings”(見GB/T16262.1—xxxx的附錄C),所以上句意指信息客體或信息客體集合應(yīng)該使用與支配者使用的相同信息客體類別引用(或通過簡單引用賦值獲得的引用)加以定義。就此要求而言,兩個等同的信息客體類別記法的實例(但字面上不同)不能視為同樣的信息客體類別。8.3除GB/T16262.1—xxxx的13.16規(guī)定外,“objectclassreference”、“objectrefer-ence”和“objectsetreference”的替代記法只能用于將類別或信息客體或信息客體集合賦于此引用的模塊(見9.1、11.1和12.1)?!癊xternalObjectClassReference”、“ExternalObjectReference”和“ExternalObjectSet-Reference”的替代記法定義如下:ExternalObjectClassReference::=modulereferenceobjectclassreferenceExternalObjectReference::=modulereferenceobjectreferenceExternalObjectSetReference::=modulereferenceobjectsetreference不應(yīng)使用這些替代記法,除非在由相應(yīng)的“modulereference”標識的模塊(與引用模塊不同)中已將類別或信息客體或信息客體集合賦于相應(yīng)的“objectclassreference”、“objectreference”或“objectsetreference”(見9.1、11.1和12.1)。這就是分別被引用的類別或信息客體或信息客體集合。8.4“DefinedObjectClass”的替代記法“UsefulObjectClassReference”定義如下:UsefulObjectClassReference::=TYPE-IDENTIFIER|ABSTRACT-SYNTAX其中,第一記法在附錄A中規(guī)定,第二記法在附錄B中規(guī)定。注:名稱TYPE-IDENTIFIER和ABSTRACT-SYNTAX在GB/T16262.1—xxxx的12.38中作為備用字列出。9信息客體類別定義和賦值8GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:20219.1結(jié)構(gòu)“ObjectClassAssignment”用來將信息客體類別賦于引用名(“objectclassrefer-ence”)。此結(jié)構(gòu)是GB/T16262.1—xxxx的13章,“Assignment”的替代記法之一,并定義如下:ObjectClassAssignment::=objectclassreference::=ObjectClass9.2信息客體類別是由結(jié)構(gòu)“ObjectClass”定義的類別:ObjectClass::=DefinedObjectClass|ObjectClassDefn|ParameterizedObjectClass如果“ObjectClass”是:a)“DefinedObjectClass”,那么此類別定義與此類別所引用的定義相同;b)“ObjectClassDefn”,那么此類別按9.3中所述定義;c)“ParameterizedObjectClass”,那么此類別按GB/T16262.4—xxxx的9.2中所述定義。9.3每個類別歸根結(jié)底是由“ObjectClassDefn”定義的:ObjectClassDefn::=CLASS","WithSyntaxSpec?WithSyntaxSpec::=WITHSYNTAXSyntaxList“FieldSpec”。作為選擇,定義者可以提供按10.5定義的信息客體定義語法(“SyntaxList”)。類別的定義者還可規(guī)定與此類別定義相關(guān)的語義。9.4每個“FieldSpec”規(guī)定并命名字段之一,它們應(yīng)該或可以與此類別的實例相關(guān)聯(lián):FieldSpec::=FixedTypeValueFieldSpecVariableTypeValueFieldSpecFixedTypeValueSetFieldSpecVariableTypeValueSetFieldSpecObjectFieldSpecObjectSetFieldSpec“FieldSpec”的各種替代記法在以下各條中規(guī)定。9.5“TypeFieldSpec”規(guī)定此字段是類型字段(見3.4.20)TypeFieldSpec::=typefieldreferenceTypeOptionalitySpec?TypeOptionalitySpec::=OPTIONAL|DEFAULTType9GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021此字段的名稱是“typefieldreference”。如果沒有“TypeOptionalitySpec”,則要求此類別的所有信息客體定義包括此字段的類型規(guī)范。如果OPTIONAL存在,那么,可以不定義此字段。如果DEFAULT存在,那么,在“Type”之后,則為(此字段)提供在定義中省略的默認設(shè)置。9.6“FixedTypeValueFieldSpec”規(guī)定此字段是固定類型值字段(見3.4.21):FixedTypeValueFieldSpec::=valuefieldreferenceTypeUNIQUE?ValueOptionalitySpec?ValueOptionalitySpec::=OPTIONAL|DEFAULTValue此字段的名稱是“valuefieldreference”。此“Type”結(jié)構(gòu)規(guī)定此字段中的包含的值的類型。如果ValueOptionalitySpec存在,它規(guī)定在信息客體定義中可以省略此值,或在DEFAULT情況時,它規(guī)定省略隨后的“Value”(它應(yīng)是此類型的值)。存在關(guān)鍵字UNIQUE時,它規(guī)定此字段是3.4.8(也見GB/T16262.3—xxxx的10.20)定義的標識符字段。如果此關(guān)鍵字存在,則“ValueOptionalitySpec”不應(yīng)是“DEFAULTValue”。9.7對標識符字段賦值時,要求此值在任一定義的信息客體集合中是無歧義的。9.8“VariableTypeValueFieldSpec”規(guī)定此字段是可變類型值字段(見3.4.21):VariableTypeValueFieldSpec::=valuefieldreferenceFieldNameValueOptionalitySpec?此字段名稱是“valuefieldreference”?!癋ieldName”(見9.14)與要規(guī)定的類別相關(guān)。它應(yīng)是類型字段;此類型字段或是作為值字段處于相同的信息客體中,或通過客體字段鏈(其引用出現(xiàn)在“FieldName”中)鏈接。此類型字段應(yīng)包含值的類型。(字段引用出現(xiàn)在“FieldName”中的所有鏈接字段應(yīng)該是客體字段。)如果存在ValueOptionalitySpec,它規(guī)定在信息客體定義中可以省略此值,或在DEFAULT情況時,它規(guī)定省略隨后的“Value”?!癡alueOptionalitySpec”應(yīng)是這樣:a)如果由“FieldName”表示的類型字段有OPTIONAL的“TypeOptionalitySpec”,那么,“ValueOptionalitySpec”也應(yīng)是OPTIONAL;以及b)如果“ValueOptionalitySpec”是“DEFAULTValue”,那么,由“FieldName”表示的類型字段應(yīng)有“DEFAULTType”的“TypeOptionalitySpec”,并且“Value”應(yīng)是此類型的值。9.9“FixedTypeValueSetFieldSpec”規(guī)定此字段是固定類型值集合字段(見3.4.22):FixedTypeValueSetFieldSpec::=valuesetfieldreferenceTypeValueSetOptionalitySpec?ValueSetOptionalitySpec::=OPTIONAL|DEFAULTValueSet),“Type”的子類型使用“typereference”GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021此字段的名稱是“valuesetfieldreference”?!癟ype”結(jié)構(gòu)規(guī)定此字段中所包含的值的類型。如果存在“ValueSetOptionalitySpec”,它規(guī)定的信息客體定義中可以不規(guī)定此字段,或在DEFAULT情況時,規(guī)定省略隨后的“ValueSet”,它應(yīng)是此類型的子類型。9.10“VariablTypeValueSetFieldSpec”規(guī)定此字段是可變類型值集合字段(見3.4.22):VariableTypeValueSetFieldSpec::=valuesetfieldreferenceFieldNameValueSetOptionalitySpec?此字段的名稱是“valuesetfieldreference”。“FieldName”(見9.14)與要規(guī)定的類別有關(guān)。它應(yīng)是類型字段;此類型字段或是作為值集合字段處于相同的信息客體中,或通過客體字段鏈(其引用出現(xiàn)在“FieldName”)鏈接。此類型字段應(yīng)包含值的類型。(字段引用出現(xiàn)在“FieldName”中的所有鏈接字段應(yīng)是客體字段。)如果存在“ValueSetOptionalitySpec”,它規(guī)定在信息客體定義中可以省略此值集合,或在DEFAULT情況時,它規(guī)定省略隨后的“Valueset”?!癡alueSetOptionalitySpec”應(yīng)是這樣:a)如果由“FieldName”表示的類型字段有OPTIONAL的“TypeOptionalitySpec”,那么,“ValueSetOptionalitySpec”也應(yīng)是OPTINAL;以及a)如果“ValueSetOptionalitySpec”是“DEFAULTValueSet”,那么,由“FieldName”表示的類型字段應(yīng)有“DEFAULTType”的“TypeOptionalitySpec”,并且“ValueSet”應(yīng)是此類型的子類型。9.11“ObjectFieldSpec”規(guī)定此字段是信息客體字段(見3.4.11):ObjectFieldSpec::=objectfieldreferenceDefinedObjectClassObjectOptionalitySpec?ObjectOptionalitySpec::=OPTIONAL|DEFAULTObject此字段的名稱是“objectfieldreference”?!癉efinedObjectClass引用此字段(它可以是當前被定義的“ObjectClass”中所包含的客體類別。如果存在“ObjectOptionalitySpec”,它規(guī)定可以在信息客體定義中不規(guī)定此字段,或在DEFAULT情況時,規(guī)定省略隨后的“Object”(它應(yīng)是“DefinedObjectClass”的客體)。9.12“ObjectSetFieldSpec”規(guī)定此字段是信息客體集合字段(見3.4.13):ObjectSetFieldSpec::=objectsetfieldreferenceDefinedObjectClassObjectSetOptionalitySpec?ObjectSetOptionlitySpec::=OPTIONAL|DEFAULTObjectSet此字段的名稱是“objectsetfieldreference”?!癉efinedObjectClass”引用此字段中包括的客體類別。如果存在“ObjectSetOptionalitySpec”,它規(guī)定可以在信息客體定義中省略此字段,或在DEFAULT情況時,規(guī)定省略隨后的“ObjectSet”(見12.3)。其所有客體應(yīng)是“DefinedObject-Class”的客體。9.13結(jié)構(gòu)“primitiveFieldName”用來標識與包含其規(guī)范的類別有關(guān)的字段:PrimitiveFieldName::=GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021typefieldreference|valuefieldreference|valuesetfieldreference|objectfieldreference|objectsetfieldreference在類別定義中所規(guī)定的所有字段名稱應(yīng)是各不相同的。9.14結(jié)構(gòu)“FieldName”用來標識與直接包含此字段規(guī)范的某個類別有關(guān)的字段,或具有一系列鏈接字段鏈接到此包含類別的某個類別有關(guān)的字段.此鏈由用句點隔開的“PrimitiveFieldName”列表指明。FieldName::=PrimitiveFieldName"."+9.15如果有如下情況的一系列鏈接字段(見3.4.15)規(guī)范(長度為1或更長):a)第一個處于被定義的類別中而不是被定義的字段;和b)每個相繼的規(guī)范是定義前一個規(guī)范的類別中的字段;及c)最后一個是使用被定義的類別加以定義。那么,至少有一個字段規(guī)范應(yīng)具有“ObjectOptionalitySpec”或“ObjectSetOptionality-Spec”(視合適而定)注:這是為防止遞歸的信息客體類別定義(9.16實例在3.4.10中作為示例的非正式描述的信息客體類別的展開形式可以定義如下:OPERATION::=CLASS{&ArgumentTypeOPTIONAL,&ResultTypeOPTIONAL,&ErrorsERROROPTIONAL,&LinkedOPERATIONOPTIONAL,&resultReturnedBOOLEANDEFAULTTRUE,&operationCodeINTEGERUNIQUE}ERROR::=CLASS{&ParameterTypeOPTIONAL,&errorCodeINTEGERUNIQUE}注1:此示例是基于遠程操作標準的操作和差錯概念,但和2個值字段(&resultReturned和&opera),注3:由OPERATIONs構(gòu)成的任何信息注4:OPERATION信息客體類別包括一系列上述9.15所描述的鏈接字段。本鏈長注5:這些示例中沒有一個示例包括“WithSyntaxSpGB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:202110語法表10.1經(jīng)常的情況是單獨一個規(guī)范定義信息客體類別,對多種信息客體而有許多獨立的規(guī)范分別予以定義。為此類別信息客體定義提供用戶友好的記法,這可能對類別的定義者是合適的。10.2本章規(guī)定信息客體類別的制定者用以對此類別信息客體規(guī)范定義具體類別定義語法的記法。10.3此記法是語法結(jié)構(gòu)“SyntaxList”,它岀現(xiàn)在于語法結(jié)構(gòu)“ObjectClassDefn”(見9.3)之中。10.4“SyntaxList”規(guī)定被定義類別的一個信息客體定義的語法。在下列各條中,此語法以“DefinedSyntax”表現(xiàn)。注:此規(guī)范的特征是由“SyntaxList”定義的任一語法結(jié)構(gòu)的末端(“DefinedSyntax”的實例)可由a)無ASN.1說明;b)將字符串值處理成文字符號;c)要求一個初始的“{”,嵌入成對的“{”和“}”,并終止于一個未配對的“}”。10.5“SyntaxList”規(guī)定出現(xiàn)在“DefinedSyntax”(見11.6)中的“DefinedSyntaxToken”的順序:SyntaxList::="{"TokenOrGroupSpecempty+"}"TokenOrGroupSpec::=RequiredToken|OptionalGroupOptionalGroup::="["TokenOrGroupSpecempty+"]"RequiredToken::=Literal|PrimitiveFieldName10.6用作“Literal”的“word”符號不應(yīng)是下列之一:ABSTRACT-SYNTAXBITBOOLEANCHARACTERCHOICECONTAININGDATEDATE-TIMEDURATIONEMBEDDEDENDENUMERATEDEXTERNALFALSEINSTANCEGB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021INTEGERMINUS-INFINITYNOT-A-NUMBERNULLOBJECTOCTETOID-IRIPLUS-INFINITYREALRELATIVE-OIDRELATIVE-OID-IRISEQUENCESETTIMETIME-OF-DAYTRUETYPE-IDENTIFIER注:此表僅包含ASN.1備用的,表現(xiàn)為“T10.7“Literal”規(guī)定此“Literal”的實際內(nèi)含,它是定義語法中此位置處的“word”或逗號(“,”Literal::=word|,10.8每個“PrimitiveFieldName”對相應(yīng)字段規(guī)定“Setting”(見11.7)的內(nèi)含(在新語法中的此位置)。10.9信息客體類別的每個“PrimitiveFieldName”只能準確地出現(xiàn)一次。10.10在分析過程中,當遇到“OptionalGroup”,以及隨后的詞項在語法上可作為任選組中的第一個詞項時,那么認為此組是存在的。如果它在語法上不能作為任選組的第一個詞項,那么,認為此組是不存在的。注:為避免不希望的影響,設(shè)計者通常使任選組中的第一個詞項成為“Literal”。10.11使用“DefinedSyntax”的實例是無效的,除非它對信息客體類別規(guī)定所有強制字段。10.12為了保證易于分析新語法和防止誤用,對新語法的定義者提出如下附加限制:a)要求每個“OptionalGroup”內(nèi)至少有一個“PrimitiveFieldName”或“Optional-Group”;注1:這有助于防止在信息客體任一字段中b)“OptionalGroup”的使用應(yīng)該使得在分析過程中決不能出現(xiàn)“Setting”,它可能是一個以上“FieldName”的設(shè)置;c)如果“OptionalGroup”以一個“Literal”開始,那么“OptionalGroup”之后的第一個符號也應(yīng)是一個“Literal”,并且應(yīng)與緊接在“OptionalGroup”之前所有第一個“Literal”不同;同時對“DefinedSyntax”的使用者提岀如下限制:GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021d)在“OptionalGroup”中出現(xiàn)的“DefinedSyntax”內(nèi)存在一個“Literal”,那么此“OptionalGroup”中“PrimitiveFieldName”的“Setting”也應(yīng)存在,注2:這有助于防止在信息客體任一字段中10.13示例上面9.16類別定義的示例可以裝配定義語法,以提供定義這些類別實例的“用戶友好”的方法(此定義語法用于11.11的示例中):OPERATION::=CLASS{&ArgumentType&ResultType&Errors&Linked&resultReturned&operationCode}WITHSYNTAX{[ARGUMENT[RETURNRESULTCODE}ERROR::=CLASSOPTIONAL,OPTIONAL,ERROROPTIONAL,OPERATIONOPTIONAL,BOOLEANDEFAULTTRUE,INTEGERUNIQUE&ArgumentType]&ResultType]&resultReturned]&Errors]&Linked]&operationCode{&ParameterType&errorCodeOPTIONAL,INTEGERUNIQUE}WITH{SYNTAX[PARAMETERCODE&ParameterType]&errorCode}11信息客體定義和賦值11.1語法結(jié)構(gòu)“ObjectAssignment”用來將規(guī)定類別的信息客體賦于引用名(“objectre-ference”)。此結(jié)構(gòu)是GB/T16262.1—xxxx中第13章“Assignment”的替代記法之一,并定義如下:GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021ObjectAssignment::=objectreferenceDefinedObjectClass::=Object11.2不應(yīng)有“objectreference”遞歸定義(見3.4.18以及不應(yīng)有“objectrefer-ence”遞歸實例(見3.4.19)。11.3“DefinedObjectClass”引用的類別的信息客體是由結(jié)構(gòu)“Object”定義的:DefinedObject|ObjectDefn|ObjectFromObject|ParameterizedObject如果“Object”是:a)“DefinedObject”,那么,此客體與所引用的客體相同;b)“ObjectDefn”,那么,此客體按11.4規(guī)定;c)“ObjectFromObject”,那么,此客體按15章規(guī)定;d)“ParameterizedObject”,那么,此客體按GB/T16262.4—xxxx的9.2規(guī)定予以定義。11.4每個信息客體歸根結(jié)底是由“ObjectDefn”定義的:ObjectDefn::=DefaultSyntax|DefinedSyntax如果類別定義不包括“WithSyntaxSpec”,則“ObjectDefn”應(yīng)是“DefaultSyntax(見11.5)”,如果它包括,則“ObjectDefn”應(yīng)是“DefinedSyntax”(見11.6)。11.5“DefaultSyntax”結(jié)構(gòu)定義如下:DefaultSyntax::="{"FieldSetting","*"}"FieldSetting::=PrimitiveFieldNameSetting對不是OPTIONAL并且沒有DEFAULT的類別定義中的每個“FieldSpec”應(yīng)準確地有一個“FieldSetting”,對其他的每個“FieldSpec”至多有一個“Fieldsetting”?!癋ieldSetting”可以以任意次序出現(xiàn)。每個“FieldSetting”中的“PrimitiveFieldName”應(yīng)是相應(yīng)“FieldSpec”的名稱。結(jié)構(gòu)“Setting”在11.7中規(guī)定。11.6“DefinedSyntax”結(jié)構(gòu)定義如下:DefinedSyntax::="{"DefinedSyntaxTokenempty*"}"DefinedSyntaxToken::=Literal|Setting“WithSyntaxSpec”中的“SyntaxList”(見第10章)確定要出現(xiàn)在“DefinedSyntax”中的“DefinedSyntaxToken”的順序。結(jié)構(gòu)“Setting”在11.7中規(guī)定;每一次的出現(xiàn)規(guī)定信息客體某個字段的設(shè)置。結(jié)構(gòu)“Literal”在10.7中定義;“Literal”是人們可讀性的體現(xiàn)。11.7“Setting”規(guī)定所定義信息客體中某個字段的設(shè)置:GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021Setting::=Type|Value|ValueSet|Object|ObjectSet如果此字段是:a)類型字段,則應(yīng)選用“Type”替代記法;b)值字段,則應(yīng)選用“Value”替代記法;c)值集合字段,則應(yīng)選用“ValueSet”替代記法;d)信息客體字段,則應(yīng)選用“Object”替代記法;e)信息客體集合字段,則應(yīng)選用“ObjectSet”替代記法。注:設(shè)置將按9.5到9.12和11.8到11.9合適條款所述予以進一步限制。11.8可變類型值字段的設(shè)置應(yīng)是由相同或所鏈接客體的合適類型字段的規(guī)定的類型值(即,不采用開放類型的值記法)。11.9可變類型值集合字段的設(shè)置應(yīng)是由相同或所鏈接客體的合適類型字段所規(guī)定的類型值集合(即,不采用開放類型的值記法)。11.10示例(默認語法)已知上面9.16的信息客體類別定義(不包括“WithSyntaxSpec”此類別的實例可使用“DefaultSyntax”予以定義。例如(3.4.9給出的示例的展開形式)invertMatrixOPERATION::={&ArgumentTypeMatrix,&ResultTypeMatrix,&Errors{determinantIsZero},&operationCode7}determinantIsZeroERROR::={&errorCode1}11.11示例(定義語法)在10.13中,示例類別被提供給“WithSyntaxSpec”,因此,此類別實例使用“DefinedSyntax”予以定義。所以,11.10的示例要寫成:invertMatrixOPERATION::={ARGUMENTMatrixRESULTMatrixERRORS{determinantIsZero}CODE7}GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021determinantIsZeroERROR::={CODE1}12信息客體集合定義和賦值12.1語法結(jié)構(gòu)“ObjectSetAssignment”用來將規(guī)定類別的 (?objectsetreference”)此結(jié)構(gòu)是GB/T16262.1—xxxx第13章“Assignment”的替代記法之一,并定義如下:ObjectSetAssignment::=objectsetreferenceDefinedObjectClassObjectSet12.2不應(yīng)有“objectsetreference”遞歸定義(見3.4.18),以及不應(yīng)有“objectsetre-ference”遞歸實例(見3.4.19)。12.3“DefinedObjectClass”引用的類別的信息客體集合是由結(jié)構(gòu)“ObjectSet”定義的:ObjectSet::="{"ObjectSetSpec"}"ObjectSetSpec::=RootElementSetSpec|RootElementSetSpec",""..."|..."..."","AdditionalElementSetSpec|RootElementSetSpec",""..."","AdditionalElementSetSpec“RootElementSetSpec”和“AdditionalElementSetSpec”在GB/T16262.1—xxxx中規(guī)定,并能利用支配類別的信息客體或集合來規(guī)定一個信息客體集合。集合中應(yīng)至少有一個信息客體,除非規(guī)定了“ObjectSetSpec”的第三個替代記法(“...”)。在后一種情況,省略號的存在指明此客體集合最初是空的,但是通過應(yīng)用程序?qū)⒂锌腕w動態(tài)地加入。注1:“ObjectSetSpec”引用的元素是“RootElementSetSpec”和“AdditionalElementSetSpec”所引用元素的值集合是靜態(tài)的)不同,可擴展客體集合在一給定的形式中能夠動態(tài)地減少和增加。換言之,它可以在使用應(yīng)用程序的給定實例中擴充和減少,好象它是動態(tài)地定義或未定義客體(進一12.4涉及可擴展信息客體集合的集運算結(jié)果在GB/T16262.1—xxxx第50章中規(guī)定。12.5如果可擴展信息客體集合A在另一個客體集合定義中被引用,那么,其擴展標記和其擴展由B繼承。12.6如果使用可擴展信息客體集合定義“ValueSetFromObject”(見第15章)則產(chǎn)生的值集合不繼承此信息客體集合的擴展標記。GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:202112.7如果類型由表約束所約束(見GB/T16262.3—xxxx的10.3)并且表約束中所引用的客體集合是可擴展的,則此類型不繼承此客體集合的擴展標記。如果此類型預(yù)定是可擴展的,那么,應(yīng)將擴展標記明確地加到其“ElementSetSpec”12.8如果類型由不是可擴展的信息客體集合約束,那么,一致性實現(xiàn)應(yīng)支持此集合中的所有信息客體,并且不應(yīng)使用非此集合中的信息客體產(chǎn)生編碼。12.9如果類型由可擴展的信息客體集合約束,那么,一致性實現(xiàn)可根據(jù)對所約束類型每個實例的本地決定選擇支持是根或是擴展中的一個信息客體。不應(yīng)使用可擴展信息客體集合的根或擴展中具有任一UNIQUE字段值的其他信息客體產(chǎn)生編碼,但是,另一方面,可對所要求類別的任一信息客體產(chǎn)生編碼。注:為了避免與將來可能的擴展或其他實現(xiàn)添加的擴展沖突,只有存在OBJECTIDENTIFIER類型的UNIQUE字段且編碼包含已分配用于此用途的客體標識符的值時,才可以自12.10“ObjectSetElements”記法如下;ObjectSetElements::=DefinedObjectSetObjectSetFromObjectsParameterizedObjectSet此記法規(guī)定的元素由采用的替代記法確定,具體如下:a)如果使用“Object”替代記法,則僅規(guī)定確已賦值的客體。此客體應(yīng)是支配類別的客體;b)如果使用其余替代記法的任一種,則規(guī)定確已賦值的集合的所有客體。這些客體應(yīng)是支配類別的客體。如果使用“DefinedObjectSet”替代記法,則客體集合是被引用的集合。如果使用“ObjectSetFromObjects”替代記法,那么客體集合按第15章規(guī)定。如果使用“ParameterizedObjectSet”替代記法,那么客體集合按GB/T16262.4—xxxx的9.2規(guī)定。12.11示例在3.4.12注中非正式描述的信息客體集合可規(guī)定如下:MatrixOperationsOPERATION::={invertMatrix|addMatrices|subtractMatrices|multiplyMatrices}13關(guān)聯(lián)表13.1每個信息客體或信息客體集合能夠看作一個表:其關(guān)聯(lián)表。關(guān)聯(lián)表的每個字符元對應(yīng)于信息客體某個字段的設(shè)置,或是空的。關(guān)聯(lián)表的列集合由客體或客體所屬的類別確定;然而,行集合是由所涉及的客體或幾個客體確定。13.2已知類別的定義,列集合定義如下:a)此類別定義的每個字段規(guī)范有一列。每個列用對應(yīng)的“PrimitiveFieldName”命名;GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021b)有一個附加的列集合對應(yīng)于每個鏈接字段規(guī)范。此列集合是由鏈接字段的支配類別規(guī)則的應(yīng)用確定的,但其名稱以鏈接字段的“PrimitiveFieldName”和句號(“.”)為前綴的除外。注:這些規(guī)則是遞歸的,并且是:如果類別是直接或間接自引用的,則列集合不是有限的。這不被禁止。13.3已知某個類別的信息客體,關(guān)聯(lián)表是將13.4應(yīng)用于正好包含此客體的客體集合而產(chǎn)生的表。13.4已知某個類別的信息客體集合,關(guān)聯(lián)表中的行集合是執(zhí)行下列遞歸規(guī)程而產(chǎn)生的:a)客體集合中的每個客體以一行開始。在每一行中,列中由“PrimitiveFieldName”命名的字符元將對應(yīng)客體中合適字段的設(shè)置,而其他所有字符元是空的;b)對岀現(xiàn)在集合中某個行的每個鏈接字段:1)產(chǎn)生鏈接字段內(nèi)容的(次級)關(guān)聯(lián)表。2)下一步,用一批行代替鏈接字段所在的行,次級關(guān)聯(lián)表的每個行進行一次替換。此批中的每一行與被取代的行相同,但用次級關(guān)聯(lián)表被選擇行的字符元填充,至今是空的對應(yīng)字符元除外。其“FieldName”以鏈接字段的“PrimitiveFieldName”為前綴。注:這些規(guī)則是遞歸的,并且是:如果信息客體是直接或間接自引用上,為了知道有限長度名字的字符元的內(nèi)容才是必要的,為此可以設(shè)13.5有效“FieldName”的示例下列“FieldName”對類別OPERATON(見10.13中定義)的信息客體或信息客體集合關(guān)聯(lián)表是有效的:&ArgumentType&Errors.&Parameter&Errors.&errorCode&Linked.&ArgumentType&Linked.&Linked.&operationCode&Linked.&Linked.&Linked.&Linked.&Linked.&Errors.&errorCode因為類別OPERATION是自引用的(通過&Linked字段),所以列的數(shù)目不是有限的。14客體類別字段類型記法用此記法被引用的類型與字段名稱的種類有關(guān)。對不同的字段名稱種類,在14.2到14.5中規(guī)定了被引用的類型。14.1客體類別字段類型(見3.4.16)的記法應(yīng)是“ObjectClassFieldType”:ObjectClassFieldType::=DefinedObjectClass.FieldName其中,“FieldName”按9.14規(guī)定,與“DefinedObjectClass”標識的類別有關(guān)。14.2對類型字段,此記法定義一種開放類型,即其值集合是能用ASN.1規(guī)定的所有可能值的全集。使用對應(yīng)信息客體集合的約束規(guī)范(見GB/T16262.3—xxxx)可將此類型限于一特定類型。當“FieldName”引用類型字段時,關(guān)于使用這種記法的下列約束適用:a)這種記法不應(yīng)直接或間接用于信息客體類別值或值集合字段的類型定義;b)此記法有一個不確定的標記,因此當要求與某個其他類型不同的標記時不能使用這種記法;GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021注2:盡管在GB/T16262.1—xxxx的52.7.3中規(guī)定對擴展標志概念上所加的c)不應(yīng)隱式標記這種記法;注3:當將開放類型限于可以是一個選用類型d)要求編碼規(guī)則對賦于定義的組件的值進行編碼,使得接收者無須知道此組件的實際類型就能成功地確定與包含此組件的結(jié)構(gòu)所有其他部分相對應(yīng)的抽象值。注4:“Type”結(jié)構(gòu)通常使用信息客體集合和“AtNotation”予以約束(見GB/T16262.3—xxxx第10章)然而,要告誡ASN.1的使用者在沒有應(yīng)用約束時使用這種記法能夠?qū)е聦崿F(xiàn)要求的14.3對固定類型值或固定類型值集合字段,此記法表示出現(xiàn)在信息客體類別定義中此字段的規(guī)范中的“Type”。具有客體、標識符或值引用的特定選擇名,在這種產(chǎn)生式后的“SimpleTableConstraint”(見GB/T16262.3—xxxx的10.3)也能是有效的“Single-Value”(見GB/T16262.1—xxxx的51.2)子類型約束。在這種情況下,它應(yīng)被看作是“SimpleTableConstraint”。14.4對可變類型值或可變類型值集合字段,此記法表示開放類型,其使用受14.2規(guī)定的相同限制所支配。14.5如果此字段是客體字段或客體集合字段,則不允許這種記法。14.6定義此類型的值的記法應(yīng)是“ObjectClassFieldValue”,或用于“XMLTypeValue”時,是“XMLObjectClassFieldValue”:ObjectClassFieldValue::=OpenTypeFieldVal|FixedTypeFieldValOpenTypeFieldVal::=Type":"ValueFixedTypeFieldVal::=BuiltinValue|ReferencedValueXMLObjectClassFieldValue::=XMLOpenTypeFieldVal|XMLFixedTypeFieldValXMLOpenTypeFieldVal::=XMLTypedValue|xmlhstringXMLFixedTypeFieldVal::=XMLBuiltinValue14.7對由“ObjectClassFieldType”定義的固定類型值或值集合字段,應(yīng)使用“FixedTypeFieldVal”或“XMLFixedTypeFieldVal”,并應(yīng)是信息客體類別定義中規(guī)定的“Type”值。14.8對由“ObjectClassFieldType”定義的類型字段或可變類型值或值集合字段,“OpenTypeFieldVal”應(yīng)用于任一“Value”。“OpenTypeFieldVal”中的“Type”應(yīng)是任一ASN.1類型,并且“Value”應(yīng)是此類型的任一值。“XMLOpenTypeFieldVal”應(yīng)用于任一“XMLValue”。14.9.1當用于ASN.1模塊時,由“XMLTypedValue”所標識的類型應(yīng)是任一的ASN.1類型(且見GB/T16262.1—xxxx的14.3),并且“XMLTypeValue”中的“XMLValue”應(yīng)是此類型的任一值。注:當按GB/T16262.4—xxxx的8.5的規(guī)定使用此記法時,“XMLOpenTypeFieldVal”中的“XMLTypedValue”的類14.9.2ASN.1模塊中不得使用“XMLOpenTypeFieldVal”的“xmlhstring”替代記法。當此類型由協(xié)議GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021標識且“xmlhstring”是此類型編碼的十六進制值時,使用某些(未指定)編碼規(guī)則,此替代記法只能按GB/T16262.4—xxxx的8.5規(guī)定使用。14.10(作為“ObjectClassFieldType”的)XML值記法(“XMLFixedTypeFieldVal”)的“xmlasnltypename”項中的字符序列應(yīng)是信息客體類別中規(guī)定的“Type”的字符序列。單一序列和單一集合的XML值記法(見GB/T16262.1—xxxx表5)應(yīng)由信息客體類別中規(guī)定的“Type”確定。14.11(作為“ObjectClassFieldType”的)XML值記法(“XMLOpenTypeFieldVal”)的“xmlasnltypename”項中的字符序列應(yīng)是“OPEN-TYPE”。單一序列和單一集合的XML值記法(見GB/T16262.1—xxxx的表5)應(yīng)是“XMLDelimitedItemList”。14.12對于“XMLOpenTypeFieldVal”,如果信息客體(忽略任何標記之后)中規(guī)定的“Type”是“typereference”或“ExternalTypeReference”,那么,“NonParameterized-TypeName”應(yīng)是“typereference”或“ExternalTypeReference”,否則,應(yīng)是GB/T16262.1—xxxx的表4規(guī)定的“xmlasnltypename”,并與信息客體中規(guī)定的內(nèi)置類型相對應(yīng),在GB/T16262.1—xxxx的26.10(如果適用)的應(yīng)用后。14.13“ObjectClassFieldType”用法示例下列每個示例基于10.13的示例并表明(a)可能的“ObjectClassFieldType”b)與示例類型(a)等價的類型(當沒有約束地使用時)和(c)此類型值示例的記法。1(a)OPERATION.&operationCode(b)INTEGER(c)72(a)OPERATION.&ArgumentType(b)opentype(c)Matrix:{{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1}}3(a)OPERATION.&Linked.&Linked.&Errors.&errorCode(b)INTEGER(c)14(a)OPERATION.&Linked.&ArgumentType(b)opentype(c)UniversalString:{planckConstant,"and",hamiltonOperator}15來自客體的信息15.1客體或客體集合關(guān)聯(lián)表列中的信息可由“InformationFromObjects”記法的各種情況予以引用:InformationFromObjects::=ValueFromObject|ValueSetFromObjects|TypeFromObject|ObjectFromObject|GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021ObjectSetFromObjectsValueFromObject::=ReferencedObjectsFieldNameValueSetFromObjects::=ReferencedObjectsFieldNameTypeFromObject::=ReferencedObjects.FieldNameObjectFromObject::=ReferencedObjects.FieldNameObjectSetFromObjects::=ReferencedObjectsFieldNameReferncedObjects::=DefinedObjectParameterizedObject|DefinedObjectSet|ParameterizedObjectSet15.2本記法引用“ReferencedObjects”關(guān)聯(lián)表被引用列的全部內(nèi)容。15.3根據(jù)“ReferencedObjects”和“FieldName”的形式,此記法能夠表示值、值集合、類型、客體或客體集合。由結(jié)構(gòu)“ValueFromObject”、“ValueSetFromObjects”、“TypeFromObject”、“ObjectFromObject”和“ObjectSetFromObjects”分別表示這五種情況。每一種結(jié)構(gòu)是“InformationFromObjects”的一種特例。15.4“InformationFromObjects”生成式可劃分為兩部分。第一部分通過刪除最后的(或僅有的)“PrimitiveFieldName”及其前面的句號(.)。如果第一部分表示客體或客體集合,那么,15.5到15.13適用。否則此記法是不合法的。第二部分是最后的(或僅有的)“PrimitiveFieldName”。注指導(dǎo)性的)已知下列定義:15.5表1的第一列是指15.4中定義的第一部分。第二列是指15.4中定義的第二部分。第三列是指“InformationFromObjects”五種情況中適用的(即使有也很少)情況。GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021表1允許的“InformationFromObjects”情況“ValueFromObject”“ValueFromObject”“ValueSetFromObjects”“TypeFromObject”“ObjectFromObject”“ObjectSetFromObject”“ValueSetFromObjects”“ValueSetFromObjects”“ObjectSetFromObjects”“ObjectSetFromObjects”15.6對“TypeFromObject”和“ValueSetFromObjects”,單一序列和單一集合的XML值記法(見GB/T16262.1—xxxx表5)和“xmlasn1typename”(如果需要)應(yīng)由信息客體中規(guī)定的“Type”確定,在GB/T16262.1-xxxx的26.10的應(yīng)用后。15.7如果第一部分引用一個客體,第二部分引用固定類型值集合字段,那么“ValueSetFromObjects”與具有SimpleTableConstraint的類型等效。此類型是“<ClassName>.<FieldName>”,其中“<ClassName>”是客體的信息客體類別,“<FieldName>”是第二部分引用的字段。SimpleTableConstraint是只包含第一部分引用的客體的客體集合組成。15.8如果第一部分引用客體集合,第二部分引用固定類型值字段或固定類型值集合字段,那么“ValueSetFromObjects”,與具有“SimpleTableConstraint”的類型等效。此類型是“<ClassName>.<FieldName>”,其中,“<ClassName>”是第一部分引用的客體集合的信息客體類別,“<FieldName>”是第二部分引用的字段?!癝impleTableConstraint”是由第一部分引用的客體集合組成。15.9能使用起初是空的但可擴展的信息客體集合定義“ValueSetFromObjects”。凡是被一種應(yīng)用使用這種信息客體集合定義的值集合時,這種信息客體集合中應(yīng)至少有一個客體。信息客體集合中的一個或多個客體應(yīng)足以滿足GB/T16262.3—xxxx的10.6要求。15.10如果包含客體集合,并且最后的“PrimitiveFieldName”標識一個客體集合字段,那么“ObjectSetFromObjects”是所選客體集合的并集。15.11如表1所示,如果包含客體集合,并且最后的“PrimitiveFieldName”標識可變類型值或值集合字段或類型字段,則不允許這種記法。15.12當列中被引用的所有字符元是空的,使用“ObjectSetFromObjects”記法表示空的不可擴展客體集合。通常允許空的不可擴展客體集合(例如在集合運算中),但不能直接在表約束中使用。注:15.13表明“ValueSetFromObjGB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:202115.13如果列中被引用的所有字符元是空的,則不允許使用“InformationFromObjects”記法(除非它是“ObjectSetFromObjects”這會使此字段成為空的(或默認的但使用這種記法直接定義OPTIONAL(或DEFAULT)信息客體的字段則是允許的。15.14來自客體的信息的示例采用11.10、11.11和12.11示例中的定義,下列結(jié)構(gòu)(左列)是有效的,并且可按與右列表示相等效而加以使用。表2“ValueFromObject”71表3“TypeFromObject”表4“ValueSetFromObjects”MatrixOperations.&operationCo表5“ObjectSetFromObjects”MatrixOperations.&ErroGB/T16262.2—XXXX(規(guī)范性)類型標識符信息客體類別A.1本附錄規(guī)定了一種有用的,具有類別引用特性的信息客體類別TYPE-IDENTIFIER。注:此信息客體類別是最簡單有用的類別,只具有兩個字段:標識符字段和類型字段。標識符字段采用OBJECTA.2TYPE-IDENTIFIER信息客體類別定義如下:TYPE-IDENTIFIER::=CLASS{&idOBJECTIDENTIFIERUNIQUE,&Type,}WITHSYNTAX{&TypeIDENTIFIEDBY&id}A.3此類別定義為“有用的”信息客體類別,并且在任何模塊中都可用,而無需導(dǎo)入。A.4示例報文處理系統(tǒng)(MHS)通信的主體可定義為:MHS-BODY-CLASS::=TYPE-IDENTIFIERg4FaxBodyMHS-BODY-CLASS::={BITSTRINGIDENTIFIEDBY{mhsbody3}}協(xié)議設(shè)計者通常通過指定INSTANCEOFMHS-BODY-CLASS類型實例(見C.10)來定義一個組件,此組件就附有MHS-BODY-CLASS類別。GB/TXXXXX—GB/T16262.2-xxxx/ISO/IEC8824-2:2021(規(guī)范性)抽象語法定義B.1本附錄規(guī)定了用于定義抽象語法的信息客體類別ABSTRACT-SYNTAX。注:當將抽象語法定義為單個ASN.1類型的值時,建議定義此信息客體類別的一個實例。B.2ABSTRACT-SYNTAX信息客體類別的定義如下:ABSTRACT-SYNTAX::=CLASS{&idOBJECTIDEN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標準貨物運輸賒銷合同樣本
- 國際退貨合同協(xié)議書模板
- 建筑項目設(shè)計與施工一體化合同
- 4古詩三首《贈劉景文》教學(xué)設(shè)計2024-2025學(xué)年統(tǒng)編版語文三年級上冊
- 10 愛心的傳遞者 教學(xué)設(shè)計-2023-2024學(xué)年道德與法治三年級下冊統(tǒng)編版
- 3《花牛歌》教學(xué)設(shè)計-2024-2025學(xué)年四年級上冊語文統(tǒng)編版
- 6 磁極間的相互作用 教學(xué)設(shè)計-2023-2024學(xué)年科學(xué)二年級下冊教科版
- 13 我想和你們一起玩2023-2024學(xué)年一年級下冊道德與法治同步教學(xué)設(shè)計(統(tǒng)編版)
- 工程合同變更服務(wù)合同范本
- 手機合同范本軟件
- GB 31631-2014食品安全國家標準食品添加劑氯化銨
- GA/T 766-2020人精液PSA檢測金標試劑條法
- 精神病醫(yī)院設(shè)置基本標準
- 工程勘察重點難點分析及解決措施
- 建筑力學(xué)(緒論)課件
- excel表格水池側(cè)壁及底板配筋計算程序(自動版)
- 商業(yè)寫字樓運營費用
- 完整版:美制螺紋尺寸對照表(牙數(shù)、牙高、螺距、小徑、中徑外徑、鉆孔)
- FEMA:潛在的失效模式及影響分析解析課件
- 三腔二囊管的應(yīng)用和護理--PPT課件 (3)
- 流體力學(xué)第二版蔡增基課件
評論
0/150
提交評論