RFC4912 日本語訳
4912 Abstract Syntax Notation X (ASN.X). S. Legg. July 2007. (Format: TXT=325190 bytes) (Status: EXPERIMENTAL)
プログラムでの自動翻訳です。
英語原文
Network Working Group S. Legg Request for Comments: 4912 eB2Bcom Category: Experimental July 2007
Leggがコメントのために要求するワーキンググループS.をネットワークでつないでください: 4912年のeB2Bcomカテゴリ: 実験的な2007年7月
Abstract Syntax Notation X (ASN.X)
抽象構文記法X(ASN.X)
Status of This Memo
このメモの状態
This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.
このメモはインターネットコミュニティのためにExperimentalプロトコルを定義します。 それはどんな種類のインターネット標準も指定しません。 議論と改善提案は要求されています。 このメモの分配は無制限です。
Copyright Notice
版権情報
Copyright (C) The IETF Trust (2007).
IETFが信じる著作権(C)(2007)。
Abstract
要約
Abstract Syntax Notation X (ASN.X) is a semantically equivalent Extensible Markup Language (XML) representation for Abstract Syntax Notation One (ASN.1) specifications. ASN.X completely avoids the numerous ambiguities inherent in the ASN.1 language; therefore, specifications written in ASN.X are much easier to parse and manage than original ASN.1 specifications. ASN.X, together with the Robust XML Encoding Rules (RXER), constitutes a schema language for XML documents that offers, through other ASN.1 encoding rules, alternative compact binary encodings for XML instance documents.
抽象的なSyntax Notation X(ASN.X)は抽象的なSyntax Notation One(ASN.1)仕様の意味的に同等な拡張マークアップ言語(XML)表現です。 ASN.XはASN.1言語に固有の多数のあいまいさを完全に避けます。 したがって、分析しやすくて、ASN.Xに書かれた仕様はオリジナルのASN.1仕様よりはるかに管理しやすいです。 ASN.XはRobust XML Encoding Rules(RXER)と共にXMLドキュメントのためのXMLインスタンスドキュメントのために他のASN.1符号化規則で代替のコンパクトな2進のencodingsを提供するスキーマ言語を構成します。
Legg Experimental [Page 1] RFC 4912 Abstract Syntax Notation X July 2007
[1ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Table of Contents
目次
1. Introduction ....................................................4 2. Conventions .....................................................5 3. General Considerations ..........................................6 3.1. Annotations ................................................7 4. ModuleDefinition Translation ....................................8 5. Translation of Assignments .....................................11 5.1. Referencing Named Constructs ..............................11 5.2. Importing Namespaces ......................................12 5.3. TypeAssignment Translation ................................14 5.4. ValueAssignment and XMLValueAssignment Translation ........14 5.5. ValueSetTypeAssignment Translation ........................15 5.6. ObjectClassAssignment Translation .........................15 5.7. ObjectAssignment Translation ..............................16 5.8. ObjectSetAssignment Translation ...........................16 5.9. ParameterizedAssignment Translation .......................17 6. Translation of Types ...........................................17 6.1. Identifier Replacement ....................................17 6.2. DefinedType Translation ...................................18 6.3. Translation of Built-in Types .............................20 6.4. BitStringType Translation .................................21 6.5. IntegerType Translation ...................................22 6.6. EnumeratedType Translation ................................24 6.7. PrefixedType Translation ..................................25 6.7.1. Short Form TaggedType Translation ..................28 6.7.2. Long Form TaggedType Translation ...................29 6.8. SelectionType Translation .................................30 6.9. InstanceOfType Translation ................................31 6.10. ObjectClassFieldType Translation .........................31 6.11. TypeFromObject and ValueSetFromObjects Translation .......32 6.12. Translation of Combining Types ...........................32 6.12.1. NamedType Translation .............................32 6.12.2. SequenceType Translation ..........................36 6.12.3. SetType Translation ...............................38 6.12.4. ChoiceType Translation ............................39 6.12.5. Translation of UNION Types ........................40 6.12.6. SequenceOfType Translation ........................41 6.12.7. Translation of LIST Types .........................42 6.12.8. SetOfType Translation .............................42 6.12.9. Effect of Insertion Encoding Instructions .........43 6.13. Translation of Constrained Types .........................43 6.13.1. Constraint Translation ............................46 6.13.2. UserDefinedConstraint Translation .................46 6.13.3. TableConstraint Translation .......................47 6.13.4. ContentsConstraint Translation ....................49 6.13.5. ExceptionSpec Translation .........................50
1. 序論…4 2. コンベンション…5 3. 一般問題…6 3.1. 注釈…7 4. ModuleDefinition翻訳…8 5. 課題に関する翻訳…11 5.1. 参照箇所は構造物を命名しました…11 5.2. 名前空間をインポートします…12 5.3. TypeAssignment翻訳…14 5.4. ValueAssignmentとXMLValueAssignment翻訳…14 5.5. ValueSetTypeAssignment翻訳…15 5.6. ObjectClassAssignment翻訳…15 5.7. ObjectAssignment翻訳…16 5.8. ObjectSetAssignment翻訳…16 5.9. ParameterizedAssignment翻訳…17 6. タイプに関する翻訳…17 6.1. 識別子交換…17 6.2. DefinedType翻訳…18 6.3. 内蔵型に関する翻訳…20 6.4. BitStringType翻訳…21 6.5. IntegerType翻訳…22 6.6. EnumeratedType翻訳…24 6.7. PrefixedType翻訳…25 6.7.1. 縮約形TaggedType翻訳…28 6.7.2. 長い間、TaggedType翻訳を形成してください…29 6.8. SelectionType翻訳…30 6.9. InstanceOfType翻訳…31 6.10. ObjectClassFieldType翻訳…31 6.11. TypeFromObjectとValueSetFromObjects翻訳…32 6.12. 結合に関する翻訳はタイプします…32 6.12.1. NamedType翻訳…32 6.12.2. SequenceType翻訳…36 6.12.3. SetType翻訳…38 6.12.4. ChoiceType翻訳…39 6.12.5. ユニオン式の翻訳…40 6.12.6. SequenceOfType翻訳…41 6.12.7. リストタイプに関する翻訳…42 6.12.8. SetOfType翻訳…42 6.12.9. 挿入が指示をコード化するという効果…43 6.13. 制約つきタイプに関する翻訳…43 6.13.1. 規制翻訳…46 6.13.2. UserDefinedConstraint翻訳…46 6.13.3. TableConstraint翻訳…47 6.13.4. ContentsConstraint翻訳…49 6.13.5. ExceptionSpec翻訳…50
Legg Experimental [Page 2] RFC 4912 Abstract Syntax Notation X July 2007
[2ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
7. Translation of Values ..........................................51 7.1. Translation of Literal Values .............................53 7.2. Translation of Notational Values ..........................54 7.2.1. DefinedValue Translation ...........................56 7.2.2. BuiltinValue Translation ...........................57 7.2.3. ValueFromObject Translation ........................60 7.2.4. ObjectClassFieldValue Translation ..................60 8. Translation of Value Sets ......................................61 8.1. ElementSetSpecs Translation ...............................62 8.2. ElementSetSpec Translation ................................62 8.3. SubtypeElements Translation ...............................63 8.3.1. ValueRange Translation .............................64 8.3.2. InnerTypeConstraints Translation ...................65 9. Translation of Object Classes ..................................66 9.1. DefinedObjectClass Translation ............................66 9.2. ObjectClassDefn Translation ...............................68 9.2.1. TypeFieldSpec Translation ..........................68 9.2.2. FixedTypeValueFieldSpec Translation ................69 9.2.3. FixedTypeValueSetFieldSpec Translation .............70 9.2.4. VariableTypeValueFieldSpec Translation .............71 9.2.5. VariableTypeValueSetFieldSpec Translation ..........73 9.2.6. FieldName Translation ..............................74 9.2.7. ObjectFieldSpec Translation ........................75 9.2.8. ObjectSetFieldSpec Translation .....................76 10. Translation of Objects ........................................77 10.1. DefinedObject Translation ................................77 10.2. ObjectDefn Translation ...................................78 10.3. ObjectFromObject Translation .............................80 11. Translation of Object Sets ....................................80 11.1. DefinedObjectSet Translation .............................81 11.2. ObjectSetElements Translation ............................82 11.2.1. ObjectSetFromObjects Translation ..................83 12. Translation of Information From Objects .......................83 13. Translation of Parameterized Definitions ......................83 14. EncodingControlSections Translation ...........................93 15. Security Considerations .......................................94 16. Acknowledgements ..............................................94 17. References ....................................................95 17.1. Normative References .....................................95 17.2. Informative References ...................................97 Appendix A. ASN.1 for ASN.X .......................................95 Appendix B. ASN.X for ASN.X ......................................115
7. 値に関する翻訳…51 7.1. 文字通りの値に関する翻訳…53 7.2. 記号法の値に関する翻訳…54 7.2.1. DefinedValue翻訳…56 7.2.2. BuiltinValue翻訳…57 7.2.3. ValueFromObject翻訳…60 7.2.4. ObjectClassFieldValue翻訳…60 8. 価値に関する翻訳はセットします…61 8.1. ElementSetSpecs翻訳…62 8.2. ElementSetSpec翻訳…62 8.3. SubtypeElements翻訳…63 8.3.1. ValueRange翻訳…64 8.3.2. InnerTypeConstraints翻訳…65 9. オブジェクトに関する翻訳は属します…66 9.1. DefinedObjectClass翻訳…66 9.2. ObjectClassDefn翻訳…68 9.2.1. TypeFieldSpec翻訳…68 9.2.2. FixedTypeValueFieldSpec翻訳…69 9.2.3. FixedTypeValueSetFieldSpec翻訳…70 9.2.4. VariableTypeValueFieldSpec翻訳…71 9.2.5. VariableTypeValueSetFieldSpec翻訳…73 9.2.6. FieldName翻訳…74 9.2.7. ObjectFieldSpec翻訳…75 9.2.8. ObjectSetFieldSpec翻訳…76 10. オブジェクトに関する翻訳…77 10.1. DefinedObject翻訳…77 10.2. ObjectDefn翻訳…78 10.3. ObjectFromObject翻訳…80 11. オブジェクトに関する翻訳はセットします…80 11.1. DefinedObjectSet翻訳…81 11.2. ObjectSetElements翻訳…82 11.2.1. ObjectSetFromObjects翻訳…83 12. オブジェクトからの情報に関する翻訳…83 13. Parameterized定義に関する翻訳…83 14. EncodingControlSections翻訳…93 15. セキュリティ問題…94 16. 承認…94 17. 参照…95 17.1. 標準の参照…95 17.2. 有益な参照…97 ASN Xのための付録A.ASN.1…95 ASN Xのための付録B.ASN.X…115
Legg Experimental [Page 3] RFC 4912 Abstract Syntax Notation X July 2007
[3ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
1. Introduction
1. 序論
A full parser for the Abstract Syntax Notation One (ASN.1) language [X.680][X.680-1][X.681][X.682][X.683] is difficult to implement due to numerous ambiguities in the notation. For example, certain notations for a Value are syntactically indistinguishable from notation for a ValueSet, Object, ObjectSet, DummyReference, or SimpleTableConstraint. An ObjectClassAssignment, ObjectAssignment, or ObjectSetAssignment resembles respectively a TypeAssignment, ValueAssignment, or ValueSetTypeAssignment. A FixedTypeValueFieldSpec or FixedTypeValueSetFieldSpec resembles respectively an ObjectFieldSpec or ObjectSetFieldSpec, and an ObjectClassFieldType resembles InformationFromObjects notation. In general, such ambiguities can only be resolved once the entire specification has been parsed. There are other notations that are not mutually ambiguous but still require several lexical tokens to be scanned before they can be distinguished from each other. The difficulty of parsing ASN.1 is an impediment to its wider adoption.
抽象的なSyntax Notation One(ASN.1)言語[X.680][X.680-1][X.681][X.682][X.683]のための完全なパーサは多数のあいまいさのため記法で実装するのは難しいです。 例えば、ValueSet、Object、ObjectSet、DummyReference、またはSimpleTableConstraintには、Valueのためのある記法は記法からシンタクス上区別がつきません。 ObjectClassAssignment、ObjectAssignment、またはObjectSetAssignmentがそれぞれTypeAssignment、ValueAssignment、またはValueSetTypeAssignmentに類似しています。 FixedTypeValueFieldSpecかFixedTypeValueSetFieldSpecがそれぞれObjectFieldSpecかObjectSetFieldSpecに類似しています、そして、ObjectClassFieldTypeはInformationFromObjects記法に類似しています。 一般に、全体の仕様がいったん分析されると、そのようなあいまいさを取り除くことができるだけです。 互いとそれらを区別できる前に、互いにあいまいではありませんが、数個の字句がスキャンされるのをまだ必要としている他の記法があります。 ASN.1を分析するという困難は、より広い採用の障害です。
This document defines a semantically equivalent Extensible Markup Language (XML) [XML10][XML11] representation for ASN.1 specifications called Abstract Syntax Notation X (ASN.X). An ASN.X module is a well-formed and valid XML document conforming to XML namespaces [XMLNS10][XMLNS11]. ASN.X completely avoids the inherent ambiguities of the ASN.1 language; therefore, specifications written in ASN.X are much easier to parse and manage than original ASN.1 specifications. For example, any conformant XML processor forms the basis of an ASN.1 toolkit.
このドキュメントは抽象的なSyntax Notation X(ASN.X)と呼ばれるASN.1仕様の意味的に同等な拡張マークアップ言語(XML)[XML10][XML11]表現を定義します。 ASN.XモジュールはXML名前空間[XMLNS10][XMLNS11]に一致している整形式の、そして、有効なXMLドキュメントです。 ASN.XはASN.1言語の固有のあいまいさを完全に避けます。 したがって、分析しやすくて、ASN.Xに書かれた仕様はオリジナルのASN.1仕様よりはるかに管理しやすいです。 例えば、どんなconformant XMLプロセッサもASN.1ツールキットの基礎を形成します。
ASN.X, together with the Robust XML Encoding Rules (RXER) [RXER], constitutes a schema language for XML documents that offers, through other ASN.1 encoding rules, alternative compact binary encodings for XML instance documents conforming to an ASN.X specification. ASN.X definitions can also incorporate type, element, and attribute definitions from XML Schema [XSD1] documents, RELAX NG [RNG] documents, or Document Type Definitions (DTDs) [XML10][XML11].
ASN.XはRobust XML Encoding Rules(RXER)[RXER]と共にXMLドキュメントのためのASN.X仕様に一致しているXMLインスタンスドキュメントのために他のASN.1符号化規則で代替のコンパクトな2進のencodingsを提供するスキーマ言語を構成します。 また、ASN.X定義はXML Schema[XSD1]ドキュメント、RELAX NG[RNG]ドキュメント、またはDocument Type Definitions(DTD)[XML10][XML11]からタイプ、要素、および属性定義を組み込むことができます。
ASN.X is defined in terms of rules for translating from an ASN.1 specification. This does not preclude an ASN.X module being written directly without a pre-existing ASN.1 module; however, such an ASN.X module is considered valid if and only if there exists, in principle, an ASN.1 module that when translated would yield the ASN.X module.
ASN.XはASN.1仕様から翻訳するための規則で定義されます。 これは直接先在のASN.1モジュールなしで書かれているASN.Xモジュールを排除しません。 そして、しかしながら、そのようなASN.Xモジュールが有効であると考えられる、ASN.1モジュールが原則として存在している場合にだけ、翻訳されると、それはASN.Xモジュールをもたらすでしょう。
The format for ASN.X has also been designed so that the content of an ASN.X module conforms to the RXER encoding of an abstract value of an ASN.1 type, the ModuleDefinition type, presented in Appendix A. This means that it is possible to decode an ASN.X module using an RXER decoder and then re-encode the abstract value (for storage or
またはまた、ASN.XがASN.Xモジュールの内容がASN.1タイプの抽象的な価値のコード化(ModuleDefinitionタイプ)がAppendix A.Thisで寄贈したRXERに従うように設計されているので形式が、RXERデコーダを使用することでASN.Xモジュールを解読して、次に、抽象的な値を再コード化するのが可能であることを意味する、(ストレージ。
Legg Experimental [Page 4] RFC 4912 Abstract Syntax Notation X July 2007
[4ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
transmission) using any of the other encoding rules for ASN.1. Thus, the "X" in ASN.X can be regarded as standing for either XML or RXER, or more generally, for any set of ASN.1 encoding rules.
トランスミッション) ASN.1に他の符号化規則のいずれも使用します。 より一般に、したがって、ASN.Xの「X」をXMLかRXERのどちらかを表すと見なすことができますか、またはASN.1のどんなセットのためにも、コード化は統治されます。
The ASN.X translation of the ASN.1 module in Appendix A is presented in Appendix B.
Appendix AのASN.1モジュールに関するASN.X翻訳はAppendix Bに提示されます。
2. Conventions
2. コンベンション
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", and "MAY" in this document are to be interpreted as described in BCP 14, RFC 2119 [BCP14]. The key word "OPTIONAL" is exclusively used with its ASN.1 meaning.
キーワード“MUST"、「必須NOT」が「必要です」、“SHALL"、「」、“SHOULD"、「」、「推薦された」、およびこのドキュメントの「5月」はBCP14RFC2119[BCP14]で説明されるように解釈されることになっているべきであるものとします。 「任意である」というキーワードはASN.1意味と共に排他的に使用されます。
Throughout this document "type" shall be taken to mean an ASN.1 type, and "value" shall be taken to mean an ASN.1 abstract value.
このドキュメント中では、ASN.1がタイプすることを意味するために「タイプ」を取るものとします、そして、ASNの.1の抽象的な価値を意味するために「値」を取るものとします。
A reference to an ASN.1 production [X.680] (e.g., Type, NamedType) is a reference to the text in an ASN.1 specification corresponding to that production.
ASN.1生産[X.680](例えば、Type、NamedType)の参照はその生産に対応するASN.1仕様によるテキストの参照です。
The description of the translation of an ASN.1 module into an ASN.X module makes use of definitions from the XML Information Set (Infoset) [INFOSET]. In particular, information item property names follow the Infoset convention of being shown in square brackets, e.g., [local name]. Literal values of Infoset properties are enclosed in double quotes; however, the double quotes are not part of the property values. In the sections that follow, "information item" will be abbreviated to "item", e.g., "element information item" is abbreviated to "element item". Element items will be referred to by their [local name] in angle brackets, e.g., "the <type> element item" means the element item with the [local name] "type". Attribute items will be referred to by their [local name], e.g., "the type attribute item" means the attribute item with the [local name] "type".
ASN.XモジュールへのASN.1モジュールに関する翻訳の記述はXML情報Set(Infoset)[INFOSET]から定義を利用します。 特に、情報項目特性の名は角括弧、例えば、[地方名]で示されるInfosetコンベンションに続きます。 Infosetの特性の文字通りの値は二重引用符に同封されます。 しかしながら、二重引用符は特性の値の一部ではありません。 従うセクションでは、「情報項目」は「項目」に簡略化されて、例えば、「要素情報の品目」は「要素の品目」に簡略化されています。 要素の品目は角ブラケットにそれらの[地方名]によって示されるでしょう、例えば、「<タイプ>要素の品目」は[地方名]「タイプ」がある要素の品目を意味します。 属性項目はそれらの[地方名]によって示されるでしょう、例えば、「タイプ属性項目」は[地方名]「タイプ」がある属性項目を意味します。
This document uses the namespace prefix "asnx:" to stand for the namespace name "urn:ietf:params:xml:ns:asnx", though in practice any valid namespace prefix is permitted in ASN.X.
名前空間が前に置くこのドキュメント用途は「以下をasnxします」。 名前空間を表すには、どんな有効な名前空間接頭語も実際にはASN.Xで受入れられますが、「つぼ:ietf:params:xml:ナノ秒: asnx」を命名してください。
Encoding instructions [X.680-1] referenced by name in this specification are encoding instructions for RXER [RXEREI]. The associated provisions do not apply to encoding instructions for other encoding rules that happen to have the same name.
指示をコード化して、この仕様で名前によって参照をつけられる[X.680-1]はRXER[RXEREI]のために指示をコード化しています。 関連条項は、同じ名前を持っているのに起こる他の符号化規則のための指示をコード化するのに当てはまりません。
Code points for characters [UNICODE] are expressed using the Unicode convention U+n, where n is four to six hexadecimal digits, e.g., the space character is U+0020.
キャラクタ[ユニコード]のためのコード・ポイントは、ユニコードコンベンションU+n(nが4〜6つの16進数字である、例えば、間隔文字はU+0020です)を使用することで言い表されます。
Legg Experimental [Page 5] RFC 4912 Abstract Syntax Notation X July 2007
[5ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
3. General Considerations
3. 一般問題
ASN.X is defined in terms of rules for translating an ASN.1 module into a synthetic Infoset. This synthetic Infoset is then serialized into a well-formed and valid XML document (the ASN.X module) in the same manner that the synthetic Infoset for a non-canonical RXER encoding is serialized into an XML document (see Section 6.12 of the specification for RXER [RXER]).
ASN.XはASN.1モジュールを合成のInfosetに翻訳するための規則で定義されます。 そして、この合成のInfosetは正典外のRXERのための合成のInfosetがコード化して、XMLドキュメント(RXER[RXER]のための仕様のセクション6.12を見る)に連載される同じ方法による整形式の、そして、有効なXMLドキュメント(ASN.Xモジュール)に連載されます。
Aside: The serialization permits CDATA sections, character references, and parsed entity references. However, note that an ASN.X module may be transferred as data in a protocol and that some protocols disallow entity references.
傍らに: 連載はセクション、文字参照、および解析対象実体参照をCDATAに可能にします。 しかしながら、プロトコルのデータとしてASN.Xモジュールを移すかもしれなくて、いくつかのプロトコルが実体参照を禁じることに注意してください。
Apart from the [document element] of the document item for an ASN.X module, the translation of some ASN.1 construct belongs to the [children] or [attributes] of an enclosing element item.
は別として、ASN.Xモジュールのためのドキュメントの品目の[ドキュメント要素]、ASN.1が組み立てるいくつかに関する翻訳は同封の要素の品目の[子供]か[属性]に属します。
Where the translation of the construct is an element item, it is appended to the [children] of the enclosing element item. Elements MUST be appended to the [children] of the enclosing element item in the order described. Translators MAY add white space character items (i.e., U+0020, U+0009, U+000D and U+000A) to the [children] of any element item (to improve the layout) except element items with the [local name] "literalValue", "fieldName", or "restrictBy".
構造物に関する翻訳が要素の品目であるところでは、同封の要素の品目の[子供]にそれを追加します。 オーダーにおける要素の品目が説明した同封の[子供]にElementsを追加しなければなりません。 翻訳者は[地方名]の"literalValue"、"fieldName"、または"restrictBy"と共に余白キャラクタ項目(すなわち、U+0020、U+0009、U+000D、およびU+000A)を要素の品目以外のどんな要素の品目(レイアウトを改良する)の[子供]にも加えるかもしれません。
Aside: White space in the [children] of <fieldName> and <restrictBy> element items is explicitly covered under their respective descriptions.
傍らに: <fieldName>と<restrictBy>要素の品目の[子供]の余白は明らかに彼らのそれぞれの記述でカバーされています。
Where the translation of the construct is an attribute item, it is added to the [attributes] of the enclosing element item. The order of attribute items is not significant. Translators MAY add leading and trailing white space characters to the [normalized value] of any attribute item except an attribute item with the [local name] "literalValue".
構造物に関する翻訳が属性項目であるところでは、それは同封の要素の品目の[属性]に加えられます。 属性項目の注文は重要ではありません。 翻訳者が主で引きずっている余白キャラクタを加えるかもしれない、[値を正常にします] [地方名]"literalValue"がある属性項目以外のどんな属性項目についても。
Aside: An attribute or element item with the [local name] "literalValue" holds an RXER Infoset translation of an abstract value, and white space characters may be significant in that abstract value. In most cases, RXER itself permits optional leading and trailing white space characters in the Infoset translation.
傍らに: [地方名]"literalValue"がある属性か要素の品目が抽象的な価値に関するRXER Infoset翻訳を保持します、そして、余白キャラクタはその抽象的な値で重要であるかもしれません。 多くの場合、RXER自身はInfoset翻訳で任意の主で引きずっている余白キャラクタを可能にします。
Translators MAY add comment and processing instruction (PI) items to the [children] of any element item except an element item with the [local name] "literalValue".
翻訳者は[地方名]"literalValue"と共に要素の品目以外のどんな要素の品目の[子供]にもコメントと処理命令(PI)項目を加えるかもしれません。
Legg Experimental [Page 6] RFC 4912 Abstract Syntax Notation X July 2007
[6ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Aside: In most cases, RXER itself permits comment and PI items in the [children] of the element items with the [local name] "literalValue".
傍らに: 多くの場合、RXER自身は[地方名]"literalValue"と共に要素の品目の[子供]でコメントとPIの品目を可能にします。
Aside: Note that an ASN.X module may be transferred as data in a protocol and that some protocols disallow processing instructions.
傍らに: プロトコルのデータとしてASN.Xモジュールを移すかもしれなくて、いくつかのプロトコルが処理命令を禁じることに注意してください。
The [in-scope namespaces] and [namespace attributes] for <literalValue> and <restrictBy> element items are determined according to Section 6.10 of the specification for RXER [RXER]. The [in-scope namespaces] and [namespace attributes] for other element items in the translation are determined according to Section 6.2.2.1 of the specification for RXER.
RXER[RXER]のための仕様のセクション6.10によると、<literalValue>と<restrictBy>要素の品目のための[範囲の名前空間]と[名前空間属性]は断固としています。 セクション6.2によると、翻訳における他の要素の品目のための[範囲の名前空間]と[名前空間属性]は断固としています。.2 RXERのための.1の仕様。
The [namespace name] of any element item or attribute item generated by the translation from an ASN.1 specification has no value unless specified otherwise. In those cases where the [namespace name] of an element item has a value, the [prefix] of the element item is determined according to Section 6.2.2.2 of the specification for RXER. In those cases where the [namespace name] of an attribute item has a value, the [prefix] of the attribute item is determined according to Section 6.2.3.1 of the specification for RXER.
ASN.1仕様からの翻訳で生成されたどんな要素の品目や属性項目の[名前空間名]でも、別の方法で指定されない場合、値が全くありません。 セクション6.2によると、要素の品目の[接頭語]は要素の品目の[名前空間名]には値があると決心しています。それらのケース、どこ、.2 RXERのための.2の仕様。 セクション6.2によると、属性項目の[接頭語]は属性項目の[名前空間名]には値があると決心しています。それらのケース、どこ、.3 RXERのための.1の仕様。
Aside: Non-canonical RXER allows all valid namespace prefixes and all valid placements for their corresponding namespace declaration attributes.
傍らに: 正典外のRXERはそれらの対応する名前空間宣言属性のためのすべての有効な名前空間接頭語とすべての有効なプレースメントを許容します。
Whenever an element item is added to the [children] of an enclosing element item, the enclosing element item becomes the [parent] of the element item.
要素の品目が同封の要素の品目の[子供]に加えられるときはいつも、同封の要素の品目は要素の品目の[親]になります。
Whenever an attribute item is added to the [attributes] of an element item, the element item becomes the [owner element] of the attribute item. For each attribute item, the [specified] property is set to true, the [attribute type] has no value, and the value of the [references] property is set to unknown.
属性項目が要素の品目の[属性]に加えられるときはいつも、要素の品目がなる、属性項目の[所有者要素。] それぞれの属性項目において、[指定される]の特性は本当に設定されて、[属性タイプ]には、値が全くなくて、[参照]属性の価値は未知に設定されます。
3.1. Annotations
3.1. 注釈
In a number of places, as indicated in subsequent sections, the translator is permitted to add an element item with the [local name] "annotation". The [children] and [attributes] of the <annotation> element item are at the discretion of the translator.
多くの場所では、その後のセクションにみられるように、翻訳者が[地方名]「注釈」で要素の品目を加えることが許可されています。 翻訳者の裁量には<注釈>要素の品目の[子供]と[属性]があります。
Typical uses of the <annotation> element item would be to hold comments from the ASN.1 specification that are normative in nature, e.g., a comment in a user-defined constraint, or to hold directives for an ASN.1 compiler.
<注釈>要素の品目の典型的な用途は、ASN.1仕様からの現実に規範的なコメント、例えばユーザによって定義された規制におけるコメントを保持するか、またはASN.1コンパイラのための指示を保持するだろうことです。
Legg Experimental [Page 7] RFC 4912 Abstract Syntax Notation X July 2007
[7ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Free text or XML comments in an <annotation> element will be preserved in a Canonical RXER (CRXER) encoding [RXER] (because the corresponding ASN.1 type for the <annotation> element item is the Markup type [RXER]), while XML comments outside <annotation> elements will not be preserved.
<注釈>要素における無料のテキストかXMLコメントが[RXER]をコード化しながら(<注釈>要素の品目のための対応するASN.1タイプがMarkupタイプ[RXER]であるので)、Canonical RXER(CRXER)に保存されるでしょう、<注釈>要素の外におけるXMLコメントは保存されないでしょうが。
Vendors using the <annotation> element items to hold ASN.1 compiler directives (as attributes or child elements of the <annotation> element) SHOULD use element or attribute names that are qualified with a namespace name specific to the vendor.
ASN.1コンパイラ指示文(<注釈>要素の属性か子供要素としての)SHOULDを持つのに<注釈>要素の品目を使用するベンダーがベンダーに特定の名前空間名で資格がある要素か属性名を使用します。
4. ModuleDefinition Translation
4. ModuleDefinition翻訳
The translation of a ModuleDefinition [X.680] (an ASN.1 module) is an element item with the [local name] "module" and the [namespace name] "urn:ietf:params:xml:ns:asnx" (i.e., an <asnx:module> element item). The element item is typically the [document element] of a document item.
そして、ModuleDefinition[X.680](ASN.1モジュール)に関する翻訳が[地方名]「モジュール」がある要素の品目である、[名前空間名]「つぼ:ietf:params:xml:ナノ秒: asnx。」(すなわち、<asnx: モジュール>要素の品目) 要素の品目が通常、そうである、ドキュメントの品目の[ドキュメント要素。]
An attribute item with the [local name] "format" and [normalized value] "1.0" MAY be added to the [attributes] of the <asnx:module> element item.
「1インチは<asnx: モジュール>要素の品目の[属性]に加えられるかもしれない」という[地方名]「形式」と[正常にされた値]がある属性項目。
An ASN.1 module has a schema identity URI if it contains a SCHEMA-IDENTITY encoding instruction, in which case the schema identity URI is the character string specified by the AnyURIValue of the SCHEMA-IDENTITY encoding instruction.
ASN.1モジュールには、指示をコード化するSCHEMA-IDENTITYを含んでいるなら、図式アイデンティティURIがあって、その場合、図式アイデンティティURIは指示をコード化するSCHEMA-IDENTITYのAnyURIValueによって指定された文字列です。
If the ASN.1 module being translated has a schema identity URI, then an attribute item with the [local name] "schemaIdentity" SHALL be added to the [attributes] of the <asnx:module> element item. The [normalized value] of this attribute item is the schema identity URI of the module.
翻訳されるASN.1モジュールが図式アイデンティティURIを持っているなら、そして、[地方名]"schemaIdentity"SHALLが<asnx: モジュール>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]はモジュールの図式アイデンティティURIです。
If the target namespace [RXEREI] for the ASN.1 module is not absent, then an attribute item with the [local name] "targetNamespace" SHALL be added to the [attributes] of the <asnx:module> element item. The [normalized value] of this attribute item is the target namespace of the module.
ASN.1モジュールのための目標名前空間[RXEREI]が欠けないなら、そして、[地方名]"targetNamespace"SHALLが<asnx: モジュール>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]はモジュールの目標名前空間です。
Aside: An ASN.1 module has a target namespace if it contains a TARGET-NAMESPACE encoding instruction.
傍らに: ASN.1モジュールには、指示をコード化するTARGET-NAMESPACEを含んでいるなら、目標名前空間があります。
If the ASN.1 module contains a TARGET-NAMESPACE encoding instruction that specifies a Prefix, then an attribute item with the [local name] "targetPrefix" SHALL be added to the [attributes] of the
.1モジュールが[地方名]"targetPrefix"SHALLが[属性]に加えられている状態でa Prefix、当時の属性項目を指定する指示をコード化するTARGET-NAMESPACEを含むASNです。
Legg Experimental [Page 8] RFC 4912 Abstract Syntax Notation X July 2007
[8ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
<asnx:module> element item. The [normalized value] of this attribute item is the character string specified by the NCNameValue in the Prefix.
<asnx: モジュール>要素の品目。 この属性項目の[正常にされた値]はPrefixのNCNameValueによって指定された文字列です。
In examples in the remainder of this document, the namespace prefix "tns:" is used to stand for the target namespace of the module being translated.
中では、このドキュメントの残りにおける例、名前空間接頭語は「以下をtnsします」。 モジュールの目標名前空間のために翻訳されながら立つために、使用されます。
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <asnx:module> element item. The [normalized value] of this attribute item is the modulereference in the ModuleIdentifier in the ModuleDefinition.
SHALLという[地方名]「名前」が<asnxの[属性]に加えられている属性項目: モジュール>要素の品目。 この属性項目の[正常にされた値]はModuleDefinitionのModuleIdentifierのmodulereferenceです。
If the DefinitiveIdentifier in the ModuleIdentifier in the ModuleDefinition is not empty, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <asnx:module> element item. The [normalized value] of this attribute item is the RXER character data translation [RXER] of the DefinitiveIdentifier.
ModuleDefinitionのModuleIdentifierのDefinitiveIdentifierが空でないなら、そして、[地方名]「識別子」SHALLが<asnx: モジュール>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]はDefinitiveIdentifierに関するRXERキャラクタデータ変換[RXER]です。
If the TagDefault in the ModuleDefinition is empty, then an attribute item with the [local name] "tagDefault" and [normalized value] "explicit" SHALL be added to the [attributes] of the <asnx:module> element item.
ModuleDefinitionのTagDefaultが空であるなら、そして、[地方名]"tagDefault"と[正常にされた値]「明白な」SHALLが<asnx: モジュール>要素の品目の[属性]に加えられている状態で、属性項目です。
If the TagDefault in the ModuleDefinition is not empty and the first keyword in the TagDefault is not "AUTOMATIC", then an attribute item with the [local name] "tagDefault" SHALL be added to the [attributes] of the <asnx:module> element item. The [normalized value] of this attribute item is the first keyword in the TagDefault with all letters downcased, i.e., "explicit" or "implicit".
ModuleDefinitionのTagDefaultが空でなく、またTagDefaultにおける最初のキーワードが「自動でない」なら、[地方名]"tagDefault"がある属性項目は<asnxの[属性]に加えられるものとします: モジュール>要素の品目。 この属性項目の[正常にされた値]はすなわち、すべての手紙がdowncasedされる、「明白である」かまたは「暗黙であること」でのTagDefaultで最初のキーワードです。
If the TagDefault in the ModuleDefinition is not empty and the first keyword in the TagDefault is "AUTOMATIC", then an attribute item with the [local name] "tagDefault" and [normalized value] "automatic" MAY be added to the [attributes] of the <asnx:module> element item.
ModuleDefinitionのTagDefaultが空でなく、TagDefaultにおける最初のキーワードが「自動である」なら、そして、[地方名]"tagDefault"と[値を正常にします]「自動である」5月が<asnx: モジュール>要素の品目の[属性]に加えられている状態で、属性項目です。
If the ExtensionDefault in the ModuleDefinition is not empty, then an attribute item with the [local name] "extensibilityImplied" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <asnx:module> element item.
そして、ModuleDefinitionのExtensionDefaultが空でないなら、「本当に」か「1インチは<asnx: モジュール>要素の品目の[属性]に加えられるものとする」という[地方名]"extensibilityImplied"と[正常にされた値]がある属性項目です。
If the ExtensionDefault in the ModuleDefinition is empty, then an attribute item with the [local name] "extensibilityImplied" and [normalized value] "false" or "0" MAY be added to the [attributes] of the <asnx:module> element item.
そして、ModuleDefinitionのExtensionDefaultが空であるなら、「虚偽」か「0インチは<asnx: モジュール>要素の品目の[属性]に加えられるかもしれない」という[地方名]"extensibilityImplied"と[正常にされた値]がある属性項目です。
Legg Experimental [Page 9] RFC 4912 Abstract Syntax Notation X July 2007
[9ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
An element item with the [local name] "annotation" MAY be added to the [children] of the <asnx:module> element item.
[地方名]「注釈」がある要素の品目は<asnxの[子供]に加えられるかもしれません: モジュール>要素の品目。
The translation of each Assignment in the AssignmentList in the ModuleBody in the ModuleDefinition of the module being translated SHALL be appended to the [children] of the <asnx:module> element item.
翻訳、翻訳されたSHALLであるモジュールのModuleDefinitionのModuleBodyのAssignmentListの各Assignmentでは、<asnxの[子供]に追加してください: モジュール>要素の品目。
If the EncodingControlSections instance in the ModuleDefinition contains an EncodingControlSection for RXER, then the translation of each NamedType in a TopLevelComponent [RXEREI] nested in the EncodingInstructionAssignmentList SHALL be added to the [children] of the <asnx:module> element item. The relative order of the top-level components [RXEREI] SHOULD be preserved in the translation; however, the translations of the top-level components MAY be interspersed with the translations of the assignments in the AssignmentList.
ModuleDefinitionのEncodingControlSectionsインスタンスがEncodingControlSectionを含むなら、RXER、当時のEncodingInstructionAssignmentList SHALLで入れ子にされたTopLevelComponent[RXEREI]のそれぞれのNamedTypeに関する翻訳には、<asnxの[子供]に加えられてください: モジュール>要素の品目。 相対オーダ、先端平らコンポーネント[RXEREI]SHOULDでは、翻訳に保存されてください。 しかしながら、課題に関する翻訳がAssignmentListにある状態で、トップレベルコンポーネントに関する翻訳は点在するかもしれません。
The translation of the EncodingControlSections instance in the ModuleDefinition of the module being translated SHALL be appended to the [children] of the <asnx:module> element item.
EncodingControlSectionsに関する翻訳はモジュールのModuleDefinitionで存在の翻訳されたSHALLを例証します。<asnx: モジュール>要素の品目の[子供]に追加します。
Example
例
MyModule DEFINITIONS IMPLICIT TAGS EXTENSIBILITY IMPLIED ::= BEGIN
暗黙のタグ伸展性が含意したMyModule定義:、:= 始まってください。
MyType ::= INTEGER
MyType:、:= 整数
ENCODING-CONTROL RXER
コード化しているコントロールRXER
SCHEMA-IDENTITY "http://example.com/id/MyModule" TARGET-NAMESPACE "http://example.com/ns/MyModule"
図式アイデンティティ" http://example.com/id/MyModule "目標名前空間" http://example.com/ns/MyModule "
COMPONENT myElement INTEGER
コンポーネントmyElement整数
END
終わり
<asnx:module xmlns:asnx="urn:ietf:params:xml:ns:asnx" name="MyModule" schemaIdentity="http://example.com/id/MyModule" targetNamespace="http://example.com/ns/MyModule" tagDefault="implicit" extensibilityImplied="true">
" http://example.com/ns/MyModule "" http://example.com/id/MyModule "<asnx: モジュールxmlns: asnx=「つぼ:ietf:params:xml:ナノ秒: asnx」名=の"MyModule"schemaIdentity=targetNamespace=tagDefaultが「暗黙」のextensibilityImplied=と等しい、「本当の">"
<namedType name="MyType" type="asnx:INTEGER"/>
<namedType名前="MyType"は=「asnx: 整数」/>をタイプします。
Legg Experimental [Page 10] RFC 4912 Abstract Syntax Notation X July 2007
[10ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
<element name="myElement" type="asnx:INTEGER"/>
<要素名=の"myElement"は=「asnx: 整数」/>をタイプします。
</asnx:module>
</asnx: モジュール>。
5. Translation of Assignments
5. 課題に関する翻訳
5.1. Referencing Named Constructs
5.1. 構造物という参照箇所
An Assignment in ASN.1 associates a reference name with a Type, Value, ValueSet, ObjectClass, Object, or ObjectSet. For ASN.X, an Assignment is also regarded as associating an expanded name [XMLNS10][XMLNS11] with the Type, Value, ValueSet, ObjectClass, Object, or ObjectSet. ASN.X uses these expanded names, rendered as qualified names [XMLNS10][XMLNS11], in place of the references in an ASN.1 specification.
ASN.1のAssignmentはType、Value、ValueSet、ObjectClass、Object、またはObjectSetの参照名を関連づけます。 また、ASN.Xに関しては、AssignmentはType、Value、ValueSet、ObjectClass、Object、またはObjectSetの拡張名前[XMLNS10][XMLNS11]を関連づけると見なされます。 ASN.XはASN.1仕様による参照に代わって適切な名前[XMLNS10][XMLNS11]として表されたこれらの拡張名前を使用します。
In every case, the local name of the expanded name is the typereference, valuereference, objectclassreference, objectreference, or objectsetreference in the Assignment (i.e., the [normalized value] of the name attribute item in the translation of the Assignment, ignoring white space characters). If the target namespace of the ASN.1 module in which the Assignment is defined is not absent, then the namespace name of the expanded name is that target namespace; otherwise, the namespace name of the expanded name has no value. When the expanded name is rendered as a qualified name, the namespace prefix is determined according to Section 6.7.11.1 of the specification for RXER [RXER].
すなわち、拡張名前の地方名があらゆる場合に、Assignmentのtypereference、valuereference、objectclassreference、objectreference、またはobjectsetreferenceである、([正常にされた値] 名前では、Assignmentに関する翻訳で項目を結果と考えてください、余白キャラクタを無視して) Assignmentが定義されるASN.1モジュールの目標名前空間が欠けないなら、拡張名前の名前空間名はその目標名前空間です。 さもなければ、拡張名前の名前空間名には、値が全くありません。 名前空間接頭語は拡張名前がいつ適切な名前として表されるかを決定します。セクション6.7 .11 RXER[RXER]のための.1の仕様。
If an ASN.1 specification contains two or more modules where the target namespace is absent, then there exists the possibility that the expanded names defined by the ASN.X translations of those modules are not distinct. The expanded names are not distinct if:
ASN.1仕様が目標名前空間が欠けている2つ以上のモジュールを含んでいるなら、それらのモジュールに関するASN.X翻訳で定義された拡張名前が異なっていない可能性は存在しています。 拡張名前が異なっていない、:
(1) two or more type or value set assignments define the same typereference, or
または(1) 2以上がタイプされるか、または選択値群課題が同じtypereferenceを定義する。
(2) two or more value assignments define the same valuereference, or
または(2) 2つ以上の値の課題が同じvaluereferenceを定義する。
(3) two or more object class assignments define the same objectclassreference, or
または(3) 2つ以上のオブジェクトクラス課題が同じobjectclassreferenceを定義する。
(4) two or more object assignments define the same objectreference, or
または(4) 2つ以上のオブジェクト課題が同じobjectreferenceを定義する。
(5) two or more object set assignments define the same objectsetreference, or
または(5) 2つ以上のオブジェクトセット課題が同じobjectsetreferenceを定義する。
Legg Experimental [Page 11] RFC 4912 Abstract Syntax Notation X July 2007
[11ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
(6) two or more top-level element components [RXEREI] have the same local name, or
または(6) 2つ以上のトップレベル要素成分[RXEREI]には同じ地方名がある。
(7) two or more top-level attribute components [RXEREI] have the same local name.
(7) 2つ以上のトップレベル属性コンポーネント[RXEREI]には、同じ地方名があります。
If the expanded names are not distinct, then an unambiguous translation into ASN.X does not exist unless each of the modules has a SCHEMA-IDENTITY encoding instruction. Consequently, if two or more modules where the target namespace is absent are being translated into ASN.X and the reference names defined in those modules will not be distinct, then as a local action prior to the translation, a SCHEMA-IDENTITY encoding instruction MUST be added to each of the modules that defines one or more of the indistinct expanded names and that does not already have a SCHEMA-IDENTITY encoding instruction. The character string (a URI) specified by the AnyURIValue of each added SCHEMA-IDENTITY encoding instruction is freely chosen by the translator, subject to the condition that these character strings are distinct [RXEREI].
SCHEMA-IDENTITYがそれぞれのモジュールで指示をコード化しないで、また拡張名前が異ならないなら、ASN.Xへの明白な翻訳は存在していません。 その結果、目標名前空間が欠けている2つ以上のモジュールがASN.Xに翻訳することにされるのであって、それらのモジュールで定義された参照名が異ならないなら、翻訳の前の地方の動きとして、不明瞭な拡張名前の1つ以上を定義して、SCHEMA-IDENTITYが既に指示をコード化しないそれぞれのモジュールに指示をコード化するSCHEMA-IDENTITYを追加しなければなりません。 それぞれのAnyURIValueによって指定された文字列(URI)は、これらの文字列が異なっているという条件[RXEREI]を条件として指示をコード化するSCHEMA-IDENTITYが翻訳者によって自由に選ばれていると言い足しました。
Aside: Although this means that different translators might produce ASN.X modules that are syntactically different for any given ASN.1 module, those ASN.X modules will be semantically equivalent to each other and to the original ASN.1 module.
傍らに: これは、異なった翻訳者がいずれにおいても、ASN.1モジュールを考えて、シンタクス上異なったASN.Xモジュールを作成するかもしれないことを意味しますが、それらのASN.Xモジュールは互いと、そして、オリジナルのASN.1モジュールに意味的に同等になるでしょう。
TARGET-NAMESPACE and SCHEMA-IDENTITY encoding instructions are RECOMMENDED for every ASN.1 module.
指示をコード化するTARGET-NAMESPACEとSCHEMA-IDENTITYはあらゆるASN.1モジュールのためのRECOMMENDEDです。
5.2. Importing Namespaces
5.2. 名前空間をインポートします。
An Assignment is referenced from an ASN.X module if its associated expanded name appears as a qualified name in the [normalized value] of an attribute item with the [local name] "type", "value", "class", "object", or "objectSet". These references are categorized as direct references. An Assignment or top-level component is also referenced from an ASN.X module if its expanded name appears as a qualified name in the [normalized value] of an attribute item with the [local name] "ref". This reference is only categorized as direct if the ref attribute is not the result of the translation of a DefinedType subject to a TYPE-REF encoding instruction or a NamedType subject to an ATTRIBUTE-REF or ELEMENT-REF encoding instruction.
AssignmentはASN.Xモジュール関連拡張名前が適切な名前として[地方名]がある属性項目の[正常にされた値]が、「値、クラス」と「タイプする」という「オブジェクト」に現れるか、そして、"objectSet"から参照をつけられます。 これらの参照は直接的な言及として分類されます。 また、拡張名前が適切な名前として中に現れるならAssignmentかトップレベルコンポーネントがASN.Xモジュールから参照をつけられる、[値を正常にします] [地方名]「審判」がある属性項目について。 この参照は審判属性がTYPE-REFを条件としたDefinedTypeに関する翻訳が指示をコード化するATTRIBUTE-REFかELEMENT-REFを条件として指示かNamedTypeをコード化するという結果でない場合にだけ同じくらいダイレクトに分類されます。
Aside: In the case of an indirect reference, an attribute item with the [local name] "embedded" and [normalized value] "true" or "1" will also be present.
傍らに: 間接的な言及に関するケース、[地方名]が「埋め込まれてい」て、[正常にされた値]が「本当」の属性項目または「また、1インチも存在するところ」で。
Legg Experimental [Page 12] RFC 4912 Abstract Syntax Notation X July 2007
[12ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Definition (external module): An external module is any module other than the module being translated and the AdditionalBasicDefinitions module [RXER].
定義(外部のモジュール): 外部のモジュールはAdditionalBasicDefinitionsモジュール[RXER]以外のあらゆるモジュールです。
Aside: The AdditionalBasicDefinitions module is always assumed to be imported, as are all the built-in types and object classes of ASN.1.
傍らに: いつもASN.1のすべての内蔵型とオブジェクトのクラスのようにAdditionalBasicDefinitionsモジュールがインポートされると思われます。
An element item with the [local name] "import" SHALL be added to the [children] of the <asnx:module> element item for each external module containing Assignments or top-level components that are directly referenced from the ASN.X module. An <import> element item MAY be added to the [children] of the <asnx:module> element item for any other external module.
[地方名]「輸入」SHALLが<asnxの[子供]に加えられている要素の品目: それぞれの外部のモジュールのためのAssignmentsを含むモジュール>要素の品目かASN.Xモジュールから直接参照をつけられるトップレベルコンポーネント。 <輸入>要素の品目は<asnxの[子供]に加えられるかもしれません: いかなる他の外部のモジュールのためのモジュール>要素の品目。
An attribute item with the [local name] "name" SHOULD be added to the [attributes] of the <import> element item. The [normalized value] of this attribute item is the modulereference in the ModuleIdentifier in the ModuleDefinition of the external module.
SHOULDという[地方名]「名前」が<輸入>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は外部のモジュールのModuleDefinitionのModuleIdentifierのmodulereferenceです。
If the DefinitiveIdentifier in the ModuleIdentifier in the ModuleDefinition of the external module is not empty, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <import> element item. The [normalized value] of this attribute item is the RXER character data translation of the DefinitiveIdentifier.
外部のモジュールのModuleDefinitionのModuleIdentifierのDefinitiveIdentifierが空でないなら、そして、[地方名]「識別子」SHALLが<輸入>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]はDefinitiveIdentifierに関するRXERキャラクタデータ変換です。
If the external module has a schema identity URI, then an attribute item with the [local name] "schemaIdentity" SHALL be added to the [attributes] of the <import> element item. The [normalized value] of this attribute item is the schema identity URI of the external module.
外部のモジュールに図式アイデンティティURIがあるなら、そして、[地方名]"schemaIdentity"SHALLが<輸入>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]は外部のモジュールの図式アイデンティティURIです。
If the target namespace of the external module is not absent, then an attribute item with the [local name] "namespace" SHALL be added to the [attributes] of the <import> element item. The [normalized value] of this attribute item is the target namespace of the external module.
外部のモジュールの目標名前空間が欠けないなら、そして、[地方名]「名前空間」SHALLが<輸入>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]は外部のモジュールの目標名前空間です。
An attribute item with the [local name] "schemaLocation" MAY be added to the [attributes] of the <import> element item. The [normalized value] of this attribute item is a URI [URI] indicating the physical location of the ASN.X translation of the external module.
[地方名]"schemaLocation"がある属性項目は<輸入>要素の品目の[属性]に加えられるかもしれません。 この属性項目の[正常にされた値]は外部のモジュールに関するASN.X翻訳の物理的な位置を示すURI[URI]です。
The <import> element items MUST follow an <annotation> element item (if present) and MUST precede any other element items in the [children] of the <asnx:module> element item.
<輸入>要素の品目は、<注釈>要素の品目(存在しているなら)に従わなければならなくて、<asnxの[子供]でいかなる他の要素の品目にも先行しなければなりません: モジュール>要素の品目。
Legg Experimental [Page 13] RFC 4912 Abstract Syntax Notation X July 2007
[13ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Note that because of the way parameterized references are expanded in ASN.X (see Section 13), the modules in the Imports in the ModuleBody in the ModuleDefinition may not correspond exactly to the <import> element items.
道は参照をparameterizedしました。拡張コネはASN.Xです。それに注意する、(セクション13)を見てください、そして、ModuleDefinitionのModuleBodyのImportsのモジュールはちょうど<輸入>要素の品目と食い違ってもよいです。
5.3. TypeAssignment Translation
5.3. TypeAssignment翻訳
The translation of a TypeAssignment is an element item with the [local name] "namedType". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedType> element item. The [normalized value] of this attribute item is the typereference on the left-hand side of the assignment.
TypeAssignmentに関する翻訳は[地方名]"namedType"がある要素の品目です。 SHALLという[地方名]「名前」が<namedType>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は課題の左側の上のtypereferenceです。
An element item with the [local name] "annotation" MAY be added to the [children] of the <namedType> element item. The translation of the Type on the right-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedType> element item.
[地方名]「注釈」がある要素の品目は<namedType>要素の品目の[子供]に加えられるかもしれません。 右手におけるTypeに関する翻訳は課題SHALLに面があります。<namedType>要素の品目の[子供]か[属性]に加えられます。
Example
例
MyType ::= INTEGER
MyType:、:= 整数
<namedType name="MyType" type="asnx:INTEGER"/>
<namedType名前="MyType"は=「asnx: 整数」/>をタイプします。
5.4. ValueAssignment and XMLValueAssignment Translation
5.4. ValueAssignmentとXMLValueAssignment翻訳
The translation of a ValueAssignment is an element item with the [local name] "namedValue". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedValue> element item. The [normalized value] of this attribute item is the valuereference on the left-hand side of the assignment.
ValueAssignmentに関する翻訳は[地方名]"namedValue"がある要素の品目です。 SHALLという[地方名]「名前」が<namedValue>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は課題の左側の上のvaluereferenceです。
An element item with the [local name] "annotation" MAY be added to the [children] of the <namedValue> element item. The translation of the Type on the left-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedValue> element item. The translation of the Value on the right-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedValue> element item.
[地方名]「注釈」がある要素の品目は<namedValue>要素の品目の[子供]に加えられるかもしれません。 左手におけるTypeに関する翻訳は課題SHALLに面があります。<namedValue>要素の品目の[子供]か[属性]に加えられます。 右手におけるValueに関する翻訳は課題SHALLに面があります。<namedValue>要素の品目の[子供]か[属性]に加えられます。
Example
例
myValue INTEGER ::= 10
myValue整数:、:= 10
<namedValue name="myValue" type="asnx:INTEGER" literalValue="10"/>
<namedValue名前="myValue"は=「asnx: 整数」literalValue=「10インチ/>」をタイプします。
Legg Experimental [Page 14] RFC 4912 Abstract Syntax Notation X July 2007
[14ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
An XMLValueAssignment is converted into the equivalent ValueAssignment and then translated as a ValueAssignment. Note that the ASN.X representation for a Value is unrelated to XMLTypedValue.
XMLValueAssignmentは同等なValueAssignmentに変換されて、次に、ValueAssignmentとして翻訳されます。 ValueのASN.X表現がXMLTypedValueに関係ないことに注意してください。
5.5. ValueSetTypeAssignment Translation
5.5. ValueSetTypeAssignment翻訳
The translation of a ValueSetTypeAssignment is an element item with the [local name] "namedValueSet". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedValueSet> element item. The [normalized value] of this attribute item is the typereference on the left-hand side of the assignment.
ValueSetTypeAssignmentに関する翻訳は[地方名]"namedValueSet"がある要素の品目です。 SHALLという[地方名]「名前」が<namedValueSet>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は課題の左側の上のtypereferenceです。
An element item with the [local name] "annotation" MAY be added to the [children] of the <namedValueSet> element item. The translation of the Type on the left-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedValueSet> element item. The translation of the ValueSet on the right-hand side of the assignment SHALL be added to the [children] of the <namedValueSet> element item.
[地方名]「注釈」がある要素の品目は<namedValueSet>要素の品目の[子供]に加えられるかもしれません。 左手におけるTypeに関する翻訳は課題SHALLに面があります。<namedValueSet>要素の品目の[子供]か[属性]に加えられます。 右手におけるValueSetに関する翻訳は課題SHALLに面があります。<namedValueSet>要素の品目の[子供]に加えられます。
Example
例
MyValueSet INTEGER ::= { 10 }
MyValueSet整数:、:= { 10 }
<namedValueSet name="MyValueSet" type="asnx:INTEGER"> <valueSet> <literalValue>10</literalValue> </valueSet> </namedValueSet>
<namedValueSet名前="MyValueSet"が=をタイプする、「asnx: 整数「><valueSet><literalValue>10</literalValue></valueSet></namedValueSet>」
5.6. ObjectClassAssignment Translation
5.6. ObjectClassAssignment翻訳
The translation of an ObjectClassAssignment is an element item with the [local name] "namedClass". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedClass> element item. The [normalized value] of this attribute item is the objectclassreference on the left-hand side of the assignment.
ObjectClassAssignmentに関する翻訳は[地方名]「namedClass」がある要素の品目です。 SHALLという[地方名]「名前」が<namedClass>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は課題の左側の上のobjectclassreferenceです。
An element item with the [local name] "annotation" MAY be added to the [children] of the <namedClass> element item. The translation of the ObjectClass on the right-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedClass> element item.
[地方名]「注釈」がある要素の品目は<namedClass>要素の品目の[子供]に加えられるかもしれません。 右手におけるObjectClassに関する翻訳は課題SHALLに面があります。<namedClass>要素の品目の[子供]か[属性]に加えられます。
Legg Experimental [Page 15] RFC 4912 Abstract Syntax Notation X July 2007
[15ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Example
例
MY-CLASS ::= TYPE-IDENTIFIER
私、-属してください、:、:= タイプ識別子
<namedClass name="MY-CLASS" class="asnx:TYPE-IDENTIFIER"/>
<namedClassが=を命名する、「私、-属してください、」 クラス=「asnx: タイプ識別子」/>。
5.7. ObjectAssignment Translation
5.7. ObjectAssignment翻訳
The translation of an ObjectAssignment is an element item with the [local name] "namedObject". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedObject> element item. The [normalized value] of this attribute item is the objectreference on the left-hand side of the assignment.
ObjectAssignmentに関する翻訳は[地方名]"namedObject"がある要素の品目です。 SHALLという[地方名]「名前」が<namedObject>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は課題の左側の上のobjectreferenceです。
An element item with the [local name] "annotation" MAY be added to the [children] of the <namedObject> element item. The translation of the DefinedObjectClass on the left-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedObject> element item. The translation of the Object on the right-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedObject> element item.
[地方名]「注釈」がある要素の品目は<namedObject>要素の品目の[子供]に加えられるかもしれません。 左手におけるDefinedObjectClassに関する翻訳は課題SHALLに面があります。<namedObject>要素の品目の[子供]か[属性]に加えられます。 右手におけるObjectに関する翻訳は課題SHALLに面があります。<namedObject>要素の品目の[子供]か[属性]に加えられます。
Example
例
myObject TYPE-IDENTIFIER ::= { NULL IDENTIFIED BY { 1 3 14 3 2 26 } }
myObjectタイプ識別子:、:= ヌルが特定した、1 3、14、3 2、26
<namedObject name="myObject" class="asnx:TYPE-IDENTIFIER"> <object> <field name="id" literalValue="1.3.14.3.2.26"/> <field name="Type" type="asnx:NULL"/> </object> </namedObject>
「<namedObject名前="myObject"クラス=「asnx: TYPE-IDENTIFIER「><オブジェクト><フィールド名=」イド」literalValueは「0.26インチ/>の1.3.14.3.2<フィールド名=」タイプと等しく」タイプ=「asnx: NULL」/></オブジェクト></namedObject>。
5.8. ObjectSetAssignment Translation
5.8. ObjectSetAssignment翻訳
The translation of an ObjectSetAssignment is an element item with the [local name] "namedObjectSet". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedObjectSet> element item. The [normalized value] of this attribute item is the objectsetreference on the left-hand side of the assignment.
ObjectSetAssignmentに関する翻訳は[地方名]"namedObjectSet"がある要素の品目です。 SHALLという[地方名]「名前」が<namedObjectSet>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は課題の左側の上のobjectsetreferenceです。
An element item with the [local name] "annotation" MAY be added to the [children] of the <namedObjectSet> element item. The translation of the DefinedObjectClass on the left-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedObjectSet> element item. The translation of the ObjectSet on
[地方名]「注釈」がある要素の品目は<namedObjectSet>要素の品目の[子供]に加えられるかもしれません。 左手におけるDefinedObjectClassに関する翻訳は課題SHALLに面があります。<namedObjectSet>要素の品目の[子供]か[属性]に加えられます。 ObjectSetに関する翻訳、オン
Legg Experimental [Page 16] RFC 4912 Abstract Syntax Notation X July 2007
[16ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
the right-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedObjectSet> element item.
右手は課題SHALLに面があります。<namedObjectSet>要素の品目の[子供]か[属性]に加えられます。
Example
例
MyObjectSet TYPE-IDENTIFIER ::= { myObject }
MyObjectSetタイプ識別子:、:= myObject
<namedObjectSet name="MyObjectSet" class="asnx:TYPE-IDENTIFIER"> <objectSet> <object ref="tns:myObject"/> </objectSet> </namedObjectSet>
<namedObjectSetが"MyObjectSet"のクラス=と=を命名する、「asnx: 「><objectSet><オブジェクト審判=「tns: myObject」/></objectSet></namedObjectSet>」というタイプ識別子
5.9. ParameterizedAssignment Translation
5.9. ParameterizedAssignment翻訳
The translation of an ASN.1 specification into ASN.X replaces any reference to a parameterized definition [X.683] with the definition expanded in-line. Consequently, there is no direct translation for a ParameterizedAssignment, though its definition may come into play in the translation of references to the parameterized definition (see Section 13).
ASN.XへのASN.1仕様に関する翻訳はparameterized定義[X.683]のどんな参照にも定義の拡張インラインに取って代わります。 その結果、ParameterizedAssignmentのためのどんなダイレクト翻訳もありません、定義はparameterized定義の参照に関する翻訳でプレーに入るかもしれませんが(セクション13を見てください)。
6. Translation of Types
6. タイプに関する翻訳
The rules for translating the different varieties of Type are detailed in this section.
Typeの異なったバラエティーを翻訳するための規則はこのセクションで詳細です。
Note that the notation of ASN.1 is ambiguous where a Type is both prefixed [X.680-1] (e.g., tagged) and constrained. For example, the notation "[0] INTEGER (0..10)" could be interpreted as either a tagged ConstrainedType or a constrained TaggedType. For the purposes of the translation into ASN.X, the constraint is assumed to have higher precedence than the prefix, so the above notation would be taken to be a tagged ConstrainedType.
ASN.1の記法がTypeがどこで前に置かれていて[X.680-1](例えば、タグ付けをされます)、抑制されるかがあいまいであることに注意してください。 例えば、タグ付けをされたConstrainedTypeか強制的なTaggedTypeのどちらかとして記法「[0]整数(0 .10)」を解釈できました。 ASN.Xへの翻訳の目的のために、規制には接頭語より高い先行があると思われて、タグ付けをされたConstrainedTypeになるように上の記法を取るでしょう。
6.1. Identifier Replacement
6.1. 識別子交換
Various RXER encoding instructions can be used to override an identifier in an ASN.1 specification with an NCName [XMLNS10]. The NCName is given preeminence in the ASN.X representation, and the identifier is not explicitly given if it is algorithmically related to the NCName. The cases where an NCName overrides an identifier are covered individually in other parts of this specification and make use of the following definition.
NCName[XMLNS10]と共にASN.1仕様による識別子に優越するのに様々なRXERコード化指示を使用できます。 ASN.X表現における抜群をNCNameに与えます、そして、algorithmicallyにNCNameにそれに関連するなら、明らかに識別子は与えません。 NCNameが識別子に優越するケースは、この仕様の他の部分で個別にカバーされていて、以下の定義を利用します。
Definition (reduction): The reduction of an NCName is the string of characters resulting from the following operations performed in order on the NCName:
定義(減少): NCNameの減少はNCNameで整然とした状態で実行された以下の操作から生じるキャラクタのストリングです:
Legg Experimental [Page 17] RFC 4912 Abstract Syntax Notation X July 2007
[17ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
(1) replace each full stop ('.', U+002E) and low line ('_', U+005F) character with a hyphen character ('-', U+002D),
(1) 各終止符を取り替えてください、('、'、U+002のE)と安値はハイフンキャラクタ('--'、U+002D)でキャラクタを裏打ちします('_'、U+005F)。
(2) remove every character except Latin letters (U+0041-U+005A, U+0061-U+007A), decimal digits (U+0030-U+0039), and hyphens (U+002D),
(2) ラテン語の手紙(U+0041U+005A、U+0061U+007A)、10進数字(U+0030U+0039)、およびハイフン(U+002D)以外のすべてのキャラクタを外してください。
(3) remove leading and trailing hyphen characters,
(3) 主で引きずっているハイフンキャラクタを外してください。
(4) replace sequences of two or more hyphen characters with a single hyphen, and
そして(4) 2つ以上のハイフンキャラクタの系列をただ一つのハイフンに取り替えてください。
(5) convert the first character to lowercase if it is an uppercase letter.
(5) それが大文字であるなら小文字で印刷する最初のキャラクタを変換してください。
Aside: If the reduction of an NCName is not the same as the identifier that the NCName replaces, then the identifier will be explicitly given in the translation into ASN.X.
傍らに: NCNameの減少がNCNameが置き換える識別子と同じでないなら、ASN.Xへの翻訳で明らかに識別子を与えるでしょう。
6.2. DefinedType Translation
6.2. DefinedType翻訳
If a Type is a DefinedType in a ReferencedType, then the translation of the Type is the translation of the DefinedType.
TypeがReferencedTypeのDefinedTypeであるなら、Typeに関する翻訳はDefinedTypeに関する翻訳です。
If a DefinedType is not a ParameterizedType, ParameterizedValueSetType, or DummyReference and is not subject to a TYPE-REF or REF-AS-TYPE encoding instruction, then the translation of the DefinedType is either the attribute form translation of a type reference, or the element form translation of a type reference.
DefinedTypeはParameterizedTypeでない、ParameterizedValueSetTypeでない、またはDummyReferenceでなく、指示をコード化するTYPE-REFかREF-AS-TYPEを受けることがないなら、DefinedTypeに関する翻訳は、タイプ参照に関する属性フォーム翻訳かタイプ参照に関する要素フォーム翻訳のどちらかです。
The attribute form translation of a type reference is an attribute item with the [local name] "type". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced type definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
タイプ参照に関する属性フォーム翻訳は[地方名]「タイプ」がある属性項目です。 この属性項目の[正常にされた値]は被参照型定義の拡張名前のための適切な名前(セクション5.1を見る)です。 属性は翻訳SHALL NOTを形成します。この拡張名前が<輸入>要素の品目によって参照をつけられる現在のモジュールとモジュールに関して異ならないなら(セクション5.1を見てください)、使用されてください。
The element form translation of a type reference is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced type definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the
タイプ参照に関する要素フォーム翻訳は[地方名]「タイプ」がある要素の品目です。 [地方名]「注釈」がある要素の品目は<タイプ>要素の品目の[子供]に加えられるかもしれません。 [地方名]「審判」SHALLが<タイプ>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は被参照型定義の拡張名前のための適切な名前です。 これが広がったなら、名前は<輸入>要素の品目によって参照をつけられる現在のモジュールとモジュールに関して異なっていなくて、その時は[地方名]「文脈」SHALLが加えられている属性項目です。
Legg Experimental [Page 18] RFC 4912 Abstract Syntax Notation X July 2007
[18ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
[attributes] of the <type> element item; otherwise, if the module containing the referenced type definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the type definition referenced by the DefinedType.
<の[属性]は>要素の品目をタイプします。 さもなければ、被参照型定義を含むモジュールが図式アイデンティティURIを持っているなら、[地方名]「文脈」がある属性項目は<タイプ>要素の品目の[属性]に加えられるかもしれません。 この属性項目の[正常にされた値]はDefinedTypeによって参照をつけられた型定義を含むモジュールの図式アイデンティティURIです。
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
傍らに: 参照名が異ならないなら、参照をつけられた定義を含むモジュールは図式アイデンティティURIを持たなければなりません(セクション5.1を見てください)。
An attribute item with the [local name] "embedded" and [normalized value] "false" or "0" MAY be added to the [attributes] of the <type> element item.
[地方名]が「埋め込まれてい」て、[正常にされた値]が「誤っている」属性項目か「0インチは<タイプ>要素の品目の[属性]に加えられるかもしれません」。
The translation of the DefinedType is the same whether the type definition is referenced by a typereference or an ExternalTypeReference.
型定義がtypereferenceかExternalTypeReferenceによって参照をつけられるか否かに関係なく、DefinedTypeの翻訳は同じです。
If a DefinedType is subject to a TYPE-REF encoding instruction, then the translation of the DefinedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is the RXER character data translation of the QNameValue in the TYPE-REF encoding instruction. If a ContextParameter is present in the RefParameters in the TYPE-REF encoding instruction, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is the string value of the AnyURIValue in the ContextParameter. An attribute item with the [local name] "embedded" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <type> element item.
DefinedTypeは指示をコード化するTYPE-REFを受けることがあるなら、DefinedTypeに関する翻訳が[地方名]「タイプ」がある要素の品目です。 [地方名]「注釈」がある要素の品目は<タイプ>要素の品目の[子供]に加えられるかもしれません。 [地方名]「審判」SHALLが<タイプ>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は指示をコード化するTYPE-REFのQNameValueに関するRXERキャラクタデータ変換です。 ContextParameterが指示をコード化するTYPE-REFのRefParametersに存在しているなら、そして、[地方名]「文脈」SHALLが<タイプ>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]はContextParameterのAnyURIValueのストリング値です。 「本当に」か「1インチは<タイプ>要素の品目の[属性]に加えられるものとする」という「埋め込[ローカル名義の]」と[正常にされた値]がある属性項目。
Aside: The embedded attribute item indicates whether a type is directly referenced as a DefinedType or indirectly referenced through a TYPE-REF encoding instruction. An ASN.1 type can be referenced either way. Type definitions in other schema languages cannot be directly referenced.
傍らに: 埋め込まれた属性項目は、タイプがDefinedTypeとして直接参照をつけられるか、または指示をコード化するTYPE-REFを通して間接的に参照をつけられるかを示します。 いずれにせよASN.1タイプに参照をつけることができます。 直接他のスキーマ言語への型定義に参照をつけることができません。
If a DefinedType is subject to a REF-AS-TYPE encoding instruction, then the translation of the DefinedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An attribute item with the [local name] "elementType" SHALL be added to the [attributes] of the <type> element item. The
DefinedTypeは指示をコード化するREF-AS-TYPEを受けることがあるなら、DefinedTypeに関する翻訳が[地方名]「タイプ」がある要素の品目です。 [地方名]「注釈」がある要素の品目は<タイプ>要素の品目の[子供]に加えられるかもしれません。 [地方名]"elementType"SHALLが<タイプ>要素の品目の[属性]に加えられている属性項目。 The
Legg Experimental [Page 19] RFC 4912 Abstract Syntax Notation X July 2007
[19ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
[normalized value] of this attribute item is the RXER character data translation of the NameValue in the REF-AS-TYPE encoding instruction. If a ContextParameter is present in the RefParameters in the REF-AS-TYPE encoding instruction, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is the string value of the AnyURIValue in the ContextParameter.
この属性項目の[正常にされた値]は指示をコード化するREF-AS-TYPEのNameValueに関するRXERキャラクタデータ変換です。 ContextParameterが指示をコード化するREF-AS-TYPEのRefParametersに存在しているなら、そして、[地方名]「文脈」SHALLが<タイプ>要素の品目の[属性]に加えられている状態で、属性項目です。 この属性項目の[正常にされた値]はContextParameterのAnyURIValueのストリング値です。
Example
例
CHOICE { one Foo, two [RXER:TYPE-REF { namespace-name "http://www.example.com/PO1", local-name "PurchaseOrderType" }] Markup, three [RXER:REF-AS-TYPE "product" CONTEXT "http://www.example.com/inventory"] Markup }
選択1Foo、2[RXER: TYPE-REFの名前空間名の" http://www.example.com/PO1 "の、そして、ローカルの名前の"PurchaseOrderType"]マークアップ、3[RXER: タイプとしての審判「製品」文脈" http://www.example.com/inventory "]マークアップ
<type> <choice> <element name="one" type="tns:Foo"/> <element name="two" xmlns:po="http://www.example.com/PO1"> <type ref="po:PurchaseOrderType" embedded="true"/> </element> <element name="three"> <type elementType="product" context="http://www.example.com/inventory"/> </element> </choice> </type>
<type> <choice> <element name="one" type="tns:Foo"/> <element name="two" xmlns:po="http://www.example.com/PO1"> <type ref="po:PurchaseOrderType" embedded="true"/> </element> <element name="three"> <type elementType="product" context="http://www.example.com/inventory"/> </element> </choice> </type>
If a DefinedType is a DummyReference, ParameterizedType, or ParameterizedValueSetType, then the translation of the Type is the translation of that DummyReference, ParameterizedType, or ParameterizedValueSetType (see Section 13).
If a DefinedType is a DummyReference, ParameterizedType, or ParameterizedValueSetType, then the translation of the Type is the translation of that DummyReference, ParameterizedType, or ParameterizedValueSetType (see Section 13).
6.3. Translation of Built-in Types
6.3. Translation of Built-in Types
If a Type is a BuiltinType or ReferencedType that is one of the productions in Table 1 in Section 5 of the specification for RXER [RXER], then the translation of the Type is either the attribute form or element form translation of that type.
If a Type is a BuiltinType or ReferencedType that is one of the productions in Table 1 in Section 5 of the specification for RXER [RXER], then the translation of the Type is either the attribute form or element form translation of that type.
Legg Experimental [Page 20] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 20] RFC 4912 Abstract Syntax Notation X July 2007
The attribute form translation of a Type that is a BuiltinType or ReferencedType that is one of the productions in Table 1 is an attribute item with the [local name] "type". The [normalized value] of this attribute item is a qualified name for the expanded name of the built-in type (see Section 5 of the specification for RXER [RXER]).
The attribute form translation of a Type that is a BuiltinType or ReferencedType that is one of the productions in Table 1 is an attribute item with the [local name] "type". The [normalized value] of this attribute item is a qualified name for the expanded name of the built-in type (see Section 5 of the specification for RXER [RXER]).
The element form translation of a Type that is a BuiltinType or ReferencedType that is one of the productions in Table 1 is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the built-in type.
The element form translation of a Type that is a BuiltinType or ReferencedType that is one of the productions in Table 1 is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the built-in type.
Example
Example
BOOLEAN
BOOLEAN
<type ref="asnx:BOOLEAN"/>
<type ref="asnx:BOOLEAN"/>
Usually the translator is free to choose either the attribute form or element form translation for a Type; however, in some contexts attribute forms for a Type are explicitly disallowed.
Usually the translator is free to choose either the attribute form or element form translation for a Type; however, in some contexts attribute forms for a Type are explicitly disallowed.
6.4. BitStringType Translation
6.4. BitStringType Translation
The translation of a BitStringType with a NamedBitList is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "namedBitList" SHALL be appended to the [children] of the <type> element item. The translation of each NamedBit in the NamedBitList SHALL be appended to the [children] of the <namedBitList> element item.
The translation of a BitStringType with a NamedBitList is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "namedBitList" SHALL be appended to the [children] of the <type> element item. The translation of each NamedBit in the NamedBitList SHALL be appended to the [children] of the <namedBitList> element item.
The translation of a NamedBit is an element item with the [local name] "namedBit". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedBit> element item. If the BitStringType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier in the NamedBit; otherwise, it is the identifier in the NamedBit. If the BitStringType is subject to a VALUES encoding instruction and the reduction of the replacement name (see Section 6.1) is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <namedBit>
The translation of a NamedBit is an element item with the [local name] "namedBit". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedBit> element item. If the BitStringType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier in the NamedBit; otherwise, it is the identifier in the NamedBit. If the BitStringType is subject to a VALUES encoding instruction and the reduction of the replacement name (see Section 6.1) is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <namedBit>
Legg Experimental [Page 21] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 21] RFC 4912 Abstract Syntax Notation X July 2007
element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <namedBit> element item. The [normalized value] of this attribute item is the identifier in the NamedBit. An attribute item with the [local name] "bit" SHALL be added to the [attributes] of the <namedBit> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the number or DefinedValue in the NamedBit.
element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <namedBit> element item. The [normalized value] of this attribute item is the identifier in the NamedBit. An attribute item with the [local name] "bit" SHALL be added to the [attributes] of the <namedBit> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the number or DefinedValue in the NamedBit.
Examples
Examples
BIT STRING { zero(0), one(1), two(2) }
BIT STRING { zero(0), one(1), two(2) }
<type> <namedBitList> <namedBit name="zero" bit="0"/> <namedBit name="one" bit="1"/> <namedBit name="two" bit="2"/> </namedBitList> </type>
<type> <namedBitList> <namedBit name="zero" bit="0"/> <namedBit name="one" bit="1"/> <namedBit name="two" bit="2"/> </namedBitList> </type>
[RXER:VALUES ALL CAPITALIZED, wednesday AS "Midweek"] BIT STRING { monday(0), tuesday(1), wednesday(2), thursday(3), friday(4) }
[RXER:VALUES ALL CAPITALIZED, wednesday AS "Midweek"] BIT STRING { monday(0), tuesday(1), wednesday(2), thursday(3), friday(4) }
<type> <namedBitList> <namedBit name="Monday" bit="0"/> <namedBit name="Tuesday" bit="1"/> <namedBit name="Midweek" identifier="wednesday" bit="2"/> <namedBit name="Thursday" bit="3"/> <namedBit name="Friday" bit="4"/> </namedBitList> </type>
<type> <namedBitList> <namedBit name="Monday" bit="0"/> <namedBit name="Tuesday" bit="1"/> <namedBit name="Midweek" identifier="wednesday" bit="2"/> <namedBit name="Thursday" bit="3"/> <namedBit name="Friday" bit="4"/> </namedBitList> </type>
6.5. IntegerType Translation
6.5. IntegerType Translation
The translation of an IntegerType with a NamedNumberList is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "namedNumberList" SHALL be appended to the [children] of the <type> element item. The translation of each NamedNumber in the NamedNumberList SHALL be appended to the [children] of the <namedNumberList> element item.
The translation of an IntegerType with a NamedNumberList is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "namedNumberList" SHALL be appended to the [children] of the <type> element item. The translation of each NamedNumber in the NamedNumberList SHALL be appended to the [children] of the <namedNumberList> element item.
Legg Experimental [Page 22] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 22] RFC 4912 Abstract Syntax Notation X July 2007
The translation of a NamedNumber is an element item with the [local name] "namedNumber". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedNumber> element item. If the IntegerType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier in the NamedNumber; otherwise, it is the identifier in the NamedNumber. If the IntegerType is subject to a VALUES encoding instruction and the reduction of the replacement name (see Section 6.1) is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <namedNumber> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <namedNumber> element item. The [normalized value] of this attribute item is the identifier in the NamedNumber. An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <namedNumber> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the SignedNumber or DefinedValue in the NamedNumber.
The translation of a NamedNumber is an element item with the [local name] "namedNumber". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namedNumber> element item. If the IntegerType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier in the NamedNumber; otherwise, it is the identifier in the NamedNumber. If the IntegerType is subject to a VALUES encoding instruction and the reduction of the replacement name (see Section 6.1) is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <namedNumber> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <namedNumber> element item. The [normalized value] of this attribute item is the identifier in the NamedNumber. An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <namedNumber> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the SignedNumber or DefinedValue in the NamedNumber.
Examples
Examples
INTEGER { nothing(0), a-little(1), a-lot(100) }
INTEGER { nothing(0), a-little(1), a-lot(100) }
<type> <namedNumberList> <namedNumber name="nothing" number="0"/> <namedNumber name="a-little" number="1"/> <namedNumber name="a-lot" number="100"/> </namedNumberList> </type>
<type> <namedNumberList> <namedNumber name="nothing" number="0"/> <namedNumber name="a-little" number="1"/> <namedNumber name="a-lot" number="100"/> </namedNumberList> </type>
[RXER:VALUES ALL CAPITALIZED, very-high AS "DANGEROUS"] INTEGER { low(25), medium(50), high(75), very-high(100) }
[RXER:VALUES ALL CAPITALIZED, very-high AS "DANGEROUS"] INTEGER { low(25), medium(50), high(75), very-high(100) }
<type> <namedNumberList> <namedNumber name="Low" number="25"/> <namedNumber name="Medium" number="50"/> <namedNumber name="High" number="75"/> <namedNumber name="DANGEROUS" identifier="very-high" number="100"/> </namedNumberList> </type>
<type> <namedNumberList> <namedNumber name="Low" number="25"/> <namedNumber name="Medium" number="50"/> <namedNumber name="High" number="75"/> <namedNumber name="DANGEROUS" identifier="very-high" number="100"/> </namedNumberList> </type>
Legg Experimental [Page 23] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 23] RFC 4912 Abstract Syntax Notation X July 2007
6.6. EnumeratedType Translation
6.6. EnumeratedType Translation
The translation of an EnumeratedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "enumerated" SHALL be appended to the [children] of the <type> element item. The translation of each EnumerationItem nested in the RootEnumeration in the Enumerations instance in the EnumeratedType SHALL be appended to the [children] of the <enumerated> element item.
The translation of an EnumeratedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "enumerated" SHALL be appended to the [children] of the <type> element item. The translation of each EnumerationItem nested in the RootEnumeration in the Enumerations instance in the EnumeratedType SHALL be appended to the [children] of the <enumerated> element item.
If an ellipsis ("...") is present in the Enumerations instance, then an element item with the [local name] "extension" SHALL be appended to the [children] of the <enumerated> element item and the translation of the ExceptionSpec (possibly empty) SHALL be added to the [children] of the <extension> element item. If an AdditionalEnumeration is present in the Enumerations instance, then the translation of each EnumerationItem nested in the AdditionalEnumeration SHALL be appended to the [children] of the <extension> element item.
If an ellipsis ("...") is present in the Enumerations instance, then an element item with the [local name] "extension" SHALL be appended to the [children] of the <enumerated> element item and the translation of the ExceptionSpec (possibly empty) SHALL be added to the [children] of the <extension> element item. If an AdditionalEnumeration is present in the Enumerations instance, then the translation of each EnumerationItem nested in the AdditionalEnumeration SHALL be appended to the [children] of the <extension> element item.
The translation of an EnumerationItem is an element item with the [local name] "enumeration".
The translation of an EnumerationItem is an element item with the [local name] "enumeration".
If the EnumerationItem is of the "identifier" form, then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <enumeration> element item. If the EnumeratedType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier; otherwise, it is the identifier. If the EnumeratedType is subject to a VALUES encoding instruction and the reduction of the replacement name (see Section 6.1) is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <enumeration> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <enumeration> element item. The [normalized value] of this attribute item is the identifier.
If the EnumerationItem is of the "identifier" form, then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <enumeration> element item. If the EnumeratedType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier; otherwise, it is the identifier. If the EnumeratedType is subject to a VALUES encoding instruction and the reduction of the replacement name (see Section 6.1) is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <enumeration> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <enumeration> element item. The [normalized value] of this attribute item is the identifier.
If the EnumerationItem is of the "NamedNumber" form, then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <enumeration> element item. If the EnumeratedType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier in the NamedNumber; otherwise, it is the identifier in the NamedNumber. If the EnumeratedType is subject to a VALUES encoding instruction and the reduction of the replacement name is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the
If the EnumerationItem is of the "NamedNumber" form, then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <enumeration> element item. If the EnumeratedType is subject to a VALUES encoding instruction, then the [normalized value] of this attribute item is the replacement name [RXEREI] for the identifier in the NamedNumber; otherwise, it is the identifier in the NamedNumber. If the EnumeratedType is subject to a VALUES encoding instruction and the reduction of the replacement name is not the same as the identifier, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the
Legg Experimental [Page 24] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 24] RFC 4912 Abstract Syntax Notation X July 2007
<enumeration> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <enumeration> element item. The [normalized value] of this attribute item is the identifier in the NamedNumber. An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <enumeration> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the SignedNumber or DefinedValue in the NamedNumber.
<enumeration> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the <enumeration> element item. The [normalized value] of this attribute item is the identifier in the NamedNumber. An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <enumeration> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the SignedNumber or DefinedValue in the NamedNumber.
Examples
Examples
ENUMERATED { red(0), green(1), ..., blue(2) }
ENUMERATED { red(0), green(1), ..., blue(2) }
<type> <enumerated> <enumeration name="red" number="0"/> <enumeration name="green" number="1"/> <extension> <enumeration name="blue" number="2"/> </extension> </enumerated> </type>
<type> <enumerated> <enumeration name="red" number="0"/> <enumeration name="green" number="1"/> <extension> <enumeration name="blue" number="2"/> </extension> </enumerated> </type>
[RXER:VALUES ALL CAPITALIZED, red AS "Crimson"] ENUMERATED { red, yellow, green, blue }
[RXER:VALUES ALL CAPITALIZED, red AS "Crimson"] ENUMERATED { red, yellow, green, blue }
<type> <enumerated> <enumeration name="Crimson" identifier="red"/> <enumeration name="Yellow"/> <enumeration name="Green"/> <enumeration name="Blue"/> </enumerated> </type>
<type> <enumerated> <enumeration name="Crimson" identifier="red"/> <enumeration name="Yellow"/> <enumeration name="Green"/> <enumeration name="Blue"/> </enumerated> </type>
6.7. PrefixedType Translation
6.7. PrefixedType Translation
The translation of a PrefixedType [X.680-1] that is a TaggedType is either the short form translation (Section 6.7.1) or long form translation (Section 6.7.2) of the TaggedType.
The translation of a PrefixedType [X.680-1] that is a TaggedType is either the short form translation (Section 6.7.1) or long form translation (Section 6.7.2) of the TaggedType.
Aside: The short form translation is provided because TaggedType notation is heavily used in existing ASN.1 specifications. The long form translation has the same structure as the translation of an EncodingPrefixedType and can be simplified where there is a series of nested PrefixedType instances.
Aside: The short form translation is provided because TaggedType notation is heavily used in existing ASN.1 specifications. The long form translation has the same structure as the translation of an EncodingPrefixedType and can be simplified where there is a series of nested PrefixedType instances.
Legg Experimental [Page 25] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 25] RFC 4912 Abstract Syntax Notation X July 2007
If a PrefixedType is an EncodingPrefixedType and the EncodingReference is RXER, or the EncodingReference is empty and the default encoding reference [X.680-1] for the module is RXER, then the translation of the PrefixedType is the translation of the Type in the EncodingPrefixedType.
If a PrefixedType is an EncodingPrefixedType and the EncodingReference is RXER, or the EncodingReference is empty and the default encoding reference [X.680-1] for the module is RXER, then the translation of the PrefixedType is the translation of the Type in the EncodingPrefixedType.
Aside: This is not suggesting that RXER encoding instructions are ignored. Encoding instructions for RXER are not explicitly represented in ASN.X, but rather affect how an ASN.1 module is translated into an ASN.X module (since the content of an ASN.X module is also the RXER encoding of an abstract value of the ModuleDefinition ASN.1 type in Appendix A). The individual effects of RXER encoding instructions on the translation are addressed in other parts of this specification. Encoding instructions for other encoding rules have explicit representations in ASN.X.
Aside: This is not suggesting that RXER encoding instructions are ignored. Encoding instructions for RXER are not explicitly represented in ASN.X, but rather affect how an ASN.1 module is translated into an ASN.X module (since the content of an ASN.X module is also the RXER encoding of an abstract value of the ModuleDefinition ASN.1 type in Appendix A). The individual effects of RXER encoding instructions on the translation are addressed in other parts of this specification. Encoding instructions for other encoding rules have explicit representations in ASN.X.
If a PrefixedType is an EncodingPrefixedType and the EncodingReference is not RXER, or the EncodingReference is empty and the default encoding reference for the module is not RXER, then the translation of the PrefixedType is an element item with the [local name] "prefixed". The translation of the EncodingPrefix in the EncodingPrefixedType SHALL be added to the [children] of the <prefixed> element item.
If a PrefixedType is an EncodingPrefixedType and the EncodingReference is not RXER, or the EncodingReference is empty and the default encoding reference for the module is not RXER, then the translation of the PrefixedType is an element item with the [local name] "prefixed". The translation of the EncodingPrefix in the EncodingPrefixedType SHALL be added to the [children] of the <prefixed> element item.
If the EncodingReference of an EncodingPrefix is not empty, then the translation of the EncodingPrefix is an element item with the encodingreference in the EncodingReference as the [local name]. The translation of the EncodingInstruction in the EncodingPrefix SHALL be added to the [children] of this element item.
If the EncodingReference of an EncodingPrefix is not empty, then the translation of the EncodingPrefix is an element item with the encodingreference in the EncodingReference as the [local name]. The translation of the EncodingInstruction in the EncodingPrefix SHALL be added to the [children] of this element item.
If the EncodingReference of an EncodingPrefix is empty, then the translation of the EncodingPrefix is an element item with the default encoding reference for the module as the [local name]. The translation of the EncodingInstruction in the EncodingPrefix SHALL be added to the [children] of this element item.
If the EncodingReference of an EncodingPrefix is empty, then the translation of the EncodingPrefix is an element item with the default encoding reference for the module as the [local name]. The translation of the EncodingInstruction in the EncodingPrefix SHALL be added to the [children] of this element item.
The EncodingInstruction notation is different for each set of encoding instructions, and their translations into ASN.X are specified in separate documents [GSEREIT][XEREIT]. At the time of writing, only three sets of encoding instructions have been defined (for RXER [RXEREI], GSER [GSEREI], and EXTENDED-XER [X.693-1]).
The EncodingInstruction notation is different for each set of encoding instructions, and their translations into ASN.X are specified in separate documents [GSEREIT][XEREIT]. At the time of writing, only three sets of encoding instructions have been defined (for RXER [RXEREI], GSER [GSEREI], and EXTENDED-XER [X.693-1]).
If the child <type> element item of a <prefixed> element item has no attribute items and has a child <prefixed> element item, then that child <type> element item MAY be replaced by the [children] and [attributes] of the inner <prefixed> element item. Note that the long form translation of a TaggedType is also eligible for this
If the child <type> element item of a <prefixed> element item has no attribute items and has a child <prefixed> element item, then that child <type> element item MAY be replaced by the [children] and [attributes] of the inner <prefixed> element item. Note that the long form translation of a TaggedType is also eligible for this
Legg Experimental [Page 26] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 26] RFC 4912 Abstract Syntax Notation X July 2007
rewriting step. This rewriting step MAY be applied to the result of a previous rewriting step if the necessary condition still holds.
rewriting step. This rewriting step MAY be applied to the result of a previous rewriting step if the necessary condition still holds.
Example
Example
These three definitions are equivalent.
These three definitions are equivalent.
[XER:ATTRIBUTE] [XER:USE-UNION] [GSER:CHOICE-OF-STRINGS] CHOICE { one PrintableString, two UTF8String }
[XER:ATTRIBUTE] [XER:USE-UNION] [GSER:CHOICE-OF-STRINGS] CHOICE { one PrintableString, two UTF8String }
<type> <prefixed> <XER><attribute/></XER> <type> <prefixed> <XER><useUnion/></XER> <type> <prefixed> <GSER><choiceOfStrings/></GSER> <type> <choice> <element name="one" type="asnx:PrintableString"/> <element name="two" type="asnx:UTF8String"/> </choice> </type> </prefixed> </type> </prefixed> </type> </prefixed> </type>
<type> <prefixed> <XER><attribute/></XER> <type> <prefixed> <XER><useUnion/></XER> <type> <prefixed> <GSER><choiceOfStrings/></GSER> <type> <choice> <element name="one" type="asnx:PrintableString"/> <element name="two" type="asnx:UTF8String"/> </choice> </type> </prefixed> </type> </prefixed> </type> </prefixed> </type>
<type> <prefixed> <XER><attribute/></XER> <XER><useUnion/></XER> <GSER><choiceOfStrings/></GSER> <type> <choice> <element name="one" type="asnx:PrintableString"/> <element name="two" type="asnx:UTF8String"/> </choice> </type> </prefixed> </type>
<type> <prefixed> <XER><attribute/></XER> <XER><useUnion/></XER> <GSER><choiceOfStrings/></GSER> <type> <choice> <element name="one" type="asnx:PrintableString"/> <element name="two" type="asnx:UTF8String"/> </choice> </type> </prefixed> </type>
Legg Experimental [Page 27] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 27] RFC 4912 Abstract Syntax Notation X July 2007
6.7.1. Short Form TaggedType Translation
6.7.1. Short Form TaggedType Translation
The short form translation of a TaggedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "tagged" SHALL be appended to the [children] of the <type> element item.
The short form translation of a TaggedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "tagged" SHALL be appended to the [children] of the <type> element item.
If the Class in the Tag in the TaggedType is not empty, then an attribute item with the [local name] "tagClass" SHALL be added to the [attributes] of the <tagged> element item. The [normalized value] of this attribute item is the Class of the Tag with all letters downcased, i.e., either "universal", "application", or "private".
If the Class in the Tag in the TaggedType is not empty, then an attribute item with the [local name] "tagClass" SHALL be added to the [attributes] of the <tagged> element item. The [normalized value] of this attribute item is the Class of the Tag with all letters downcased, i.e., either "universal", "application", or "private".
An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <tagged> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the number or DefinedValue in the ClassNumber in the Tag.
An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <tagged> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the number or DefinedValue in the ClassNumber in the Tag.
If the Tag is immediately followed by the "IMPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "implicit" SHALL be added to the [attributes] of the <tagged> element item.
If the Tag is immediately followed by the "IMPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "implicit" SHALL be added to the [attributes] of the <tagged> element item.
If the Tag is immediately followed by the "EXPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "explicit" SHALL be added to the [attributes] of the <tagged> element item.
If the Tag is immediately followed by the "EXPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "explicit" SHALL be added to the [attributes] of the <tagged> element item.
The translation of the Type in the TaggedType SHALL be added to the [children] or [attributes] of the <tagged> element item.
The translation of the Type in the TaggedType SHALL be added to the [children] or [attributes] of the <tagged> element item.
Examples
Examples
[0] INTEGER
[0] INTEGER
<type> <tagged number="0" type="asnx:INTEGER"/> </type>
<type> <tagged number="0" type="asnx:INTEGER"/> </type>
[APPLICATION 10] IMPLICIT BOOLEAN
[APPLICATION 10] IMPLICIT BOOLEAN
<type> <tagged tagClass="application" number="10" tagging="implicit" type="asnx:BOOLEAN"/> </type>
<type> <tagged tagClass="application" number="10" tagging="implicit" type="asnx:BOOLEAN"/> </type>
Legg Experimental [Page 28] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 28] RFC 4912 Abstract Syntax Notation X July 2007
6.7.2. Long Form TaggedType Translation
6.7.2. Long Form TaggedType Translation
The long form translation of a TaggedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "prefixed" SHALL be appended to the [children] of the <type> element item. The translation of the Tag in the TaggedType SHALL be added to the [children] of the <prefixed> element item.
The long form translation of a TaggedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "prefixed" SHALL be appended to the [children] of the <type> element item. The translation of the Tag in the TaggedType SHALL be added to the [children] of the <prefixed> element item.
The translation of a Tag is an element item with the [local name] "TAG".
The translation of a Tag is an element item with the [local name] "TAG".
If the Class of the Tag is not empty, then an attribute item with the [local name] "tagClass" SHALL be added to the [attributes] of the <TAG> element item. The [normalized value] of this attribute item is the Class of the Tag with all letters downcased, i.e., either "universal", "application", or "private".
If the Class of the Tag is not empty, then an attribute item with the [local name] "tagClass" SHALL be added to the [attributes] of the <TAG> element item. The [normalized value] of this attribute item is the Class of the Tag with all letters downcased, i.e., either "universal", "application", or "private".
An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <TAG> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the number or DefinedValue in the ClassNumber in the Tag.
An attribute item with the [local name] "number" SHALL be added to the [attributes] of the <TAG> element item. The [normalized value] of this attribute item is the digit string representation of the integer value of the number or DefinedValue in the ClassNumber in the Tag.
If the Tag is immediately followed by the "IMPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "implicit" SHALL be added to the [attributes] of the <TAG> element item.
If the Tag is immediately followed by the "IMPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "implicit" SHALL be added to the [attributes] of the <TAG> element item.
If the Tag is immediately followed by the "EXPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "explicit" SHALL be added to the [attributes] of the <TAG> element item.
If the Tag is immediately followed by the "EXPLICIT" keyword, then an attribute item with the [local name] "tagging" and [normalized value] "explicit" SHALL be added to the [attributes] of the <TAG> element item.
The translation of the Type in the TaggedType SHALL be added to the [children] or [attributes] of the <prefixed> element item.
The translation of the Type in the TaggedType SHALL be added to the [children] or [attributes] of the <prefixed> element item.
Examples
Examples
[0] INTEGER
[0] INTEGER
<type> <prefixed type="asnx:INTEGER"> <TAG number="0"/> </prefixed> </type>
<type> <prefixed type="asnx:INTEGER"> <TAG number="0"/> </prefixed> </type>
Legg Experimental [Page 29] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 29] RFC 4912 Abstract Syntax Notation X July 2007
[APPLICATION 10] IMPLICIT BOOLEAN
[APPLICATION 10] IMPLICIT BOOLEAN
<type> <prefixed type="asnx:BOOLEAN"> <TAG tagClass="application" number="10" tagging="implicit"/> </prefixed> </type>
<type> <prefixed type="asnx:BOOLEAN"> <TAG tagClass="application" number="10" tagging="implicit"/> </prefixed> </type>
6.8. SelectionType Translation
6.8. SelectionType Translation
The translation of a SelectionType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "selection" SHALL be appended to the [children] of the <type> element item.
The translation of a SelectionType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "selection" SHALL be appended to the [children] of the <type> element item.
The identifier in a SelectionType identifies a NamedType in the definition of the Type in the SelectionType. The translation of that NamedType will be an element item with the [local name] either "attribute", "element", "component", "group", or "member". An attribute item with the same [local name] as the translation of the NamedType SHALL be added to the [attributes] of the <selection> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType [RXEREI].
The identifier in a SelectionType identifies a NamedType in the definition of the Type in the SelectionType. The translation of that NamedType will be an element item with the [local name] either "attribute", "element", "component", "group", or "member". An attribute item with the same [local name] as the translation of the NamedType SHALL be added to the [attributes] of the <selection> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType [RXEREI].
The translation of the Type in the SelectionType SHALL be added to the [children] or [attributes] of the <selection> element item.
The translation of the Type in the SelectionType SHALL be added to the [children] or [attributes] of the <selection> element item.
Examples
Examples
field1 < MyChoiceType
field1 < MyChoiceType
<type> <selection element="field1" type="tns:MyChoiceType"/> </type>
<type> <selection element="field1" type="tns:MyChoiceType"/> </type>
field2 < CHOICE { field2 [RXER:ATTRIBUTE][RXER:NAME AS "field-two"] INTEGER }
field2 < CHOICE { field2 [RXER:ATTRIBUTE][RXER:NAME AS "field-two"] INTEGER }
<type> <selection attribute="field-two"> <type> <choice> <attribute name="field-two" identifier="field2" type="asnx:INTEGER"/> </choice> </type>
<type> <selection attribute="field-two"> <type> <choice> <attribute name="field-two" identifier="field2" type="asnx:INTEGER"/> </choice> </type>
Legg Experimental [Page 30] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 30] RFC 4912 Abstract Syntax Notation X July 2007
</selection> </type>
</selection> </type>
6.9. InstanceOfType Translation
6.9. InstanceOfType Translation
The translation of an InstanceOfType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "instanceOf" SHALL be appended to the [children] of the <type> element item. The translation of the DefinedObjectClass in the InstanceOfType SHALL be added to the [children] or [attributes] of the <instanceOf> element item.
The translation of an InstanceOfType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "instanceOf" SHALL be appended to the [children] of the <type> element item. The translation of the DefinedObjectClass in the InstanceOfType SHALL be added to the [children] or [attributes] of the <instanceOf> element item.
Example
Example
INSTANCE OF TYPE-IDENTIFIER
INSTANCE OF TYPE-IDENTIFIER
<type> <instanceOf class="asnx:TYPE-IDENTIFIER"/> </type>
<type> <instanceOf class="asnx:TYPE-IDENTIFIER"/> </type>
6.10. ObjectClassFieldType Translation
6.10. ObjectClassFieldType Translation
The translation of an ObjectClassFieldType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "fromClass" SHALL be appended to the [children] of the <type> element item. The translation of the DefinedObjectClass in the ObjectClassFieldType SHALL be added to the [children] or [attributes] of the <fromClass> element item. The translation of the FieldName (see Section 9.2.6) in the ObjectClassFieldType SHALL be added to the [children] or [attributes] of the <fromClass> element item.
The translation of an ObjectClassFieldType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "fromClass" SHALL be appended to the [children] of the <type> element item. The translation of the DefinedObjectClass in the ObjectClassFieldType SHALL be added to the [children] or [attributes] of the <fromClass> element item. The translation of the FieldName (see Section 9.2.6) in the ObjectClassFieldType SHALL be added to the [children] or [attributes] of the <fromClass> element item.
Example
Example
OPERATION.&Linked.&ArgumentType
OPERATION.&Linked.&ArgumentType
<type> <fromClass class="tns:OPERATION" fieldName="Linked/ArgumentType"/> </type>
<type> <fromClass class="tns:OPERATION" fieldName="Linked/ArgumentType"/> </type>
Legg Experimental [Page 31] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 31] RFC 4912 Abstract Syntax Notation X July 2007
6.11. TypeFromObject and ValueSetFromObjects Translation
6.11. TypeFromObject and ValueSetFromObjects Translation
The translation of a TypeFromObject or ValueSetFromObjects is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <type> element item.
The translation of a TypeFromObject or ValueSetFromObjects is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <type> element item.
The translation of the ReferencedObjects instance in the TypeFromObject or ValueSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the ReferencedObjects instance in the TypeFromObject or ValueSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the FieldName in the TypeFromObject or ValueSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the FieldName in the TypeFromObject or ValueSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
Example
Example
invertMatrix.&Errors.&errorCode
invertMatrix.&Errors.&errorCode
<type> <fromObjects object="tns:invertMatrix" fieldName="Errors/errorCode"/> </type>
<type> <fromObjects object="tns:invertMatrix" fieldName="Errors/errorCode"/> </type>
6.12. Translation of Combining Types
6.12. Translation of Combining Types
This section details the translation of the ASN.1 combining types: SET, SEQUENCE, CHOICE, SET OF, and SEQUENCE OF. The combining type definitions all make use of the NamedType notation.
This section details the translation of the ASN.1 combining types: SET, SEQUENCE, CHOICE, SET OF, and SEQUENCE OF. The combining type definitions all make use of the NamedType notation.
6.12.1. NamedType Translation
6.12.1. NamedType Translation
A NamedType is translated in one of three ways depending on the context. These are the normal translation, the member translation, and the item translation. These translations are not interchangeable. One of the three will be explicitly invoked as part of the translation of an enclosing combining type.
A NamedType is translated in one of three ways depending on the context. These are the normal translation, the member translation, and the item translation. These translations are not interchangeable. One of the three will be explicitly invoked as part of the translation of an enclosing combining type.
The normal translation of a NamedType is an element item with the [local name] determined as follows:
The normal translation of a NamedType is an element item with the [local name] determined as follows:
(1) if the NamedType is subject to an ATTRIBUTE or ATTRIBUTE-REF encoding instruction, or subject to a COMPONENT-REF encoding instruction that references a top-level NamedType that is subject to an ATTRIBUTE encoding instruction, then the [local name] is "attribute",
(1) if the NamedType is subject to an ATTRIBUTE or ATTRIBUTE-REF encoding instruction, or subject to a COMPONENT-REF encoding instruction that references a top-level NamedType that is subject to an ATTRIBUTE encoding instruction, then the [local name] is "attribute",
Legg Experimental [Page 32] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 32] RFC 4912 Abstract Syntax Notation X July 2007
(2) else if the NamedType is subject to a GROUP encoding instruction, then the [local name] is "group",
(2) else if the NamedType is subject to a GROUP encoding instruction, then the [local name] is "group",
(3) else if the NamedType is subject to a SIMPLE-CONTENT encoding instruction, then the [local name] is "simpleContent",
(3) else if the NamedType is subject to a SIMPLE-CONTENT encoding instruction, then the [local name] is "simpleContent",
(4) otherwise, the [local name] is "element" or "component" (translator's choice).
(4) otherwise, the [local name] is "element" or "component" (translator's choice).
Aside: The local names "element" and "component" are synonymous. The "component" alternative is offered for specifying applications that don't use RXER (except for the ASN.X specification itself, of course), where referring to parts of an encoding as elements would seem incongruous.
Aside: The local names "element" and "component" are synonymous. The "component" alternative is offered for specifying applications that don't use RXER (except for the ASN.X specification itself, of course), where referring to parts of an encoding as elements would seem incongruous.
The member translation of a NamedType is an element item with the [local name] "member".
The member translation of a NamedType is an element item with the [local name] "member".
The item translation of a NamedType is an element item with the [local name] "item".
The item translation of a NamedType is an element item with the [local name] "item".
Aside: A Namedtype for which the member or item translation is invoked will never be subject to an ATTRIBUTE, ATTRIBUTE-REF, COMPONENT-REF, GROUP, SIMPLE-CONTENT, or TYPE-AS-VERSION encoding instruction. These encoding instructions are also mutually exclusive [RXEREI].
Aside: A Namedtype for which the member or item translation is invoked will never be subject to an ATTRIBUTE, ATTRIBUTE-REF, COMPONENT-REF, GROUP, SIMPLE-CONTENT, or TYPE-AS-VERSION encoding instruction. These encoding instructions are also mutually exclusive [RXEREI].
An element item with the [local name] "annotation" MAY be added to the [children] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or <simpleContent> element item.
An element item with the [local name] "annotation" MAY be added to the [children] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or <simpleContent> element item.
If a NamedType is subject to a TYPE-AS-VERSION encoding instruction, then an attribute item with the [local name] "typeAsVersion" and [normalized value] "true" or "1" SHALL be added to the <element> or <component> element item. For the normal translation, if a NamedType is not subject to an ATTRIBUTE, ATTRIBUTE-REF, COMPONENT-REF, GROUP, SIMPLE-CONTENT, or TYPE-AS-VERSION encoding instruction, then an attribute item with the [local name] "typeAsVersion" and [normalized value] "false" or "0" MAY be added to the <element> or <component> element item.
If a NamedType is subject to a TYPE-AS-VERSION encoding instruction, then an attribute item with the [local name] "typeAsVersion" and [normalized value] "true" or "1" SHALL be added to the <element> or <component> element item. For the normal translation, if a NamedType is not subject to an ATTRIBUTE, ATTRIBUTE-REF, COMPONENT-REF, GROUP, SIMPLE-CONTENT, or TYPE-AS-VERSION encoding instruction, then an attribute item with the [local name] "typeAsVersion" and [normalized value] "false" or "0" MAY be added to the <element> or <component> element item.
For the normal, member, and item translations, if a NamedType is not subject to an ATTRIBUTE-REF, COMPONENT-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or
For the normal, member, and item translations, if a NamedType is not subject to an ATTRIBUTE-REF, COMPONENT-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or
Legg Experimental [Page 33] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 33] RFC 4912 Abstract Syntax Notation X July 2007
<simpleContent> element item. The [normalized value] of this attribute item is the local name of the expanded name of the NamedType [RXEREI].
<simpleContent> element item. The [normalized value] of this attribute item is the local name of the expanded name of the NamedType [RXEREI].
Aside: If there are no NAME, ATTRIBUTE-REF, COMPONENT_REF, ELEMENT-REF or REF-AS-ELEMENT encoding instructions, then the local name of the expanded name of a NamedType is the same as the identifier in the NamedType.
Aside: If there are no NAME, ATTRIBUTE-REF, COMPONENT_REF, ELEMENT-REF or REF-AS-ELEMENT encoding instructions, then the local name of the expanded name of a NamedType is the same as the identifier in the NamedType.
If the reduction of the local name (an NCName) of the expanded name of a NamedType is not the same as the identifier in the NamedType, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or <simpleContent> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the aforementioned element item. The [normalized value] of this attribute item is the identifier in the NamedType.
If the reduction of the local name (an NCName) of the expanded name of a NamedType is not the same as the identifier in the NamedType, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or <simpleContent> element item; otherwise, an attribute item with the [local name] "identifier" MAY be added to the [attributes] of the aforementioned element item. The [normalized value] of this attribute item is the identifier in the NamedType.
Aside: The identifier attribute is not contingent on there being a name attribute. That is, an element item can have an identifier attribute item without having a name attribute item.
Aside: The identifier attribute is not contingent on there being a name attribute. That is, an element item can have an identifier attribute item without having a name attribute item.
If a NamedType is subject to a COMPONENT-REF encoding instruction, then an attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the top-level NamedType referenced by the encoding instruction. If the expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1), then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item; otherwise, if the module containing the referenced top-level NamedType has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced top-level NamedType.
If a NamedType is subject to a COMPONENT-REF encoding instruction, then an attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the top-level NamedType referenced by the encoding instruction. If the expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1), then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item; otherwise, if the module containing the referenced top-level NamedType has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced top-level NamedType.
Aside: If an expanded name is not distinct, then the module containing the referenced top-level NamedType must have a schema identity URI (see Section 5.1).
Aside: If an expanded name is not distinct, then the module containing the referenced top-level NamedType must have a schema identity URI (see Section 5.1).
If a NamedType is subject to a COMPONENT-REF encoding instruction, then an attribute item with the [local name] "embedded" and [normalized value] "false" or "0" MAY be added to the [attributes] of the <attribute>, <element>, or <component> element item.
If a NamedType is subject to a COMPONENT-REF encoding instruction, then an attribute item with the [local name] "embedded" and [normalized value] "false" or "0" MAY be added to the [attributes] of the <attribute>, <element>, or <component> element item.
Legg Experimental [Page 34] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 34] RFC 4912 Abstract Syntax Notation X July 2007
If a NamedType is subject to an ATTRIBUTE-REF or ELEMENT-REF encoding instruction, then an attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is the RXER character data translation of the QNameValue in the encoding instruction. An attribute item with the [local name] "embedded" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item.
If a NamedType is subject to an ATTRIBUTE-REF or ELEMENT-REF encoding instruction, then an attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is the RXER character data translation of the QNameValue in the encoding instruction. An attribute item with the [local name] "embedded" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item.
If a NamedType is subject to a REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "elementType" SHALL be added to the [attributes] of the <element> or <component> element item. The [normalized value] of this attribute item is the RXER character data translation of the NameValue in the REF-AS-ELEMENT encoding instruction. If a Namespace is present in the REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "namespace" SHALL be added to the [attributes] of the <element> or <component> element item. The [normalized value] of this attribute item is the string value of the AnyURIValue in the Namespace.
If a NamedType is subject to a REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "elementType" SHALL be added to the [attributes] of the <element> or <component> element item. The [normalized value] of this attribute item is the RXER character data translation of the NameValue in the REF-AS-ELEMENT encoding instruction. If a Namespace is present in the REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "namespace" SHALL be added to the [attributes] of the <element> or <component> element item. The [normalized value] of this attribute item is the string value of the AnyURIValue in the Namespace.
If a ContextParameter is present in the RefParameters in the ATTRIBUTE-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is the string value of the AnyURIValue in the ContextParameter.
If a ContextParameter is present in the RefParameters in the ATTRIBUTE-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <attribute>, <element>, or <component> element item. The [normalized value] of this attribute item is the string value of the AnyURIValue in the ContextParameter.
If a NamedType is subject to both an ATTRIBUTE encoding instruction and a VERSION-INDICATOR encoding instruction, then an attribute item with the [local name] "versionIndicator" and [normalized value] "true" or "1" SHALL be added to the <attribute> element item. If a NamedType is subject to an ATTRIBUTE encoding instruction and not subject to a VERSION-INDICATOR encoding instruction, then an attribute item with the [local name] "versionIndicator" and [normalized value] "false" or "0" MAY be added to the <attribute> element item.
If a NamedType is subject to both an ATTRIBUTE encoding instruction and a VERSION-INDICATOR encoding instruction, then an attribute item with the [local name] "versionIndicator" and [normalized value] "true" or "1" SHALL be added to the <attribute> element item. If a NamedType is subject to an ATTRIBUTE encoding instruction and not subject to a VERSION-INDICATOR encoding instruction, then an attribute item with the [local name] "versionIndicator" and [normalized value] "false" or "0" MAY be added to the <attribute> element item.
If a NamedType is not subject to an ATTRIBUTE-REF, COMPONENT-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then the translation of the Type in the NamedType SHALL be added to the [children] or [attributes] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or <simpleContent> element item.
If a NamedType is not subject to an ATTRIBUTE-REF, COMPONENT-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then the translation of the Type in the NamedType SHALL be added to the [children] or [attributes] of the <attribute>, <element>, <component>, <group>, <item>, <member>, or <simpleContent> element item.
Legg Experimental [Page 35] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 35] RFC 4912 Abstract Syntax Notation X July 2007
If a NamedType is subject to an ATTRIBUTE-REF, COMPONENT-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then the translation of each EncodingPrefix (Section 6.7) and Tag (Section 6.7.2) textually within the NamedType SHALL be added in order to the [children] of the <attribute>, <element>, or <component> element item.
If a NamedType is subject to an ATTRIBUTE-REF, COMPONENT-REF, ELEMENT-REF, or REF-AS-ELEMENT encoding instruction, then the translation of each EncodingPrefix (Section 6.7) and Tag (Section 6.7.2) textually within the NamedType SHALL be added in order to the [children] of the <attribute>, <element>, or <component> element item.
Example
Example
CHOICE { one INTEGER, two [RXER:ATTRIBUTE] BOOLEAN, three [RXER:ATTRIBUTE-REF { namespace-name "http://www.example.com/schema", local-name "foo" }] UTF8String, bar [RXER:ELEMENT-REF { namespace-name "http://www.example.com/schema", local-name "bar" }] Markup, five [0] [RXER:REF-AS-ELEMENT "product" CONTEXT "http://www.example.com/inventory"] Markup, six [RXER:GROUP] MySequence }
CHOICE { one INTEGER, two [RXER:ATTRIBUTE] BOOLEAN, three [RXER:ATTRIBUTE-REF { namespace-name "http://www.example.com/schema", local-name "foo" }] UTF8String, bar [RXER:ELEMENT-REF { namespace-name "http://www.example.com/schema", local-name "bar" }] Markup, five [0] [RXER:REF-AS-ELEMENT "product" CONTEXT "http://www.example.com/inventory"] Markup, six [RXER:GROUP] MySequence }
<type> <choice xmlns:ex="http://www.example.com/schema"> <element name="one" type="asnx:INTEGER"/> <attribute name="two" type="asnx:BOOLEAN"/> <attribute ref="ex:foo" identifier="three" embedded="true"/> <element ref="ex:bar" embedded="true"/> <element elementType="product" context="http://www.example.com/inventory" identifier="five"> <TAG number="0"/> </element> <group name="six" type="tns:MySequence"/> </choice> </type>
<type> <choice xmlns:ex="http://www.example.com/schema"> <element name="one" type="asnx:INTEGER"/> <attribute name="two" type="asnx:BOOLEAN"/> <attribute ref="ex:foo" identifier="three" embedded="true"/> <element ref="ex:bar" embedded="true"/> <element elementType="product" context="http://www.example.com/inventory" identifier="five"> <TAG number="0"/> </element> <group name="six" type="tns:MySequence"/> </choice> </type>
6.12.2. SequenceType Translation
6.12.2. SequenceType Translation
The translation of a SequenceType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "sequence" SHALL be appended to the [children] of the <type> element item. The
The translation of a SequenceType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "sequence" SHALL be appended to the [children] of the <type> element item. The
Legg Experimental [Page 36] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 36] RFC 4912 Abstract Syntax Notation X July 2007
translation of each ComponentType nested in the ComponentTypeList in the initial RootComponentTypeList, if present, SHALL be appended to the [children] of the <sequence> element item.
translation of each ComponentType nested in the ComponentTypeList in the initial RootComponentTypeList, if present, SHALL be appended to the [children] of the <sequence> element item.
If an ExtensionAndException is present, then an element item with the [local name] "extension" SHALL be appended to the [children] of the <sequence> element item. If an ExceptionSpec is present in the ExtensionAndException, then the translation of the ExceptionSpec (possibly empty) SHALL be added to the [children] of the <extension> element item.
If an ExtensionAndException is present, then an element item with the [local name] "extension" SHALL be appended to the [children] of the <sequence> element item. If an ExceptionSpec is present in the ExtensionAndException, then the translation of the ExceptionSpec (possibly empty) SHALL be added to the [children] of the <extension> element item.
If an ExtensionAdditions instance is present, then the translation of each ExtensionAdditionGroup or ComponentType nested in the ExtensionAdditions (if any) SHALL be appended to the [children] of the <extension> element item.
If an ExtensionAdditions instance is present, then the translation of each ExtensionAdditionGroup or ComponentType nested in the ExtensionAdditions (if any) SHALL be appended to the [children] of the <extension> element item.
If an ExtensionEndMarker is present, then the translation of each ComponentType nested in the ComponentTypeList in the final RootComponentTypeList SHALL be appended to the [children] of the <sequence> element item.
If an ExtensionEndMarker is present, then the translation of each ComponentType nested in the ComponentTypeList in the final RootComponentTypeList SHALL be appended to the [children] of the <sequence> element item.
The translation of an ExtensionAdditionGroup is an element item with the [local name] "extensionGroup". If the VersionNumber in the ExtensionAdditionGroup is not empty, then an attribute item with the [local name] "version" SHALL be added to the [attributes] of the <extensionGroup> element item. The [normalized value] of this attribute item is the number in the VersionNumber. The translation of each ComponentType nested in the ExtensionAdditionGroup SHALL be appended to the [children] of the <extensionGroup> element item.
The translation of an ExtensionAdditionGroup is an element item with the [local name] "extensionGroup". If the VersionNumber in the ExtensionAdditionGroup is not empty, then an attribute item with the [local name] "version" SHALL be added to the [attributes] of the <extensionGroup> element item. The [normalized value] of this attribute item is the number in the VersionNumber. The translation of each ComponentType nested in the ExtensionAdditionGroup SHALL be appended to the [children] of the <extensionGroup> element item.
The translation of a ComponentType of the "NamedType" form is the normal translation of the NamedType.
The translation of a ComponentType of the "NamedType" form is the normal translation of the NamedType.
The translation of a ComponentType of the "NamedType OPTIONAL" form is an element item with the [local name] "optional". The normal translation of the NamedType SHALL be added to the [children] of the <optional> element item.
The translation of a ComponentType of the "NamedType OPTIONAL" form is an element item with the [local name] "optional". The normal translation of the NamedType SHALL be added to the [children] of the <optional> element item.
The translation of a ComponentType of the "NamedType DEFAULT Value" form is an element item with the [local name] "optional". The normal translation of the NamedType SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <default> element item.
The translation of a ComponentType of the "NamedType DEFAULT Value" form is an element item with the [local name] "optional". The normal translation of the NamedType SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <default> element item.
Legg Experimental [Page 37] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 37] RFC 4912 Abstract Syntax Notation X July 2007
The translation of a ComponentType of the "COMPONENTS OF Type" form is an element item with the [local name] "componentsOf". The translation of the Type SHALL be added to the [children] or [attributes] of the <componentsOf> element item.
The translation of a ComponentType of the "COMPONENTS OF Type" form is an element item with the [local name] "componentsOf". The translation of the Type SHALL be added to the [children] or [attributes] of the <componentsOf> element item.
Example
Example
SEQUENCE { one INTEGER, two [RXER:ATTRIBUTE] BOOLEAN OPTIONAL, ..., [[ 2: four NULL ]], COMPONENTS OF MySequence, ..., three PrintableString DEFAULT "third" }
SEQUENCE { one INTEGER, two [RXER:ATTRIBUTE] BOOLEAN OPTIONAL, ..., [[ 2: four NULL ]], COMPONENTS OF MySequence, ..., three PrintableString DEFAULT "third" }
<type> <sequence> <element name="one" type="asnx:INTEGER"/> <optional> <attribute name="two" type="asnx:BOOLEAN"/> </optional> <extension> <extensionGroup version="2"> <element name="four" type="asnx:NULL"/> </extensionGroup> <componentsOf type="tns:MySequence"/> </extension> <optional> <element name="three" type="asnx:PrintableString"/> <default literalValue="third"/> </optional> </sequence> </type>
<type> <sequence> <element name="one" type="asnx:INTEGER"/> <optional> <attribute name="two" type="asnx:BOOLEAN"/> </optional> <extension> <extensionGroup version="2"> <element name="four" type="asnx:NULL"/> </extensionGroup> <componentsOf type="tns:MySequence"/> </extension> <optional> <element name="three" type="asnx:PrintableString"/> <default literalValue="third"/> </optional> </sequence> </type>
6.12.3. SetType Translation
6.12.3. SetType Translation
The translation of a SetType follows the same procedure as the translation of a SequenceType except that SetType replaces SequenceType, "SET" replaces "SEQUENCE", and the [local name] "set" is used instead of "sequence".
The translation of a SetType follows the same procedure as the translation of a SequenceType except that SetType replaces SequenceType, "SET" replaces "SEQUENCE", and the [local name] "set" is used instead of "sequence".
Legg Experimental [Page 38] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 38] RFC 4912 Abstract Syntax Notation X July 2007
6.12.4. ChoiceType Translation
6.12.4. ChoiceType Translation
The translation of a ChoiceType that is not subject to a UNION encoding instruction is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "choice" SHALL be appended to the [children] of the <type> element item. The normal translation of each NamedType nested in the AlternativeTypeList in the RootAlternativeTypeList in the AlternativeTypeLists SHALL be appended to the [children] of the <choice> element item.
The translation of a ChoiceType that is not subject to a UNION encoding instruction is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "choice" SHALL be appended to the [children] of the <type> element item. The normal translation of each NamedType nested in the AlternativeTypeList in the RootAlternativeTypeList in the AlternativeTypeLists SHALL be appended to the [children] of the <choice> element item.
If an ExtensionAndException is present in the AlternativeTypeLists, then an element item with the [local name] "extension" SHALL be appended to the [children] of the <choice> element item. If an ExceptionSpec is present in the ExtensionAndException, then the translation of the ExceptionSpec (possibly empty) is added to the [children] of the <extension> element item.
If an ExtensionAndException is present in the AlternativeTypeLists, then an element item with the [local name] "extension" SHALL be appended to the [children] of the <choice> element item. If an ExceptionSpec is present in the ExtensionAndException, then the translation of the ExceptionSpec (possibly empty) is added to the [children] of the <extension> element item.
If an ExtensionAdditionAlternatives instance is present in the AlternativeTypeLists, then the translation of each ExtensionAdditionAlternativesGroup or NamedType (if any) nested in the ExtensionAdditionAlternatives SHALL be appended in order to the [children] of the <extension> element item. The normal translation of the NamedType is used.
If an ExtensionAdditionAlternatives instance is present in the AlternativeTypeLists, then the translation of each ExtensionAdditionAlternativesGroup or NamedType (if any) nested in the ExtensionAdditionAlternatives SHALL be appended in order to the [children] of the <extension> element item. The normal translation of the NamedType is used.
The translation of an ExtensionAdditionAlternativesGroup is an element item with the [local name] "extensionGroup". If the VersionNumber in the ExtensionAdditionAlternativesGroup is not empty, then an attribute item with the [local name] "version" SHALL be added to the [attributes] of the <extensionGroup> element item. The [normalized value] of this attribute item is the number in the VersionNumber. The normal translation of each NamedType nested in the AlternativeTypeList in the ExtensionAdditionAlternativesGroup SHALL be appended to the [children] of the <extensionGroup> element item.
The translation of an ExtensionAdditionAlternativesGroup is an element item with the [local name] "extensionGroup". If the VersionNumber in the ExtensionAdditionAlternativesGroup is not empty, then an attribute item with the [local name] "version" SHALL be added to the [attributes] of the <extensionGroup> element item. The [normalized value] of this attribute item is the number in the VersionNumber. The normal translation of each NamedType nested in the AlternativeTypeList in the ExtensionAdditionAlternativesGroup SHALL be appended to the [children] of the <extensionGroup> element item.
Legg Experimental [Page 39] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 39] RFC 4912 Abstract Syntax Notation X July 2007
Example
Example
CHOICE { one INTEGER, two [RXER:NAME AS "Two"] BOOLEAN, ..., [[ 2: three NULL ]], four PrintableString, ... }
CHOICE { one INTEGER, two [RXER:NAME AS "Two"] BOOLEAN, ..., [[ 2: three NULL ]], four PrintableString, ... }
<type> <choice> <element name="one" type="asnx:INTEGER"/> <element name="Two" type="asnx:BOOLEAN"/> <extension> <extensionGroup version="2"> <element name="three" type="asnx:NULL"/> </extensionGroup> <element name="four" type="asnx:PrintableString"/> </extension> </choice> </type>
<type> <choice> <element name="one" type="asnx:INTEGER"/> <element name="Two" type="asnx:BOOLEAN"/> <extension> <extensionGroup version="2"> <element name="three" type="asnx:NULL"/> </extensionGroup> <element name="four" type="asnx:PrintableString"/> </extension> </choice> </type>
6.12.5. Translation of UNION Types
6.12.5. Translation of UNION Types
The translation of a ChoiceType that is subject to a UNION encoding instruction follows the same procedure as the translation of a ChoiceType that is not subject to a UNION encoding instruction except that the [local name] "union" is used instead of "choice", and the member translation of each NamedType is used instead of the normal translation.
The translation of a ChoiceType that is subject to a UNION encoding instruction follows the same procedure as the translation of a ChoiceType that is not subject to a UNION encoding instruction except that the [local name] "union" is used instead of "choice", and the member translation of each NamedType is used instead of the normal translation.
In addition, if the UNION encoding instruction has a PrecedenceList, then an attribute item with the [local name] "precedence" SHALL be added to the [attributes] of the <union> element item. The [normalized value] of this attribute item is the white space separated list of qualified names for the expanded names of the NamedType instances [RXEREI] corresponding to the identifiers in the PrecedenceList. A white space separator is one or more of the white space characters.
In addition, if the UNION encoding instruction has a PrecedenceList, then an attribute item with the [local name] "precedence" SHALL be added to the [attributes] of the <union> element item. The [normalized value] of this attribute item is the white space separated list of qualified names for the expanded names of the NamedType instances [RXEREI] corresponding to the identifiers in the PrecedenceList. A white space separator is one or more of the white space characters.
Legg Experimental [Page 40] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 40] RFC 4912 Abstract Syntax Notation X July 2007
Example
Example
[RXER:UNION PRECEDENCE utf8 visible] CHOICE { printable PrintableString, teletex TeletexString, visible [RXER:NAME AS "ascii"] VisibleString, ..., utf8 UTF8String }
[RXER:UNION PRECEDENCE utf8 visible] CHOICE { printable PrintableString, teletex TeletexString, visible [RXER:NAME AS "ascii"] VisibleString, ..., utf8 UTF8String }
<type> <union precedence="utf8 ascii"> <member name="printable" type="asnx:PrintableString"/> <member name="teletex" type="asnx:TeletexString"/> <member name="ascii" identifier="visible" type="asnx:VisibleString"/> <extension> <member name="utf8" type="asnx:UTF8String"/> </extension> </union> </type>
<type> <union precedence="utf8 ascii"> <member name="printable" type="asnx:PrintableString"/> <member name="teletex" type="asnx:TeletexString"/> <member name="ascii" identifier="visible" type="asnx:VisibleString"/> <extension> <member name="utf8" type="asnx:UTF8String"/> </extension> </union> </type>
6.12.6. SequenceOfType Translation
6.12.6. SequenceOfType Translation
The translation of a SequenceOfType that is not subject to a LIST encoding instruction is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "sequenceOf" SHALL be appended to the [children] of the <type> element item.
The translation of a SequenceOfType that is not subject to a LIST encoding instruction is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "sequenceOf" SHALL be appended to the [children] of the <type> element item.
If the SequenceOfType is of the "SEQUENCE OF NamedType" form, then the normal translation of the NamedType SHALL be added to the [children] of the <sequenceOf> element item.
If the SequenceOfType is of the "SEQUENCE OF NamedType" form, then the normal translation of the NamedType SHALL be added to the [children] of the <sequenceOf> element item.
If the SequenceOfType is of the "SEQUENCE OF Type" form, then an element item with the [local name] "element" or "component" (translator's choice) SHALL be added to the [children] of the <sequenceOf> element item. An attribute item with the [local name] "name" and [normalized value] "item" SHALL be added to the [attributes] of the <element> or <component> element item. An attribute item with the [local name] "identifier" and empty [normalized value] SHALL be added to the [attributes] of the <element> or <component> element item. The translation of the Type SHALL be added to the [children] or [attributes] of the <element> or <component> element item.
If the SequenceOfType is of the "SEQUENCE OF Type" form, then an element item with the [local name] "element" or "component" (translator's choice) SHALL be added to the [children] of the <sequenceOf> element item. An attribute item with the [local name] "name" and [normalized value] "item" SHALL be added to the [attributes] of the <element> or <component> element item. An attribute item with the [local name] "identifier" and empty [normalized value] SHALL be added to the [attributes] of the <element> or <component> element item. The translation of the Type SHALL be added to the [children] or [attributes] of the <element> or <component> element item.
Legg Experimental [Page 41] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 41] RFC 4912 Abstract Syntax Notation X July 2007
Examples
Examples
SEQUENCE OF INTEGER
SEQUENCE OF INTEGER
<type> <sequenceOf> <element name="item" identifier="" type="asnx:INTEGER"/> </sequenceOf> </type>
<type> <sequenceOf> <element name="item" identifier="" type="asnx:INTEGER"/> </sequenceOf> </type>
SEQUENCE OF counter INTEGER
SEQUENCE OF counter INTEGER
<type> <sequenceOf> <element name="counter" type="asnx:INTEGER"/> </sequenceOf> </type>
<type> <sequenceOf> <element name="counter" type="asnx:INTEGER"/> </sequenceOf> </type>
6.12.7. Translation of LIST Types
6.12.7. Translation of LIST Types
The translation of a SequenceOfType that is subject to a LIST encoding instruction is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "list" SHALL be appended to the [children] of the <type> element item. The item translation of the NamedType in the SequenceOfType SHALL be added to the [children] of the <list> element item.
The translation of a SequenceOfType that is subject to a LIST encoding instruction is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "list" SHALL be appended to the [children] of the <type> element item. The item translation of the NamedType in the SequenceOfType SHALL be added to the [children] of the <list> element item.
Aside: A SequenceOfType is necessarily of the "SEQUENCE OF NamedType" form for a LIST encoding instruction.
Aside: A SequenceOfType is necessarily of the "SEQUENCE OF NamedType" form for a LIST encoding instruction.
Example
Example
[RXER:LIST] SEQUENCE OF number INTEGER
[RXER:LIST] SEQUENCE OF number INTEGER
<type> <list> <item name="number" type="asnx:INTEGER"/> </list> </type>
<type> <list> <item name="number" type="asnx:INTEGER"/> </list> </type>
6.12.8. SetOfType Translation
6.12.8. SetOfType Translation
The translation of a SetOfType follows the same procedure as the translation of a SequenceOfType except that SetOfType replaces SequenceOfType, "SET" replaces "SEQUENCE", and the [local name] "setOf" is used instead of "sequenceOf".
The translation of a SetOfType follows the same procedure as the translation of a SequenceOfType except that SetOfType replaces SequenceOfType, "SET" replaces "SEQUENCE", and the [local name] "setOf" is used instead of "sequenceOf".
Legg Experimental [Page 42] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 42] RFC 4912 Abstract Syntax Notation X July 2007
6.12.9. Effect of Insertion Encoding Instructions
6.12.9. Effect of Insertion Encoding Instructions
If a Type is subject to a NO-INSERTIONS, HOLLOW-INSERTIONS, SINGULAR-INSERTIONS, UNIFORM-INSERTIONS, or MULTIFORM-INSERTIONS encoding instruction, then an attribute item with the [local name] "insertions" SHALL be added to the [attributes] of the <choice>, <sequence> or <set> element item in the [children] of the <type> element item resulting from the translation of the Type. The [normalized value] of this attribute item is "none" in the case of a NO-INSERTIONS encoding instruction, "hollow" in the case of a HOLLOW-INSERTIONS encoding instruction, "singular" in the case of a SINGULAR-INSERTIONS encoding instruction, "uniform" in the case of a UNIFORM-INSERTIONS encoding instruction, and "multiform" in the case of a MULTIFORM-INSERTIONS encoding instruction.
If a Type is subject to a NO-INSERTIONS, HOLLOW-INSERTIONS, SINGULAR-INSERTIONS, UNIFORM-INSERTIONS, or MULTIFORM-INSERTIONS encoding instruction, then an attribute item with the [local name] "insertions" SHALL be added to the [attributes] of the <choice>, <sequence> or <set> element item in the [children] of the <type> element item resulting from the translation of the Type. The [normalized value] of this attribute item is "none" in the case of a NO-INSERTIONS encoding instruction, "hollow" in the case of a HOLLOW-INSERTIONS encoding instruction, "singular" in the case of a SINGULAR-INSERTIONS encoding instruction, "uniform" in the case of a UNIFORM-INSERTIONS encoding instruction, and "multiform" in the case of a MULTIFORM-INSERTIONS encoding instruction.
Example
Example
[NO-INSERTIONS] CHOICE { one [RXER:GROUP] [RXER:SINGULAR-INSERTIONS] CHOICE { two INTEGER, ... }, ... }
[NO-INSERTIONS] CHOICE { one [RXER:GROUP] [RXER:SINGULAR-INSERTIONS] CHOICE { two INTEGER, ... }, ... }
<type> <choice insertions="none"> <group name="one"> <type> <choice insertions="singular"> <element name="two" type="asnx:INTEGER"/> <extension/> </choice> </type> </group> <extension/> </choice> </type>
<type> <choice insertions="none"> <group name="one"> <type> <choice insertions="singular"> <element name="two" type="asnx:INTEGER"/> <extension/> </choice> </type> </group> <extension/> </choice> </type>
6.13. Translation of Constrained Types
6.13. Translation of Constrained Types
If a ConstrainedType is of the "Type Constraint" form, then the translation of the ConstrainedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "constrained" SHALL be appended to the [children] of the <type> element item. The translation of the Type SHALL be added to the [children] or
If a ConstrainedType is of the "Type Constraint" form, then the translation of the ConstrainedType is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "constrained" SHALL be appended to the [children] of the <type> element item. The translation of the Type SHALL be added to the [children] or
Legg Experimental [Page 43] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 43] RFC 4912 Abstract Syntax Notation X July 2007
[attributes] of the <constrained> element item. The translation of the Constraint SHALL be added to the [children] of the <constrained> element item.
[attributes] of the <constrained> element item. The translation of the Constraint SHALL be added to the [children] of the <constrained> element item.
The translation of a ContainedType that is a TypeWithConstraint is the translation of the TypeWithConstraint.
The translation of a ContainedType that is a TypeWithConstraint is the translation of the TypeWithConstraint.
Definition (simple endpoint): A LowerEndpoint or UpperEndpoint is a simple endpoint if it is closed and its value is "MIN", "MAX", or a SignedNumber in an IntegerValue in a BuiltinValue in the Value of the endpoint.
Definition (simple endpoint): A LowerEndpoint or UpperEndpoint is a simple endpoint if it is closed and its value is "MIN", "MAX", or a SignedNumber in an IntegerValue in a BuiltinValue in the Value of the endpoint.
Definition (simple range SizeConstraint): A SizeConstraint is a simple range if the Constraint in the SizeConstraint contains only a ValueRange (i.e., a ValueRange in a SubtypeElements instance in an Elements instance in a lone IntersectionElements instance in a lone Intersections instance in a Unions instance in an ElementSetSpec in a RootElementSetSpec in an ElementSetSpecs instance without an AdditionalElementSetSpec in a SubtypeConstraint in a ConstraintSpec in the Constraint) and both endpoints are simple.
Definition (simple range SizeConstraint): A SizeConstraint is a simple range if the Constraint in the SizeConstraint contains only a ValueRange (i.e., a ValueRange in a SubtypeElements instance in an Elements instance in a lone IntersectionElements instance in a lone Intersections instance in a Unions instance in an ElementSetSpec in a RootElementSetSpec in an ElementSetSpecs instance without an AdditionalElementSetSpec in a SubtypeConstraint in a ConstraintSpec in the Constraint) and both endpoints are simple.
Definition (simple range Constraint): A Constraint is a simple range if contains only a SizeConstraint that is a simple range (i.e., a simple range SizeConstraint in a SubtypeElements instance in an Elements instance in a lone IntersectionElements instance in a lone Intersections instance in a Unions instance in an ElementSetSpec in a RootElementSetSpec in an ElementSetSpecs instance without an AdditionalElementSetSpec in a SubtypeConstraint in a ConstraintSpec in the Constraint).
Definition (simple range Constraint): A Constraint is a simple range if contains only a SizeConstraint that is a simple range (i.e., a simple range SizeConstraint in a SubtypeElements instance in an Elements instance in a lone IntersectionElements instance in a lone Intersections instance in a Unions instance in an ElementSetSpec in a RootElementSetSpec in an ElementSetSpecs instance without an AdditionalElementSetSpec in a SubtypeConstraint in a ConstraintSpec in the Constraint).
If the Constraint or SizeConstraint in a TypeWithConstraint is a simple range, then the compact translation of the TypeWithConstraint MAY be used; otherwise, the full translation of the TypeWithConstraint is used.
If the Constraint or SizeConstraint in a TypeWithConstraint is a simple range, then the compact translation of the TypeWithConstraint MAY be used; otherwise, the full translation of the TypeWithConstraint is used.
The compact translation of a TypeWithConstraint is initially the translation of its notional parent type. If the value of the lower endpoint is not "MIN" or "0", then an attribute item with the [local name] "minSize" SHALL be added to the [attributes] of the <sequenceOf>, <setOf>, or <list> element item resulting from the translation of the parent type. The [normalized value] of this attribute item is the value of the lower endpoint. If the value of the lower endpoint is "MIN" or "0", then an attribute item with the [local name] "minSize" and [normalized value] "0" MAY be added to the [attributes] of the <sequenceOf>, <setOf>, or <list> element item. If the value of the upper endpoint is not "MAX", then an attribute item with the [local name] "maxSize" SHALL be added to the [attributes] of the <sequenceOf>, <setOf>, or <list> element item.
The compact translation of a TypeWithConstraint is initially the translation of its notional parent type. If the value of the lower endpoint is not "MIN" or "0", then an attribute item with the [local name] "minSize" SHALL be added to the [attributes] of the <sequenceOf>, <setOf>, or <list> element item resulting from the translation of the parent type. The [normalized value] of this attribute item is the value of the lower endpoint. If the value of the lower endpoint is "MIN" or "0", then an attribute item with the [local name] "minSize" and [normalized value] "0" MAY be added to the [attributes] of the <sequenceOf>, <setOf>, or <list> element item. If the value of the upper endpoint is not "MAX", then an attribute item with the [local name] "maxSize" SHALL be added to the [attributes] of the <sequenceOf>, <setOf>, or <list> element item.
Legg Experimental [Page 44] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 44] RFC 4912 Abstract Syntax Notation X July 2007
The [normalized value] of this attribute item is the value of the upper endpoint.
The [normalized value] of this attribute item is the value of the upper endpoint.
The full translation of a TypeWithConstraint is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "constrained" SHALL be appended to the [children] of the <type> element item. The translation of the notional parent type of the TypeWithConstraint SHALL be added to the [children] or [attributes] of the <constrained> element item. The translation of the Constraint or SizeConstraint in the TypeWithConstraint SHALL be added to the [children] of the <constrained> element item.
The full translation of a TypeWithConstraint is an element item with the [local name] "type". An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item. An element item with the [local name] "constrained" SHALL be appended to the [children] of the <type> element item. The translation of the notional parent type of the TypeWithConstraint SHALL be added to the [children] or [attributes] of the <constrained> element item. The translation of the Constraint or SizeConstraint in the TypeWithConstraint SHALL be added to the [children] of the <constrained> element item.
Examples
Examples
SEQUENCE (SIZE(1..MAX)) OF number INTEGER
SEQUENCE (SIZE(1..MAX)) OF number INTEGER
<type> <sequenceOf minSize="1"> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type>
<type> <sequenceOf minSize="1"> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type>
SEQUENCE SIZE(0..10) OF number INTEGER
SEQUENCE SIZE(0..10) OF number INTEGER
<type> <sequenceOf maxSize="10"> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type>
<type> <sequenceOf maxSize="10"> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type>
SEQUENCE SIZE(1..limit) OF number INTEGER
SEQUENCE SIZE(1..limit) OF number INTEGER
<type> <constrained> <type> <sequenceOf> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type> <size> <range> <minInclusive literalValue="1"/> <maxInclusive value="tns:limit"/> </range>
<type> <constrained> <type> <sequenceOf> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type> <size> <range> <minInclusive literalValue="1"/> <maxInclusive value="tns:limit"/> </range>
Legg Experimental [Page 45] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 45] RFC 4912 Abstract Syntax Notation X July 2007
</size> </constrained> </type>
</size> </constrained> </type>
6.13.1. Constraint Translation
6.13.1. Constraint Translation
The translation of a Constraint is the translation of the ConstraintSpec in the Constraint followed by the translation of the ExceptionSpec (possibly empty) in the Constraint.
The translation of a Constraint is the translation of the ConstraintSpec in the Constraint followed by the translation of the ExceptionSpec (possibly empty) in the Constraint.
The translation of a ConstraintSpec is the translation of the SubtypeConstraint or GeneralConstraint in the ConstraintSpec.
The translation of a ConstraintSpec is the translation of the SubtypeConstraint or GeneralConstraint in the ConstraintSpec.
The translation of a SubtypeConstraint is the translation of the ElementSetSpecs in the SubtypeConstraint.
The translation of a SubtypeConstraint is the translation of the ElementSetSpecs in the SubtypeConstraint.
The translation of a GeneralConstraint [X.682] is the translation of the UserDefinedConstraint, TableConstraint, or ContentsConstraint in the GeneralConstraint.
The translation of a GeneralConstraint [X.682] is the translation of the UserDefinedConstraint, TableConstraint, or ContentsConstraint in the GeneralConstraint.
6.13.2. UserDefinedConstraint Translation
6.13.2. UserDefinedConstraint Translation
The translation of a UserDefinedConstraint is an element item with the [local name] "constrainedBy". An element item with the [local name] "annotation" MAY be added to the [children] of the <constrainedBy> element item. The translation of each UserDefinedConstraintParameter in the UserDefinedConstraint SHALL be appended to the [children] of the <constrainedBy> element item.
The translation of a UserDefinedConstraint is an element item with the [local name] "constrainedBy". An element item with the [local name] "annotation" MAY be added to the [children] of the <constrainedBy> element item. The translation of each UserDefinedConstraintParameter in the UserDefinedConstraint SHALL be appended to the [children] of the <constrainedBy> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : Value" form is an element item with the [local name] "valueParameter". The translation of the Type in the Governor SHALL be added to the [children] or [attributes] of the <valueParameter> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <valueParameter> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : Value" form is an element item with the [local name] "valueParameter". The translation of the Type in the Governor SHALL be added to the [children] or [attributes] of the <valueParameter> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <valueParameter> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : ValueSet" form is an element item with the [local name] "valueSetParameter". The translation of the Type in the Governor SHALL be added to the [children] or [attributes] of the <valueSetParameter> element item. The translation of the ValueSet SHALL be added to the [children] of the <valueSetParameter> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : ValueSet" form is an element item with the [local name] "valueSetParameter". The translation of the Type in the Governor SHALL be added to the [children] or [attributes] of the <valueSetParameter> element item. The translation of the ValueSet SHALL be added to the [children] of the <valueSetParameter> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : Object" form is an element item with the [local name] "objectParameter". The translation of the DefinedObjectClass in the Governor SHALL be added to the [children] or [attributes] of the
The translation of a UserDefinedConstraintParameter of the "Governor : Object" form is an element item with the [local name] "objectParameter". The translation of the DefinedObjectClass in the Governor SHALL be added to the [children] or [attributes] of the
Legg Experimental [Page 46] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 46] RFC 4912 Abstract Syntax Notation X July 2007
<objectParameter> element item. The translation of the Object SHALL be added to the [children] or [attributes] of the <objectParameter> element item.
<objectParameter> element item. The translation of the Object SHALL be added to the [children] or [attributes] of the <objectParameter> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : ObjectSet" form is an element item with the [local name] "objectSetParameter". The translation of the DefinedObjectClass in the Governor SHALL be added to the [children] or [attributes] of the <objectSetParameter> element item. The translation of the ObjectSet SHALL be added to the [children] or [attributes] of the <objectSetParameter> element item.
The translation of a UserDefinedConstraintParameter of the "Governor : ObjectSet" form is an element item with the [local name] "objectSetParameter". The translation of the DefinedObjectClass in the Governor SHALL be added to the [children] or [attributes] of the <objectSetParameter> element item. The translation of the ObjectSet SHALL be added to the [children] or [attributes] of the <objectSetParameter> element item.
The translation of a UserDefinedConstraintParameter that is a Type is an element item with the [local name] "typeParameter". The translation of the Type SHALL be added to the [children] or [attributes] of the <typeParameter> element item.
The translation of a UserDefinedConstraintParameter that is a Type is an element item with the [local name] "typeParameter". The translation of the Type SHALL be added to the [children] or [attributes] of the <typeParameter> element item.
The translation of a UserDefinedConstraintParameter that is a DefinedObjectClass is an element item with the [local name] "classParameter". The translation of the DefinedObjectClass SHALL be added to the [children] or [attributes] of the <classParameter> element item.
The translation of a UserDefinedConstraintParameter that is a DefinedObjectClass is an element item with the [local name] "classParameter". The translation of the DefinedObjectClass SHALL be added to the [children] or [attributes] of the <classParameter> element item.
Example
Example
OCTET STRING (CONSTRAINED BY { -- contains the hash of the value -- MyType:myValue })
OCTET STRING (CONSTRAINED BY { -- contains the hash of the value -- MyType:myValue })
<type> <constrained type="asnx:OCTET-STRING"> <constrainedBy> <annotation> contains the hash of the value </annotation> <valueParameter type="tns:MyType" value="tns:myValue"/> </constrainedBy> </constrained> </type>
<type> <constrained type="asnx:OCTET-STRING"> <constrainedBy> <annotation> contains the hash of the value </annotation> <valueParameter type="tns:MyType" value="tns:myValue"/> </constrainedBy> </constrained> </type>
6.13.3. TableConstraint Translation
6.13.3. TableConstraint Translation
The translation of a TableConstraint that is a SimpleTableConstraint is an element item with the [local name] "table". The translation of the ObjectSet in the SimpleTableConstraint SHALL be added to the [children] or [attributes] of the <table> element item.
The translation of a TableConstraint that is a SimpleTableConstraint is an element item with the [local name] "table". The translation of the ObjectSet in the SimpleTableConstraint SHALL be added to the [children] or [attributes] of the <table> element item.
The translation of a TableConstraint that is a ComponentRelationConstraint is an element item with the [local name] "table". The translation of the DefinedObjectSet in the
The translation of a TableConstraint that is a ComponentRelationConstraint is an element item with the [local name] "table". The translation of the DefinedObjectSet in the
Legg Experimental [Page 47] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 47] RFC 4912 Abstract Syntax Notation X July 2007
ComponentRelationConstraint SHALL be added to the [children] or [attributes] of the <table> element item. The translation of each AtNotation in the ComponentRelationConstraint SHALL be appended to the [children] of the <table> element item.
ComponentRelationConstraint SHALL be added to the [children] or [attributes] of the <table> element item. The translation of each AtNotation in the ComponentRelationConstraint SHALL be appended to the [children] of the <table> element item.
The translation of an AtNotation is an element item with the [local name] "restrictBy". The [children] property of the <restrictBy> element item is set to the sequence of character items for the character string formed by the concatenation of zero, one, or more "../" strings, one for each Level in the AtNotation (including the empty one), followed by a solidus ('/', U+002F) separated list of qualified names for the expanded names of the NamedType instances [RXEREI] identified by the identifiers in the ComponentIdList in the AtNotation. If a NamedType is subject to an ATTRIBUTE or ATTRIBUTE-REF encoding instruction, or subject to a COMPONENT-REF encoding instruction that references a top-level NamedType that is subject to an ATTRIBUTE encoding instruction, then the qualified name for the expanded name is prefixed with the commercial at character ('@', U+0040). Leading and/or trailing white space character items MAY be added to the [children] of the <restrictBy> element item. White space character items MAY be added immediately before and/or after any character item for the solidus character ('/', U+002F).
The translation of an AtNotation is an element item with the [local name] "restrictBy". The [children] property of the <restrictBy> element item is set to the sequence of character items for the character string formed by the concatenation of zero, one, or more "../" strings, one for each Level in the AtNotation (including the empty one), followed by a solidus ('/', U+002F) separated list of qualified names for the expanded names of the NamedType instances [RXEREI] identified by the identifiers in the ComponentIdList in the AtNotation. If a NamedType is subject to an ATTRIBUTE or ATTRIBUTE-REF encoding instruction, or subject to a COMPONENT-REF encoding instruction that references a top-level NamedType that is subject to an ATTRIBUTE encoding instruction, then the qualified name for the expanded name is prefixed with the commercial at character ('@', U+0040). Leading and/or trailing white space character items MAY be added to the [children] of the <restrictBy> element item. White space character items MAY be added immediately before and/or after any character item for the solidus character ('/', U+002F).
Examples
Examples
ERROR.&Type({Errors}{@severity,@...errorId})
ERROR.&Type({Errors}{@severity,@...errorId})
<type> <constrained> <type> <fromClass class="tns:ERROR" fieldName="Type"/> </type> <table objectset="tns:Errors"> <restrictBy>severity</restrictBy> <restrictBy>../../../errorId</restrictBy> </table> </constrained> </type>
<type> <constrained> <type> <fromClass class="tns:ERROR" fieldName="Type"/> </type> <table objectset="tns:Errors"> <restrictBy>severity</restrictBy> <restrictBy>../../../errorId</restrictBy> </table> </constrained> </type>
SEQUENCE { id-att [RXER:NAME AS "ID"] [RXER:ATTRIBUTE] TYPE-IDENTIFIER.&id({AllTypes}), value TYPE-IDENTIFIER.&Type({AllTypes}{@id-att}) }
SEQUENCE { id-att [RXER:NAME AS "ID"] [RXER:ATTRIBUTE] TYPE-IDENTIFIER.&id({AllTypes}), value TYPE-IDENTIFIER.&Type({AllTypes}{@id-att}) }
<type> <sequence> <attribute name="ID" identifier="id-att">
<type> <sequence> <attribute name="ID" identifier="id-att">
Legg Experimental [Page 48] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 48] RFC 4912 Abstract Syntax Notation X July 2007
<type> <constrained> <type> <fromClass class="asnx:TYPE-IDENTIFIER" fieldName="id"/> </type> <table objectset="tns:AllTypes"/> </constrained> </type> </attribute> <element name="value"> <type> <constrained> <type> <fromClass class="asnx:TYPE-IDENTIFIER" fieldName="Type"/> </type> <table objectset="tns:AllTypes"> <restrictBy>@ID</restrictBy> </table> </constrained> </type> </element> </sequence> </type>
<type> <constrained> <type> <fromClass class="asnx:TYPE-IDENTIFIER" fieldName="id"/> </type> <table objectset="tns:AllTypes"/> </constrained> </type> </attribute> <element name="value"> <type> <constrained> <type> <fromClass class="asnx:TYPE-IDENTIFIER" fieldName="Type"/> </type> <table objectset="tns:AllTypes"> <restrictBy>@ID</restrictBy> </table> </constrained> </type> </element> </sequence> </type>
The <restrictBy> element item is required to be self-contained [RXER].
The <restrictBy> element item is required to be self-contained [RXER].
Aside: An element item is self-contained if all namespace prefixes used by the element item and its contents are declared within the element item.
Aside: An element item is self-contained if all namespace prefixes used by the element item and its contents are declared within the element item.
6.13.4. ContentsConstraint Translation
6.13.4. ContentsConstraint Translation
The translation of a ContentsConstraint is an element item with the [local name] "contents".
The translation of a ContentsConstraint is an element item with the [local name] "contents".
If the ContentsConstraint is of the "CONTAINING Type" form, then an element item with the [local name] "containing" SHALL be added to the [children] of the <contents> element item. The translation of the Type SHALL be added to the [children] or [attributes] of the <containing> element item.
If the ContentsConstraint is of the "CONTAINING Type" form, then an element item with the [local name] "containing" SHALL be added to the [children] of the <contents> element item. The translation of the Type SHALL be added to the [children] or [attributes] of the <containing> element item.
If the ContentsConstraint is of the "ENCODED BY Value" form, then an element item with the [local name] "encodedBy" SHALL be added to the [children] of the <contents> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <encodedBy> element item.
If the ContentsConstraint is of the "ENCODED BY Value" form, then an element item with the [local name] "encodedBy" SHALL be added to the [children] of the <contents> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <encodedBy> element item.
Legg Experimental [Page 49] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 49] RFC 4912 Abstract Syntax Notation X July 2007
If the ContentsConstraint is of the "CONTAINING Type ENCODED BY Value" form, then an element item with the [local name] "containing" and an element item with the [local name] "encodedBy" SHALL be added to the [children] of the <contents> element item. The translation of the Type SHALL be added to the [children] or [attributes] of the <containing> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <encodedBy> element item.
If the ContentsConstraint is of the "CONTAINING Type ENCODED BY Value" form, then an element item with the [local name] "containing" and an element item with the [local name] "encodedBy" SHALL be added to the [children] of the <contents> element item. The translation of the Type SHALL be added to the [children] or [attributes] of the <containing> element item. The translation of the Value SHALL be added to the [children] or [attributes] of the <encodedBy> element item.
Example
Example
OCTET STRING (CONTAINING MyType ENCODED BY { joint-iso-itu-t asn1(1) basic-encoding(1) })
OCTET STRING (CONTAINING MyType ENCODED BY { joint-iso-itu-t asn1(1) basic-encoding(1) })
<type> <constrained type="asnx:OCTET-STRING"> <contents> <containing type="tns:MyType"/> <encodedBy literalValue="2.1.1"/> </contents> </constrained> </type>
<type> <constrained type="asnx:OCTET-STRING"> <contents> <containing type="tns:MyType"/> <encodedBy literalValue="2.1.1"/> </contents> </constrained> </type>
6.13.5. ExceptionSpec Translation
6.13.5. ExceptionSpec Translation
The translation of an empty ExceptionSpec is empty.
The translation of an empty ExceptionSpec is empty.
The translation of a non-empty ExceptionSpec is an element item with the [local name] "exception".
The translation of a non-empty ExceptionSpec is an element item with the [local name] "exception".
If the ExceptionIdentification in a non-empty ExceptionSpec is a SignedNumber, then the translation of a notional INTEGER Type SHALL be added to the [children] or [attributes] of the <exception> element item, and the translation of a notional Value of the INTEGER type with the SignedNumber as its IntegerValue SHALL be added to the [children] or [attributes] of the <exception> element item.
If the ExceptionIdentification in a non-empty ExceptionSpec is a SignedNumber, then the translation of a notional INTEGER Type SHALL be added to the [children] or [attributes] of the <exception> element item, and the translation of a notional Value of the INTEGER type with the SignedNumber as its IntegerValue SHALL be added to the [children] or [attributes] of the <exception> element item.
If the ExceptionIdentification in a non-empty ExceptionSpec is a DefinedValue, then the translation of a notional INTEGER Type SHALL be added to the [children] or [attributes] of the <exception> element item, and the translation of the DefinedValue SHALL be added to the [children] or [attributes] of the <exception> element item.
If the ExceptionIdentification in a non-empty ExceptionSpec is a DefinedValue, then the translation of a notional INTEGER Type SHALL be added to the [children] or [attributes] of the <exception> element item, and the translation of the DefinedValue SHALL be added to the [children] or [attributes] of the <exception> element item.
Legg Experimental [Page 50] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 50] RFC 4912 Abstract Syntax Notation X July 2007
If the ExceptionIdentification in a non-empty ExceptionSpec is of the "Type : Value" form, then the translation of the Type SHALL be added to the [children] or [attributes] of the <exception> element item, and the translation of the Value SHALL be added to the [children] or [attributes] of the <exception> element item.
If the ExceptionIdentification in a non-empty ExceptionSpec is of the "Type : Value" form, then the translation of the Type SHALL be added to the [children] or [attributes] of the <exception> element item, and the translation of the Value SHALL be added to the [children] or [attributes] of the <exception> element item.
Examples
Examples
!10
!10
<exception type="asnx:INTEGER" literalValue="10"/>
<exception type="asnx:INTEGER" literalValue="10"/>
!myValue
!myValue
<exception type="asnx:INTEGER" value="tns:myValue"/>
<exception type="asnx:INTEGER" value="tns:myValue"/>
!PrintableString:"failure"
!PrintableString:"failure"
<exception type="asnx:PrintableString" literalValue="failure"/>
<exception type="asnx:PrintableString" literalValue="failure"/>
7. Translation of Values
7. Translation of Values
A Value in an ASN.1 specification is a mix of literal values (e.g., numbers and character strings) and notations for referencing defined values. Likewise, the ASN.X translation of a Value is a mix of markup for literal values and markup for referencing notations (notational values). A Value is categorized by the following definitions.
A Value in an ASN.1 specification is a mix of literal values (e.g., numbers and character strings) and notations for referencing defined values. Likewise, the ASN.X translation of a Value is a mix of markup for literal values and markup for referencing notations (notational values). A Value is categorized by the following definitions.
Definition (literal value): A Value is a literal value if and only if it is not a notational value.
Definition (literal value): A Value is a literal value if and only if it is not a notational value.
Definition (notational value): A Value is a notational value if and only if:
Definition (notational value): A Value is a notational value if and only if:
(1) the Value is a BuiltinValue, and
(1) the Value is a BuiltinValue, and
(a) the BuiltinValue is a TaggedValue and the Value in the TaggedValue is a notational value, or
(a) the BuiltinValue is a TaggedValue and the Value in the TaggedValue is a notational value, or
(b) the BuiltinValue is a SequenceValue or SetValue with a ComponentValueList that contains a NamedValue where the Value in the NamedValue is a notational value and the translation of the corresponding NamedType (from the governing type of the outer Value) is not an <element> or <component> element item, or
(b) the BuiltinValue is a SequenceValue or SetValue with a ComponentValueList that contains a NamedValue where the Value in the NamedValue is a notational value and the translation of the corresponding NamedType (from the governing type of the outer Value) is not an <element> or <component> element item, or
Legg Experimental [Page 51] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 51] RFC 4912 Abstract Syntax Notation X July 2007
(c) the BuiltinValue is a ChoiceValue where the Value of the ChoiceValue is a notational value and the translation of the NamedType corresponding to the identifier in the ChoiceValue is not an <element> or <component> element item, or
(c) the BuiltinValue is a ChoiceValue where the Value of the ChoiceValue is a notational value and the translation of the NamedType corresponding to the identifier in the ChoiceValue is not an <element> or <component> element item, or
(d) the BuiltinValue is a SequenceOfValue or SetOfValue with a NamedValueList that contains a NamedValue where the Value of the NamedValue is a notational value and the translation of the corresponding NamedType (from the governing type of the outer Value) is not an <element> or <component> element item, or
(d) the BuiltinValue is a SequenceOfValue or SetOfValue with a NamedValueList that contains a NamedValue where the Value of the NamedValue is a notational value and the translation of the corresponding NamedType (from the governing type of the outer Value) is not an <element> or <component> element item, or
(2) the Value is a ReferencedValue, and
(2) the Value is a ReferencedValue, and
(a) the ReferencedValue is a ValueFromObject, or
(a) the ReferencedValue is a ValueFromObject, or
(b) the ReferencedValue is a DefinedValue, and
(b) the ReferencedValue is a DefinedValue, and
(i) the DefinedValue is a valuereference (not a DummyReference) or an ExternalValueReference, or
(i) the DefinedValue is a valuereference (not a DummyReference) or an ExternalValueReference, or
(ii) the DefinedValue is a DummyReference or ParameterizedValue and the substitute definition for the DummyReference or ParameterizedValue (see Section 13) is a notational value, or
(ii) the DefinedValue is a DummyReference or ParameterizedValue and the substitute definition for the DummyReference or ParameterizedValue (see Section 13) is a notational value, or
(iii) the DefinedValue is a DummyReference or ParameterizedValue where the translation of the DummyReference or ParameterizedValue will use a fully expanded reference (see Section 13), or
(iii) the DefinedValue is a DummyReference or ParameterizedValue where the translation of the DummyReference or ParameterizedValue will use a fully expanded reference (see Section 13), or
(3) the Value is an ObjectClassFieldValue, and
(3) the Value is an ObjectClassFieldValue, and
(a) the ObjectClassFieldValue is an OpenTypeFieldVal, or
(a) the ObjectClassFieldValue is an OpenTypeFieldVal, or
(b) the ObjectClassFieldValue is a FixedTypeFieldVal, and
(b) the ObjectClassFieldValue is a FixedTypeFieldVal, and
(i) the FixedTypeFieldVal is a BuiltinValue that satisfies case (1), or
(i) the FixedTypeFieldVal is a BuiltinValue that satisfies case (1), or
(ii) the FixedTypeFieldVal is a ReferencedValue that satisfies case (2).
(ii) the FixedTypeFieldVal is a ReferencedValue that satisfies case (2).
A literal value that is a BuiltinValue that is a SequenceValue, SetValue, ChoiceValue, SequenceOfValue, or SetOfValue MAY be translated as a notational value.
A literal value that is a BuiltinValue that is a SequenceValue, SetValue, ChoiceValue, SequenceOfValue, or SetOfValue MAY be translated as a notational value.
Legg Experimental [Page 52] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 52] RFC 4912 Abstract Syntax Notation X July 2007
Definition (directly nested): A notational value is directly nested (within a literal value) if the innermost enclosing Value is a literal value.
Definition (directly nested): A notational value is directly nested (within a literal value) if the innermost enclosing Value is a literal value.
7.1. Translation of Literal Values
7.1. Translation of Literal Values
The translation of a literal value is either the attribute form translation of a literal value, or the element form translation of a literal value.
The translation of a literal value is either the attribute form translation of a literal value, or the element form translation of a literal value.
The attribute form translation of a literal value is an attribute item with the [local name] "literalValue". The [normalized value] of this attribute item is the RXER character data translation [RXER] of the literal value.
The attribute form translation of a literal value is an attribute item with the [local name] "literalValue". The [normalized value] of this attribute item is the RXER character data translation [RXER] of the literal value.
The attribute form translation of a literal value SHALL NOT be used if:
The attribute form translation of a literal value SHALL NOT be used if:
(1) the RXER Infoset translation of the literal value is not a character data translation [RXER] or is a character data translation that contains qualified names [XMLNS10][XMLNS11], or
(1) the RXER Infoset translation of the literal value is not a character data translation [RXER] or is a character data translation that contains qualified names [XMLNS10][XMLNS11], or
(2) attribute form translations of Value have been explicitly disallowed in the context where the literal value appears, or
(2) attribute form translations of Value have been explicitly disallowed in the context where the literal value appears, or
(3) the literal value has a nested notational value.
(3) the literal value has a nested notational value.
The element form translation of a literal value is an element item with the [local name] "literalValue". The [children] and [attributes] of the <literalValue> element item are set to the RXER Infoset translation of the literal value, except that a value of the EXTERNAL type (or a subtype thereof) is translated according to the associated type defined in Clause 34.5 of X.680 [X.680]. In addition, where the [children] and [attributes] of an element item in the translation correspond to a directly nested notational value, the translation specified in Section 7.2 MUST be used for the [children] and [attributes] of that element item, and an attribute item with the [local name] "literal", [namespace name] "urn:ietf:params:xml:ns:asnx", and [normalized value] "false" or "0" (i.e., asnx:literal="false") MUST be added to the [attributes] of that element item.
The element form translation of a literal value is an element item with the [local name] "literalValue". The [children] and [attributes] of the <literalValue> element item are set to the RXER Infoset translation of the literal value, except that a value of the EXTERNAL type (or a subtype thereof) is translated according to the associated type defined in Clause 34.5 of X.680 [X.680]. In addition, where the [children] and [attributes] of an element item in the translation correspond to a directly nested notational value, the translation specified in Section 7.2 MUST be used for the [children] and [attributes] of that element item, and an attribute item with the [local name] "literal", [namespace name] "urn:ietf:params:xml:ns:asnx", and [normalized value] "false" or "0" (i.e., asnx:literal="false") MUST be added to the [attributes] of that element item.
Each outermost <literalValue> element item is required to be self-contained [RXER].
Each outermost <literalValue> element item is required to be self-contained [RXER].
Aside: An element item is self-contained if all namespace prefixes used by the element item and its contents are declared within the element item.
Aside: An element item is self-contained if all namespace prefixes used by the element item and its contents are declared within the element item.
Legg Experimental [Page 53] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 53] RFC 4912 Abstract Syntax Notation X July 2007
Aside: A <literalValue> element item nested within another <literalValue> element item is not required to be self-contained.
Aside: A <literalValue> element item nested within another <literalValue> element item is not required to be self-contained.
An attribute item with the [local name] "literal", [namespace name] "urn:ietf:params:xml:ns:asnx" and [normalized value] "true" or "1" (i.e., asnx:literal="true") MAY be added to the [attributes] of the <literalValue> element item and/or any nested element item with content and attributes that correspond to a literal value.
An attribute item with the [local name] "literal", [namespace name] "urn:ietf:params:xml:ns:asnx" and [normalized value] "true" or "1" (i.e., asnx:literal="true") MAY be added to the [attributes] of the <literalValue> element item and/or any nested element item with content and attributes that correspond to a literal value.
Aside: The asnx:literal attribute operates as a switch that indicates whether the content and other attributes of the element containing the attribute are interpreted as ASN.X notation (a notational value) or as an RXER encoding (a literal value).
Aside: The asnx:literal attribute operates as a switch that indicates whether the content and other attributes of the element containing the attribute are interpreted as ASN.X notation (a notational value) or as an RXER encoding (a literal value).
Example
Example
zero INTEGER ::= 0
zero INTEGER ::= 0
<namedValue name="zero" type="asnx:INTEGER" literalValue="0"/>
<namedValue name="zero" type="asnx:INTEGER" literalValue="0"/>
OR
OR
<namedValue name="zero" type="asnx:INTEGER"> <literalValue>0</literalValue> </namedValue>
<namedValue name="zero" type="asnx:INTEGER"> <literalValue>0</literalValue> </namedValue>
From the perspective of an ASN.X module as the RXER encoding of an ASN.1 value (an abstract value of the ModuleDefinition type in Appendix A), the type of the <literalValue> element is the unconstrained Markup type [RXER], not the governing type of the Value according to the ASN.1 specification. This means that the Infoset representation of the <literalValue> element must be preserved in re-encodings of the ASN.X module.
From the perspective of an ASN.X module as the RXER encoding of an ASN.1 value (an abstract value of the ModuleDefinition type in Appendix A), the type of the <literalValue> element is the unconstrained Markup type [RXER], not the governing type of the Value according to the ASN.1 specification. This means that the Infoset representation of the <literalValue> element must be preserved in re-encodings of the ASN.X module.
Similarly, the type of the literalValue attribute is a UTF8String, not the governing type of the Value according to the ASN.1 specification. This means that the exact characters of the [normalized value] of the attribute must be preserved in re-encodings of the ASN.X module.
Similarly, the type of the literalValue attribute is a UTF8String, not the governing type of the Value according to the ASN.1 specification. This means that the exact characters of the [normalized value] of the attribute must be preserved in re-encodings of the ASN.X module.
7.2. Translation of Notational Values
7.2. Translation of Notational Values
The translation of a notational value is the translation of the BuiltinValue, ReferencedValue, or ObjectClassFieldValue in the notational value.
The translation of a notational value is the translation of the BuiltinValue, ReferencedValue, or ObjectClassFieldValue in the notational value.
The translation of a ReferencedValue is the translation of the DefinedValue or ValueFromObject in the ReferencedValue.
The translation of a ReferencedValue is the translation of the DefinedValue or ValueFromObject in the ReferencedValue.
Legg Experimental [Page 54] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 54] RFC 4912 Abstract Syntax Notation X July 2007
The translation for each of these cases is described as creating an element item with the [local name] "value", which is appropriate for a notational value that stands on its own. However, a notational value may also be directly nested within a literal value, in which case the [local name] will be determined according to RXER and the governing ASN.1 type of the enclosing literal value.
The translation for each of these cases is described as creating an element item with the [local name] "value", which is appropriate for a notational value that stands on its own. However, a notational value may also be directly nested within a literal value, in which case the [local name] will be determined according to RXER and the governing ASN.1 type of the enclosing literal value.
Aside: In the latter case, the element item will also have a literal attribute item with the [normalized value] "false" or "0".
Aside: In the latter case, the element item will also have a literal attribute item with the [normalized value] "false" or "0".
A notational value that is not directly nested within a literal value MAY instead have the [local name] "literalValue" provided an attribute item with the [local name] "literal", [namespace name] "urn:ietf:params:xml:ns:asnx", and [normalized value] "false" or "0" is added to the [attributes] of the <literalValue> element item.
A notational value that is not directly nested within a literal value MAY instead have the [local name] "literalValue" provided an attribute item with the [local name] "literal", [namespace name] "urn:ietf:params:xml:ns:asnx", and [normalized value] "false" or "0" is added to the [attributes] of the <literalValue> element item.
Examples
Examples
nothing INTEGER ::= zero
nothing INTEGER ::= zero
<namedValue name="nothing" type="asnx:INTEGER" value="tns:zero"/>
<namedValue name="nothing" type="asnx:INTEGER" value="tns:zero"/>
OR
OR
<namedValue name="nothing" type="asnx:INTEGER"> <value ref="tns:zero"/><!-- A notational value. --> </namedValue>
<namedValue name="nothing" type="asnx:INTEGER"> <value ref="tns:zero"/><!-- A notational value. --> </namedValue>
OR
OR
<namedValue name="nothing" type="asnx:INTEGER"> <literalValue xmlns:asnx="urn:ietf:params:xml:ns:asnx" xmlns:tns="http://example.com/ns/MyModule" asnx:literal="false" ref="tns:zero"/><!-- A notational value. --> </namedValue>
<namedValue name="nothing" type="asnx:INTEGER"> <literalValue xmlns:asnx="urn:ietf:params:xml:ns:asnx" xmlns:tns="http://example.com/ns/MyModule" asnx:literal="false" ref="tns:zero"/><!-- A notational value. --> </namedValue>
integerList SEQUENCE OF number INTEGER ::= { zero, 3, 7 }
integerList SEQUENCE OF number INTEGER ::= { zero, 3, 7 }
<namedValue name="integerList"> <type> <sequenceOf> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type> <literalValue xmlns:asnx="urn:ietf:params:xml:ns:asnx" xmlns:tns="http://example.com/ns/MyModule"> <number asnx:literal="false"
<namedValue name="integerList"> <type> <sequenceOf> <element name="number" type="asnx:INTEGER"/> </sequenceOf> </type> <literalValue xmlns:asnx="urn:ietf:params:xml:ns:asnx" xmlns:tns="http://example.com/ns/MyModule"> <number asnx:literal="false"
Legg Experimental [Page 55] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 55] RFC 4912 Abstract Syntax Notation X July 2007
ref="tns:zero"/><!-- A notational value. --> <number>3</number><!-- A literal value. --> <number>7</number><!-- A literal value. --> </literalValue> </namedValue>
ref="tns:zero"/><!-- A notational value. --> <number>3</number><!-- A literal value. --> <number>7</number><!-- A literal value. --> </literalValue> </namedValue>
7.2.1. DefinedValue Translation
7.2.1. DefinedValue Translation
If a DefinedValue is a valuereference (not a DummyReference) or an ExternalValueReference, then the translation of the DefinedValue is either the attribute form translation of a value reference, or the element form translation of a value reference.
If a DefinedValue is a valuereference (not a DummyReference) or an ExternalValueReference, then the translation of the DefinedValue is either the attribute form translation of a value reference, or the element form translation of a value reference.
The attribute form translation of a value reference is an attribute item with the [local name] "value". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced value definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
The attribute form translation of a value reference is an attribute item with the [local name] "value". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced value definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
The element form translation of a value reference is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <value> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced value definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <value> element item; otherwise, if the module containing the referenced value definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <value> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the value definition referenced by the DefinedValue.
The element form translation of a value reference is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <value> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced value definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <value> element item; otherwise, if the module containing the referenced value definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <value> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the value definition referenced by the DefinedValue.
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
Usually the translator is free to choose either an attribute form or element form translation for a DefinedValue; however, in some contexts attribute forms of Value are explicitly disallowed. In
Usually the translator is free to choose either an attribute form or element form translation for a DefinedValue; however, in some contexts attribute forms of Value are explicitly disallowed. In
Legg Experimental [Page 56] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 56] RFC 4912 Abstract Syntax Notation X July 2007
particular, the attribute form translation SHALL NOT be used for a DefinedValue in a ReferencedValue in a Value that is directly nested in a literal value.
particular, the attribute form translation SHALL NOT be used for a DefinedValue in a ReferencedValue in a Value that is directly nested in a literal value.
If a DefinedValue is a DummyReference or ParameterizedValue, then the translation of the DefinedValue is the translation of that DummyReference or ParameterizedValue (see Section 13).
If a DefinedValue is a DummyReference or ParameterizedValue, then the translation of the DefinedValue is the translation of that DummyReference or ParameterizedValue (see Section 13).
7.2.2. BuiltinValue Translation
7.2.2. BuiltinValue Translation
The translation of a BuiltinValue is the translation of the ChoiceValue, SequenceValue, SetValue, SequenceOfValue, SetOfValue, or TaggedValue in the BuiltinValue.
The translation of a BuiltinValue is the translation of the ChoiceValue, SequenceValue, SetValue, SequenceOfValue, SetOfValue, or TaggedValue in the BuiltinValue.
Aside: There are other possibilities for a BuiltinValue, but these will all be literal values. This section applies to a BuiltinValue that is a notational value.
Aside: There are other possibilities for a BuiltinValue, but these will all be literal values. This section applies to a BuiltinValue that is a notational value.
The translation of a TaggedValue is the translation of the Value in the TaggedValue (which is necessarily a notational value).
The translation of a TaggedValue is the translation of the Value in the TaggedValue (which is necessarily a notational value).
The translation of a ChoiceValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An element item with the same [local name] (i.e., "attribute", "element", "component", "group", or "member") as the translation of the NamedType corresponding to the identifier in the ChoiceValue SHALL be appended to the [children] of the <value> element item. An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, or <member> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType. The translation of the Value in the ChoiceValue SHALL be added to the [children] or [attributes] of the <attribute>, <element>, <component>, <group>, or <member> element item.
The translation of a ChoiceValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An element item with the same [local name] (i.e., "attribute", "element", "component", "group", or "member") as the translation of the NamedType corresponding to the identifier in the ChoiceValue SHALL be appended to the [children] of the <value> element item. An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, or <member> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType. The translation of the Value in the ChoiceValue SHALL be added to the [children] or [attributes] of the <attribute>, <element>, <component>, <group>, or <member> element item.
The translation of a SequenceValue or SetValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. If the SequenceValue or SetValue has a ComponentValueList, then the translation of each NamedValue nested in the ComponentValueList SHALL be appended to the [children] of the <value> element item in the order in which their corresponding NamedType instances appear in the definition of the governing type.
The translation of a SequenceValue or SetValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. If the SequenceValue or SetValue has a ComponentValueList, then the translation of each NamedValue nested in the ComponentValueList SHALL be appended to the [children] of the <value> element item in the order in which their corresponding NamedType instances appear in the definition of the governing type.
Legg Experimental [Page 57] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 57] RFC 4912 Abstract Syntax Notation X July 2007
The translation of a SequenceOfValue or SetOfValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item.
The translation of a SequenceOfValue or SetOfValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item.
If the SequenceOfValue or SetOfValue has a NamedValueList, then the translation of each NamedValue nested in the NamedValueList SHALL be appended to the [children] of the <value> element item.
If the SequenceOfValue or SetOfValue has a NamedValueList, then the translation of each NamedValue nested in the NamedValueList SHALL be appended to the [children] of the <value> element item.
If the SequenceOfValue or SetOfValue has a ValueList, then an element item with the same [local name] (i.e., "element" or "component") as the element item in the [children] of the <sequenceOf> or <setOf> element item in the translation of the governing type SHALL be appended to the [children] of the <value> element item for each Value nested in the ValueList. An attribute item with the [local name] "name" and [normalized value] "item" SHALL be added to the [attributes] of the <element> or <component> element item. The translation of the Value (from the ValueList) SHALL be added to the [children] or [attributes] of the <element> or <component> element item.
If the SequenceOfValue or SetOfValue has a ValueList, then an element item with the same [local name] (i.e., "element" or "component") as the element item in the [children] of the <sequenceOf> or <setOf> element item in the translation of the governing type SHALL be appended to the [children] of the <value> element item for each Value nested in the ValueList. An attribute item with the [local name] "name" and [normalized value] "item" SHALL be added to the [attributes] of the <element> or <component> element item. The translation of the Value (from the ValueList) SHALL be added to the [children] or [attributes] of the <element> or <component> element item.
The translation of a NamedValue is an element item with the same [local name] as the translation of the corresponding NamedType, i.e., "attribute", "element", "component", "group", "item", or "simpleContent". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType. The translation of the Value in the NamedValue SHALL be added to the [children] or [attributes] of the element item.
The translation of a NamedValue is an element item with the same [local name] as the translation of the corresponding NamedType, i.e., "attribute", "element", "component", "group", "item", or "simpleContent". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType. The translation of the Value in the NamedValue SHALL be added to the [children] or [attributes] of the element item.
Examples
Examples
-- This is the governing type. MyType ::= SEQUENCE { one [ATTRIBUTE] INTEGER, two INTEGER, three [ATTRIBUTE][LIST] SEQUENCE OF number INTEGER }
-- This is the governing type. MyType ::= SEQUENCE { one [ATTRIBUTE] INTEGER, two INTEGER, three [ATTRIBUTE][LIST] SEQUENCE OF number INTEGER }
<namedType name="MyType"> <type> <sequence> <attribute name="one" type="asnx:INTEGER"/> <element name="two" type="asnx:INTEGER"/> <attribute name="three"> <type> <list>
<namedType name="MyType"> <type> <sequence> <attribute name="one" type="asnx:INTEGER"/> <element name="two" type="asnx:INTEGER"/> <attribute name="three"> <type> <list>
Legg Experimental [Page 58] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 58] RFC 4912 Abstract Syntax Notation X July 2007
<item name="number" type="asnx:INTEGER"/> </list> </type> </attribute> </sequence> </type> </namedType>
<item name="number" type="asnx:INTEGER"/> </list> </type> </attribute> </sequence> </type> </namedType>
myValue1 MyType ::= { one 456, two 123, three { number 123, number 456 } } -- All literal values.
myValue1 MyType ::= { one 456, two 123, three { number 123, number 456 } } -- All literal values.
<namedValue name="myValue1" type="tns:MyType"> <literalValue one="456" three="123 456"> <two>123</two> </literalValue> </namedValue>
<namedValue name="myValue1" type="tns:MyType"> <literalValue one="456" three="123 456"> <two>123</two> </literalValue> </namedValue>
myValue2 MyType ::= { one 456, two myObject.&number, -- only the value for component "two" is a notational value three { number 123, number 456 } }
myValue2 MyType ::= { one 456, two myObject.&number, -- only the value for component "two" is a notational value three { number 123, number 456 } }
<namedValue name="myValue2" type="tns:MyType"> <literalValue xmlns:asnx="urn:ietf:params:xml:ns:asnx" xmlns:tns="http://example.com/ns/MyModule" one="456" three="123 456"> <two asnx:literal="false"> <fromObjects object="tns:myObject" fieldName="number"/> </two> </literalValue> </namedValue>
<namedValue name="myValue2" type="tns:MyType"> <literalValue xmlns:asnx="urn:ietf:params:xml:ns:asnx" xmlns:tns="http://example.com/ns/MyModule" one="456" three="123 456"> <two asnx:literal="false"> <fromObjects object="tns:myObject" fieldName="number"/> </two> </literalValue> </namedValue>
myValue3 MyType ::= { one myObject.&number, two 123, three { number 123, number myObject.&number } }
myValue3 MyType ::= { one myObject.&number, two 123, three { number 123, number myObject.&number } }
<namedValue name="myValue3" type="tns:MyType"> <value> <attribute name="one"> <value>
<namedValue name="myValue3" type="tns:MyType"> <value> <attribute name="one"> <value>
Legg Experimental [Page 59] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 59] RFC 4912 Abstract Syntax Notation X July 2007
<fromObjects object="tns:myObject" fieldName="number"/> </value> </attribute> <element name="two" literalValue="123"/> <attribute name="three"> <value> <item name="number" literalValue="123"/> <item name="number"> <value> <fromObjects object="tns:myObject" fieldName="number"/> </value> </item> </value> </attribute> </value> </namedValue>
<fromObjects object="tns:myObject" fieldName="number"/> </value> </attribute> <element name="two" literalValue="123"/> <attribute name="three"> <value> <item name="number" literalValue="123"/> <item name="number"> <value> <fromObjects object="tns:myObject" fieldName="number"/> </value> </item> </value> </attribute> </value> </namedValue>
7.2.3. ValueFromObject Translation
7.2.3. ValueFromObject Translation
The translation of a ValueFromObject is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <value> element item.
The translation of a ValueFromObject is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <value> element item.
The translation of the ReferencedObjects instance in the ValueFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the ReferencedObjects instance in the ValueFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the FieldName in the ValueFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the FieldName in the ValueFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
7.2.4. ObjectClassFieldValue Translation
7.2.4. ObjectClassFieldValue Translation
If an ObjectClassFieldValue is a BuiltinValue in a FixedTypeFieldVal, then the translation of the ObjectClassFieldValue is the translation of the BuiltinValue.
If an ObjectClassFieldValue is a BuiltinValue in a FixedTypeFieldVal, then the translation of the ObjectClassFieldValue is the translation of the BuiltinValue.
If an ObjectClassFieldValue is a ReferencedValue in a FixedTypeFieldVal, then the translation of the ObjectClassFieldValue is the translation of the ReferencedValue.
If an ObjectClassFieldValue is a ReferencedValue in a FixedTypeFieldVal, then the translation of the ObjectClassFieldValue is the translation of the ReferencedValue.
If an ObjectClassFieldValue is an OpenTypeFieldVal, then the translation of the ObjectClassFieldValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An element item with the [local name] "openTypeValue" SHALL be
If an ObjectClassFieldValue is an OpenTypeFieldVal, then the translation of the ObjectClassFieldValue is an element item with the [local name] "value". An element item with the [local name] "annotation" MAY be added to the [children] of the <value> element item. An element item with the [local name] "openTypeValue" SHALL be
Legg Experimental [Page 60] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 60] RFC 4912 Abstract Syntax Notation X July 2007
appended to the [children] of the <value> element item. The translation of the Type in the OpenTypeFieldVal SHALL be added to the [children] or [attributes] of the <openTypeValue> element item. The translation of the Value in the OpenTypeFieldVal SHALL be added to the [children] or [attributes] of the <openTypeValue> element item.
appended to the [children] of the <value> element item. The translation of the Type in the OpenTypeFieldVal SHALL be added to the [children] or [attributes] of the <openTypeValue> element item. The translation of the Value in the OpenTypeFieldVal SHALL be added to the [children] or [attributes] of the <openTypeValue> element item.
Example
Example
myValue TYPE-IDENTIFIER.&Type ::= INTEGER:123
myValue TYPE-IDENTIFIER.&Type ::= INTEGER:123
<namedValue name="myValue"> <type> <fromClass class="asnx:TYPE-IDENTIFIER" fieldName="Type"/> </type> <value> <openTypeValue type="asnx:INTEGER" literalValue="123"/> </value> </namedValue>
<namedValue name="myValue"> <type> <fromClass class="asnx:TYPE-IDENTIFIER" fieldName="Type"/> </type> <value> <openTypeValue type="asnx:INTEGER" literalValue="123"/> </value> </namedValue>
8. Translation of Value Sets
8. Translation of Value Sets
The translation of a ValueSet is an element item with the [local name] "valueSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <valueSet> element item. The translation of the ElementSetSpecs instance in the ValueSet SHALL be appended to the [children] of the <valueSet> element item.
The translation of a ValueSet is an element item with the [local name] "valueSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <valueSet> element item. The translation of the ElementSetSpecs instance in the ValueSet SHALL be appended to the [children] of the <valueSet> element item.
Example
Example
{ 1 | 3..7, ..., 9..19 EXCEPT ( 11 | 12 ) }
{ 1 | 3..7, ..., 9..19 EXCEPT ( 11 | 12 ) }
<valueSet> <union> <literalValue>1</literalValue> <range> <minInclusive literalValue="3"/> <maxInclusive literalValue="7"/> </range> </union> <extension> <all> <range> <minInclusive literalValue="9"/> <maxInclusive literalValue="19"/> </range> <except> <union>
<valueSet> <union> <literalValue>1</literalValue> <range> <minInclusive literalValue="3"/> <maxInclusive literalValue="7"/> </range> </union> <extension> <all> <range> <minInclusive literalValue="9"/> <maxInclusive literalValue="19"/> </range> <except> <union>
Legg Experimental [Page 61] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 61] RFC 4912 Abstract Syntax Notation X July 2007
<literalValue>11</literalValue> <literalValue>12</literalValue> </union> </except> </all> </extension> </valueSet>
<literalValue>11</literalValue> <literalValue>12</literalValue> </union> </except> </all> </extension> </valueSet>
8.1. ElementSetSpecs Translation
8.1. ElementSetSpecs Translation
The translation of an ElementSetSpecs instance where the ellipsis ("...") is not present is the translation of the ElementSetSpec in the RootElementSetSpec.
The translation of an ElementSetSpecs instance where the ellipsis ("...") is not present is the translation of the ElementSetSpec in the RootElementSetSpec.
The translation of an ElementSetSpecs instance where the ellipsis ("...") is present is the translation of the ElementSetSpec in the RootElementSetSpec followed by an element item with the [local name] "extension". If an AdditionalElementSetSpec is present in the ElementSetSpecs, then the translation of the ElementSetSpec in the AdditionalElementSetSpec SHALL be added to the [children] of the <extension> element item.
The translation of an ElementSetSpecs instance where the ellipsis ("...") is present is the translation of the ElementSetSpec in the RootElementSetSpec followed by an element item with the [local name] "extension". If an AdditionalElementSetSpec is present in the ElementSetSpecs, then the translation of the ElementSetSpec in the AdditionalElementSetSpec SHALL be added to the [children] of the <extension> element item.
8.2. ElementSetSpec Translation
8.2. ElementSetSpec Translation
If an ElementSetSpec is of the "ALL Exclusions" form, then the translation of the ElementSetSpec is an element item with the [local name] "all". An element item with the [local name] "except" SHALL be added to the [children] of the <all> element item. The translation of the Elements instance in the Exclusions SHALL be added to the [children] of the <except> element item.
If an ElementSetSpec is of the "ALL Exclusions" form, then the translation of the ElementSetSpec is an element item with the [local name] "all". An element item with the [local name] "except" SHALL be added to the [children] of the <all> element item. The translation of the Elements instance in the Exclusions SHALL be added to the [children] of the <except> element item.
If an ElementSetSpec is a Unions instance, then the translation of the ElementSetSpec is the translation of the Unions instance.
If an ElementSetSpec is a Unions instance, then the translation of the ElementSetSpec is the translation of the Unions instance.
If a Unions instance has only one nested Intersections instance, then the translation of the Unions instance is the translation of that Intersections instance; otherwise, the translation of the Unions instance is an element item with the [local name] "union". In the latter case, the translation of each nested Intersections instance SHALL be appended to the [children] of the <union> element item.
If a Unions instance has only one nested Intersections instance, then the translation of the Unions instance is the translation of that Intersections instance; otherwise, the translation of the Unions instance is an element item with the [local name] "union". In the latter case, the translation of each nested Intersections instance SHALL be appended to the [children] of the <union> element item.
If an Intersections instance has only one nested IntersectionElements instance, then the translation of the Intersections instance is the translation of that IntersectionElements instance; otherwise, the translation of the Intersections instance is an element item with the [local name] "intersection". In the latter case, the translation of each nested IntersectionElements instance SHALL be appended to the [children] of the <intersection> element item.
If an Intersections instance has only one nested IntersectionElements instance, then the translation of the Intersections instance is the translation of that IntersectionElements instance; otherwise, the translation of the Intersections instance is an element item with the [local name] "intersection". In the latter case, the translation of each nested IntersectionElements instance SHALL be appended to the [children] of the <intersection> element item.
Legg Experimental [Page 62] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 62] RFC 4912 Abstract Syntax Notation X July 2007
If an IntersectionElements instance is of the "Elems Exclusions" form, then the translation of the IntersectionElements instance is an element item with the [local name] "all". The translation of the Elements instance in the Elems SHALL be added to the [children] of the <all> element item. An element item with the [local name] "except" SHALL be appended to the [children] of the <all> element item. The translation of the Elements instance in the Exclusions SHALL be added to the [children] of the <except> element item.
If an IntersectionElements instance is of the "Elems Exclusions" form, then the translation of the IntersectionElements instance is an element item with the [local name] "all". The translation of the Elements instance in the Elems SHALL be added to the [children] of the <all> element item. An element item with the [local name] "except" SHALL be appended to the [children] of the <all> element item. The translation of the Elements instance in the Exclusions SHALL be added to the [children] of the <except> element item.
If an IntersectionElements instance is an Elements instance, then the translation of the IntersectionElements instance is the translation of the Elements instance.
If an IntersectionElements instance is an Elements instance, then the translation of the IntersectionElements instance is the translation of the Elements instance.
The translation of an Elements instance is the translation of the SubtypeElements, ObjectSetElements, or ElementSetSpec in the Elements instance.
The translation of an Elements instance is the translation of the SubtypeElements, ObjectSetElements, or ElementSetSpec in the Elements instance.
8.3. SubtypeElements Translation
8.3. SubtypeElements Translation
If a SubtypeElements instance is a SingleValue, then the translation of the SubtypeElements instance is the translation of the Value in the SingleValue, except that an attribute form of the Value translation SHALL NOT be used.
If a SubtypeElements instance is a SingleValue, then the translation of the SubtypeElements instance is the translation of the Value in the SingleValue, except that an attribute form of the Value translation SHALL NOT be used.
If a SubtypeElements instance is a ContainedSubtype, then the translation of the SubtypeElements instance is an element item with the [local name] "includes". The translation of the Type in the ContainedSubtype SHALL be added to the [children] or [attributes] of the <includes> element item.
If a SubtypeElements instance is a ContainedSubtype, then the translation of the SubtypeElements instance is an element item with the [local name] "includes". The translation of the Type in the ContainedSubtype SHALL be added to the [children] or [attributes] of the <includes> element item.
If a SubtypeElements instance is a ValueRange, then the translation of the SubtypeElements instance is the translation of the ValueRange.
If a SubtypeElements instance is a ValueRange, then the translation of the SubtypeElements instance is the translation of the ValueRange.
If a SubtypeElements instance is a SizeConstraint, then the translation of the SubtypeElements instance is an element item with the [local name] "size". The translation of the Constraint in the SizeConstraint SHALL be added to the [children] of the <size> element item.
If a SubtypeElements instance is a SizeConstraint, then the translation of the SubtypeElements instance is an element item with the [local name] "size". The translation of the Constraint in the SizeConstraint SHALL be added to the [children] of the <size> element item.
If a SubtypeElements instance is a TypeConstraint, then the translation of the SubtypeElements instance is an element item with the [local name] "typeConstraint". The translation of the Type in the TypeConstraint SHALL be added to the [children] or [attributes] of the <typeConstraint> element item.
If a SubtypeElements instance is a TypeConstraint, then the translation of the SubtypeElements instance is an element item with the [local name] "typeConstraint". The translation of the Type in the TypeConstraint SHALL be added to the [children] or [attributes] of the <typeConstraint> element item.
Legg Experimental [Page 63] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 63] RFC 4912 Abstract Syntax Notation X July 2007
If a SubtypeElements instance is a PermittedAlphabet, then the translation of the SubtypeElements instance is an element item with the [local name] "from". The translation of the Constraint in the PermittedAlphabet SHALL be added to the [children] of the <from> element item.
If a SubtypeElements instance is a PermittedAlphabet, then the translation of the SubtypeElements instance is an element item with the [local name] "from". The translation of the Constraint in the PermittedAlphabet SHALL be added to the [children] of the <from> element item.
If a SubtypeElements instance is an InnerTypeConstraints instance, then the translation of the SubtypeElements instance is the translation of the InnerTypeConstraints instance.
If a SubtypeElements instance is an InnerTypeConstraints instance, then the translation of the SubtypeElements instance is the translation of the InnerTypeConstraints instance.
If a SubtypeElements instance is a PatternConstraint, then the translation of the SubtypeElements instance is an element item with the [local name] "pattern". The translation of the Value in the PatternConstraint SHALL be added to the [children] or [attributes] of the <pattern> element item.
If a SubtypeElements instance is a PatternConstraint, then the translation of the SubtypeElements instance is an element item with the [local name] "pattern". The translation of the Value in the PatternConstraint SHALL be added to the [children] or [attributes] of the <pattern> element item.
8.3.1. ValueRange Translation
8.3.1. ValueRange Translation
The translation of a ValueRange is an element item with the [local name] "range".
The translation of a ValueRange is an element item with the [local name] "range".
If the LowerEndpoint in the ValueRange is of the "LowerEndValue <" form, then an element item with the [local name] "minExclusive" SHALL be added to the [children] of the <range> element item. If the LowerEndValue is a Value, then the translation of the Value SHALL be added to the [children] or [attributes] of the <minExclusive> element item.
If the LowerEndpoint in the ValueRange is of the "LowerEndValue <" form, then an element item with the [local name] "minExclusive" SHALL be added to the [children] of the <range> element item. If the LowerEndValue is a Value, then the translation of the Value SHALL be added to the [children] or [attributes] of the <minExclusive> element item.
If the LowerEndpoint in the ValueRange is of the "LowerEndValue" form and the LowerEndValue is a Value, then an element item with the [local name] "minInclusive" SHALL be added to the [children] of the <range> element item. The translation of the Value in the LowerEndValue SHALL be added to the [children] or [attributes] of the <minInclusive> element item.
If the LowerEndpoint in the ValueRange is of the "LowerEndValue" form and the LowerEndValue is a Value, then an element item with the [local name] "minInclusive" SHALL be added to the [children] of the <range> element item. The translation of the Value in the LowerEndValue SHALL be added to the [children] or [attributes] of the <minInclusive> element item.
If the LowerEndpoint in the ValueRange is of the "LowerEndValue" form and the LowerEndValue is "MIN", then an element item with the [local name] "minInclusive" MAY be added to the [children] of the <range> element item.
If the LowerEndpoint in the ValueRange is of the "LowerEndValue" form and the LowerEndValue is "MIN", then an element item with the [local name] "minInclusive" MAY be added to the [children] of the <range> element item.
If the UpperEndpoint in the ValueRange is of the "< UpperEndValue" form, then an element item with the [local name] "maxExclusive" SHALL be added to the [children] of the <range> element item. If the UpperEndValue is a Value, then the translation of the Value SHALL be added to the [children] or [attributes] of the <maxExclusive> element item.
If the UpperEndpoint in the ValueRange is of the "< UpperEndValue" form, then an element item with the [local name] "maxExclusive" SHALL be added to the [children] of the <range> element item. If the UpperEndValue is a Value, then the translation of the Value SHALL be added to the [children] or [attributes] of the <maxExclusive> element item.
Legg Experimental [Page 64] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 64] RFC 4912 Abstract Syntax Notation X July 2007
If the UpperEndpoint in the ValueRange is of the "UpperEndValue" form and the UpperEndValue is a Value, then an element item with the [local name] "maxInclusive" SHALL be added to the [children] of the <range> element item. The translation of the Value in the UpperEndValue SHALL be added to the [children] or [attributes] of the <maxInclusive> element item.
If the UpperEndpoint in the ValueRange is of the "UpperEndValue" form and the UpperEndValue is a Value, then an element item with the [local name] "maxInclusive" SHALL be added to the [children] of the <range> element item. The translation of the Value in the UpperEndValue SHALL be added to the [children] or [attributes] of the <maxInclusive> element item.
If the UpperEndpoint in the ValueRange is of the "UpperEndValue" form and the UpperEndValue is "MAX", then an element item with the [local name] "maxInclusive" MAY be added to the [children] of the <range> element item.
If the UpperEndpoint in the ValueRange is of the "UpperEndValue" form and the UpperEndValue is "MAX", then an element item with the [local name] "maxInclusive" MAY be added to the [children] of the <range> element item.
Examples
Examples
1..10
1..10
<range> <minInclusive literalValue="1"/> <maxInclusive literalValue="10"/> </range>
<range> <minInclusive literalValue="1"/> <maxInclusive literalValue="10"/> </range>
0..MAX
0..MAX
<range> <minInclusive literalValue="0"/> </range>
<range> <minInclusive literalValue="0"/> </range>
0<..<MAX
0<..<MAX
<range> <minExclusive literalValue="0"/> <maxExclusive/> </range>
<range> <minExclusive literalValue="0"/> <maxExclusive/> </range>
8.3.2. InnerTypeConstraints Translation
8.3.2. InnerTypeConstraints Translation
The translation of an InnerTypeConstraints instance that has a SingleTypeConstraint is an element item with the [local name] "withComponent". The translation of the Constraint in the SingleTypeConstraint SHALL be added to the [children] of the <withComponent> element item.
The translation of an InnerTypeConstraints instance that has a SingleTypeConstraint is an element item with the [local name] "withComponent". The translation of the Constraint in the SingleTypeConstraint SHALL be added to the [children] of the <withComponent> element item.
The translation of an InnerTypeConstraints instance that has a MultipleTypeConstraints instance is an element item with the [local name] "withComponents". If the MultipleTypeConstraints instance is a PartialSpecification, then an attribute item with the [local name] "partial" and the [normalized value] "true" or "1" SHALL be added to the [attributes] of the <withComponents> element item.
The translation of an InnerTypeConstraints instance that has a MultipleTypeConstraints instance is an element item with the [local name] "withComponents". If the MultipleTypeConstraints instance is a PartialSpecification, then an attribute item with the [local name] "partial" and the [normalized value] "true" or "1" SHALL be added to the [attributes] of the <withComponents> element item.
Legg Experimental [Page 65] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 65] RFC 4912 Abstract Syntax Notation X July 2007
If the MultipleTypeConstraints instance is a FullSpecification, then an attribute item with the [local name] "partial" and the [normalized value] "false" or "0" MAY be added to the [attributes] of the <withComponents> element item. The translation of each NamedConstraint nested in the TypeConstraints instance in the FullSpecification or PartialSpecification SHALL be appended to the [children] of the <withComponents> element item.
If the MultipleTypeConstraints instance is a FullSpecification, then an attribute item with the [local name] "partial" and the [normalized value] "false" or "0" MAY be added to the [attributes] of the <withComponents> element item. The translation of each NamedConstraint nested in the TypeConstraints instance in the FullSpecification or PartialSpecification SHALL be appended to the [children] of the <withComponents> element item.
The translation of a NamedConstraint is an element item with the same [local name] (i.e., "attribute", "element", "component", "group", "member", or "simpleContent") as the translation of the NamedType corresponding to the identifier in the NamedConstraint. An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <member>, or <simpleContent> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType corresponding to the identifier in the NamedConstraint.
The translation of a NamedConstraint is an element item with the same [local name] (i.e., "attribute", "element", "component", "group", "member", or "simpleContent") as the translation of the NamedType corresponding to the identifier in the NamedConstraint. An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <member>, or <simpleContent> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the NamedType corresponding to the identifier in the NamedConstraint.
If the PresenceConstraint in the ComponentConstraint in the NamedConstraint is not empty, then an attribute item with the [local name] "use" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <member>, or <simpleContent> element item. The [normalized value] of this attribute item is the text of the PresenceConstraint with all letters downcased, i.e., either "present", "absent", or "optional".
If the PresenceConstraint in the ComponentConstraint in the NamedConstraint is not empty, then an attribute item with the [local name] "use" SHALL be added to the [attributes] of the <attribute>, <element>, <component>, <group>, <member>, or <simpleContent> element item. The [normalized value] of this attribute item is the text of the PresenceConstraint with all letters downcased, i.e., either "present", "absent", or "optional".
If the ValueConstraint in the ComponentConstraint in the NamedConstraint is not empty, then the translation of the Constraint in the ValueConstraint SHALL be added to the [children] of the <attribute>, <element>, <component>, <group>, <member>, or <simpleContent> element item.
If the ValueConstraint in the ComponentConstraint in the NamedConstraint is not empty, then the translation of the Constraint in the ValueConstraint SHALL be added to the [children] of the <attribute>, <element>, <component>, <group>, <member>, or <simpleContent> element item.
9. Translation of Object Classes
9. Translation of Object Classes
The translation of an ObjectClass is the translation of the DefinedObjectClass, ObjectClassDefn, or ParameterizedObjectClass in the ObjectClass.
The translation of an ObjectClass is the translation of the DefinedObjectClass, ObjectClassDefn, or ParameterizedObjectClass in the ObjectClass.
The translation of a ParameterizedObjectClass is described in Section 13.
The translation of a ParameterizedObjectClass is described in Section 13.
9.1. DefinedObjectClass Translation
9.1. DefinedObjectClass Translation
If a DefinedObjectClass is an objectclassreference (not a DummyReference), an ExternalObjectClassReference, or a UsefulObjectClassReference, then the translation of the
If a DefinedObjectClass is an objectclassreference (not a DummyReference), an ExternalObjectClassReference, or a UsefulObjectClassReference, then the translation of the
Legg Experimental [Page 66] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 66] RFC 4912 Abstract Syntax Notation X July 2007
DefinedObjectClass is either the attribute form translation of an object class reference, or the element form translation of an object class reference.
DefinedObjectClass is either the attribute form translation of an object class reference, or the element form translation of an object class reference.
The attribute form translation of an object class reference is an attribute item with the [local name] "class". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object class definition (see Section 5.1). In the case of a UsefulObjectClassReference, the namespace name of the expanded name is "urn:ietf:params:xml:ns:asnx", and the local name is either "TYPE-IDENTIFIER" or "ABSTRACT-SYNTAX", as the case may be. The attribute form translation SHALL NOT be used if the expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1). Otherwise, the translator is free to choose either the attribute form or element form translation for an object class reference.
The attribute form translation of an object class reference is an attribute item with the [local name] "class". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object class definition (see Section 5.1). In the case of a UsefulObjectClassReference, the namespace name of the expanded name is "urn:ietf:params:xml:ns:asnx", and the local name is either "TYPE-IDENTIFIER" or "ABSTRACT-SYNTAX", as the case may be. The attribute form translation SHALL NOT be used if the expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1). Otherwise, the translator is free to choose either the attribute form or element form translation for an object class reference.
The element form translation of an object class reference is an element item with the [local name] "class". An element item with the [local name] "annotation" MAY be added to the [children] of the <class> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <class> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object class definition. In the case of a UsefulObjectClassReference, the namespace name of the expanded name is "urn:ietf:params:xml:ns:asnx" and the local name is either "TYPE-IDENTIFIER" or "ABSTRACT-SYNTAX", as the case may be. If the expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <class> element item; otherwise, if the module containing the referenced object class definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <class> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced object class definition.
The element form translation of an object class reference is an element item with the [local name] "class". An element item with the [local name] "annotation" MAY be added to the [children] of the <class> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <class> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object class definition. In the case of a UsefulObjectClassReference, the namespace name of the expanded name is "urn:ietf:params:xml:ns:asnx" and the local name is either "TYPE-IDENTIFIER" or "ABSTRACT-SYNTAX", as the case may be. If the expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <class> element item; otherwise, if the module containing the referenced object class definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <class> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced object class definition.
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
The translation of the DefinedObjectClass is the same whether the object class definition is referenced by an objectclassreference or an ExternalObjectClassReference.
The translation of the DefinedObjectClass is the same whether the object class definition is referenced by an objectclassreference or an ExternalObjectClassReference.
If a DefinedObjectClass is a DummyReference, then the translation of the DefinedObjectClass is the translation of the DummyReference (see Section 13).
If a DefinedObjectClass is a DummyReference, then the translation of the DefinedObjectClass is the translation of the DummyReference (see Section 13).
Legg Experimental [Page 67] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 67] RFC 4912 Abstract Syntax Notation X July 2007
9.2. ObjectClassDefn Translation
9.2. ObjectClassDefn Translation
The translation of an ObjectClassDefn is an element item with the [local name] "class". An element item with the [local name] "annotation" MAY be added to the [children] of the <class> element item. The translation of each FieldSpec in the ObjectClassDefn SHALL be appended to the [children] of the <class> element item.
The translation of an ObjectClassDefn is an element item with the [local name] "class". An element item with the [local name] "annotation" MAY be added to the [children] of the <class> element item. The translation of each FieldSpec in the ObjectClassDefn SHALL be appended to the [children] of the <class> element item.
The translation of a FieldSpec is the translation of the TypeFieldSpec, FixedTypeValueFieldSpec, VariableTypeValueFieldSpec, FixedTypeValueSetFieldSpec, VariableTypeValueSetFieldSpec, ObjectFieldSpec, or ObjectSetFieldSpec in the FieldSpec.
The translation of a FieldSpec is the translation of the TypeFieldSpec, FixedTypeValueFieldSpec, VariableTypeValueFieldSpec, FixedTypeValueSetFieldSpec, VariableTypeValueSetFieldSpec, ObjectFieldSpec, or ObjectSetFieldSpec in the FieldSpec.
9.2.1. TypeFieldSpec Translation
9.2.1. TypeFieldSpec Translation
The translation of a TypeFieldSpec where the TypeOptionalitySpec is absent is an element item with the [local name] "typeField".
The translation of a TypeFieldSpec where the TypeOptionalitySpec is absent is an element item with the [local name] "typeField".
The translation of a TypeFieldSpec with a TypeOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "typeField" SHALL be added to the [children] of the <optional> element item.
The translation of a TypeFieldSpec with a TypeOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "typeField" SHALL be added to the [children] of the <optional> element item.
The translation of a TypeFieldSpec with a TypeOptionalitySpec of the "DEFAULT Type" form is an element item with the [local name] "optional". An element item with the [local name] "typeField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Type in the TypeOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
The translation of a TypeFieldSpec with a TypeOptionalitySpec of the "DEFAULT Type" form is an element item with the [local name] "optional". An element item with the [local name] "typeField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Type in the TypeOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <typeField> element item. The [normalized value] of this attribute item is the typefieldreference in the TypeFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <typeField> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <typeField> element item. The [normalized value] of this attribute item is the typefieldreference in the TypeFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <typeField> element item.
Example
Example
CLASS { &One, &Two OPTIONAL, &Three DEFAULT OBJECT IDENTIFIER }
CLASS { &One, &Two OPTIONAL, &Three DEFAULT OBJECT IDENTIFIER }
Legg Experimental [Page 68] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 68] RFC 4912 Abstract Syntax Notation X July 2007
<class> <typeField name="One"/> <optional> <typeField name="Two"/> </optional> <optional> <typeField name="Three"/> <default type="asnx:OBJECT-IDENTIFIER"/> </optional> </class>
<class> <typeField name="One"/> <optional> <typeField name="Two"/> </optional> <optional> <typeField name="Three"/> <default type="asnx:OBJECT-IDENTIFIER"/> </optional> </class>
9.2.2. FixedTypeValueFieldSpec Translation
9.2.2. FixedTypeValueFieldSpec Translation
The translation of a FixedTypeValueFieldSpec where the ValueOptionalitySpec is absent is an element item with the [local name] "valueField".
The translation of a FixedTypeValueFieldSpec where the ValueOptionalitySpec is absent is an element item with the [local name] "valueField".
The translation of a FixedTypeValueFieldSpec with a ValueOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item.
The translation of a FixedTypeValueFieldSpec with a ValueOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item.
The translation of a FixedTypeValueFieldSpec with a ValueOptionalitySpec of the "DEFAULT Value" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Value in the ValueOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
The translation of a FixedTypeValueFieldSpec with a ValueOptionalitySpec of the "DEFAULT Value" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Value in the ValueOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueField> element item. The [normalized value] of this attribute item is the valuefieldreference in the FixedTypeValueFieldSpec, without the ampersand character ('&', U+0026). If the "UNIQUE" keyword is present, then an attribute item with the [local name] "unique" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <valueField> element item; otherwise, an attribute item with the [local name] "unique" and [normalized value] "false" or "0" MAY be added to the [attributes] of the <valueField> element item. An element item with the [local name] "annotation" MAY be added to the [children] of the <valueField> element item. The translation of the Type in the FixedTypeValueFieldSpec SHALL be added to the [children] or [attributes] of the <valueField> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueField> element item. The [normalized value] of this attribute item is the valuefieldreference in the FixedTypeValueFieldSpec, without the ampersand character ('&', U+0026). If the "UNIQUE" keyword is present, then an attribute item with the [local name] "unique" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <valueField> element item; otherwise, an attribute item with the [local name] "unique" and [normalized value] "false" or "0" MAY be added to the [attributes] of the <valueField> element item. An element item with the [local name] "annotation" MAY be added to the [children] of the <valueField> element item. The translation of the Type in the FixedTypeValueFieldSpec SHALL be added to the [children] or [attributes] of the <valueField> element item.
Legg Experimental [Page 69] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 69] RFC 4912 Abstract Syntax Notation X July 2007
Example
Example
CLASS { &one OBJECT IDENTIFIER UNIQUE, &two BOOLEAN OPTIONAL, &three INTEGER DEFAULT 0 }
CLASS { &one OBJECT IDENTIFIER UNIQUE, &two BOOLEAN OPTIONAL, &three INTEGER DEFAULT 0 }
<class> <valueField name="one" unique="true" type="asnx:OBJECT-IDENTIFIER"/> <optional> <valueField name="two" type="asnx:BOOLEAN"/> </optional> <optional> <valueField name="three" type="asnx:INTEGER"/> <default literalValue="0"/> </optional> </class>
<class> <valueField name="one" unique="true" type="asnx:OBJECT-IDENTIFIER"/> <optional> <valueField name="two" type="asnx:BOOLEAN"/> </optional> <optional> <valueField name="three" type="asnx:INTEGER"/> <default literalValue="0"/> </optional> </class>
9.2.3. FixedTypeValueSetFieldSpec Translation
9.2.3. FixedTypeValueSetFieldSpec Translation
The translation of a FixedTypeValueSetFieldSpec where the ValueSetOptionalitySpec is absent is an element item with the [local name] "valueSetField".
The translation of a FixedTypeValueSetFieldSpec where the ValueSetOptionalitySpec is absent is an element item with the [local name] "valueSetField".
The translation of a FixedTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item.
The translation of a FixedTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item.
The translation of a FixedTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "DEFAULT ValueSet" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the ValueSet in the ValueSetOptionalitySpec SHALL be added to the [children] of the <default> element item.
The translation of a FixedTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "DEFAULT ValueSet" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the ValueSet in the ValueSetOptionalitySpec SHALL be added to the [children] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueSetField> element item. The [normalized value] of this attribute item is the valuesetfieldreference in the FixedTypeValueSetFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueSetField> element item. The [normalized value] of this attribute item is the valuesetfieldreference in the FixedTypeValueSetFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the
Legg Experimental [Page 70] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 70] RFC 4912 Abstract Syntax Notation X July 2007
<valueSetField> element item. The translation of the Type in the FixedTypeValueSetFieldSpec SHALL be added to the [children] or [attributes] of the <valueSetField> element item.
<valueSetField> element item. The translation of the Type in the FixedTypeValueSetFieldSpec SHALL be added to the [children] or [attributes] of the <valueSetField> element item.
Example
Example
CLASS { &One UTF8String, &Two BOOLEAN OPTIONAL, &Three INTEGER DEFAULT { 1 | 2 } }
CLASS { &One UTF8String, &Two BOOLEAN OPTIONAL, &Three INTEGER DEFAULT { 1 | 2 } }
<class> <valueSetField name="One" type="asnx:UTF8String"/> <optional> <valueSetField name="Two" type="asnx:BOOLEAN"/> </optional> <optional> <valueSetField name="Three" type="asnx:INTEGER"/> <default> <valueSet> <union> <literalValue>1</literalValue> <literalValue>2</literalValue> </union> </valueSet> </default> </optional> </class>
<class> <valueSetField name="One" type="asnx:UTF8String"/> <optional> <valueSetField name="Two" type="asnx:BOOLEAN"/> </optional> <optional> <valueSetField name="Three" type="asnx:INTEGER"/> <default> <valueSet> <union> <literalValue>1</literalValue> <literalValue>2</literalValue> </union> </valueSet> </default> </optional> </class>
9.2.4. VariableTypeValueFieldSpec Translation
9.2.4. VariableTypeValueFieldSpec Translation
The translation of a VariableTypeValueFieldSpec where the ValueOptionalitySpec is absent is an element item with the [local name] "valueField".
The translation of a VariableTypeValueFieldSpec where the ValueOptionalitySpec is absent is an element item with the [local name] "valueField".
The translation of a VariableTypeValueFieldSpec with a ValueOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item.
The translation of a VariableTypeValueFieldSpec with a ValueOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item.
The translation of a VariableTypeValueFieldSpec with a ValueOptionalitySpec of the "DEFAULT Value" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional>
The translation of a VariableTypeValueFieldSpec with a ValueOptionalitySpec of the "DEFAULT Value" form is an element item with the [local name] "optional". An element item with the [local name] "valueField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional>
Legg Experimental [Page 71] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 71] RFC 4912 Abstract Syntax Notation X July 2007
element item. The translation of the Value in the ValueOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
element item. The translation of the Value in the ValueOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueField> element item. The [normalized value] of this attribute item is the valuefieldreference in the VariableTypeValueFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <valueField> element item. An element item with the [local name] "typeFromField" SHALL be appended to the [children] of the <valueField> element item. The translation of the FieldName in the VariableTypeValueFieldSpec SHALL be added to the [children] or [attributes] of the <typeFromField> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueField> element item. The [normalized value] of this attribute item is the valuefieldreference in the VariableTypeValueFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <valueField> element item. An element item with the [local name] "typeFromField" SHALL be appended to the [children] of the <valueField> element item. The translation of the FieldName in the VariableTypeValueFieldSpec SHALL be added to the [children] or [attributes] of the <typeFromField> element item.
Example
Example
CLASS { &Syntax DEFAULT INTEGER, &one &Syntax, &two &Syntax OPTIONAL, &three &Syntax DEFAULT 0 }
CLASS { &Syntax DEFAULT INTEGER, &one &Syntax, &two &Syntax OPTIONAL, &three &Syntax DEFAULT 0 }
<class> <optional> <typeField name="Syntax"/> <default type="asnx:INTEGER"/> </optional> <valueField name="one"> <typeFromField fieldName="Syntax"/> </valueField> <optional> <valueField name="two"> <typeFromField fieldName="Syntax"/> </valueField> </optional> <optional> <valueField name="three"> <typeFromField fieldName="Syntax"/> </valueField> <default literalValue="0"/> </optional> </class>
<class> <optional> <typeField name="Syntax"/> <default type="asnx:INTEGER"/> </optional> <valueField name="one"> <typeFromField fieldName="Syntax"/> </valueField> <optional> <valueField name="two"> <typeFromField fieldName="Syntax"/> </valueField> </optional> <optional> <valueField name="three"> <typeFromField fieldName="Syntax"/> </valueField> <default literalValue="0"/> </optional> </class>
Legg Experimental [Page 72] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 72] RFC 4912 Abstract Syntax Notation X July 2007
9.2.5. VariableTypeValueSetFieldSpec Translation
9.2.5. VariableTypeValueSetFieldSpec Translation
The translation of a VariableTypeValueSetFieldSpec where the ValueSetOptionalitySpec is absent is an element item with the [local name] "valueSetField".
The translation of a VariableTypeValueSetFieldSpec where the ValueSetOptionalitySpec is absent is an element item with the [local name] "valueSetField".
The translation of a VariableTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item.
The translation of a VariableTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item.
The translation of a VariableTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "DEFAULT ValueSet" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the ValueSet in the ValueSetOptionalitySpec SHALL be added to the [children] of the <default> element item.
The translation of a VariableTypeValueSetFieldSpec with a ValueSetOptionalitySpec of the "DEFAULT ValueSet" form is an element item with the [local name] "optional". An element item with the [local name] "valueSetField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the ValueSet in the ValueSetOptionalitySpec SHALL be added to the [children] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueSetField> element item. The [normalized value] of this attribute item is the valuesetfieldreference in the VariableTypeValueSetFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <valueSetField> element item. An element item with the [local name] "typeFromField" SHALL be appended to the [children] of the <valueSetField> element item. The translation of the FieldName in the VariableTypeValueSetFieldSpec SHALL be added to the [children] or [attributes] of the <typeFromField> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <valueSetField> element item. The [normalized value] of this attribute item is the valuesetfieldreference in the VariableTypeValueSetFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <valueSetField> element item. An element item with the [local name] "typeFromField" SHALL be appended to the [children] of the <valueSetField> element item. The translation of the FieldName in the VariableTypeValueSetFieldSpec SHALL be added to the [children] or [attributes] of the <typeFromField> element item.
Example
Example
CLASS { &Syntax DEFAULT INTEGER, &One &Syntax, &Two &Syntax OPTIONAL, &Three &Syntax DEFAULT { 1 | 2 } }
CLASS { &Syntax DEFAULT INTEGER, &One &Syntax, &Two &Syntax OPTIONAL, &Three &Syntax DEFAULT { 1 | 2 } }
<class> <optional> <typeField name="Syntax"/> <default type="asnx:INTEGER"/> </optional>
<class> <optional> <typeField name="Syntax"/> <default type="asnx:INTEGER"/> </optional>
Legg Experimental [Page 73] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 73] RFC 4912 Abstract Syntax Notation X July 2007
<valueSetField name="One"> <typeFromField fieldName="Syntax"/> </valueSetField> <optional> <valueSetField name="Two"> <typeFromField fieldName="Syntax"/> </valueSetField> </optional> <optional> <valueSetField name="Three"> <typeFromField fieldName="Syntax"/> </valueSetField> <default> <valueSet> <union> <literalValue>1</literalValue> <literalValue>2</literalValue> </union> </valueSet> </default> </optional> </class>
<valueSetField name="One"> <typeFromField fieldName="Syntax"/> </valueSetField> <optional> <valueSetField name="Two"> <typeFromField fieldName="Syntax"/> </valueSetField> </optional> <optional> <valueSetField name="Three"> <typeFromField fieldName="Syntax"/> </valueSetField> <default> <valueSet> <union> <literalValue>1</literalValue> <literalValue>2</literalValue> </union> </valueSet> </default> </optional> </class>
9.2.6. FieldName Translation
9.2.6. FieldName Translation
The translation of a FieldName is either, at the translator's option, an attribute item with the [local name] "fieldName" added to the [attributes] of the enclosing element item, or an element item with the [local name] "fieldName" appended to the [children] of the enclosing element item.
The translation of a FieldName is either, at the translator's option, an attribute item with the [local name] "fieldName" added to the [attributes] of the enclosing element item, or an element item with the [local name] "fieldName" appended to the [children] of the enclosing element item.
The [normalized value] of the fieldName attribute item is a solidus ('/', U+002F) separated list of the PrimitiveFieldName instances in the FieldName, without the ampersand characters ('&', U+0026). Leading and/or trailing white space characters MAY be added to the [normalized value] of the attribute item. White space characters MAY be added immediately before and/or after any solidus character ('/', U+002F) in the [normalized value].
The [normalized value] of the fieldName attribute item is a solidus ('/', U+002F) separated list of the PrimitiveFieldName instances in the FieldName, without the ampersand characters ('&', U+0026). Leading and/or trailing white space characters MAY be added to the [normalized value] of the attribute item. White space characters MAY be added immediately before and/or after any solidus character ('/', U+002F) in the [normalized value].
The [children] property of the <fieldName> element item is set to the sequence of character items for a solidus ('/', U+002F) separated list of the PrimitiveFieldName instances in the FieldName, without the ampersand characters ('&', U+0026). Leading and/or trailing white space character items MAY be added to the [children] of the <fieldName> element item. White space character items MAY be added immediately before and/or after any character item for the solidus character ('/', U+002F).
The [children] property of the <fieldName> element item is set to the sequence of character items for a solidus ('/', U+002F) separated list of the PrimitiveFieldName instances in the FieldName, without the ampersand characters ('&', U+0026). Leading and/or trailing white space character items MAY be added to the [children] of the <fieldName> element item. White space character items MAY be added immediately before and/or after any character item for the solidus character ('/', U+002F).
Legg Experimental [Page 74] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 74] RFC 4912 Abstract Syntax Notation X July 2007
Example
Example
&Linked.&ArgumentType
&Linked.&ArgumentType
<fieldName>Linked/ArgumentType</fieldName>
<fieldName>Linked/ArgumentType</fieldName>
9.2.7. ObjectFieldSpec Translation
9.2.7. ObjectFieldSpec Translation
The translation of an ObjectFieldSpec where the ObjectOptionalitySpec is absent is an element item with the [local name] "objectField".
The translation of an ObjectFieldSpec where the ObjectOptionalitySpec is absent is an element item with the [local name] "objectField".
The translation of an ObjectFieldSpec with an ObjectOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "objectField" SHALL be added to the [children] of the <optional> element item.
The translation of an ObjectFieldSpec with an ObjectOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "objectField" SHALL be added to the [children] of the <optional> element item.
The translation of an ObjectFieldSpec with an ObjectOptionalitySpec of the "DEFAULT Object" form is an element item with the [local name] "optional". An element item with the [local name] "objectField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Object in the ObjectOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
The translation of an ObjectFieldSpec with an ObjectOptionalitySpec of the "DEFAULT Object" form is an element item with the [local name] "optional". An element item with the [local name] "objectField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the Object in the ObjectOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <objectField> element item. The [normalized value] of this attribute item is the objectfieldreference in the ObjectFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <objectField> element item. The translation of the DefinedObjectClass in the ObjectFieldSpec SHALL be added to the [children] or [attributes] of the <objectField> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <objectField> element item. The [normalized value] of this attribute item is the objectfieldreference in the ObjectFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <objectField> element item. The translation of the DefinedObjectClass in the ObjectFieldSpec SHALL be added to the [children] or [attributes] of the <objectField> element item.
Example
Example
CLASS { &one TYPE-IDENTIFIER, &two ABSTRACT-SYNTAX OPTIONAL, &three TYPE-IDENTIFIER DEFAULT myObject }
CLASS { &one TYPE-IDENTIFIER, &two ABSTRACT-SYNTAX OPTIONAL, &three TYPE-IDENTIFIER DEFAULT myObject }
Legg Experimental [Page 75] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 75] RFC 4912 Abstract Syntax Notation X July 2007
<class> <objectField name="one" class="asnx:TYPE-IDENTIFIER"/> <optional> <objectField name="two" class="asnx:ABSTRACT-SYNTAX"/> </optional> <optional> <objectField name="three" class="asnx:TYPE-IDENTIFIER"/> <default object="tns:myObject"/> </optional> </class>
<class> <objectField name="one" class="asnx:TYPE-IDENTIFIER"/> <optional> <objectField name="two" class="asnx:ABSTRACT-SYNTAX"/> </optional> <optional> <objectField name="three" class="asnx:TYPE-IDENTIFIER"/> <default object="tns:myObject"/> </optional> </class>
9.2.8. ObjectSetFieldSpec Translation
9.2.8. ObjectSetFieldSpec Translation
The translation of an ObjectSetFieldSpec where the ObjectSetOptionalitySpec is absent is an element item with the [local name] "objectSetField".
The translation of an ObjectSetFieldSpec where the ObjectSetOptionalitySpec is absent is an element item with the [local name] "objectSetField".
The translation of an ObjectSetFieldSpec with an ObjectSetOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "objectSetField" SHALL be added to the [children] of the <optional> element item.
The translation of an ObjectSetFieldSpec with an ObjectSetOptionalitySpec of the "OPTIONAL" form is an element item with the [local name] "optional". An element item with the [local name] "objectSetField" SHALL be added to the [children] of the <optional> element item.
The translation of an ObjectSetFieldSpec with an ObjectSetOptionalitySpec of the "DEFAULT ObjectSet" form is an element item with the [local name] "optional". An element item with the [local name] "objectSetField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the ObjectSet in the ObjectSetOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
The translation of an ObjectSetFieldSpec with an ObjectSetOptionalitySpec of the "DEFAULT ObjectSet" form is an element item with the [local name] "optional". An element item with the [local name] "objectSetField" SHALL be added to the [children] of the <optional> element item. An element item with the [local name] "default" SHALL be appended to the [children] of the <optional> element item. The translation of the ObjectSet in the ObjectSetOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <objectSetField> element item. The [normalized value] of this attribute item is the objectsetfieldreference in the ObjectSetFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSetField> element item. The translation of the DefinedObjectClass in the ObjectSetFieldSpec SHALL be added to the [children] or [attributes] of the <objectSetField> element item.
An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <objectSetField> element item. The [normalized value] of this attribute item is the objectsetfieldreference in the ObjectSetFieldSpec, without the ampersand character ('&', U+0026). An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSetField> element item. The translation of the DefinedObjectClass in the ObjectSetFieldSpec SHALL be added to the [children] or [attributes] of the <objectSetField> element item.
Legg Experimental [Page 76] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 76] RFC 4912 Abstract Syntax Notation X July 2007
Example
Example
CLASS { &One TYPE-IDENTIFIER, &Two ABSTRACT-SYNTAX OPTIONAL, &Three TYPE-IDENTIFIER DEFAULT { myObject } }
CLASS { &One TYPE-IDENTIFIER, &Two ABSTRACT-SYNTAX OPTIONAL, &Three TYPE-IDENTIFIER DEFAULT { myObject } }
<class> <objectSetField name="One" class="asnx:TYPE-IDENTIFIER"/> <optional> <objectSetField name="Two" class="asnx:ABSTRACT-SYNTAX"/> </optional> <optional> <objectSetField name="Three" class="asnx:TYPE-IDENTIFIER"/> <default> <objectSet> <object ref="tns:myObject"/> </objectSet> </default> </optional> </class>
<class> <objectSetField name="One" class="asnx:TYPE-IDENTIFIER"/> <optional> <objectSetField name="Two" class="asnx:ABSTRACT-SYNTAX"/> </optional> <optional> <objectSetField name="Three" class="asnx:TYPE-IDENTIFIER"/> <default> <objectSet> <object ref="tns:myObject"/> </objectSet> </default> </optional> </class>
10. Translation of Objects
10. Translation of Objects
The translation of an Object is the translation of the DefinedObject, ObjectDefn, ObjectFromObject, or ParameterizedObject in the Object.
The translation of an Object is the translation of the DefinedObject, ObjectDefn, ObjectFromObject, or ParameterizedObject in the Object.
The translation of a ParameterizedObject is described in Section 13.
The translation of a ParameterizedObject is described in Section 13.
10.1. DefinedObject Translation
10.1. DefinedObject Translation
If a DefinedObject is an objectreference (not a DummyReference) or an ExternalObjectReference, then the translation of the DefinedObject is either the attribute form translation of an object reference, or the element form translation of an object reference.
If a DefinedObject is an objectreference (not a DummyReference) or an ExternalObjectReference, then the translation of the DefinedObject is either the attribute form translation of an object reference, or the element form translation of an object reference.
The attribute form translation of an object reference is an attribute item with the [local name] "object". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
The attribute form translation of an object reference is an attribute item with the [local name] "object". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
The element form translation of an object reference is an element item with the [local name] "object". An element item with the [local name] "annotation" MAY be added to the [children] of the
The element form translation of an object reference is an element item with the [local name] "object". An element item with the [local name] "annotation" MAY be added to the [children] of the
Legg Experimental [Page 77] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 77] RFC 4912 Abstract Syntax Notation X July 2007
<object> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <object> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <object> element item; otherwise, if the module containing the referenced object definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <object> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced object definition.
<object> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <object> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <object> element item; otherwise, if the module containing the referenced object definition has a schema identity URI, then an attribute item with the [local name] "context" MAY be added to the [attributes] of the <object> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced object definition.
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
The translation of the DefinedObject is the same whether the object definition is referenced by an objectreference or an ExternalObjectReference.
The translation of the DefinedObject is the same whether the object definition is referenced by an objectreference or an ExternalObjectReference.
Usually the translator is free to choose either the attribute form or element form translation for an object reference; however, in some contexts the attribute form is explicitly disallowed.
Usually the translator is free to choose either the attribute form or element form translation for an object reference; however, in some contexts the attribute form is explicitly disallowed.
If a DefinedObject is a DummyReference, then the translation of the DefinedObject is the translation of the DummyReference (see Section 13).
If a DefinedObject is a DummyReference, then the translation of the DefinedObject is the translation of the DummyReference (see Section 13).
10.2. ObjectDefn Translation
10.2. ObjectDefn Translation
An ObjectDefn that is a DefinedSyntax is first converted to the equivalent DefaultSyntax and then translated.
An ObjectDefn that is a DefinedSyntax is first converted to the equivalent DefaultSyntax and then translated.
The translation of an ObjectDefn is an element item with the [local name] "object". An element item with the [local name] "annotation" MAY be added to the [children] of the <object> element item. The translation of each FieldSetting in the DefaultSyntax in the ObjectClassDefn SHALL be appended to the [children] of the <object> element item.
The translation of an ObjectDefn is an element item with the [local name] "object". An element item with the [local name] "annotation" MAY be added to the [children] of the <object> element item. The translation of each FieldSetting in the DefaultSyntax in the ObjectClassDefn SHALL be appended to the [children] of the <object> element item.
The translation of a FieldSetting is an element item with the [local name] "field". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <field> element item. The [normalized value] of this attribute item is the PrimitiveFieldName in the FieldSetting, without the ampersand character ('&', U+0026). The translation of the Type, Value, ValueSet, Object, or ObjectSet in
The translation of a FieldSetting is an element item with the [local name] "field". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <field> element item. The [normalized value] of this attribute item is the PrimitiveFieldName in the FieldSetting, without the ampersand character ('&', U+0026). The translation of the Type, Value, ValueSet, Object, or ObjectSet in
Legg Experimental [Page 78] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 78] RFC 4912 Abstract Syntax Notation X July 2007
the Setting in the FieldSetting SHALL be added to the [children] or [attributes] of the <field> element item.
the Setting in the FieldSetting SHALL be added to the [children] or [attributes] of the <field> element item.
Example
Example
-- This is the governing object class. ONE-OF-EVERYTHING ::= CLASS { &One, &two INTEGER, &Three INTEGER, &four TYPE-IDENTIFIER, &Five TYPE-IDENTIFIER }
-- This is the governing object class. ONE-OF-EVERYTHING ::= CLASS { &One, &two INTEGER, &Three INTEGER, &four TYPE-IDENTIFIER, &Five TYPE-IDENTIFIER }
<namedClass name="ONE-OF-EVERYTHING"> <class> <typeField name="One"/> <valueField name="two" type="asnx:INTEGER"/> <valueSetField name="Three" type="asnx:INTEGER"/> <objectField name="four" class="asnx:TYPE-IDENTIFIER"/> <objectSetField name="Five" class="asnx:TYPE-IDENTIFIER"/> </class> </namedClass>
<namedClass name="ONE-OF-EVERYTHING"> <class> <typeField name="One"/> <valueField name="two" type="asnx:INTEGER"/> <valueSetField name="Three" type="asnx:INTEGER"/> <objectField name="four" class="asnx:TYPE-IDENTIFIER"/> <objectSetField name="Five" class="asnx:TYPE-IDENTIFIER"/> </class> </namedClass>
mixedBag ONE-OF-EVERYTHING ::= { &One BOOLEAN, &two 99, &Three { 1 | 2 }, &four myObject, &Five { myObject } }
mixedBag ONE-OF-EVERYTHING ::= { &One BOOLEAN, &two 99, &Three { 1 | 2 }, &four myObject, &Five { myObject } }
<namedObject name="mixedBag" class="tns:ONE-OF-EVERYTHING"> <object> <field name="One" type="asnx:BOOLEAN"/> <field name="two" literalValue="99"/> <field name="Three"> <valueSet> <union> <literalValue>1</literalValue> <literalValue>2</literalValue> </union> </valueSet> </field> <field name="four" object="tns:myObject"/> <field name="Five"> <objectSet> <object ref="tns:myObject"/>
<namedObject name="mixedBag" class="tns:ONE-OF-EVERYTHING"> <object> <field name="One" type="asnx:BOOLEAN"/> <field name="two" literalValue="99"/> <field name="Three"> <valueSet> <union> <literalValue>1</literalValue> <literalValue>2</literalValue> </union> </valueSet> </field> <field name="four" object="tns:myObject"/> <field name="Five"> <objectSet> <object ref="tns:myObject"/>
Legg Experimental [Page 79] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 79] RFC 4912 Abstract Syntax Notation X July 2007
</objectSet> </field> </object> </namedObject>
</objectSet> </field> </object> </namedObject>
10.3. ObjectFromObject Translation
10.3. ObjectFromObject Translation
The translation of an ObjectFromObject is an element item with the [local name] "object". An element item with the [local name] "annotation" MAY be added to the [children] of the <object> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <object> element item.
The translation of an ObjectFromObject is an element item with the [local name] "object". An element item with the [local name] "annotation" MAY be added to the [children] of the <object> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <object> element item.
The translation of the ReferencedObjects instance in the ObjectFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the ReferencedObjects instance in the ObjectFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the FieldName in the ObjectFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
The translation of the FieldName in the ObjectFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
11. Translation of Object Sets
11. Translation of Object Sets
If an ObjectSet matches the form "{ DefinedObjectSet }" (i.e., a DefinedObjectSet in an ObjectSetElements instance in an Elements instance in a lone IntersectionElements instance in a lone Intersections instance in a Unions instance in an ElementSetSpec in a RootElementSetSpec in an ObjectSetSpec without an AdditionalElementSetSpec), then the translator MAY use the translation of the DefinedObjectSet as the translation of the ObjectSet; otherwise, the translation of an ObjectSet is an element item with the [local name] "objectSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSet> element item. The translation of the ObjectSetSpec in the ObjectSet SHALL be appended to the [children] of the <objectSet> element item.
If an ObjectSet matches the form "{ DefinedObjectSet }" (i.e., a DefinedObjectSet in an ObjectSetElements instance in an Elements instance in a lone IntersectionElements instance in a lone Intersections instance in a Unions instance in an ElementSetSpec in a RootElementSetSpec in an ObjectSetSpec without an AdditionalElementSetSpec), then the translator MAY use the translation of the DefinedObjectSet as the translation of the ObjectSet; otherwise, the translation of an ObjectSet is an element item with the [local name] "objectSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSet> element item. The translation of the ObjectSetSpec in the ObjectSet SHALL be appended to the [children] of the <objectSet> element item.
Aside: An ObjectSet that is directly a DefinedObjectSet is a notational capability that does not exist in ASN.1, but is allowed in ASN.X to avoid excessive nesting of <objectSet> element items in the expansion of parameterized definitions.
Aside: An ObjectSet that is directly a DefinedObjectSet is a notational capability that does not exist in ASN.1, but is allowed in ASN.X to avoid excessive nesting of <objectSet> element items in the expansion of parameterized definitions.
If an ObjectSetSpec contains only a RootElementSetSpec, then the translation of the ObjectSetSpec is the translation of the ElementSetSpec in the RootElementSetSpec.
If an ObjectSetSpec contains only a RootElementSetSpec, then the translation of the ObjectSetSpec is the translation of the ElementSetSpec in the RootElementSetSpec.
Legg Experimental [Page 80] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 80] RFC 4912 Abstract Syntax Notation X July 2007
If an ObjectSetSpec contains a RootElementSetSpec and an ellipsis ("..."), then the translation of the ObjectSetSpec is the translation of the ElementSetSpec in the RootElementSetSpec followed by an element item with the [local name] "extension". If an AdditionalElementSetSpec is present, then the translation of the ElementSetSpec in the AdditionalElementSetSpec SHALL be added to the [children] of the <extension> element item.
If an ObjectSetSpec contains a RootElementSetSpec and an ellipsis ("..."), then the translation of the ObjectSetSpec is the translation of the ElementSetSpec in the RootElementSetSpec followed by an element item with the [local name] "extension". If an AdditionalElementSetSpec is present, then the translation of the ElementSetSpec in the AdditionalElementSetSpec SHALL be added to the [children] of the <extension> element item.
If an ObjectSetSpec does not contain a RootElementSetSpec, then the translation of the ObjectSetSpec is an element item with the [local name] "extension". If an AdditionalElementSetSpec is present, then the translation of the ElementSetSpec in the AdditionalElementSetSpec SHALL be added to the [children] of the <extension> element item.
If an ObjectSetSpec does not contain a RootElementSetSpec, then the translation of the ObjectSetSpec is an element item with the [local name] "extension". If an AdditionalElementSetSpec is present, then the translation of the ElementSetSpec in the AdditionalElementSetSpec SHALL be added to the [children] of the <extension> element item.
Nested within the ElementSetSpec will be one or more ObjectSetElements instances.
Nested within the ElementSetSpec will be one or more ObjectSetElements instances.
11.1. DefinedObjectSet Translation
11.1. DefinedObjectSet Translation
If a DefinedObjectSet is an objectsetreference (not a DummyReference) or an ExternalObjectSetReference, then the translation of the DefinedObjectSet is either the attribute form translation of an object set reference, or the element form translation of an object set reference.
If a DefinedObjectSet is an objectsetreference (not a DummyReference) or an ExternalObjectSetReference, then the translation of the DefinedObjectSet is either the attribute form translation of an object set reference, or the element form translation of an object set reference.
The attribute form translation of an object set reference is an attribute item with the [local name] "objectSet". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object set definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
The attribute form translation of an object set reference is an attribute item with the [local name] "objectSet". The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object set definition (see Section 5.1). The attribute form translation SHALL NOT be used if this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items (see Section 5.1).
The element form translation of an object set reference is an element item with the [local name] "objectSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSet> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <objectSet> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object set definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <objectSet> element item; otherwise, if the module containing the referenced object set definition has a schema identity URI, then an attribute item with the [local name] "context"
The element form translation of an object set reference is an element item with the [local name] "objectSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSet> element item. An attribute item with the [local name] "ref" SHALL be added to the [attributes] of the <objectSet> element item. The [normalized value] of this attribute item is a qualified name for the expanded name of the referenced object set definition. If this expanded name is not distinct with respect to the current module and the modules referenced by its <import> element items, then an attribute item with the [local name] "context" SHALL be added to the [attributes] of the <objectSet> element item; otherwise, if the module containing the referenced object set definition has a schema identity URI, then an attribute item with the [local name] "context"
Legg Experimental [Page 81] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 81] RFC 4912 Abstract Syntax Notation X July 2007
MAY be added to the [attributes] of the <objectSet> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced object set definition.
MAY be added to the [attributes] of the <objectSet> element item. The [normalized value] of this attribute item is the schema identity URI of the module containing the referenced object set definition.
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
Aside: If a reference name is not distinct, then the module containing the referenced definition must have a schema identity URI (see Section 5.1).
The translation of the DefinedObjectSet is the same whether the object definition is referenced by an objectsetreference or an ExternalObjectSetReference.
The translation of the DefinedObjectSet is the same whether the object definition is referenced by an objectsetreference or an ExternalObjectSetReference.
Usually the translator is free to choose either the attribute form or element form translation for an object set reference; however, in some contexts the attribute form is explicitly disallowed.
Usually the translator is free to choose either the attribute form or element form translation for an object set reference; however, in some contexts the attribute form is explicitly disallowed.
If a DefinedObjectSet is a DummyReference, then the translation of the DefinedObjectSet is the translation of the DummyReference (see Section 13).
If a DefinedObjectSet is a DummyReference, then the translation of the DefinedObjectSet is the translation of the DummyReference (see Section 13).
11.2. ObjectSetElements Translation
11.2. ObjectSetElements Translation
If an ObjectSetElements instance is an Object, then the translation of the ObjectSetElements instance is the translation of the Object, except that the attribute form of the DefinedObject translation SHALL NOT be used if the Object is a DefinedObject.
If an ObjectSetElements instance is an Object, then the translation of the ObjectSetElements instance is the translation of the Object, except that the attribute form of the DefinedObject translation SHALL NOT be used if the Object is a DefinedObject.
If an ObjectSetElements instance is a DefinedObjectSet, then the translation of the ObjectSetElements instance is the translation of the DefinedObjectSet, except that the attribute form of the DefinedObjectSet translation SHALL NOT be used.
If an ObjectSetElements instance is a DefinedObjectSet, then the translation of the ObjectSetElements instance is the translation of the DefinedObjectSet, except that the attribute form of the DefinedObjectSet translation SHALL NOT be used.
If an ObjectSetElements instance is an ObjectSetFromObjects, then the translation of the ObjectSetElements instance is the translation of the ObjectSetFromObjects.
If an ObjectSetElements instance is an ObjectSetFromObjects, then the translation of the ObjectSetElements instance is the translation of the ObjectSetFromObjects.
If an ObjectSetElements instance is a ParameterizedObjectSet, then the translation of the ObjectSetElements instance is the translation of the ParameterizedObjectSet (see Section 13).
If an ObjectSetElements instance is a ParameterizedObjectSet, then the translation of the ObjectSetElements instance is the translation of the ParameterizedObjectSet (see Section 13).
Aside: The in-line expansion of a ParameterizedObjectSet results in an ObjectSet. An ObjectSetElements instance that is an ObjectSet is a notational capability that does not exist in ASN.1, but is allowed in ASN.X to avoid the need to manufacture a reference name for the expanded parameterized definition.
Aside: The in-line expansion of a ParameterizedObjectSet results in an ObjectSet. An ObjectSetElements instance that is an ObjectSet is a notational capability that does not exist in ASN.1, but is allowed in ASN.X to avoid the need to manufacture a reference name for the expanded parameterized definition.
Legg Experimental [Page 82] RFC 4912 Abstract Syntax Notation X July 2007
[82ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
11.2.1. ObjectSetFromObjects Translation
11.2.1. ObjectSetFromObjects翻訳
The translation of an ObjectSetFromObjects instance is an element item with the [local name] "objectSet". An element item with the [local name] "annotation" MAY be added to the [children] of the <objectSet> element item. An element item with the [local name] "fromObjects" SHALL be appended to the [children] of the <objectSet> element item.
ObjectSetFromObjects例に関する翻訳は[地方名]"objectSet"がある要素の品目です。 [地方名]「注釈」がある要素の品目は<objectSet>要素の品目の[子供]に加えられるかもしれません。 <objectSet>要素の品目の[子供]に[地方名]「fromObjects」SHALLを追加している要素の品目。
The translation of the ReferencedObjects instance in the ObjectSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
ReferencedObjectsに関する翻訳は中でObjectSetFromObjects SHALLを例証します。<fromObjects>要素の品目の[子供]か[属性]に加えられます。
The translation of the FieldName in the ObjectSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.
翻訳、ObjectSetFromObjects SHALLのFieldNameでは、<fromObjects>要素の品目の[子供]か[属性]に加えられてください。
12. Translation of Information From Objects
12. 物からの情報の翻訳
If a ReferencedObjects instance is a DefinedObject (not a DummyReference), then the translation of the ReferencedObjects instance is the translation of the DefinedObject.
ReferencedObjects例がDefinedObject(DummyReferenceでない)であるなら、ReferencedObjects例に関する翻訳はDefinedObjectに関する翻訳です。
If a ReferencedObjects instance is a DefinedObjectSet (not a DummyReference), then the translation of the ReferencedObjects instance is the translation of the DefinedObjectSet.
ReferencedObjects例がDefinedObjectSet(DummyReferenceでない)であるなら、ReferencedObjects例に関する翻訳はDefinedObjectSetに関する翻訳です。
If a ReferencedObjects instance is a DummyReference, ParameterizedObject, or ParameterizedObjectSet, then the translation of the ReferencedObjects instance is the translation of that DummyReference, ParameterizedObject, or ParameterizedObjectSet (see Section 13).
ReferencedObjects例がDummyReference、ParameterizedObject、またはParameterizedObjectSetであるなら、ReferencedObjects例に関する翻訳はそのDummyReference、ParameterizedObject、またはParameterizedObjectSetに関する翻訳(セクション13を見る)です。
Aside: The in-line expansion of a ParameterizedObject or ParameterizedObjectSet results in an Object or ObjectSet, respectively. A ReferencedObjects instance that is an Object or ObjectSet is a notational capability that does not exist in ASN.1, but is allowed in ASN.X to avoid the need to manufacture a reference name for an expanded parameterized definition.
傍らに: ParameterizedObjectかParameterizedObjectSetのインライン拡大はそれぞれObjectかObjectSetをもたらします。 ObjectかObjectSetであるReferencedObjects例はASN.1に存在していませんが、ASN.Xで拡張parameterized定義のために参照名を製造する必要性を避けることができる記号法の能力です。
13. Translation of Parameterized Definitions
13. Parameterized定義に関する翻訳
The translation of an ASN.1 specification into ASN.X replaces any DummyReference [X.683] or reference to a parameterized definition [X.683] with the definition expanded in-line (except for a special case involving recursive parameterized types). For example, a ParameterizedObject is replaced by the Object on the right-hand side of the referenced ParameterizedObjectAssignment.
ASN.XへのASN.1仕様に関する翻訳はインラインで(再帰的なparameterizedタイプにかかわる特別なケースを除いた)広げられる定義にparameterized定義[X.683]のどんなDummyReference[X.683]や参照にも取って代わります。 例えば、ParameterizedObjectを参照をつけられたParameterizedObjectAssignmentの右側の上のObjectに取り替えます。
Legg Experimental [Page 83] RFC 4912 Abstract Syntax Notation X July 2007
[83ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
The definition that substitutes for a DummyReference or parameterized reference (e.g., the Object that substitutes for a ParameterizedObject) potentially comes from a different module from the reference. Expanding a DummyReference or parameterized reference in-line puts the substitute definition into the context of the module containing the reference, which could therefore alter the interpretation of the substitute definition.
DummyReferenceかparameterized参照(例えば、ParameterizedObjectのために代理をするObject)のために代理をする定義は参照と異なったモジュールから潜在的に来ます。 DummyReferenceかparameterized参照インラインでaを広げると、代わりの定義はしたがって、代わりの定義の解釈を変更できた参照を含むモジュールの文脈に入れられます。
A type definition is potentially dependent on the TagDefault and ExtensionDefault of the module in which it appears, and may also be affected by encoding instructions in an XML Encoding Rules (XER) [X.693] encoding control section [X.693-1]. Other kinds of definitions are not dependent on the module context; however, type definitions can be nested within the other kinds of definitions, so a change of context can still be significant.
型定義は、潜在的にそれが現れるモジュールのTagDefaultとExtensionDefaultに依存していて、また、制御セクション[X.693-1]をコード化しながらXML Encoding Rules(XER)[X.693]での指示をコード化することによって、影響を受けるかもしれません。 他の種類の定義はモジュール文脈に依存していません。 しかしながら、他の種類の定義の中で型定義を入れ子にすることができるので、文脈の変化はまだ重要である場合があります。
Aside: Type definitions are not dependent on their module's RXER or Generic String Encoding Rules (GSER) [GSER] encoding control section [RXEREI][GSEREI] (as they are currently defined), so the presence of an encoding control section for RXER or GSER is not significant in a change of context.
傍らに: 型定義が制御セクション[RXEREI][GSEREI]をコード化しながら(彼らが現在定義されるとき)それらのモジュールのRXERかGeneric String Encoding Rules(GSER)[GSER]に依存していないので、RXERかGSERのためのコード化制御セクションの存在は文脈の変化で重要ではありません。
The remainder of this section describes how and when a change of context is indicated in the ASN.X translation of a DummyReference or parameterized reference.
このセクションの残りは、文脈の変化がどのように、いつDummyReferenceかparameterized参照に関するASN.X翻訳で示されるかを説明します。
In any instance of use, the module containing the DummyReference or parameterized reference is the referencing module, and the module providing the substitute definition is the referenced module. The referenced and referencing modules may be the same module.
使用のどんな例でも、DummyReferenceかparameterized参照を含むモジュールは参照箇所モジュールです、そして、代わりの定義を提供するモジュールは参照をつけられたモジュールです。 参照箇所とモジュールに参照をつけるのは、同じモジュールであるかもしれません。
In the case of a ParameterizedType, the substitute definition is the Type on the right-hand side of the referenced ParameterizedTypeAssignment.
ParameterizedTypeの場合では、代わりの定義は参照をつけられたParameterizedTypeAssignmentの右側の上のTypeです。
In the case of a ParameterizedValueSetType, the substitute definition is the constrained type on the right-hand side of the notional ParameterizedTypeAssignment equivalent to the referenced ParameterizedValueSetTypeAssignment (see Clause 15.8 of X.680 [X.680]).
ParameterizedValueSetTypeの場合では、代わりの定義は参照をつけられたParameterizedValueSetTypeAssignmentに同等な概念的なParameterizedTypeAssignmentの右側の制約つきタイプ(X.680[X.680]のClause15.8を見る)です。
In the case of a ParameterizedValue, the substitute definition is the Value on the right-hand side of the referenced ParameterizedValueAssignment.
ParameterizedValueの場合では、代わりの定義は参照をつけられたParameterizedValueAssignmentの右側の上のValueです。
In the case of a ParameterizedObjectClass, the substitute definition is the ObjectClass on the right-hand side of the referenced ParameterizedObjectClassAssignment.
ParameterizedObjectClassの場合では、代わりの定義は参照をつけられたParameterizedObjectClassAssignmentの右側の上のObjectClassです。
Legg Experimental [Page 84] RFC 4912 Abstract Syntax Notation X July 2007
[84ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
In the case of a ParameterizedObject, the substitute definition is the Object on the right-hand side of the referenced ParameterizedObjectAssignment.
ParameterizedObjectの場合では、代わりの定義は参照をつけられたParameterizedObjectAssignmentの右側の上のObjectです。
In the case of a ParameterizedObjectSet, the substitute definition is the ObjectSet on the right-hand side of the referenced ParameterizedObjectSetAssignment.
ParameterizedObjectSetの場合では、代わりの定義は参照をつけられたParameterizedObjectSetAssignmentの右側の上のObjectSetです。
If the ActualParameter corresponding to a DummyReference is not a ValueSet, then the substitute definition for that DummyReference is the Type, Value, DefinedObjectClass, Object, or ObjectSet in the ActualParameter.
DummyReferenceに対応するActualParameterがValueSetでないなら、そのDummyReferenceのための代わりの定義は、ActualParameterのType、Value、DefinedObjectClass、Object、またはObjectSetです。
If the ActualParameter corresponding to a DummyReference is a ValueSet, then the substitute definition for that DummyReference is the notional constrained type equivalent to the ValueSet; the ElementSetSpecs of the ValueSet contributes to the constraint of the constrained type, and the governor of the Parameter corresponding to the ActualParameter is used as the parent type that is constrained.
DummyReferenceに対応するActualParameterがValueSetであるなら、そのDummyReferenceのための代わりの定義はValueSetに同等な概念的な制約つきタイプです。 ValueSetのElementSetSpecsは制約つきタイプの規制に貢献します、そして、ActualParameterに対応するParameterの知事は制約つきである親タイプとして使用されます。
Definition (interchangeable): The contexts of the referencing and referenced modules are interchangeable with respect to interpreting the substitute definition if:
(交換可能)の定義: 参照をつけて参照をつけられたモジュールの文脈が代わりの定義を解釈することに関して交換可能である、:
(1) the referenced module is the referencing module and does not contain an XER encoding control section, or
または(1) 参照をつけられたモジュールが参照箇所モジュールであり、制御セクションをコード化するXERを含んでいない。
(2) the referenced module and referencing module have the same TagDefault (where an absent TagDefault is taken to be equivalent to "EXPLICIT TAGS"), the referenced module and referencing module have the same ExtensionDefault, and neither module has an XER encoding control section.
(2) 参照をつけられたモジュールとモジュールに参照をつけるのにおいて同じTagDefault(欠けているTagDefaultが「明白なタグ」に相当しているように取られるところ)があります、そして、参照をつけられたモジュールとモジュールに参照をつけるのにおいて同じExtensionDefaultがあります、そして、どちらのモジュールも、XERは制御セクションをコード化しません。
Aside: A module with an XER encoding control section is not considered to have a context interchangeable with another module, including itself, because the typereference by which a substitute type definition is identified may appear in a TargetList in the XER encoding control section of the referenced module, and because the in-line expansion of a substitute definition may cause its text to come within the scope of a TargetList in the XER encoding control section of the referencing module that would not apply otherwise.
傍らに: XERが制御セクションをコード化しているモジュールで文脈が別のモジュールで交換可能になると考えられません、それ自体を含んでいて; 代わりの型定義が特定されるtypereferenceが参照をつけられたモジュールの制御セクションをコード化するXERのTargetListに現れるかもしれなくて、テキストがそうでなければ適用されない参照箇所モジュールの制御セクションをコード化するXERで代わりの定義のインライン拡大でTargetListの範囲に含まれるかもしれないので。
Definition (recursively contained): A ParameterizedType is recursively contained if its translation will be nested within the translation (i.e., in-line expansion) of another ParameterizedType to
定義(再帰的に含まれています): 翻訳が別のParameterizedTypeに関する翻訳(すなわち、インライン拡大)の中で入れ子にされるなら、ParameterizedTypeは再帰的に含まれています。
Legg Experimental [Page 85] RFC 4912 Abstract Syntax Notation X July 2007
[85ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
which it is equivalent. A ParameterizedValueSetType is recursively contained if its translation will be nested within the translation of another ParameterizedValueSetType to which it is equivalent.
どれ、それは同等であるか。 翻訳がそれが相当している別のParameterizedValueSetTypeに関する翻訳の中で入れ子にされるなら、ParameterizedValueSetTypeは再帰的に含まれています。
Aside: ASN.1 does not permit the other kinds of parameterized reference to be recursive.
傍らに: ASN.1は、他の種類のparameterized参照が再帰的であることを可能にしません。
The translation of a DummyReference, a ParameterizedType that is not recursively contained, a ParameterizedValue, a ParameterizedValueSetType that is not recursively contained, a ParameterizedObjectClass, a ParameterizedObject, or a ParameterizedObjectSet is either:
DummyReference、再帰的に含まれていないParameterizedType、ParameterizedValue、再帰的に含まれていないParameterizedValueSetType、ParameterizedObjectClass、ParameterizedObject、またはParameterizedObjectSetに関する翻訳はどちらかです:
(a) the translation of the substitute definition, or
または(a) 代わりの定義に関する翻訳。
(b) an element item with the [local name] "type" if the substitute definition is a Type, "value" if the substitute definition is a Value, "class" if the substitute definition is an ObjectClass or DefinedObjectClass, "object" if the substitute definition is an Object, or "objectSet" if the substitute definition is an ObjectSet. A fully expanded reference (described shortly) SHALL be added to the [children] of the element item.
(b) 代わりの定義であるなら、[地方名]「タイプ」がある要素の品目はTypeです、と「値」の「クラス」の代わりの定義がValueであるか、そして、代わりの定義がObjectClassであるか、そして、DefinedObjectClassが代わりの定義がObject、または"objectSet"であるなら代わりの定義がObjectSetであるなら「反対します」。 Aは参照(まもなく、説明される)SHALLを完全に広げました。要素の品目の[子供]に加えられます。
The translation in case (b) is always allowed and provides information to identify the referenced module and the referenced definition.
場合(b)における翻訳は、参照をつけられたモジュールと参照をつけられた定義を特定するためにいつも許容されていて、情報を提供します。
The translation in case (a) MAY be used instead if and only if the contexts of the referencing and referenced modules are interchangeable, or the contexts of the referencing and referenced modules are not interchangeable, but the difference between them does not affect how the substitute definition is interpreted.
そして、場合(a)における翻訳が代わりに使用されるかもしれない、参照をつけて参照をつけられたモジュールの文脈が交換可能であるか、参照をつけて参照をつけられたモジュールの文脈が交換可能ではありませんが、またはそれらの違いが代わりの定義がどう解釈されるかに影響しない場合にだけ。
Aside: There are many ways in which the substitute definition can be unaffected by a difference between the contexts of the referencing and referenced modules. One example would be where the referencing and referenced modules differ only in their TagDefault, but the substitute definition does not contain any TaggedType notation.
傍らに: 代わりの定義が参照をつけて参照をつけられたモジュールの文脈の違いで影響を受けない場合がある多くの方法があります。 1つの例が参照をつけて参照をつけられたモジュールがそれらのTagDefaultだけにおいて異なるところでしょうが、代わりの定義は少しのTaggedType記法も含んでいません。
Note that if the translation in case (a) is used, then the referencing module is still the referencing module when considering a nested in-line expansion. If the translation in case (b) is used, then the referenced module becomes the referencing module when considering a nested in-line expansion.
入れ子にされたインライン拡大を考えるとき、それでも、場合(a)における翻訳が使用されているなら参照箇所モジュールが参照箇所モジュールであることに注意してください。 入れ子にされたインライン拡大を考えるとき、場合(b)における翻訳が使用されているなら、参照をつけられたモジュールは参照箇所モジュールになります。
Legg Experimental [Page 86] RFC 4912 Abstract Syntax Notation X July 2007
[86ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
If case (a) is used for the translation of a DummyReference where the substitute definition is a Type, then an attribute form translation of the substitute definition SHALL NOT be used, and an attribute item with the [local name] "explicit" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <type> element item resulting from the translation of the substitute definition. Where the automatic tagging transformation applies [X.680], this attribute item indicates that explicit tagging applies to the type instead of the usual implicit tagging.
代わりの定義がTypeであり、次に、代わりの定義に関する属性フォーム翻訳がSHALLであるDummyReferenceに関する翻訳において使用されているのが、ケース(a)がそうであるなら使用されていて[地方名]が「明白であり」、[正常にされた値]が「本当」の属性項目でない「1インチは代わりの定義に関する翻訳から生じる<タイプ>要素の品目の[属性]に加えられるものとします」。 自動タグ付け変化が[X.680]を適用するところでは、この属性項目は、明白なタグ付けが普通の暗黙のタグ付けの代わりにタイプに適用されるのを示します。
If case (b) is used for the translation of a DummyReference where the substitute definition is a Type, then an attribute item with the [local name] "explicit" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the <type> element item generated by case (b).
[地方名]が「明白であり」、[正常にされた値]が「本当」の状態でケース(b)が代わりの定義がTypeであり、その時が属性項目であるDummyReferenceに関する翻訳に使用されるか、または「1インチはケース(b)で発生する<タイプ>要素の品目の[属性]に加えられるものとする」なら。
A fully expanded reference is an element item with the [local name] "expanded". Except in the case of a DummyReference, the reference name is indicated by an attribute item with the [local name] "name" added to the [attributes] of the <expanded> element item.
完全に拡張している参照は[地方名]が「広げられている」要素の品目です。 DummyReferenceに関するケースを除いて、存在という[地方名]「名前」が<の[属性]に加えられている状態で属性項目によって示された参照名は>要素の品目を広くしました。
In the case of a ParameterizedType or ParameterizedValueSetType, the [normalized value] of this attribute item is the typereference of the ParameterizedType or ParameterizedValueSetType.
ParameterizedTypeかParameterizedValueSetTypeの場合でこの属性項目の[正常にされた値]はParameterizedTypeかParameterizedValueSetTypeのtypereferenceです。
In the case of a ParameterizedValue, the [normalized value] of this attribute item is the valuereference of the ParameterizedValue.
ParameterizedValueの場合でこの属性項目の[正常にされた値]はParameterizedValueのvaluereferenceです。
In the case of a ParameterizedObjectClass, the [normalized value] of this attribute item is the objectclassreference of the ParameterizedObjectClass.
ParameterizedObjectClassの場合でこの属性項目の[正常にされた値]はParameterizedObjectClassのobjectclassreferenceです。
In the case of a ParameterizedObject, the [normalized value] of this attribute item is the objectreference of the ParameterizedObject.
ParameterizedObjectの場合でこの属性項目の[正常にされた値]はParameterizedObjectのobjectreferenceです。
In the case of a ParameterizedObjectSet, the [normalized value] of this attribute item is the objectsetreference of the ParameterizedObjectSet.
ParameterizedObjectSetの場合でこの属性項目の[正常にされた値]はParameterizedObjectSetのobjectsetreferenceです。
The "name" attribute item MAY be omitted if:
「名前」属性項目が省略されるかもしれない、:
(1) the conditions permitting the use of the translation in case (a) are satisfied, or
または(1) 場合(a)における翻訳の使用を可能にする状態が満たされている。
(2) the reference is not a typereference, or
または(2) 参照がtypereferenceでない。
Legg Experimental [Page 87] RFC 4912 Abstract Syntax Notation X July 2007
[87ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
(3) the reference is a typereference that does not appear in any TargetList in an XER encoding control section of the referenced module.
(3) 参照は参照をつけられたモジュールの制御セクションをコード化するXERのどんなTargetListにも現れないtypereferenceです。
The "name" attribute SHALL NOT appear in the translation of a DummyReference.
「名前」属性SHALL NOTはDummyReferenceに関する翻訳に現れます。
The referenced module is indicated by an element item with the [local name] "module" added to the [children] of the <expanded> element item. The <module> element item MAY be omitted if the conditions permitting the use of the translation in case (a) are satisfied, or if the referencing module is the referenced module. When the <module> element item is present:
参照をつけられたモジュールは<の[子供]に加えられた[地方名]「モジュール」拡張>要素の品目がある要素の品目によって示されます。 <モジュール>要素の品目は場合(a)における翻訳の使用を可能にする状態が満たされているか、または参照箇所モジュールが参照をつけられたモジュールであるなら省略されるかもしれません。 <モジュール>要素の品目が存在しているとき:
(1) An attribute item with the [local name] "name" SHOULD be added to the [attributes] of the <module> element item. The [normalized value] of this attribute item is the modulereference in the ModuleIdentifier in the ModuleDefinition of the referenced module.
(1) SHOULDという[地方名]「名前」が<モジュール>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は参照をつけられたモジュールのModuleDefinitionのModuleIdentifierのmodulereferenceです。
(2) If the DefinitiveIdentifier in the ModuleIdentifier in the ModuleDefinition of the referenced module is not empty, then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <module> element item. The [normalized value] of this attribute item is the RXER character data translation of the DefinitiveIdentifier.
(2)は参照をつけられたモジュールのModuleDefinitionのModuleIdentifierのDefinitiveIdentifierであるなら空でなく、その時は[地方名]「識別子」SHALLが<モジュール>要素の品目の[属性]に加えられている属性項目です。 この属性項目の[正常にされた値]はDefinitiveIdentifierに関するRXERキャラクタデータ変換です。
(3) If the referenced module has a schema identity URI, then an attribute item with the [local name] "schemaIdentity" SHALL be added to the [attributes] of the <module> element item. The [normalized value] of this attribute item is the schema identity URI of the referenced module.
(3) 参照をつけられたモジュールには図式アイデンティティURIがあって、次に、[地方名]がある属性項目が"schemaIdentity"であるというSHALLであるなら、<モジュール>要素の品目の[属性]に加えられてください。 この属性項目の[正常にされた値]は参照をつけられたモジュールの図式アイデンティティURIです。
The [attributes] of the <module> element item MUST contain at least one of the attribute items specified in cases (1), (2), and (3).
<モジュール>要素の品目の[属性]は少なくとも場合(1)、(2)、および(3)で指定された属性項目の1つを含まなければなりません。
The translation of the substitute definition SHALL be added to the [children] or [attributes] of the <expanded> element item.
翻訳、代わりの定義SHALLでは、[子供]に加えられてください。さもないと、<の[属性]は>要素の品目を広げました。
Legg Experimental [Page 88] RFC 4912 Abstract Syntax Notation X July 2007
[88ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Example
例
Consider these module definitions:
これらのモジュール定義を考えてください:
Templates DEFINITIONS AUTOMATIC TAGS ::= BEGIN
テンプレート定義オートマチックは以下にタグ付けをします:= 始まってください。
CollectionOfThings { Thing } ::= SEQUENCE OF thing Thing -- the Thing on the right-hand side of the assignment is -- a DummyReference
CollectionOfThingsもの:、:= 課題の右側の上のThingがそうであるというSEQUENCE OFものThing、DummyReference
END
終わり
ProtocolDefinitions DEFINITIONS AUTOMATIC TAGS ::= BEGIN
ProtocolDefinitions定義オートマチックは以下にタグ付けをします:= 始まってください。
IMPORTS CollectionOfThings{} FROM Templates ;
輸入CollectionOfThings、テンプレートから。
CollectionOfIntegers ::= CollectionOfThings { INTEGER } -- the right-hand side of the assignment is -- a ParameterizedType
CollectionOfIntegers:、:= 課題の右側がそうであるというCollectionOfThings INTEGERはParameterizedTypeです。
END
終わり
Without using the translation in case (a), the translations of these modules are:
場合(a)に翻訳を使用するのがなければ、これらのモジュールに関する翻訳は以下の通りです。
<asnx:module name="Templates"/>
<asnx: モジュール名前=「テンプレート」/>。
<asnx:module xmlns:asnx="urn:ietf:params:xml:ns:asnx" name="ProtocolDefinitions">
<asnx: モジュールxmlns: asnx=「つぼ:ietf:params:xml:ナノ秒: asnx」名=、「ProtocolDefinitions">"
<namedType name="CollectionOfIntegers"> <type> <expanded name="CollectionOfThings"> <module name="Templates"/> <type> <sequenceOf> <element name="thing"> <type> <expanded>
<namedTypeが=を命名する、「CollectionOfIntegers、「><タイプ><が名前=「CollectionOfThings「><モジュール名=」テンプレート」/><タイプ><sequenceOf><要素名=を広げた、「もの、「><タイプ><は>を広げました」。
Legg Experimental [Page 89] RFC 4912 Abstract Syntax Notation X July 2007
[89ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
<module name="ProtocolDefinitions"/> <type ref="asnx:INTEGER"/> </expanded> </type> </element> </sequenceOf> </type> </expanded> </type> </namedType>
<モジュール名=の「ProtocolDefinitions」/><タイプ審判=「asnx: 整数」/></拡張している></タイプ></要素></sequenceOf></タイプ></拡張している></タイプ></namedType>。
</asnx:module>
</asnx: モジュール>。
The translation of the Templates module is empty because the module contains only a parameterized assignment.
モジュールがparameterized課題だけを含んでいるので、Templatesモジュールの翻訳は空です。
Since the contexts of the Templates and ProtocolDefinitions modules are interchangeable, a simpler translation of the ProtocolDefinitions module is permitted:
TemplatesとProtocolDefinitionsモジュールの文脈が交換可能であるので、ProtocolDefinitionsモジュールの、より簡単な翻訳は受入れられます:
<asnx:module xmlns:asnx="urn:ietf:params:xml:ns:asnx" name="ProtocolDefinitions">
<asnx: モジュールxmlns: asnx=「つぼ:ietf:params:xml:ナノ秒: asnx」名=、「ProtocolDefinitions">"
<namedType name="CollectionOfIntegers"> <type> <sequenceOf> <element name="thing"> <type ref="asnx:INTEGER" explicit="true"/> </element> </sequenceOf> </type> </namedType>
<namedTypeが=を命名する、「「><は><sequenceOf><要素名=をタイプする」というCollectionOfIntegersもの「><タイプ審判=「asnx: INTEGER」=「本当」明白な/></要素></sequenceOf></タイプ></namedType>」
</asnx:module>
</asnx: モジュール>。
If a ParameterizedType or ParameterizedValueSetType is recursively contained, then its translation is an element item with the [local name] "type". An attribute item with the [local name] "ancestor" SHALL be added to the [attributes] of the <type> element item. The [normalized value] of this attribute item is the decimal digit string representing the integer value of one plus the number of intermediate enclosing <type> element items between the <type> element items resulting from the translations of the two equivalent instances of ParameterizedType or ParameterizedValueSetType. An element item with the [local name] "annotation" MAY be added to the [children] of the <type> element item.
ParameterizedTypeかParameterizedValueSetTypeが再帰的に含まれているなら、翻訳は[地方名]「タイプ」がある要素の品目です。 [地方名]「先祖」SHALLが<タイプ>要素の品目の[属性]に加えられている属性項目。 この属性項目の[正常にされた値]は1の整数値を表す10進数字ストリングです、そして、<を同封する中間的数はParameterizedTypeかParameterizedValueSetTypeの2つの同等な例に関する翻訳から生じながら、<タイプ>要素の品目の間で>要素の品目をタイプします。 [地方名]「注釈」がある要素の品目は<タイプ>要素の品目の[子供]に加えられるかもしれません。
Legg Experimental [Page 90] RFC 4912 Abstract Syntax Notation X July 2007
[90ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
A <type> element item with an ancestor attribute item is a reference to an ancestor <type> element item. This form for a <type> element item SHOULD NOT be used in original specifications written in ASN.X.
先祖属性項目がある<タイプ>要素の品目は先祖<タイプ>要素の品目の参照です。 ASN.Xに書かれていて、<のためのこのフォームは中古のコネが正式仕様書であったなら>要素の品目SHOULD NOTをタイプします。
Aside: The form is only intended for the purpose of handling recursive parameterized type definitions in an ASN.1 specification being translated into ASN.X. Such definitions are self-referencing, but have no obvious name. It is also not easy to construct a suitable name from the surrounding context because recursive parameterized types can be embedded in other constructs, such as information objects, that are themselves unnamed.
傍らに: フォームはASN.X. Such定義に翻訳されているのが、自己参照箇所であることであるということであるのでASN.1仕様で再帰的なparameterized型定義を扱う目的のために意図するだけですが、どんな明白な名前も持たないでください。 また、周囲の文脈から適当な名前を構成するのも、情報物などの他の自分たちで無名である構造物に再帰的なparameterizedタイプを埋め込むことができるので、簡単ではありません。
Example
例
Consider these type definitions, assumed to be defined in a module that does not have an XER encoding control section:
XERが制御セクションをコード化しないモジュールで定義されると思われたこれらの型定義を考えてください:
Tree { ValueType } ::= SEQUENCE { value [0] ValueType, left-subtree [1] Tree { ValueType } OPTIONAL, right-subtree [2] Tree { ValueType } OPTIONAL }
木のValueType:、:= 系列OPTIONALと、正しい下位木で[0]ValueType、左下位木[1]木のValueTypeを評価してください、[2] 木のValueType、OPTIONAL
NumberTree ::= [APPLICATION 13] Tree { INTEGER }
NumberTree:、:= [アプリケーション13] 木整数
The assignment for "Tree" is not directly translated because it is a ParameterizedAssignment. The translation for the "NumberTree" assignment, up to but not yet including the Type in the TaggedType, is as follows:
それがParameterizedAssignmentであるので、「木」のための課題は直接翻訳されません。 上がっていますが、TaggedTypeにまだTypeを含んでいない"NumberTree"課題のための翻訳は以下の通りです:
<namedType name="NumberTree"> <type> <tagged tagClass="application" number="13"/> </type> </namedType>
<namedType名前=「「><タイプ><はtagClass=にタグ付けをした」というNumberTreeアプリケーション」番号は「13インチ/>の</タイプ></namedType>」と等しいです。
The Type in the TaggedType is a ParameterizedType. Since the ParameterizedType is not recursively contained, the translation of the ParameterizedType (using the translation in case (a) above) is the translation of the Type on the right-hand side of the referenced ParameterizedTypeAssignment, namely this type:
TaggedTypeのTypeはParameterizedTypeです。 ParameterizedTypeが再帰的に含まれていないので、ParameterizedType(場合(a)における上記の翻訳を使用する)に関する翻訳はすなわち、参照をつけられたParameterizedTypeAssignment、このタイプの右側におけるTypeに関する翻訳です:
SEQUENCE { value [0] ValueType, left-subtree [1] Tree { ValueType } OPTIONAL, right-subtree [2] Tree { ValueType } OPTIONAL }
系列OPTIONALと、正しい下位木で[0]ValueType、左下位木[1]木のValueTypeを評価してください、[2] 木のValueType、OPTIONAL
Legg Experimental [Page 91] RFC 4912 Abstract Syntax Notation X July 2007
[91ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
ValueType is a DummyReference. The translation of the actual parameter substitutes for the DummyReference. In this case, the actual parameter is the INTEGER type.
ValueTypeはDummyReferenceです。 実引数に関する翻訳はDummyReferenceのために代理をします。 この場合、実引数はINTEGERタイプです。
The translation for the SEQUENCE type, up to the first component, is added to the <tagged> element:
SEQUENCEタイプが<に最初のコンポーネントまで加えられるので、翻訳は>要素にタグ付けをしました:
<namedType name="NumberTree"> <type> <tagged tagClass="application" number="13"> <type><!-- Tree { INTEGER } --> <sequence> <element name="value"> <type> <tagged number="0"> <type ref="asnx:INTEGER" explicit="true"/><!-- ValueType --> </tagged> </type> </element> </sequence> </type> </tagged> </type> </namedType>
<namedType名前=「「><タイプ><はtagClass=にタグ付けをした」というNumberTreeアプリケーション」番号は「13インチの><タイプ><!--木のINTEGER--><系列><要素名=」の値の「><タイプ><は数=にタグ付けをした」0インチの><タイプ審判=「asnx: INTEGER」=「本当」明白な/><と等しいです!; ValueType--></タグ付けをされた></タイプ></要素></系列></タイプ></タグ付けをされた></タイプ></namedType>。
The Type in the TaggedType for the second component is a ParameterizedType. Since this ParameterizedType is recursively contained, its translation is a <type> element with the ancestor attribute. The value of the ancestor attribute is "2" because there is one intermediate <type> element (for a TaggedType). Put another way, the translations of the equivalent instances of ParameterizedType are two <type> steps apart.
2番目のコンポーネントのためのTaggedTypeのTypeはParameterizedTypeです。 このParameterizedTypeが再帰的に含まれているので、翻訳は先祖属性がある<タイプ>要素です。 先祖属性の値は「1中間的<があるので、2インチは>要素(TaggedTypeのための)をタイプします」です。 別の方法を置いてください、そして、ParameterizedTypeの同等な例に関する翻訳が2<タイプ>ステップ離れてあります。
The translation of the third component of the SEQUENCE type follows the same pattern as the second component. The completed translation is as follows:
SEQUENCEタイプの3番目の成分に関する翻訳は2番目のコンポーネントと同じパターンに従います。 完成した翻訳は以下の通りです:
<namedType name="NumberTree"> <type> <tagged tagClass="application" number="13"> <type><!-- Tree { INTEGER } --> <sequence> <element name="value"> <type> <tagged number="0"> <type ref="asnx:INTEGER" explicit="true"/><!-- ValueType -->
<namedType名前=「「><タイプ><はtagClass=にタグ付けをした」というNumberTreeアプリケーション」番号は値の「><タイプ><は数=にタグ付けをした」0インチの><タイプ審判=「asnx: INTEGER」=「本当」明白な/><!--ValueType--「13インチの><タイプ><!--木のINTEGER--><系列><要素名=」>と等しいです。
Legg Experimental [Page 92] RFC 4912 Abstract Syntax Notation X July 2007
[92ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
</tagged> </type> </element> <optional> <element name="left-subtree"> <type> <tagged number="1"> <type ancestor="2"/><!-- Tree { ValueType } --> </tagged> </type> </element> </optional> <optional> <element name="right-subtree"> <type> <tagged number="2"> <type ancestor="2"/><!-- Tree { ValueType } --> </tagged> </type> </element> </optional> </sequence> </type> </tagged> </type> </namedType>
</タグ付けをされた></タイプ></要素の<の任意の><要素>名=、「左下位木「><タイプ><は数=にタグ付けをした」1インチの><タイプ先祖=「2インチ/>の<!」; ValueTypeを木に追い上げてください--></が></タイプ></要素></任意の>の<任意の><要素名=にタグ付けをした、「正しい下位木「><タイプ><は数=にタグ付けをした」2インチの><タイプ先祖=「2インチ/>の<!」; 木のValueType--></タグ付けをされた></タイプ></要素></任意の></系列></タイプ></タグ付けをされた></タイプ></namedType>。
14. EncodingControlSections Translation
14. EncodingControlSections翻訳
If an EncodingControlSections instance contains at least one EncodingControlSection with an encodingreference that is not RXER, then the translation of the EncodingControlSections instance is an element item with the [local name] "encodingControls". The translation of each EncodingControlSection with an encodingreference that is not RXER SHALL be appended to the [children] of the <encodingControls> element item.
EncodingControlSections例がRXERでないencodingreferenceと少なくとも1EncodingControlSectionを含んでいるなら、EncodingControlSections例に関する翻訳は[地方名]「encodingControls」がある要素の品目です。 翻訳、RXER SHALLでないencodingreferenceと各EncodingControlSectionでは、<encodingControls>要素の品目の[子供]に追加してください。
Aside: This is not suggesting that RXER encoding control sections are ignored. Encoding control sections for RXER are not explicitly represented in ASN.X, but rather affect how an ASN.1 module is translated into an ASN.X module. The effect of an RXER encoding control section on the translation is addressed in other parts of this specification.
傍らに: これは、制御セクションをコード化するRXERが無視されるのを示していません。 コントロールをコード化して、RXERのためのセクションはASN.Xで明らかに代表されませんが、むしろASN.1モジュールがどうASN.Xモジュールに翻訳されるかに影響してください。 RXERが制御セクションをコード化するという翻訳への効果はこの仕様の他の部分で扱われます。
Encoding control sections for other encoding rules will have explicit representations in ASN.X.
他の符号化規則のために制御セクションをコード化すると、明白な表現はASN.Xに持たれるでしょう。
Legg Experimental [Page 93] RFC 4912 Abstract Syntax Notation X July 2007
[93ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
If the encodingreference in an EncodingControlSection is GSER, then the translation of the EncodingControlSection is an element item with the [local name] "GSER". The translation of the EncodingInstructionAssignmentList in the EncodingControlSection SHALL be added to the [children] of the <GSER> element item.
EncodingControlSectionのencodingreferenceがGSERであるなら、EncodingControlSectionに関する翻訳は[地方名]"GSER"がある要素の品目です。 翻訳、EncodingControlSection SHALLのEncodingInstructionAssignmentListでは、<GSER>要素の品目の[子供]に加えられてください。
The EncodingInstructionAssignmentList notation is different for each set of encoding instructions. The translation into ASN.X of an EncodingInstructionAssignmentList for GSER is specified in a separate document [GSEREIT].
指示をコード化する各セットにおいて、EncodingInstructionAssignmentList記法は異なっています。 GSERのためのEncodingInstructionAssignmentListのASN.Xへの翻訳は別々のドキュメント[GSEREIT]で指定されます。
Aside: The translation of an EncodingInstructionAssignmentList for GSER, as it is currently defined, is always empty.
傍らに: それが現在定義されるとき、GSERのためのEncodingInstructionAssignmentListの翻訳はいつも空です。
If the encodingreference in an EncodingControlSection is XER, then the translation of the EncodingControlSection is an element item with the [local name] "XER". The translation of the EncodingInstructionAssignmentList in the EncodingControlSection SHALL be added to the [children] of the <XER> element item. The translation into ASN.X of an EncodingInstructionAssignmentList for XER is specified in a separate document [XEREIT].
EncodingControlSectionのencodingreferenceがXERであるなら、EncodingControlSectionに関する翻訳は[地方名]"XER"がある要素の品目です。 翻訳、EncodingControlSection SHALLのEncodingInstructionAssignmentListでは、<XER>要素の品目の[子供]に加えられてください。 XERのためのEncodingInstructionAssignmentListのASN.Xへの翻訳は別々のドキュメント[XEREIT]で指定されます。
15. Security Considerations
15. セキュリティ問題
The ASN.X translation of an ASN.1 specification is semantically equivalent to the original ASN.1 specification. The security considerations that apply to an application built from the original ASN.1 specification apply equally to an application built from the ASN.X translation.
ASN.1仕様のASN.X翻訳はオリジナルのASN.1仕様に意味的に同等です。 当初のASN.1仕様から組立てられたアプリケーションに適用されるセキュリティ問題は等しくASN.X翻訳から組立てられたアプリケーションに適用されます。
Syntax-based canonicalization for XML documents (e.g., Canonical XML [CXML]) depends on the Infoset of an XML document being preserved. However, the Infoset representation of an ASN.X module potentially changes if it is decoded and re-encoded (though its ASN.1 value is preserved), disrupting the Canonical XML representation. To avoid this problem, ASN.X modules MUST be normalized prior to the application of syntax-based canonicalization. The normalization rules can be found in Section 6.13 of the specification for RXER [RXER].
XMLドキュメント(例えば、Canonical XML[CXML])のための構文ベースのcanonicalizationは保存されるXMLドキュメントのInfosetによります。 しかしながら、ASN.XモジュールのInfoset表現は、それが解読されて、再コード化されるかどうかを(ASN.1価値は守られますが)潜在的に変えます、Canonical XML表現を中断して。 この問題を避けるために、構文ベースのcanonicalizationのアプリケーションの前にASN.Xモジュールを正常にしなければなりません。 RXER[RXER]のための仕様のセクション6.13で正常化規則を見つけることができます。
16. Acknowledgements
16. 承認
The technology described in this document is the product of a research project begun jointly by Adacel Technologies Limited and Deakin University, and subsequently refined and completed by eB2Bcom.
本書では説明された技術はeB2BcomによってAdacel Technologies株式会社とディーキン大学によって共同で始められて、次に、洗練されて、完成した研究計画の製品です。
Legg Experimental [Page 94] RFC 4912 Abstract Syntax Notation X July 2007
[94ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
17. References
17. 参照
17.1. Normative References
17.1. 引用規格
[BCP14] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[BCP14] ブラドナー、S.、「Indicate Requirement LevelsへのRFCsにおける使用のためのキーワード」、BCP14、RFC2119、1997年3月。
[URI] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", STD 66, RFC 3986, January 2005.
[URI]バーナーズ・リー、T.、フィールディング、R.、およびL.Masinter、「Uniform Resource Identifier(URI):」 「ジェネリック構文」、STD66、RFC3986、2005年1月。
[GSER] Legg, S., "Generic String Encoding Rules (GSER) for ASN.1 Types", RFC 3641, October 2003.
[GSER]Legg、2003年10月のS.、「ASN.1タイプのためのジェネリックストリング符号化規則(GSER)」RFC3641。
[GSEREI] Legg, S., "Encoding Instructions for the Generic String Encoding Rules (GSER)", RFC 4792, January 2007.
[GSEREI]Legg、S.、「ジェネリックストリング符号化規則(GSER)のための指示をコード化します」、RFC4792、2007年1月。
[RXER] Legg, S. and D. Prager, "Robust XML Encoding Rules (RXER) for Abstract Syntax Notation One (ASN.1)", RFC 4910, July 2007.
[RXER] Legg、S.、およびD.プラーガー、「強健なXMLコード化は抽象構文記法1(ASN.1)のために(RXER)を統治します」、RFC4910、2007年7月。
[RXEREI] Legg, S., "Encoding Instructions for the Robust XML Encoding Rules (RXER)", RFC 4911, July 2007.
[RXEREI] Legg、S.、「強健なXML符号化規則(RXER)のために指示をコード化します」、RFC4911、2007年7月。
[GSEREIT] Legg, S., "Abstract Syntax Notation X (ASN.X) Representation of Encoding Instructions for the Generic String Encoding Rules (GSER)", RFC 4913, July 2007.
[GSEREIT]Legg、S.、「ジェネリックストリングコード化のためのコード化指示の抽象構文記法X(ASN.X)表現は(GSER)を統治します」、RFC4913、2007年7月。
[XEREIT] Legg, S., "Abstract Syntax Notation X (ASN.X) Representation of Encoding Instructions for the XML Encoding Rules (XER)", RFC 4914, July 2007.
[XEREIT]Legg、S.、「XMLコード化のためのコード化指示の抽象構文記法X(ASN.X)表現は(XER)を統治します」、RFC4914、2007年7月。
[X.680] ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1, Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation.
[X.680]ITU-T推薦X.680(07/02)| ISO/IEC8824-1、情報技術--抽象的なSyntax Notation One(ASN.1): 基本的な記法の仕様。
[X.680-1] ITU-T Recommendation X.680 (2002) Amendment 1 (10/03) | ISO/IEC 8824-1:2002/Amd 1:2004, Support for EXTENDED-XER.
[X.680-1]ITU-T推薦X.680(2002)修正1(10/03)| ISO/IEC8824-1: 2002/Amd1:2004、拡張XERのサポート。
[X.681] ITU-T Recommendation X.681 (07/02) | ISO/IEC 8824-2, Information technology - Abstract Syntax Notation One (ASN.1): Information object specification.
[X.681]ITU-T推薦X.681(07/02)| ISO/IEC8824-2、情報技術--抽象的なSyntax Notation One(ASN.1): 情報オブジェクト仕様。
Legg Experimental [Page 95] RFC 4912 Abstract Syntax Notation X July 2007
[95ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
[X.682] ITU-T Recommendation X.682 (07/02) | ISO/IEC 8824-3, Information technology - Abstract Syntax Notation One (ASN.1): Constraint specification.
[X.682]ITU-T推薦X.682(07/02)| ISO/IEC8824-3、情報技術--抽象的なSyntax Notation One(ASN.1): 規制仕様。
[X.683] ITU-T Recommendation X.683 (07/02) | ISO/IEC 8824-4, Information technology - Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1 specifications.
[X.683]ITU-T推薦X.683(07/02)| ISO/IEC8824-4、情報技術--抽象的なSyntax Notation One(ASN.1): ASN.1仕様のパラメタリゼーション。
[X.693] ITU-T Recommendation X.693 (12/01) | ISO/IEC 8825-4:2002, Information technology - ASN.1 encoding rules: XML encoding rules (XER).
[X.693]ITU-T推薦X.693(12/01)| ISO/IEC8825-4: 2002、情報技術--ASN.1符号化規則: XMLコード化は(XER)を統治します。
[X.693-1] Amendment 1: (to ITU-T Rec. X.693 | ISO/IEC 8825-4) XER encoding instructions and EXTENDED-XER.
[X.693-1]修正1: (ITU-T Recに。 X.693| ISO/IEC8825-4) 指示をコード化するXERとEXTENDED-XER。
[XML10] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", W3C Recommendation, http://www.w3.org/TR/2006/REC-xml-20060816, August 2006.
[XML10] ロバの鳴き声とT.とパオリとJ.とSperberg-マックィーンとC.とMalerとE.とF.Yergeau、「拡張マークアップ言語(XML)1.0(第4版)」、W3C推薦、 http://www.w3.org/TR/2006/REC-xml-20060816 (2006年8月)。
[XML11] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., Yergeau, F., and J. Cowan, "Extensible Markup Language (XML) 1.1 (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2006/REC-xml11-20060816, August 2006.
[XML11]は、T.、パオリ、J.、Sperberg-マックィーン、C.、Maler、E.、Yergeau、F.、およびJ.カウァン、「拡張マークアップ言語(XML)1.1(第2版)」をいななかせます、W3C推薦、 http://www.w3.org/TR/2006/REC-xml11-20060816 、2006年8月。
[XMLNS10] Bray, T., Hollander, D., Layman, A., and R. Tobin, "Namespaces in XML 1.0 (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2006/REC-xml-names-20060816, August 2006.
[XMLNS10]は、T.、オランダ人、D.、俗人、A.、およびR.トビン、「XML1.0(第2版)の名前空間」をいななかせます、W3C推薦、 http://www.w3.org/TR/2006/REC-xml-names-20060816 、2006年8月。
[XMLNS11] Bray, T., Hollander, D., Layman, A. and R. Tobin, "Namespaces in XML 1.1 (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2006/REC-xml-names11-20060816, August 2006.
[XMLNS11]は、T.とオランダ人とD.と俗人とA.とR.トビン、「XML1.1(第2版)の名前空間」をいななかせます、W3C推薦、 http://www.w3.org/TR/2006/REC-xml-names11-20060816 、2006年8月。
[INFOSET] Cowan, J. and R. Tobin, "XML Information Set (Second Edition)", W3C Recommendation, http://www.w3.org/TR/2004/REC-xml-infoset-20040204, February 2004.
[INFOSET] カウァンとJ.とR.トビン、「XML一組の情報(第2版)」、W3C推薦、 http://www.w3.org/TR/2004/REC-xml-infoset-20040204 、2004年2月。
[UNICODE] The Unicode Consortium, "The Unicode Standard, Version 4.0", Boston, MA, Addison-Wesley Developers Press, 2003. ISBN 0-321-18578-1.
[ユニコード] ユニコード共同体、「ユニコード規格、バージョン4インチ、ボストン(MA)アディソン-ウエスリー開発者プレス、2003。」 ISBN0-321-18578-1。
Legg Experimental [Page 96] RFC 4912 Abstract Syntax Notation X July 2007
[96ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
17.2. Informative References
17.2. 有益な参照
[CXML] Boyer, J., "Canonical XML Version 1.0", W3C Recommendation, http://www.w3.org/TR/2001/REC-xml-c14n-20010315, March 2001.
[CXML]ボワイエ、J.、「正準なXML、バージョン1インチ、W3C推薦、 http://www.w3.org/TR/2001/REC-xml-c14n-20010315 、2001インチ年3月。
[XSD1] Thompson, H., Beech, D., Maloney, M. and N. Mendelsohn, "XML Schema Part 1: Structures Second Edition", W3C Recommendation, http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/, October 2004.
[XSD1] トンプソン、H.、ぶな、D.、マローニー、M.、およびN.メンデルゾーン、「XML図式第1部:」 「構造第2版」、W3C推薦、 http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/ 、2004年10月。
[RNG] Clark, J. and M. Makoto, "RELAX NG Tutorial", OASIS Committee Specification, http://www.oasis-open.org/ committees/relax-ng/tutorial-20011203.html, December 2001.
[RNG] クラークとJ.とM.誠、「RELAX NGチュートリアル」、OASIS Committee Specification、ngを http://www.oasis-open.org/ 委員会/寛げる/チュートリアル-20011203.html、2001年12月。
Legg Experimental [Page 97] RFC 4912 Abstract Syntax Notation X July 2007
[97ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
Appendix A. ASN.1 for ASN.X
ASN.Xのための付録A.ASN.1
This appendix is normative.
この付録は規範的です。
AbstractSyntaxNotation-X { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) xmled(21472) asnx(1) module(0) notation(1) }
AbstractSyntaxNotation-X特定された組織(3)dod(6)のiso(1)のインターネット(1)個人的な(4)企業(1)xmled(21472) asnx(1)モジュール(0)記法(1)
-- Copyright (C) The IETF Trust (2007). This version of -- this ASN.1 module is part of RFC 4912; see the RFC itself -- for full legal notices. -- -- Regarding this ASN.1 module or any portion of it, the author -- makes no guarantees and is not responsible for any damage -- resulting from its use. The author grants irrevocable permission -- to anyone to use, modify, and distribute it in any way that does -- not diminish the rights of anyone else to use, modify, and -- distribute it, provided that redistributed derivative works do -- not contain misleading author or version information. -- Derivative works need not be licensed under similar terms.
-- IETFが信じる著作権(C)(2007)。 このバージョン、--このASN.1モジュールはRFC4912の一部です。 完全な法定の通知に関してRFC自身を見てください。 -- -- このASN.1モジュールかそれのどんな部分も見なす作者--使用から生じて、造のノーは、どんな損害にも保証して、原因となりません。 それを分配してください、そして、再配付された派生物が働いていれば、してください。作者が、何らかの方法でそれを使用して、変更して、分配するそれがする人はだれへのも呼び戻せない許可--使用する他の誰の権利も減少させないのを与える、変更、--、--作者かバージョンが情報であるとミスリードしながら、含んでいません。 -- 派生している作品は同類項に基づき認可される必要はありません。
DEFINITIONS RXER INSTRUCTIONS AUTOMATIC TAGS EXTENSIBILITY IMPLIED ::= BEGIN
定義RXER指示オートマチックは含意された伸展性にタグ付けをします:、:= 始まってください。
IMPORTS Markup, AnyURI, NCName, Name, QName FROM AdditionalBasicDefinitions { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) xmled(21472) asnx(1) module(0) basic(0) } GSER-EncodingInstruction, GSER-EncodingInstructionAssignmentList FROM GSER-EncodingInstructionNotation { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) xmled(21472) asnx(1) module(0) gser-ei-notation(2) } XER-EncodingInstruction, XER-EncodingInstructionAssignmentList FROM XER-EncodingInstructionNotation { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1)
IMPORTS Markup、AnyURI、NCName、Name、QName FROM AdditionalBasicDefinitionsのiso(1)の特定された組織(3)dod(6)のインターネットの(1)の個人的な(4)企業(1)xmled(21472) asnx(1)モジュール(0)基本的な(0)GSER-EncodingInstruction; 特定された組織(3)dod(6)のGSER-EncodingInstructionAssignmentListのインターネット(1)個人的な(4)企業(1)xmled(21472) asnx(1)モジュール(0)gser-ei FROM GSER-EncodingInstructionNotation iso(1)記法(2)XER-EncodingInstruction、XER-EncodingInstructionAssignmentList FROM XER-EncodingInstructionNotation、iso(1)の特定された組織(3)dod(6)のインターネット(1)私設の(4)企業(1)
Legg Experimental [Page 98] RFC 4912 Abstract Syntax Notation X July 2007
[98ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
xmled(21472) asnx(1) module(0) xer-ei-notation(3) } ;
xmled(21472) asnx(1)モジュール(0)xer-ei記法(3) ;
ModuleDefinition ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, format [ATTRIBUTE] [VERSION-INDICATOR] UTF8String ("1.0", ...) DEFAULT "1.0", name [ATTRIBUTE] ModuleReference, identifier [ATTRIBUTE] DefinitiveIdentifier OPTIONAL, schemaIdentity [ATTRIBUTE] AnyURI OPTIONAL, targetNamespace [ATTRIBUTE] AnyURI OPTIONAL, targetPrefix [ATTRIBUTE] NCName OPTIONAL, tagDefault [ATTRIBUTE] TagDefault DEFAULT automatic, extensibilityImplied [ATTRIBUTE] BOOLEAN DEFAULT FALSE, export SEQUENCE { } OPTIONAL, -- export is not used in this version imports [GROUP] ImportList OPTIONAL, assignments [GROUP] AssignmentList OPTIONAL, encodingControls EncodingControlSections OPTIONAL }
ModuleDefinition:、:= [空洞の入] 系列{ 注釈Annotation OPTIONAL、形式ATTRIBUTEバージョン-INDICATOR UTF8String、(「1インチ、…)、デフォルト、「1インチ、名前属性ModuleReference、識別子のDefinitiveIdentifierの任意の、そして、schemaIdentityの属性のAnyURIの任意の、そして、targetNamespace属性AnyURI任意のtargetPrefix属性NCName任意のtagDefault属性TagDefault属性デフォルト自動です、extensibilityImpliedはブールデフォルトを虚偽で結果と考えます、輸出系列、任意である、」; 輸出はこのバージョン輸入GROUP ImportList OPTIONAL、課題GROUP AssignmentList OPTIONAL、encodingControls EncodingControlSections OPTIONALで使用されません; }
ModuleReference ::= TypeReference
ModuleReference:、:= TypeReference
DefinitiveIdentifier ::= OBJECT IDENTIFIER
DefinitiveIdentifier:、:= オブジェクト識別子
TagDefault ::= ENUMERATED { explicit, implicit, automatic }
TagDefault:、:= 列挙されます。明白で、暗黙で、自動です。
Annotation ::= Markup
注釈:、:= マークアップ
ImportList ::= SEQUENCE SIZE (1..MAX) OF import Import
ImportList:、:= SEQUENCE SIZE(1..MAX)OF輸入Import
Import ::= SEQUENCE { name [ATTRIBUTE] ModuleReference OPTIONAL, identifier [ATTRIBUTE] DefinitiveIdentifier OPTIONAL, schemaIdentity [ATTRIBUTE] AnyURI OPTIONAL, namespace [ATTRIBUTE] AnyURI OPTIONAL, schemaLocation [ATTRIBUTE] AnyURI OPTIONAL }
以下をインポートしてください:= 系列[ATTRIBUTE]をModuleReference OPTIONALと命名してください、識別子[ATTRIBUTE]DefinitiveIdentifier OPTIONAL、schemaIdentity[ATTRIBUTE]AnyURI OPTIONAL、名前空間[ATTRIBUTE]AnyURI OPTIONAL、schemaLocation[ATTRIBUTE]AnyURI OPTIONAL
AssignmentList ::= SEQUENCE SIZE (1..MAX) OF assignment [GROUP] Assignment
AssignmentList:、:= SEQUENCE SIZE(1..MAX)OF課題[GROUP]課題
Assignment ::= [NO-INSERTIONS] CHOICE { namedType TypeAssignment, namedValue ValueAssignment, namedValueSet ValueSetTypeAssignment, namedClass ObjectClassAssignment, namedObject ObjectAssignment,
課題:、:= [入がありません]選択、namedType TypeAssignment、namedValue ValueAssignment、namedValueSet ValueSetTypeAssignment、namedClass ObjectClassAssignment、namedObject ObjectAssignment
Legg Experimental [Page 99] RFC 4912 Abstract Syntax Notation X July 2007
[99ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
namedObjectSet ObjectSetAssignment, component [GROUP] TopLevelNamedType }
namedObjectSet ObjectSetAssignment、コンポーネント[GROUP]TopLevelNamedType
TypeAssignment ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] TypeReference, type [GROUP] Type }
TypeAssignment:、:= 系列注釈Annotation OPTIONAL(名前[ATTRIBUTE]TypeReference)は[GROUP]タイプをタイプします。
TypeReference ::= UTF8String (PATTERN "[A-Z]\w*(-\w+)*") -- \w is equivalent to [a-zA-Z0-9]
TypeReference:、:= UTF8String、(PATTERN、「[A-Z]\w*、(-、\w+) *、」、)、--、\wは相当しています。[a-zA-Z0-9]
ValueAssignment ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ValueReference, type [GROUP] Type, value [GROUP] Value }
ValueAssignment:、:= 系列値の[GROUP]は、注釈Annotation OPTIONAL(名前[ATTRIBUTE]ValueReference)が[GROUP]タイプをタイプするのを評価します。
ValueReference ::= Identifier
ValueReference:、:= 識別子
Identifier ::= UTF8String (PATTERN "[a-z]\w(-\w+)*")
識別子:、:= UTF8String(パターン、「[a-z]\w、(-、\w+) *、」、)
ValueSetTypeAssignment ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] TypeReference, type [GROUP] Type, valueSet [GROUP] ValueSet }
ValueSetTypeAssignment:、:= 系列注釈Annotation OPTIONAL(名前[ATTRIBUTE]TypeReference)は[GROUP]タイプ、valueSet[GROUP]ValueSetをタイプします。
ObjectClassAssignment ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ObjectClassReference, objectClass [GROUP] ObjectClass }
ObjectClassAssignment:、:= 系列注釈Annotation OPTIONAL、名前[ATTRIBUTE]ObjectClassReference、objectClass[GROUP]ObjectClass
ObjectClassReference ::= UTF8String (PATTERN "[A-Z][A-Z0-9]*(-[A-Z0-9]+)*")
ObjectClassReference:、:= UTF8String(パターン、「[A-Z][A-Z0-9]*、(-、[A-Z0-9]+) *、」、)
ObjectAssignment ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ObjectReference, objectClass [GROUP] DefinedObjectClass, object [GROUP] Object }
ObjectAssignment:、:= 系列注釈Annotation OPTIONAL、名前[ATTRIBUTE]ObjectReference、objectClass[GROUP]DefinedObjectClass、オブジェクト[GROUP]が反対します。
ObjectReference ::= ValueReference
ObjectReference:、:= ValueReference
Legg Experimental [Page 100] RFC 4912 Abstract Syntax Notation X July 2007
[100ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
ObjectSetAssignment ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ObjectSetReference, objectClass [GROUP] DefinedObjectClass, objectSet [GROUP] ObjectSet }
ObjectSetAssignment:、:= 系列注釈Annotation OPTIONAL、名前[ATTRIBUTE]ObjectSetReference、objectClass[GROUP]DefinedObjectClass、objectSet[GROUP]ObjectSet
ObjectSetReference ::= TypeReference
ObjectSetReference:、:= TypeReference
TopLevelNamedType ::= NamedType (WITH COMPONENTS { ..., component (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT }) }), element (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT }) }), attribute (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT }) }), group ABSENT, member ABSENT, item ABSENT, simpleContent ABSENT })
TopLevelNamedType:、:= NamedType(WITH COMPONENTS { ..., component (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT }) }), element (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT }) }), attribute (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT }) }), group ABSENT, member ABSENT, item ABSENT, simpleContent ABSENT })
NamedType ::= [SINGULAR-INSERTIONS] CHOICE { component Element, element Element, attribute Attribute, group InvisibleNamedType, member InvisibleNamedType, item InvisibleNamedType, simpleContent InvisibleNamedType }
NamedType:、:= [まれな入] 選択コンポーネントElement(要素Element)はAttribute、グループInvisibleNamedType、メンバーInvisibleNamedType、項目InvisibleNamedType、simpleContent InvisibleNamedTypeを結果と考えます。
Attribute ::= GenericNamedType (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., local (WITH COMPONENTS { ..., typeAsVersion ABSENT }) }) })
以下を結果と考えてください:= GenericNamedType(WITH COMPONENTS、…、定義、(WITH COMPONENTS、…で、地方、(WITH COMPONENTS、…、typeAsVersion ABSENT)、)、)
Element ::= GenericNamedType (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., local (WITH COMPONENTS { ..., versionIndicator ABSENT }) }) })
要素:、:= GenericNamedType(WITH COMPONENTS、…、定義、(WITH COMPONENTS、…で、地方、(WITH COMPONENTS、…、versionIndicator ABSENT)、)、)
Legg Experimental [Page 101] RFC 4912 Abstract Syntax Notation X July 2007
[101ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
InvisibleNamedType ::= GenericNamedType (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., reference ABSENT, local (WITH COMPONENTS { ..., typeAsVersion ABSENT, versionIndicator ABSENT }) }) })
InvisibleNamedType:、:= GenericNamedType(WITH COMPONENTS、…、定義、(WITH COMPONENTS、参照ABSENTの、そして、地方の…、(WITH COMPONENTS、…、typeAsVersion ABSENT、versionIndicator ABSENT)、)、)
GenericNamedType ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, identifier [ATTRIBUTE] IdentifierOrEmpty OPTIONAL, definition [GROUP] CHOICE { reference [GROUP] DefinedComponent, local [GROUP] LocalComponent } }
GenericNamedType:、:= [空洞の入] 系列注釈Annotation OPTIONAL、識別子[ATTRIBUTE]IdentifierOrEmpty OPTIONAL、定義[GROUP]CHOICEは[GROUP]DefinedComponent、地方の[GROUP]LocalComponentに参照をつけます。
IdentifierOrEmpty ::= UTF8String (INCLUDES Identifier | "")
IdentifierOrEmpty:、:= UTF8String(識別子を含んでいます|、「「)」
DefinedComponent ::= [HOLLOW-INSERTIONS] SEQUENCE { name [GROUP] [NO-INSERTIONS] CHOICE { ref [ATTRIBUTE] QName, elementType [ATTRIBUTE] Name }, namespace [ATTRIBUTE] AnyURI OPTIONAL, context [ATTRIBUTE] AnyURI OPTIONAL, embedded [ATTRIBUTE] BOOLEAN OPTIONAL, prefixes [GROUP] EncodingPrefixes OPTIONAL } (WITH COMPONENTS { ..., name (WITH COMPONENTS { ref PRESENT }), namespace ABSENT } | WITH COMPONENTS { ..., name (WITH COMPONENTS { elementType PRESENT }), embedded ABSENT })
DefinedComponent:、:= [HOLLOW-INSERTIONS]SEQUENCE、審判[ATTRIBUTE]QName、elementType[ATTRIBUTE]名と[GROUP][INSERTIONSがない]CHOICEを命名してください、名前空間[ATTRIBUTE]AnyURI OPTIONAL、文脈[ATTRIBUTE]AnyURI OPTIONAL、埋め込まれた[ATTRIBUTE]BOOLEAN OPTIONAL、接頭語[GROUP]EncodingPrefixes OPTIONAL(WITH COMPONENTS、…、名前、(WITH COMPONENTS、審判PRESENT)、名前空間ABSENT、| WITH COMPONENTS、…、名前(WITH COMPONENTS elementType PRESENT)、埋め込まれたABSENT)
LocalComponent ::= SEQUENCE { name [ATTRIBUTE] NCName, typeAsVersion [ATTRIBUTE] BOOLEAN OPTIONAL, versionIndicator [ATTRIBUTE] BOOLEAN OPTIONAL, type [GROUP] Type }
LocalComponent:、:= 系列名前[ATTRIBUTE]NCName(typeAsVersion[ATTRIBUTE]BOOLEAN OPTIONAL、versionIndicator[ATTRIBUTE]BOOLEAN OPTIONAL)は[GROUP]タイプをタイプします。
Type ::= [NO-INSERTIONS] CHOICE { typeRef [NAME AS "type"] [ATTRIBUTE] QName, type ElementFormType }
以下をタイプしてください:= [入がありません] 選択typeRef[NAME ASは「タイプする」][ATTRIBUTE]QName、タイプElementFormType
Legg Experimental [Page 102] RFC 4912 Abstract Syntax Notation X July 2007
[102ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
ElementFormType ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, explicit [ATTRIBUTE] BOOLEAN OPTIONAL, definition [GROUP] CHOICE { reference [GROUP] DefinedType, expanded ExpandedType, ancestor [ATTRIBUTE] INTEGER (1..MAX), namedBitList NamedBitList, namedNumberList NamedNumberList, enumerated EnumeratedType, tagged TaggedType, prefixed EncodingPrefixedType, selection SelectionType, instanceOf InstanceOfType, fromClass ObjectClassFieldType, fromObjects InformationFromObjects, sequence SequenceType, set SetType, choice ChoiceType, union UnionType, sequenceOf SequenceOfType, setOf SetOfType, list ListType, constrained ConstrainedType } }
ElementFormType:、:= [空洞の入] 系列{ 注釈Annotation OPTIONAL、明白なATTRIBUTE BOOLEAN OPTIONAL; 定義GROUP CHOICE; 参照GROUP DefinedType、拡張ExpandedType、先祖ATTRIBUTE INTEGER(1..MAX)、namedBitList NamedBitList(namedNumberList NamedNumberList)はEnumeratedTypeを数え上げました、タグ付けをされたTaggedType、前に置かれたEncodingPrefixedType、選択SelectionType、instanceOf InstanceOfType、fromClass ObjectClassFieldType、fromObjects InformationFromObjects、系列SequenceType、セットSetType、選択ChoiceType、組合UnionType、sequenceOf SequenceOfType、setOf SetOfType、リストListType、強制的なConstrainedType; }
DefinedType ::= SEQUENCE { name [GROUP] [NO-INSERTIONS] CHOICE { ref [ATTRIBUTE] QName, elementType [ATTRIBUTE] Name }, context [ATTRIBUTE] AnyURI OPTIONAL, embedded [ATTRIBUTE] BOOLEAN OPTIONAL } (WITH COMPONENTS { ..., name (WITH COMPONENTS { ref PRESENT }) } | WITH COMPONENTS { ..., name (WITH COMPONENTS { elementType PRESENT }), embedded ABSENT })
DefinedType:、:= SEQUENCE、審判[ATTRIBUTE]QName、elementType[ATTRIBUTE]名と[GROUP][INSERTIONSがない]CHOICEを命名してください、文脈[ATTRIBUTE]AnyURI OPTIONAL、埋め込まれた[ATTRIBUTE]BOOLEAN OPTIONAL(WITH COMPONENTS、…、名前、(WITH COMPONENTS、審判PRESENT)、| WITH COMPONENTS、…、名前(WITH COMPONENTS elementType PRESENT)、埋め込まれたABSENT)
ExpandedType ::= SEQUENCE { name [ATTRIBUTE] NCName OPTIONAL, module ReferencedModule OPTIONAL, type [GROUP] Type }
ExpandedType:、:= 系列名前[ATTRIBUTE]NCName OPTIONAL(モジュールReferencedModule OPTIONAL)は[GROUP]タイプをタイプします。
ReferencedModule ::= SEQUENCE {
ReferencedModule:、:= 系列
Legg Experimental [Page 103] RFC 4912 Abstract Syntax Notation X July 2007
[103ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
name [ATTRIBUTE] ModuleReference OPTIONAL, identifier [ATTRIBUTE] DefinitiveIdentifier OPTIONAL, schemaIdentity [ATTRIBUTE] AnyURI OPTIONAL }
[ATTRIBUTE]ModuleReference OPTIONAL、識別子[ATTRIBUTE]DefinitiveIdentifier OPTIONALをschemaIdentity[ATTRIBUTE]AnyURI OPTIONALと命名してください。
NamedBitList ::= SEQUENCE SIZE (1..MAX) OF namedBit NamedBit
NamedBitList:、:= namedBit NamedBitの系列サイズ(1..MAX)
NamedBit ::= SEQUENCE { name [ATTRIBUTE] NCName, identifier [ATTRIBUTE] Identifier OPTIONAL, bit [ATTRIBUTE] INTEGER (0..MAX) }
NamedBit:、:= 系列名前[ATTRIBUTE]NCName(識別子[ATTRIBUTE]識別子OPTIONAL)は[ATTRIBUTE]INTEGER(0..MAX)に噛み付きました。
NamedNumberList ::= SEQUENCE SIZE (1..MAX) OF namedNumber NamedNumber
NamedNumberList:、:= namedNumber NamedNumberの系列サイズ(1..MAX)
NamedNumber ::= SEQUENCE { name [ATTRIBUTE] NCName, identifier [ATTRIBUTE] Identifier OPTIONAL, number [ATTRIBUTE] INTEGER }
NamedNumber:、:= 系列[ATTRIBUTE]NCName、識別子[ATTRIBUTE]識別子OPTIONALを数[ATTRIBUTE]のINTEGERと命名してください。
EnumeratedType ::= SEQUENCE { root [GROUP] Enumeration, extension SEQUENCE { exception ExceptionSpec OPTIONAL, additions [GROUP] Enumeration OPTIONAL } OPTIONAL }
EnumeratedType:、:= 系列[GROUP]列挙、拡大SEQUENCEを根づかせてください、例外ExceptionSpec OPTIONAL、追加[GROUP]列挙OPTIONAL、OPTIONAL
Enumeration ::= SEQUENCE SIZE (1..MAX) OF enumeration EnumerationItem
列挙:、:= SEQUENCE SIZE(1..MAX)OF列挙EnumerationItem
EnumerationItem ::= SEQUENCE { name [ATTRIBUTE] NCName, identifier [ATTRIBUTE] Identifier OPTIONAL, number [ATTRIBUTE] INTEGER OPTIONAL }
EnumerationItem:、:= 系列[ATTRIBUTE]NCName、識別子[ATTRIBUTE]識別子OPTIONALを数[ATTRIBUTE]のINTEGER OPTIONALと命名してください。
Tag ::= SEQUENCE { tagClass [ATTRIBUTE] TagClass OPTIONAL, number [ATTRIBUTE] INTEGER (0..MAX), tagging [ATTRIBUTE] Tagging OPTIONAL }
以下にタグ付けをしてください:= 系列tagClass[ATTRIBUTE]TagClass OPTIONAL、OPTIONALにタグ付けをしながら[ATTRIBUTE]にタグ付けをする数[ATTRIBUTE]のINTEGER(0..MAX)
TaggedType ::= SEQUENCE { COMPONENTS OF Tag, type [GROUP] Type
TaggedType:、:= SEQUENCE、COMPONENTS OF Tag、タイプ[GROUP]がタイプします。
Legg Experimental [Page 104] RFC 4912 Abstract Syntax Notation X July 2007
[104ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
}
}
TagClass ::= ENUMERATED { universal, application, private }
TagClass:、:= 列挙されます。普遍的であって、アプリケーション的で、個人的です。
Tagging ::= ENUMERATED { explicit, implicit }
以下にタグ付けをします:= 列挙されます。明白であって、暗黙です。
EncodingPrefixedType ::= [HOLLOW-INSERTIONS] SEQUENCE { prefixes [GROUP] EncodingPrefixes, type [GROUP] Type }
EncodingPrefixedType:、:= [空洞の入] 系列接頭語[GROUP]EncodingPrefixes、タイプ[GROUP]がタイプします。
EncodingPrefixes ::= SEQUENCE SIZE (1..MAX) OF prefix [GROUP] EncodingPrefix
EncodingPrefixes:、:= SEQUENCE SIZE(1..MAX)OF接頭語[GROUP]EncodingPrefix
EncodingPrefix ::= [SINGULAR-INSERTIONS] CHOICE { tag [NAME AS "TAG"] Tag, gser [NAME AS "GSER"] GSER-EncodingInstruction, xer [NAME AS "XER"] XER-EncodingInstruction -- plus encoding instructions -- for other encoding rules in the future }
EncodingPrefix:、:= [まれな入] 選択{[NAME AS「タグ」]タグにタグ付けをしてください、gser["GSER"として、命名する]GSER-EncodingInstruction、xer["XER"として、命名する]XER-EncodingInstruction--そのうえ、将来、他の符号化規則のための指示をコード化します}
SelectionType ::= SEQUENCE { alternative [GROUP] [SINGULAR-INSERTIONS] CHOICE { component [ATTRIBUTE] QName, element [ATTRIBUTE] QName, attribute [ATTRIBUTE] QName, group [ATTRIBUTE] QName, member [ATTRIBUTE] QName }, type [GROUP] Type }
SelectionType:、:= 系列コンポーネント[ATTRIBUTE]QName、要素[ATTRIBUTE]QName、属性[ATTRIBUTE]QName、グループ[ATTRIBUTE]QName、メンバー[ATTRIBUTE]QNameがタイプする代替手段[GROUP][SINGULAR-INSERTIONS]CHOICE[GROUP]はタイプします。
InstanceOfType ::= DefinedObjectClass
InstanceOfType:、:= DefinedObjectClass
ObjectClassFieldType ::= SEQUENCE { objectClass [GROUP] DefinedObjectClass, fieldName [GROUP] FieldName }
ObjectClassFieldType:、:= 系列objectClass[グループ]DefinedObjectClass、fieldName[グループ]FieldName
FieldName ::= [SINGULAR-INSERTIONS] CHOICE { fieldNameAtt [NAME AS "fieldName"] [ATTRIBUTE] PrimitiveFieldNames, fieldName PrimitiveFieldNames }
FieldName:、:= [まれな入] 選択fieldNameAtt["fieldName"として、命名する][属性]PrimitiveFieldNames、fieldName PrimitiveFieldNames
PrimitiveFieldNames ::= UTF8String
PrimitiveFieldNames:、:= UTF8String
Legg Experimental [Page 105] RFC 4912 Abstract Syntax Notation X July 2007
[105ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
InformationFromObjects ::= [HOLLOW-INSERTIONS] SEQUENCE { referencedObjects [GROUP] ReferencedObjects, fieldName [GROUP] FieldName }
InformationFromObjects:、:= [空洞の入] 系列referencedObjects[グループ]ReferencedObjects、fieldName[グループ]FieldName
ReferencedObjects ::= [SINGULAR-INSERTIONS] CHOICE { object [GROUP] Object, objectSet [GROUP] ObjectSet }
ReferencedObjects:、:= [まれな入] 選択objectSet[GROUP]ObjectSet、オブジェクト[GROUP]は反対します。
Insertions ::= ENUMERATED { none, hollow, singular, uniform, multiform }
入:、:= 列挙されます。なにも、まれで、一定の、そして、多様なくぼみ
SequenceType ::= [HOLLOW-INSERTIONS] SEQUENCE { insertions [ATTRIBUTE] Insertions OPTIONAL, root [GROUP] ComponentTypeList OPTIONAL, extensionAndFinal [GROUP] [HOLLOW-INSERTIONS] SEQUENCE { extension [HOLLOW-INSERTIONS] SEQUENCE { exception ExceptionSpec OPTIONAL, additions [GROUP] ExtensionAdditions OPTIONAL }, root [GROUP] ComponentTypeList OPTIONAL } OPTIONAL }
SequenceType:、:= [空洞の入] 系列入[ATTRIBUTE]の入のOPTIONAL、[GROUP]ComponentTypeList OPTIONALを根づかせてください、extensionAndFinal[GROUP][HOLLOW-INSERTIONS]SEQUENCE、例外ExceptionSpec OPTIONAL、追加[GROUP]ExtensionAdditions OPTIONALが根づかせる拡大[HOLLOW-INSERTIONS]SEQUENCE[GROUP]、ComponentTypeList OPTIONAL、OPTIONAL
ComponentTypeList ::= SEQUENCE SIZE (1..MAX) OF componentType [GROUP] ComponentType
ComponentTypeList:、:= componentType[グループ]ComponentTypeの系列サイズ(1..MAX)
ComponentType ::= [NO-INSERTIONS] CHOICE { component [GROUP] SequenceNamedType, optional SEQUENCE { component [GROUP] SequenceNamedType, default Value OPTIONAL }, componentsOf Type }
ComponentType:、:= [入がありません] 選択コンポーネント[GROUP]SequenceNamedType、任意のSEQUENCE、コンポーネント[GROUP]SequenceNamedType、デフォルトValue OPTIONAL、componentsOf Type
SequenceNamedType ::= NamedType (WITH COMPONENTS { ..., member ABSENT, item ABSENT })
SequenceNamedType:、:= NamedType(WITH COMPONENTS、…、メンバーABSENT、項目ABSENT)
ExtensionAdditions ::= SEQUENCE SIZE (1..MAX) OF addition [GROUP] ExtensionAddition
ExtensionAdditions:、:= SEQUENCE SIZE(1..MAX)OF追加[GROUP]ExtensionAddition
ExtensionAddition ::= [NO-INSERTIONS] CHOICE { extensionGroup ExtensionAdditionGroup, componentType [GROUP] ComponentType }
ExtensionAddition:、:= [入がありません] 選択extensionGroup ExtensionAdditionGroup、componentType[グループ]ComponentType
Legg Experimental [Page 106] RFC 4912 Abstract Syntax Notation X July 2007
[106ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
ExtensionAdditionGroup ::= [HOLLOW-INSERTIONS] SEQUENCE { version [ATTRIBUTE] VersionNumber OPTIONAL, componentTypes [GROUP] ComponentTypeList }
ExtensionAdditionGroup:、:= [空洞の入] 系列バージョン[ATTRIBUTE]VersionNumber OPTIONAL、componentTypes[GROUP]ComponentTypeList
VersionNumber ::= INTEGER (2..MAX)
VersionNumber:、:= 整数(2..MAX)
SetType ::= SequenceType
SetType:、:= SequenceType
ChoiceOrUnionType ::= [HOLLOW-INSERTIONS] SEQUENCE { insertions [ATTRIBUTE] Insertions OPTIONAL, precedence [ATTRIBUTE] PrecedenceList OPTIONAL, root [GROUP] AlternativeTypeList, extension [HOLLOW-INSERTIONS] SEQUENCE { exception ExceptionSpec OPTIONAL, additions [GROUP] ExtensionAdditionAlternatives OPTIONAL } OPTIONAL }
ChoiceOrUnionType:、:= [空洞の入] 系列入[ATTRIBUTE]の入のOPTIONAL(先行[ATTRIBUTE]PrecedenceList OPTIONAL)は[GROUP]AlternativeTypeListを根づかせます、拡大[HOLLOW-INSERTIONS]SEQUENCE、例外ExceptionSpec OPTIONAL、追加[GROUP]ExtensionAdditionAlternatives OPTIONAL、OPTIONAL
PrecedenceList ::= [LIST] SEQUENCE SIZE (1..MAX) OF member QName
PrecedenceList:、:= [LIST]SEQUENCE SIZE(1..MAX)OFメンバーQName
AlternativeTypeList ::= SEQUENCE SIZE (1..MAX) OF component [GROUP] ChoiceOrUnionNamedType
AlternativeTypeList:、:= SEQUENCE SIZE(1..MAX)OFの部品[GROUP]ChoiceOrUnionNamedType
ChoiceOrUnionNamedType ::= NamedType (WITH COMPONENTS { ..., item ABSENT, simpleContent ABSENT })
ChoiceOrUnionNamedType:、:= NamedType(WITH COMPONENTS、…、項目ABSENT、simpleContent ABSENT)
ExtensionAdditionAlternatives ::= SEQUENCE SIZE (1..MAX) OF addition [GROUP] ExtensionAdditionAlternative
ExtensionAdditionAlternatives:、:= SEQUENCE SIZE(1..MAX)OF追加[GROUP]ExtensionAdditionAlternative
ExtensionAdditionAlternative ::= [NO-INSERTIONS] CHOICE { extensionGroup ExtensionAdditionAlternativesGroup, component [GROUP] ChoiceOrUnionNamedType }
ExtensionAdditionAlternative:、:= [入がありません] 選択extensionGroup ExtensionAdditionAlternativesGroup、コンポーネント[GROUP]ChoiceOrUnionNamedType
ExtensionAdditionAlternativesGroup ::= [HOLLOW-INSERTIONS] SEQUENCE { version [ATTRIBUTE] VersionNumber OPTIONAL, alternatives [GROUP] AlternativeTypeList }
ExtensionAdditionAlternativesGroup:、:= [空洞の入] 系列バージョン[ATTRIBUTE]VersionNumber OPTIONAL、代替手段[GROUP]AlternativeTypeList
ChoiceType ::= ChoiceOrUnionType (WITH COMPONENTS { ..., precedence ABSENT, root (WITH COMPONENT (INCLUDES ChoiceNamedType)), extension (WITH COMPONENTS { ..., additions (WITH COMPONENT (WITH COMPONENTS { ..., extensionGroup (WITH COMPONENTS { ..., alternatives (WITH COMPONENT
ChoiceType:、:= ChoiceOrUnionType、(WITH COMPONENTS、… 先行ABSENT、(WITH COMPONENT(INCLUDES ChoiceNamedType))を根づかせてください、拡大、(WITH COMPONENTS、…、追加、(WITH COMPONENT、(WITH COMPONENTS、…、extensionGroup、(WITH COMPONENTS、…、代替手段、(WITH COMPONENT
Legg Experimental [Page 107] RFC 4912 Abstract Syntax Notation X July 2007
[107ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
(INCLUDES ChoiceNamedType)) }), component (INCLUDES ChoiceNamedType) })) }) })
(ChoiceNamedTypeを含んでいます) )、コンポーネント(INCLUDES ChoiceNamedType)、)、)、)
ChoiceNamedType ::= ChoiceOrUnionNamedType (WITH COMPONENTS { ..., member ABSENT })
ChoiceNamedType:、:= ChoiceOrUnionNamedType(WITH COMPONENTS、…、メンバーABSENT)
UnionType ::= ChoiceOrUnionType (WITH COMPONENTS { ..., insertions ABSENT, root (WITH COMPONENT (INCLUDES UnionNamedType)), extension (WITH COMPONENTS { ..., additions (WITH COMPONENT (WITH COMPONENTS { ..., extensionGroup (WITH COMPONENTS { ..., alternatives (WITH COMPONENT (INCLUDES UnionNamedType)) }), component (INCLUDES UnionNamedType) })) }) })
UnionType:、:= ChoiceOrUnionType(WITH COMPONENTS、… 入のABSENT、(WITH COMPONENT(INCLUDES UnionNamedType))を根づかせてください、拡大、(WITH COMPONENTS、…、追加、(WITH COMPONENT、(WITH COMPONENTS、…、extensionGroup(WITH COMPONENTS…、代替手段(WITH COMPONENT(INCLUDES UnionNamedType)))、コンポーネント(INCLUDES UnionNamedType))、)、)
UnionNamedType ::= ChoiceOrUnionNamedType (WITH COMPONENTS { ..., component ABSENT, element ABSENT, attribute ABSENT, group ABSENT })
UnionNamedType:、:= ChoiceOrUnionNamedType(WITH COMPONENTS、…、コンポーネントABSENT、要素ABSENT、属性ABSENT、グループABSENT)
SequenceOfOrListType ::= SEQUENCE { minSize [ATTRIBUTE] INTEGER (0..MAX) OPTIONAL, maxSize [ATTRIBUTE] INTEGER (0..MAX) OPTIONAL, component [GROUP] NamedType (WITH COMPONENTS { ..., attribute ABSENT, member ABSENT, simpleContent ABSENT }) }
SequenceOfOrListType:、:= 系列[ATTRIBUTE]INTEGER(0..MAX)OPTIONAL、maxSize[ATTRIBUTE]INTEGER(0..MAX)OPTIONAL、コンポーネント[GROUP]NamedTypeをminSizeする、(WITH COMPONENTS、…、属性ABSENT、メンバーABSENT、simpleContent ABSENT)
SequenceOfType ::= SequenceOfOrListType (WITH COMPONENTS { ..., component (WITH COMPONENTS { ..., item ABSENT }) })
SequenceOfType:、:= SequenceOfOrListType(WITH COMPONENTS、…、コンポーネント、(WITH COMPONENTS、…、項目ABSENT)、)
SetOfType ::= SequenceOfType
SetOfType:、:= SequenceOfType
ListType ::= SequenceOfOrListType (WITH COMPONENTS { ..., component (WITH COMPONENTS { ..., component ABSENT, element ABSENT, group ABSENT }) })
ListType:、:= SequenceOfOrListType(WITH COMPONENTS、…、コンポーネント、(WITH COMPONENTS、…、コンポーネントABSENT、要素ABSENT、グループABSENT)、)
ConstrainedType ::= [HOLLOW-INSERTIONS] SEQUENCE {
ConstrainedType:、:= [空洞の入]の系列
Legg Experimental [Page 108] RFC 4912 Abstract Syntax Notation X July 2007
[108ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
type [GROUP] Type, constraint [GROUP] Constraint }
[GROUP]タイプ、規制[GROUP]規制をタイプしてください。
Constraint ::= SEQUENCE { constraintSpec [GROUP] [NO-INSERTIONS] CHOICE { subtype [GROUP] ElementSetSpecs, constrainedBy UserDefinedConstraint, table TableConstraint, contents ContentsConstraint }, exception ExceptionSpec OPTIONAL }
規制:、:= 系列constraintSpec[GROUP][INSERTIONSがない]CHOICEは[GROUP]ElementSetSpecs、constrainedBy UserDefinedConstraint、テーブルTableConstraint、コンテンツContentsConstraintを副タイプして、例外はExceptionSpec OPTIONALです。
UserDefinedConstraint ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, parameters [GROUP] ConstraintParameters OPTIONAL }
UserDefinedConstraint:、:= [空洞の入] 系列注釈Annotation OPTIONAL、パラメタ[GROUP]ConstraintParameters OPTIONAL
ConstraintParameters ::= SEQUENCE SIZE (1..MAX) OF parameter [GROUP] UserDefinedConstraintParameter
ConstraintParameters:、:= SEQUENCE SIZE(1..MAX)OFパラメタ[GROUP]UserDefinedConstraintParameter
UserDefinedConstraintParameter ::= [SINGULAR-INSERTIONS] CHOICE { valueParameter SEQUENCE { type [GROUP] Type, value [GROUP] Value }, valueSetParameter SEQUENCE { type [GROUP] Type, valueSet [GROUP] ValueSet }, objectParameter SEQUENCE { objectClass [GROUP] DefinedObjectClass, object [GROUP] Object }, objectSetParameter SEQUENCE { objectClass [GROUP] DefinedObjectClass, objectSet [GROUP] ObjectSet }, typeParameter SEQUENCE { type [GROUP] Type }, classParameter SEQUENCE { objectClass [GROUP] DefinedObjectClass } }
UserDefinedConstraintParameter:、:= [まれな入] 選択valueParameter SEQUENCEは[GROUP]タイプ、値[GROUP]の値をタイプして、valueSetParameter SEQUENCEは[GROUP]タイプ、valueSet[GROUP]ValueSetをタイプします、objectParameter SEQUENCE。objectClass[GROUP]DefinedObjectClass、オブジェクト[GROUP]が反対する、objectSetParameter SEQUENCE、objectClass[GROUP]DefinedObjectClass、objectSet[GROUP]ObjectSet、typeParameter SEQUENCEは[GROUP]タイプをタイプします、classParameter SEQUENCE objectClass[GROUP]DefinedObjectClass
TableConstraint ::= SEQUENCE {
TableConstraint:、:= 系列
Legg Experimental [Page 109] RFC 4912 Abstract Syntax Notation X July 2007
[109ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
objectSet [GROUP] ObjectSet, componentRelation [GROUP] AtNotations OPTIONAL }
objectSet[グループ]ObjectSetで、componentRelation[グループ]AtNotations任意
AtNotations ::= SEQUENCE SIZE (1..MAX) OF restrictBy AtNotation
AtNotations:、:= restrictBy AtNotationの系列サイズ(1..MAX)
AtNotation ::= Markup
AtNotation:、:= マークアップ
ContentsConstraint ::= SEQUENCE { containing Type OPTIONAL, encodedBy Value OPTIONAL } ((WITH COMPONENTS { ..., containing PRESENT }) | (WITH COMPONENTS { ..., encodedBy PRESENT }))
ContentsConstraint:、:= Type OPTIONAL、encodedBy Value OPTIONALを含むSEQUENCE(WITH COMPONENTS、…、PRESENTを含みます)、|、(WITH COMPONENTS、…、encodedBy PRESENT)
ExceptionSpec ::= SEQUENCE { type [GROUP] Type, value [GROUP] Value }
ExceptionSpec:、:= 系列値の[GROUP]は、タイプ[GROUP]がタイプするのを評価します。
Value ::= [NO-INSERTIONS] CHOICE { literalValueAtt [NAME AS "literalValue"] [ATTRIBUTE] UTF8String, literalValue ElementFormLiteralValue, valueRef [NAME AS "value"] [ATTRIBUTE] QName, value ElementFormNotationalValue }
以下を評価してください:= [入がありません] 選択literalValueAtt[NAME AS"literalValue"][ATTRIBUTE]UTF8String(literalValue ElementFormLiteralValue、valueRef[NAME AS「値」][ATTRIBUTE]QName)はElementFormNotationalValueを評価します。
ElementFormLiteralValue ::= Markup -- If asnx:literal="false" then the governing type of -- ElementFormLiteralValue is ElementFormNotationalValue.
ElementFormLiteralValue:、:= マークアップ--治めるのは、asnx: リテラル=であるならそして「虚偽」とタイプします--ElementFormLiteralValueはElementFormNotationalValueです。
ElementFormNotationalValue ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, definition [GROUP] [NO-INSERTIONS] CHOICE { reference [GROUP] Reference, expanded ExpandedValue, fromObjects InformationFromObjects, openTypeValue SEQUENCE { type [GROUP] Type, value [GROUP] Value }, components [GROUP] ComponentValueList } }
ElementFormNotationalValue:、:= [空洞の入] 系列注釈Annotation OPTIONAL、定義[GROUP][INSERTIONSがない]CHOICE、参照[GROUP]参照、拡張ExpandedValue、fromObjects InformationFromObjects、openTypeValue SEQUENCEは[GROUP]タイプ、値[GROUP]の値をタイプします、コンポーネント[GROUP]ComponentValueList
Reference ::= SEQUENCE { ref [ATTRIBUTE] QName, context [ATTRIBUTE] AnyURI OPTIONAL
以下に参照をつけてください:= SEQUENCE、審判[ATTRIBUTE]QName、文脈[ATTRIBUTE]AnyURI OPTIONAL
Legg Experimental [Page 110] RFC 4912 Abstract Syntax Notation X July 2007
[110ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
}
}
ExpandedValue ::= SEQUENCE { name [ATTRIBUTE] NCName OPTIONAL, module ReferencedModule OPTIONAL, value [GROUP] Value }
ExpandedValue:、:= 系列名前[ATTRIBUTE]NCName OPTIONAL(モジュールReferencedModule OPTIONAL)は[GROUP]値を評価します。
ComponentValueList ::= SEQUENCE SIZE (1..MAX) OF component [GROUP] NamedValue
ComponentValueList:、:= SEQUENCE SIZE(1..MAX)OFの部品[GROUP]NamedValue
NamedValue ::= [SINGULAR-INSERTIONS] CHOICE { component GenericNamedValue, element GenericNamedValue, attribute GenericNamedValue, group GenericNamedValue, member GenericNamedValue, item GenericNamedValue, simpleContent GenericNamedValue }
NamedValue:、:= [まれな入] 選択コンポーネントGenericNamedValue(要素GenericNamedValue)はGenericNamedValue、グループGenericNamedValue、メンバーGenericNamedValue、項目GenericNamedValue、simpleContent GenericNamedValueを結果と考えます。
GenericNamedValue ::= SEQUENCE { name [ATTRIBUTE] QName, value [GROUP] Value }
GenericNamedValue:、:= 系列名前[ATTRIBUTE]QName、値[GROUP]の値
ValueSet ::= [NO-INSERTIONS] CHOICE { valueSetRef [NAME AS "valueSet"] [ATTRIBUTE] QName, -- valueSetRef is not used in this version valueSet ElementFormValueSet }
ValueSet:、:= [入がありません] 選択valueSetRef[NAME AS"valueSet"][ATTRIBUTE]QName--、valueSetRefはこのバージョンvalueSet ElementFormValueSetで使用されません。
ElementFormValueSet ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, definition [GROUP] [NO-INSERTIONS] CHOICE { elementSetSpecs [GROUP] ElementSetSpecs } }
ElementFormValueSet:、:= [空洞の入] 系列注釈Annotation OPTIONAL、定義[GROUP][INSERTIONSがない]CHOICE elementSetSpecs[GROUP]ElementSetSpecs
ElementSetSpecs ::= [HOLLOW-INSERTIONS] SEQUENCE { root [GROUP] ValueElementSetSpec, extension [HOLLOW-INSERTIONS] SEQUENCE { additions [GROUP] ValueElementSetSpec OPTIONAL } OPTIONAL }
ElementSetSpecs:、:= [空洞の入] 系列根[GROUP]のValueElementSetSpec、拡大[HOLLOW-INSERTIONS]SEQUENCE追加[GROUP]ValueElementSetSpec OPTIONAL OPTIONAL
ValueElementSetSpec ::= ElementSetSpec (WITH COMPONENTS { ...,
ValueElementSetSpec:、:= ElementSetSpec、(コンポーネント、…
Legg Experimental [Page 111] RFC 4912 Abstract Syntax Notation X July 2007
[111ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
object ABSENT, objectSet ABSENT, union (WITH COMPONENT (INCLUDES ValueElementSetSpec)), intersection (WITH COMPONENT (INCLUDES ValueElementSetSpec)), all (WITH COMPONENTS { ..., elements (INCLUDES ValueElementSetSpec), except (INCLUDES ValueElementSetSpec) }) })
オブジェクトABSENT、objectSet ABSENT、組合(WITH COMPONENT(INCLUDES ValueElementSetSpec))、交差点(WITH COMPONENT(INCLUDES ValueElementSetSpec))、すべて(…、要素(INCLUDES ValueElementSetSpec)が除く(INCLUDES ValueElementSetSpec)WITH COMPONENTS)、)
ElementSetSpec ::= [SINGULAR-INSERTIONS] CHOICE { literalValue ElementFormLiteralValue, value ElementFormNotationalValue, includes Type, range ValueRange, size Constraint, typeConstraint Type, from Constraint, withComponent Constraint, withComponents MultipleTypeConstraints, pattern Value, object ElementFormObject, objectSet ElementFormObjectSet, union ElementSetSpecList, intersection ElementSetSpecList, all SEQUENCE { elements [GROUP] ElementSetSpec OPTIONAL, except ElementSetSpec } }
ElementSetSpec:、:= [まれな入] 選択literalValue ElementFormLiteralValue(値のElementFormNotationalValue)はTypeを含んでいます、範囲ValueRange、サイズConstraint、typeConstraint Type、Constraintから、withComponent Constraint、withComponents MultipleTypeConstraints、パターンValue、オブジェクトElementFormObject、objectSet ElementFormObjectSet、組合ElementSetSpecList、交差点ElementSetSpecList、すべてのSEQUENCE、ElementSetSpec以外の要素[GROUP]ElementSetSpec OPTIONAL
ElementSetSpecList ::= SEQUENCE SIZE (2..MAX) OF elements [GROUP] ElementSetSpec
ElementSetSpecList:、:= SEQUENCE SIZE(2..MAX)OF要素[GROUP]ElementSetSpec
ValueRange ::= SEQUENCE { minimum [GROUP] [NO-INSERTIONS] CHOICE { minInclusive EndValue, minExclusive EndValue } DEFAULT minInclusive:{}, maximum [GROUP] [NO-INSERTIONS] CHOICE { maxInclusive EndValue, maxExclusive EndValue } DEFAULT maxInclusive:{} }
ValueRange:、:= 系列最小の[GROUP][INSERTIONSがない]CHOICE、minInclusive EndValue、minExclusive EndValue、DEFAULT minInclusive:、最大の[GROUP][INSERTIONSがない]CHOICE、maxInclusive EndValue、maxExclusive EndValue、DEFAULT maxInclusive:
EndValue ::= [HOLLOW-INSERTIONS] SEQUENCE { value [GROUP] Value OPTIONAL }
EndValue:、:= [空洞の入] 系列値[GROUP]の値のOPTIONAL
MultipleTypeConstraints ::= [HOLLOW-INSERTIONS] SEQUENCE {
MultipleTypeConstraints:、:= [空洞の入]の系列
Legg Experimental [Page 112] RFC 4912 Abstract Syntax Notation X July 2007
[112ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
partial [ATTRIBUTE] BOOLEAN DEFAULT FALSE, typeConstraints [GROUP] TypeConstraints }
部分的な[ATTRIBUTE]BOOLEAN DEFAULT FALSE、typeConstraints[GROUP]TypeConstraints
TypeConstraints ::= SEQUENCE SIZE (1..MAX) OF namedConstraint [GROUP] NamedConstraint
TypeConstraints:、:= namedConstraint[グループ]NamedConstraintの系列サイズ(1..MAX)
NamedConstraint ::= [SINGULAR-INSERTIONS] CHOICE { component GenericNamedConstraint, element GenericNamedConstraint, attribute GenericNamedConstraint, group GenericNamedConstraint, member GenericNamedConstraint, item GenericNamedConstraint, simpleContent GenericNamedConstraint }
NamedConstraint:、:= [まれな入] 選択コンポーネントGenericNamedConstraint(要素GenericNamedConstraint)はGenericNamedConstraint、グループGenericNamedConstraint、メンバーGenericNamedConstraint、項目GenericNamedConstraint、simpleContent GenericNamedConstraintを結果と考えます。
GenericNamedConstraint ::= [HOLLOW-INSERTIONS] SEQUENCE { name [ATTRIBUTE] QName, use [ATTRIBUTE] PresenceConstraint OPTIONAL, constraint [GROUP] Constraint OPTIONAL }
GenericNamedConstraint:、:= [空洞の入] 系列[ATTRIBUTE]をQNameと命名してください、そして、[ATTRIBUTE]PresenceConstraint OPTIONAL、規制[GROUP]規制OPTIONALを使用してください。
PresenceConstraint ::= ENUMERATED { present, absent, optional }
PresenceConstraint:、:= 列挙されます。現在であって、休んで、任意です。
ObjectClass ::= [SINGULAR-INSERTIONS] CHOICE { classRef [NAME AS "class"] [ATTRIBUTE] QName, class ElementFormObjectClass }
ObjectClass:、:= [まれな入] 選択classRef[NAME AS「クラス」][ATTRIBUTE]QName、クラスElementFormObjectClass
DefinedObjectClass ::= ObjectClass (WITH COMPONENTS { ..., class (WITH COMPONENTS { ..., definition (WITH COMPONENTS { ..., objectClassDefn ABSENT }) }) })
DefinedObjectClass:、:= ObjectClass(WITH COMPONENTS、…、クラス、(WITH COMPONENTS、…、定義、(WITH COMPONENTS、…、objectClassDefn ABSENT)、)、)
ElementFormObjectClass ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, definition [GROUP] [NO-INSERTIONS] CHOICE { reference [GROUP] Reference, expanded ExpandedObjectClass, objectClassDefn [GROUP] ObjectClassDefn } }
ElementFormObjectClass:、:= [空洞の入] 系列注釈Annotation OPTIONAL、定義[GROUP][INSERTIONSがない]CHOICEは[GROUP]参照、拡張ExpandedObjectClass、objectClassDefn[GROUP]ObjectClassDefnに参照をつけます。
ExpandedObjectClass ::= SEQUENCE { name [ATTRIBUTE] NCName OPTIONAL, module ReferencedModule OPTIONAL,
ExpandedObjectClass:、:= SEQUENCE、[ATTRIBUTE]をNCName OPTIONAL、モジュールReferencedModule OPTIONALと命名してください。
Legg Experimental [Page 113] RFC 4912 Abstract Syntax Notation X July 2007
[113ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
objectClass [GROUP] ObjectClass }
objectClass[グループ]ObjectClass
ObjectClassDefn ::= SEQUENCE SIZE (1..MAX) OF fieldSpec [GROUP] FieldSpec
ObjectClassDefn:、:= fieldSpec[グループ]FieldSpecの系列サイズ(1..MAX)
FieldSpec ::= [SINGULAR-INSERTIONS] CHOICE { typeField TypeField, valueField ValueField, valueSetField ValueSetField, objectField ObjectField, objectSetField ObjectSetField, optional OptionalField }
FieldSpec:、:= [まれな入] 選択typeField TypeField、valueField ValueField、valueSetField ValueSetField、objectField ObjectField、objectSetField ObjectSetField、任意のOptionalField
OptionalField ::= SEQUENCE { field [GROUP] [SINGULAR-INSERTIONS] CHOICE { typeField TypeField, valueField ValueField, valueSetField ValueSetField, objectField ObjectField, objectSetField ObjectSetField }, default Setting OPTIONAL } (WITH COMPONENTS { ..., field (WITH COMPONENTS { typeField PRESENT }), default (WITH COMPONENTS { ..., value ABSENT, valueSet ABSENT, object ABSENT, objectSet ABSENT }) } | WITH COMPONENTS { ..., field (WITH COMPONENTS { valueField PRESENT }), default (WITH COMPONENTS { ..., type ABSENT, valueSet ABSENT, object ABSENT, objectSet ABSENT }) } | WITH COMPONENTS { ..., field (WITH COMPONENTS { valueSetField PRESENT }), default (WITH COMPONENTS { ..., type ABSENT, value ABSENT, object ABSENT, objectSet ABSENT }) } | WITH COMPONENTS { ..., field (WITH COMPONENTS { objectField PRESENT }), default (WITH COMPONENTS { ...,
OptionalField:、:= SEQUENCE、GROUP SINGULAR-INSERTIONS CHOICEをさばいてください、typeField TypeField、valueField ValueField、valueSetField ValueSetField、objectField ObjectField、objectSetField ObjectSetFieldがデフォルトとする、Setting OPTIONAL、(WITH COMPONENTS、… (WITH COMPONENTS typeField PRESENT)をさばいてください、デフォルト、(WITH COMPONENTS、…、値のABSENT、valueSet ABSENT、オブジェクトABSENT、objectSet ABSENT); | WITH COMPONENTS、… (WITH COMPONENTS valueField PRESENT)をさばいてください、デフォルト、(WITH COMPONENTS、…、タイプABSENT、valueSet ABSENT、オブジェクトABSENT、objectSet ABSENT)、| WITH COMPONENTS、… (WITH COMPONENTS valueSetField PRESENT)をさばいてください、デフォルト、(WITH COMPONENTS、…、タイプABSENT、値のABSENT、オブジェクトABSENT、objectSet ABSENT)、| WITH COMPONENTS; (WITH COMPONENTS objectField PRESENT)をさばいてくださいといって、デフォルトとしてください、(WITH COMPONENTS、…
Legg Experimental [Page 114] RFC 4912 Abstract Syntax Notation X July 2007
[114ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
type ABSENT, value ABSENT, valueSet ABSENT, objectSet ABSENT }) } | WITH COMPONENTS { ..., field (WITH COMPONENTS { objectSetField PRESENT }), default (WITH COMPONENTS { ..., type ABSENT, value ABSENT, valueSet ABSENT, object ABSENT }) })
ABSENT、値のABSENT、valueSet ABSENT、objectSet ABSENTをタイプしてください、)| コンポーネント、…, (WITH COMPONENTS objectSetField PRESENT)をさばいてくださいといって、デフォルトとしてください、(WITH COMPONENTS、…, ABSENT、値のABSENT、valueSet ABSENT、オブジェクトABSENTをタイプしてください、)、)
TypeField ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] TypeFieldReference }
TypeField:、:= 系列注釈Annotation OPTIONAL、名前[ATTRIBUTE]TypeFieldReference
TypeFieldReference ::= TypeReference
TypeFieldReference:、:= TypeReference
ValueField ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ValueFieldReference, unique [ATTRIBUTE] BOOLEAN OPTIONAL, governor [GROUP] [SINGULAR-INSERTIONS] CHOICE { type [GROUP] Type, typeFromField FieldName } } ((WITH COMPONENTS { ..., unique ABSENT }) | (WITH COMPONENTS { ..., governor (WITH COMPONENTS { ..., typeFromField ABSENT }) }))
ValueField:、:= SEQUENCE、注釈Annotation OPTIONAL、名前[ATTRIBUTE]ValueFieldReference、ユニークな[ATTRIBUTE]BOOLEAN OPTIONAL、知事[GROUP][SINGULAR-INSERTIONS]CHOICEは[GROUP]タイプ、typeFromField FieldNameをタイプします。(WITH COMPONENTS、…、ユニークなABSENT)、|、(WITH COMPONENTS、…、知事、(WITH COMPONENTS、…、typeFromField ABSENT)、)
ValueFieldReference ::= ValueReference
ValueFieldReference:、:= ValueReference
ValueSetField ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ValueSetFieldReference, governor [GROUP] [SINGULAR-INSERTIONS] CHOICE { type [GROUP] Type, typeFromField FieldName } }
ValueSetField:、:= 系列注釈Annotation OPTIONAL、名前[ATTRIBUTE]ValueSetFieldReference、知事[GROUP][SINGULAR-INSERTIONS]CHOICEは[GROUP]タイプ、typeFromField FieldNameをタイプします。
ValueSetFieldReference ::= TypeReference
ValueSetFieldReference:、:= TypeReference
ObjectField ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ObjectFieldReference, objectClass [GROUP] DefinedObjectClass
ObjectField:、:= SEQUENCE、注釈Annotation OPTIONAL、名前[ATTRIBUTE]ObjectFieldReference、objectClass[GROUP]DefinedObjectClass
Legg Experimental [Page 115] RFC 4912 Abstract Syntax Notation X July 2007
[115ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
}
}
ObjectFieldReference ::= ObjectReference
ObjectFieldReference:、:= ObjectReference
ObjectSetField ::= SEQUENCE { annotation Annotation OPTIONAL, name [ATTRIBUTE] ObjectSetFieldReference, objectClass [GROUP] DefinedObjectClass }
ObjectSetField:、:= 系列注釈Annotation OPTIONAL、名前[ATTRIBUTE]ObjectSetFieldReference、objectClass[GROUP]DefinedObjectClass
ObjectSetFieldReference ::= ObjectSetReference
ObjectSetFieldReference:、:= ObjectSetReference
Object ::= [NO-INSERTIONS] CHOICE { objectRef [NAME AS "object"] [ATTRIBUTE] QName, object ElementFormObject }
オブジェクト:、:= [入がありません] 選択objectRef[NAME ASは「反対する」][ATTRIBUTE]QName、オブジェクトElementFormObject
ElementFormObject ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, definition [GROUP] [SINGULAR-INSERTIONS] CHOICE { reference [GROUP] Reference, expanded ExpandedObject, fromObjects InformationFromObjects, fields [GROUP] ObjectDefn } }
ElementFormObject:、:= [空洞の入] 系列注釈Annotation OPTIONAL、定義[GROUP][SINGULAR-INSERTIONS]CHOICEは[GROUP]参照、拡張ExpandedObject、fromObjects InformationFromObjects、分野[GROUP]ObjectDefnに参照をつけます。
ExpandedObject ::= SEQUENCE { name [ATTRIBUTE] NCName OPTIONAL, module ReferencedModule OPTIONAL, object [GROUP] Object }
ExpandedObject:、:= 系列[ATTRIBUTE]NCName OPTIONAL、モジュールReferencedModule OPTIONALをオブジェクト[GROUP]オブジェクトと命名してください。
ObjectDefn ::= SEQUENCE OF field FieldSetting
ObjectDefn:、:= SEQUENCE OF分野FieldSetting
FieldSetting ::= [HOLLOW-INSERTIONS] SEQUENCE { name [ATTRIBUTE] NCName, setting [GROUP] Setting }
FieldSetting:、:= [空洞の入] 系列[GROUP]設定を設定して、[ATTRIBUTE]をNCNameと命名してください。
Setting ::= CHOICE { type [GROUP] Type, value [GROUP] Value, valueSet [GROUP] ValueSet, object [GROUP] Object, objectSet [GROUP] ObjectSet }
以下を設定します:= 選択objectSet[GROUP]ObjectSet、valueSet[GROUP]ValueSet、値の[GROUP]はタイプ[GROUP]がタイプするのを評価して、オブジェクト[GROUP]は反対します。
Legg Experimental [Page 116] RFC 4912 Abstract Syntax Notation X July 2007
[116ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
ObjectSet ::= [NO-INSERTIONS] CHOICE { objectSetRef [NAME AS "objectSet"] [ATTRIBUTE] QName, objectSet ElementFormObjectSet }
ObjectSet:、:= [入がありません] 選択objectSetRef["objectSet"として、命名する][属性]QName、objectSet ElementFormObjectSet
ElementFormObjectSet ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, definition [GROUP] [NO-INSERTIONS] CHOICE { reference [GROUP] Reference, expanded ExpandedObjectSet, objectSetSpec [GROUP] ObjectSetSpec, fromObjects InformationFromObjects } }
ElementFormObjectSet:、:= [空洞の入] 系列注釈Annotation OPTIONAL、定義[GROUP][INSERTIONSがない]CHOICEは[GROUP]参照、拡張ExpandedObjectSet、objectSetSpec[GROUP]ObjectSetSpec、fromObjects InformationFromObjectsに参照をつけます。
ExpandedObjectSet ::= SEQUENCE { name [ATTRIBUTE] NCName OPTIONAL, module ReferencedModule OPTIONAL, objectSet [GROUP] ObjectSet }
ExpandedObjectSet:、:= 系列[ATTRIBUTE]NCName OPTIONAL、モジュールReferencedModule OPTIONALをobjectSet[GROUP]ObjectSetと命名してください。
ObjectSetSpec ::= [HOLLOW-INSERTIONS] SEQUENCE { root [GROUP] ObjectElementSetSpec OPTIONAL, extension [HOLLOW-INSERTIONS] SEQUENCE { additions [GROUP] ObjectElementSetSpec OPTIONAL } OPTIONAL } ((WITH COMPONENTS { ..., root PRESENT }) | (WITH COMPONENTS { ..., extension PRESENT }))
ObjectSetSpec:、:= [HOLLOW-INSERTIONS]SEQUENCEは[GROUP]ObjectElementSetSpec OPTIONAL、拡大[HOLLOW-INSERTIONS]SEQUENCE追加[GROUP]ObjectElementSetSpec OPTIONAL OPTIONALを根づかせます。(WITH COMPONENTS、…、根のPRESENT)、|、(WITH COMPONENTS、…、拡大PRESENT)
ObjectElementSetSpec ::= ElementSetSpec (WITH COMPONENTS { ..., literalValue ABSENT, value ABSENT, includes ABSENT, range ABSENT, size ABSENT, typeConstraint ABSENT, from ABSENT, withComponent ABSENT, withComponents ABSENT, pattern ABSENT, union (WITH COMPONENT (INCLUDES ObjectElementSetSpec)), intersection (WITH COMPONENT (INCLUDES ObjectElementSetSpec)), all (WITH COMPONENTS { ..., elements (INCLUDES ObjectElementSetSpec), except (INCLUDES ObjectElementSetSpec) }) })
ObjectElementSetSpec:、:= ElementSetSpec(WITH COMPONENTS、… literalValue ABSENT(値のABSENT)はABSENTを含んでいます、範囲ABSENT、サイズABSENT、typeConstraint ABSENT、ABSENTから、withComponent ABSENT、withComponents ABSENT、パターンABSENT、組合(WITH COMPONENT(INCLUDES ObjectElementSetSpec))、交差点(WITH COMPONENT(INCLUDES ObjectElementSetSpec))、すべて(…、要素(INCLUDES ObjectElementSetSpec)が除く(INCLUDES ObjectElementSetSpec)WITH COMPONENTS)、)
EncodingControlSections ::= SEQUENCE SIZE (1..MAX) OF
EncodingControlSections:、:= サイズ(1..MAX)を配列します。
Legg Experimental [Page 117] RFC 4912 Abstract Syntax Notation X July 2007
[117ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
section [GROUP] EncodingControlSection
セクション[GROUP]EncodingControlSection
EncodingControlSection ::= [SINGULAR-INSERTIONS] CHOICE { gser [NAME AS "GSER"] GSER-EncodingInstructionAssignmentList, xer [NAME AS "XER"] XER-EncodingInstructionAssignmentList -- plus encoding control sections -- for other encoding rules in the future }
EncodingControlSection:、:= [まれな入] 選択gser[NAME AS"GSER"]GSER-EncodingInstructionAssignmentList(他のコード化のためのそのうえ、制御セクションをコード化するというxer["XER"として、命名する]XER-EncodingInstructionAssignmentList)は将来、統治します。
ENCODING-CONTROL RXER
コード化しているコントロールRXER
SCHEMA-IDENTITY "urn:oid:1.3.6.1.4.1.21472.1.0.1" TARGET-NAMESPACE "urn:ietf:params:xml:ns:asnx" PREFIX "asnx"
図式アイデンティティ、「つぼ:oid:1.3、.6、.1、.4、.1、.21472、.1、.0の0.1インチの目的の名前空間の「つぼ:ietf:params:xml:ナノ秒: 」 接頭語が"asnxする"であるasnx」
COMPONENT module ModuleDefinition
COMPONENTモジュールModuleDefinition
COMPONENT literal [ATTRIBUTE] BOOLEAN
COMPONENTリテラル[ATTRIBUTE]ブールです。
END
終わり
Appendix B. ASN.X for ASN.X
ASN.Xのための付録B.ASN.X
This appendix is non-normative.
この付録は非規範的です。
<?xml version="1.0"?> <asnx:module xmlns:asnx="urn:ietf:params:xml:ns:asnx" name="AbstractSyntaxNotation-X" identifier="1.3.6.1.4.1.21472.1.0.1" schemaIdentity="urn:oid:1.3.6.1.4.1.21472.1.0.1" targetNamespace="urn:ietf:params:xml:ns:asnx" targetPrefix="asnx" extensibilityImplied="true">
<?xmlバージョン= 「1インチ?」><asnx: モジュールxmlns: asnx=「つぼ:ietf:params:xml:ナノ秒: asnx」名前="AbstractSyntaxNotation-X"識別子=の「asnxである」「1.3の.6の.1の.4の.1の.21472の.1の.0の0.1インチのschemaIdentity=」つぼ:oid:1.3の.6の.1の.4の.1の.21472の.1の.0の0.1インチのtargetNamespace=「つぼ:ietf:params:xml:ナノ秒: asnx」targetPrefix=extensibilityImpliedが等しい、「本当の">"
<annotation> Copyright (C) The IETF Trust (2007). This version of this ASN.X module is part of RFC 4912; see the RFC itself for full legal notices.
IETFが信じる<注釈>著作権(C)(2007)。 このASN.XモジュールのこのバージョンはRFC4912の一部です。 完全な法定の通知に関してRFC自身を見てください。
Regarding this ASN.X module or any portion of it, the author makes no guarantees and is not responsible for any damage resulting from its use. The author grants irrevocable permission to anyone to use, modify, and distribute it in any way that does not diminish the rights of anyone else to use, modify, and distribute it, provided that redistributed derivative works do not contain misleading author or version information. Derivative works need not be licensed under similar terms. </annotation>
このASN.Xモジュールかそれのどんな部分に関しても、作者は、保証を全くしないで、また使用から生じるどんな損害にも責任がありません。 作者は他の誰もそれを使用して、変更して、分配する権利を減少させないどんな方法でもそれを使用して、変更して、分配するために呼び戻せない許可をだれにも与えます、再配付された派生している作品が紛らわしい作者かバージョン情報を含んでいなければ。 派生している作品は同類項</注釈>の下で認可される必要はありません。
Legg Experimental [Page 118] RFC 4912 Abstract Syntax Notation X July 2007
[118ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
<import name="GSER-EncodingInstructionNotation" identifier="1.3.6.1.4.1.21472.1.0.2" schemaIdentity="urn:oid:1.3.6.1.4.1.21472.1.0.2" namespace="urn:ietf:params:xml:ns:asnx"/>
<の輸入の名前の=の"GSER-EncodingInstructionNotation"の識別子の=「1.3の.6の.1の.4の.1の.21472の.1の.0の0.2インチのschemaIdentity=」つぼ:oid:1.3の.6の.1の.4の.1の.21472の.1の.0の0.2インチの名前空間=「つぼ:ietf:params:xml:ナノ秒: asnx」/>。
<import name="XER-EncodingInstructionNotation" identifier="1.3.6.1.4.1.21472.1.0.3" schemaIdentity="urn:oid:1.3.6.1.4.1.21472.1.0.3" namespace="urn:ietf:params:xml:ns:asnx"/>
<の輸入の名前の=の"XER-EncodingInstructionNotation"の識別子の=「1.3の.6の.1の.4の.1の.21472の.1の.0の0.3インチのschemaIdentity=」つぼ:oid:1.3の.6の.1の.4の.1の.21472の.1の.0の0.3インチの名前空間=「つぼ:ietf:params:xml:ナノ秒: asnx」/>。
<namedType name="ModuleDefinition"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <attribute name="format" versionIndicator="true"> <type> <constrained type="asnx:UTF8String"> <literalValue>1.0</literalValue> <extension/> </constrained> </type> </attribute> <default literalValue="1.0"/> </optional> <attribute name="name" type="asnx:ModuleReference"/> <optional> <attribute name="identifier" type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asnx:AnyURI"/> </optional> <optional> <attribute name="targetNamespace" type="asnx:AnyURI"/> </optional> <optional> <attribute name="targetPrefix" type="asnx:NCName"/> </optional> <optional> <attribute name="tagDefault" type="asnx:TagDefault"/> <default literalValue="automatic"/> </optional> <optional> <attribute name="extensibilityImplied" type="asnx:BOOLEAN"/> <default literalValue="false"/> </optional>
<namedType名前=「空洞のModuleDefinition「><タイプ><系列入=」「>の<の任意の><要素名=」注釈」タイプが「asnx: 注釈」任意の任意の/><属性名前=>><</「形式」versionIndicator=と等しい、「本当である、「><が抑制した><タイプが=をタイプする、「asnx: UTF8String「><literalValue>1」; 「0</literalValue><拡大/></制約つきな></タイプ></属性><デフォルトliteralValue=「1インチ/>の</任意の><属性名=」名」タイプは「asnx: ModuleReference」/>と等しいです; 任意の<><属性名前=「識別子」タイプは「asnx: DefinitiveIdentifier」/></任意の>の<の任意の><属性名=の"schemaIdentity"タイプ=「asnx: AnyURI」/></任意の><任意の>と等しいです; <属性名前="targetNamespace"は=></任意の>の<の任意の><属性名=の"targetPrefix"タイプ=「asnx: NCName」/></任意の「asnx: AnyURI」<任意の><属性/>名="tagDefault"をタイプします; 任意の任意のタイプ><属性名前==「asnx: TagDefault」/><デフォルトliteralValue=「自動」/>><</"extensibilityImplied"は=「asnx: 論理演算子」/><デフォルトliteralValue=「誤りであっている」/></任意の>をタイプします。
Legg Experimental [Page 119] RFC 4912 Abstract Syntax Notation X July 2007
[119ページ]RFC4912抽象構文記法X2007年7月に実験的なLegg
<optional> <element name="export"> <annotation> export is not used in this version </annotation> <type> <sequence/> </type> </element> </optional> <optional> <group name="imports" type="asnx:ImportList"/> </optional> <optional> <group name="assignments" type="asnx:AssignmentList"/> </optional> <optional> <element name="encodingControls" type="asnx:EncodingControlSections"/> </optional> </sequence> </type> </namedType>
任意の<<要素名前=「「><注釈>輸出はこのバージョン</注釈><タイプ><系列/></タイプ></要素></任意の><任意の><グループ名=に使用されないこと」がインポートする輸出」タイプ=「asnx: ImportList」>/> </任意の>の<の任意の><グループ名=「課題」タイプ=「asnx: AssignmentList」/></任意の>の<の任意の><要素名=の「encodingControls」タイプ=「asnx: EncodingControlSections」/></任意の></系列></タイプ></namedType>。
<namedType name="ModuleReference" type="asnx:TypeReference"/>
<namedType名前="ModuleReference"は=「asnx: TypeReference」/>をタイプします。
<namedType name="DefinitiveIdentifier" type="asnx:OBJECT-IDENTIFIER"/>
<namedType名前="DefinitiveIdentifier"は=「asnx: オブジェクト識別子」/>をタイプします。
<namedType name="TagDefault"> <type> <enumerated> <enumeration name="explicit"/> <enumeration name="implicit"/> <enumeration name="automatic"/> </enumerated> </type> </namedType>
<namedType name="TagDefault"> <type> <enumerated> <enumeration name="explicit"/> <enumeration name="implicit"/> <enumeration name="automatic"/> </enumerated> </type> </namedType>
<namedType name="Annotation" type="asnx:Markup"/>
<namedType name="Annotation" type="asnx:Markup"/>
<namedType name="ImportList"> <type> <sequenceOf minSize="1"> <element name="import" type="asnx:Import"/> </sequenceOf> </type> </namedType>
<namedType name="ImportList"> <type> <sequenceOf minSize="1"> <element name="import" type="asnx:Import"/> </sequenceOf> </type> </namedType>
<namedType name="Import">
<namedType name="Import">
Legg Experimental [Page 120] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 120] RFC 4912 Abstract Syntax Notation X July 2007
<type> <sequence> <optional> <attribute name="name" type="asnx:ModuleReference"/> </optional> <optional> <attribute name="identifier" type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asnx:AnyURI"/> </optional> <optional> <attribute name="namespace" type="asnx:AnyURI"/> </optional> <optional> <attribute name="schemaLocation" type="asnx:AnyURI"/> </optional> </sequence> </type> </namedType>
<type> <sequence> <optional> <attribute name="name" type="asnx:ModuleReference"/> </optional> <optional> <attribute name="identifier" type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asnx:AnyURI"/> </optional> <optional> <attribute name="namespace" type="asnx:AnyURI"/> </optional> <optional> <attribute name="schemaLocation" type="asnx:AnyURI"/> </optional> </sequence> </type> </namedType>
<namedType name="AssignmentList"> <type> <sequenceOf minSize="1"> <group name="assignment" type="asnx:Assignment"/> </sequenceOf> </type> </namedType>
<namedType name="AssignmentList"> <type> <sequenceOf minSize="1"> <group name="assignment" type="asnx:Assignment"/> </sequenceOf> </type> </namedType>
<namedType name="Assignment"> <type> <choice insertions="none"> <element name="namedType" type="asnx:TypeAssignment"/> <element name="namedValue" type="asnx:ValueAssignment"/> <element name="namedValueSet" type="asnx:ValueSetTypeAssignment"/> <element name="namedClass" type="asnx:ObjectClassAssignment"/> <element name="namedObject" type="asnx:ObjectAssignment"/> <element name="namedObjectSet" type="asnx:ObjectSetAssignment"/> <group name="component" type="asnx:TopLevelNamedType"/> </choice> </type> </namedType>
<namedType name="Assignment"> <type> <choice insertions="none"> <element name="namedType" type="asnx:TypeAssignment"/> <element name="namedValue" type="asnx:ValueAssignment"/> <element name="namedValueSet" type="asnx:ValueSetTypeAssignment"/> <element name="namedClass" type="asnx:ObjectClassAssignment"/> <element name="namedObject" type="asnx:ObjectAssignment"/> <element name="namedObjectSet" type="asnx:ObjectSetAssignment"/> <group name="component" type="asnx:TopLevelNamedType"/> </choice> </type> </namedType>
<namedType name="TypeAssignment"> <type> <sequence> <optional>
<namedType name="TypeAssignment"> <type> <sequence> <optional>
Legg Experimental [Page 121] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 121] RFC 4912 Abstract Syntax Notation X July 2007
<element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:TypeReference"/> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:TypeReference"/> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="TypeReference"> <type> <constrained type="asnx:UTF8String"> <pattern literalValue="[A-Z]\w*(-\w+)*"/> <!-- \w is equivalent to [a-zA-Z0-9] --> </constrained> </type> </namedType>
<namedType name="TypeReference"> <type> <constrained type="asnx:UTF8String"> <pattern literalValue="[A-Z]\w*(-\w+)*"/> <!-- \w is equivalent to [a-zA-Z0-9] --> </constrained> </type> </namedType>
<namedType name="ValueAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ValueReference"/> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="ValueAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ValueReference"/> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="ValueReference" type="asnx:Identifier"/>
<namedType name="ValueReference" type="asnx:Identifier"/>
<namedType name="Identifier"> <type> <constrained type="asnx:UTF8String"> <pattern literalValue="[a-z]\w(-\w+)*"/> </constrained> </type> </namedType>
<namedType name="Identifier"> <type> <constrained type="asnx:UTF8String"> <pattern literalValue="[a-z]\w(-\w+)*"/> </constrained> </type> </namedType>
<namedType name="ValueSetTypeAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:TypeReference"/> <group name="type" type="asnx:Type"/>
<namedType name="ValueSetTypeAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:TypeReference"/> <group name="type" type="asnx:Type"/>
Legg Experimental [Page 122] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 122] RFC 4912 Abstract Syntax Notation X July 2007
<group name="valueSet" type="asnx:ValueSet"/> </sequence> </type> </namedType>
<group name="valueSet" type="asnx:ValueSet"/> </sequence> </type> </namedType>
<namedType name="ObjectClassAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectClassReference"/> <group name="objectClass" type="asnx:ObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectClassAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectClassReference"/> <group name="objectClass" type="asnx:ObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectClassReference"> <type> <constrained type="asnx:UTF8String"> <pattern literalValue="[A-Z][A-Z0-9]*(-[A-Z0-9]+)*"/> </constrained> </type> </namedType>
<namedType name="ObjectClassReference"> <type> <constrained type="asnx:UTF8String"> <pattern literalValue="[A-Z][A-Z0-9]*(-[A-Z0-9]+)*"/> </constrained> </type> </namedType>
<namedType name="ObjectAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="object" type="asnx:Object"/> </sequence> </type> </namedType>
<namedType name="ObjectAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="object" type="asnx:Object"/> </sequence> </type> </namedType>
<namedType name="ObjectReference" type="asnx:ValueReference"/>
<namedType name="ObjectReference" type="asnx:ValueReference"/>
<namedType name="ObjectSetAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectSetReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/>
<namedType name="ObjectSetAssignment"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectSetReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/>
Legg Experimental [Page 123] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 123] RFC 4912 Abstract Syntax Notation X July 2007
<group name="objectSet" type="asnx:ObjectSet"/> </sequence> </type> </namedType>
<group name="objectSet" type="asnx:ObjectSet"/> </sequence> </type> </namedType>
<namedType name="ObjectSetReference" type="asnx:TypeReference"/>
<namedType name="ObjectSetReference" type="asnx:TypeReference"/>
<namedType name="TopLevelNamedType"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="component"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> </withComponents> </group> </withComponents> </element> <element name="element"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> </withComponents> </group> </withComponents> </element> <element name="attribute"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> </withComponents> </group> </withComponents> </element> <element name="group" use="absent"/> <element name="member" use="absent"/> <element name="item" use="absent"/> <element name="simpleContent" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="TopLevelNamedType"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="component"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> </withComponents> </group> </withComponents> </element> <element name="element"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> </withComponents> </group> </withComponents> </element> <element name="attribute"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> </withComponents> </group> </withComponents> </element> <element name="group" use="absent"/> <element name="member" use="absent"/> <element name="item" use="absent"/> <element name="simpleContent" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="NamedType">
<namedType name="NamedType">
Legg Experimental [Page 124] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 124] RFC 4912 Abstract Syntax Notation X July 2007
<type> <choice insertions="singular"> <element name="component" type="asnx:Element"/> <element name="element" type="asnx:Element"/> <element name="attribute" type="asnx:Attribute"/> <element name="group" type="asnx:InvisibleNamedType"/> <element name="member" type="asnx:InvisibleNamedType"/> <element name="item" type="asnx:InvisibleNamedType"/> <element name="simpleContent" type="asnx:InvisibleNamedType"/> </choice> </type> </namedType>
<type> <choice insertions="singular"> <element name="component" type="asnx:Element"/> <element name="element" type="asnx:Element"/> <element name="attribute" type="asnx:Attribute"/> <element name="group" type="asnx:InvisibleNamedType"/> <element name="member" type="asnx:InvisibleNamedType"/> <element name="item" type="asnx:InvisibleNamedType"/> <element name="simpleContent" type="asnx:InvisibleNamedType"/> </choice> </type> </namedType>
<namedType name="Attribute"> <type> <constrained type="asnx:GenericNamedType"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="local"> <withComponents partial="true"> <attribute name="typeAsVersion" use="absent"/> </withComponents> </group> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="Attribute"> <type> <constrained type="asnx:GenericNamedType"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="local"> <withComponents partial="true"> <attribute name="typeAsVersion" use="absent"/> </withComponents> </group> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="Element"> <type> <constrained type="asnx:GenericNamedType"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="local"> <withComponents partial="true"> <attribute name="versionIndicator" use="absent"/> </withComponents> </group> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="Element"> <type> <constrained type="asnx:GenericNamedType"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="local"> <withComponents partial="true"> <attribute name="versionIndicator" use="absent"/> </withComponents> </group> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
Legg Experimental [Page 125] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 125] RFC 4912 Abstract Syntax Notation X July 2007
<namedType name="InvisibleNamedType"> <type> <constrained type="asnx:GenericNamedType"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> <group name="local"> <withComponents partial="true"> <attribute name="typeAsVersion" use="absent"/> <attribute name="versionIndicator" use="absent"/> </withComponents> </group> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="InvisibleNamedType"> <type> <constrained type="asnx:GenericNamedType"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="reference" use="absent"/> <group name="local"> <withComponents partial="true"> <attribute name="typeAsVersion" use="absent"/> <attribute name="versionIndicator" use="absent"/> </withComponents> </group> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="GenericNamedType"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <attribute name="identifier" type="asnx:IdentifierOrEmpty"/> </optional> <group name="definition"> <type> <choice> <group name="reference" type="asnx:DefinedComponent"/> <group name="local" type="asnx:LocalComponent"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="GenericNamedType"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <attribute name="identifier" type="asnx:IdentifierOrEmpty"/> </optional> <group name="definition"> <type> <choice> <group name="reference" type="asnx:DefinedComponent"/> <group name="local" type="asnx:LocalComponent"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="IdentifierOrEmpty"> <type> <constrained type="asnx:UTF8String"> <union> <includes type="asnx:Identifier"/> <literalValue></literalValue> </union>
<namedType name="IdentifierOrEmpty"> <type> <constrained type="asnx:UTF8String"> <union> <includes type="asnx:Identifier"/> <literalValue></literalValue> </union>
Legg Experimental [Page 126] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 126] RFC 4912 Abstract Syntax Notation X July 2007
</constrained> </type> </namedType>
</constrained> </type> </namedType>
<namedType name="DefinedComponent"> <type> <constrained> <type> <sequence insertions="hollow"> <group name="name"> <type> <choice insertions="none"> <attribute name="ref" type="asnx:QName"/> <attribute name="elementType" type="asnx:Name"/> </choice> </type> </group> <optional> <attribute name="namespace" type="asnx:AnyURI"/> </optional> <optional> <attribute name="context" type="asnx:AnyURI"/> </optional> <optional> <attribute name="embedded" type="asnx:BOOLEAN"/> </optional> <optional> <group name="prefixes" type="asnx:EncodingPrefixes"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="ref" use="present"/> </withComponents> </group> <attribute name="namespace" use="absent"/> </withComponents> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="elementType" use="present"/> </withComponents> </group> <attribute name="embedded" use="absent"/> </withComponents>
<namedType name="DefinedComponent"> <type> <constrained> <type> <sequence insertions="hollow"> <group name="name"> <type> <choice insertions="none"> <attribute name="ref" type="asnx:QName"/> <attribute name="elementType" type="asnx:Name"/> </choice> </type> </group> <optional> <attribute name="namespace" type="asnx:AnyURI"/> </optional> <optional> <attribute name="context" type="asnx:AnyURI"/> </optional> <optional> <attribute name="embedded" type="asnx:BOOLEAN"/> </optional> <optional> <group name="prefixes" type="asnx:EncodingPrefixes"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="ref" use="present"/> </withComponents> </group> <attribute name="namespace" use="absent"/> </withComponents> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="elementType" use="present"/> </withComponents> </group> <attribute name="embedded" use="absent"/> </withComponents>
Legg Experimental [Page 127] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 127] RFC 4912 Abstract Syntax Notation X July 2007
</union> </constrained> </type> </namedType>
</union> </constrained> </type> </namedType>
<namedType name="LocalComponent"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="typeAsVersion" type="asnx:BOOLEAN"/> </optional> <optional> <attribute name="versionIndicator" type="asnx:BOOLEAN"/> </optional> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="LocalComponent"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="typeAsVersion" type="asnx:BOOLEAN"/> </optional> <optional> <attribute name="versionIndicator" type="asnx:BOOLEAN"/> </optional> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="Type"> <type> <choice insertions="none"> <attribute name="type" identifier="typeRef" type="asnx:QName"/> <element name="type" type="asnx:ElementFormType"/> </choice> </type> </namedType>
<namedType name="Type"> <type> <choice insertions="none"> <attribute name="type" identifier="typeRef" type="asnx:QName"/> <element name="type" type="asnx:ElementFormType"/> </choice> </type> </namedType>
<namedType name="ElementFormType"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <attribute name="explicit" type="asnx:BOOLEAN"/> </optional> <group name="definition"> <type> <choice> <group name="reference" type="asnx:DefinedType"/> <element name="expanded" type="asnx:ExpandedType"/> <attribute name="ancestor"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="1"/>
<namedType name="ElementFormType"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <attribute name="explicit" type="asnx:BOOLEAN"/> </optional> <group name="definition"> <type> <choice> <group name="reference" type="asnx:DefinedType"/> <element name="expanded" type="asnx:ExpandedType"/> <attribute name="ancestor"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="1"/>
Legg Experimental [Page 128] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 128] RFC 4912 Abstract Syntax Notation X July 2007
</range> </constrained> </type> </attribute> <element name="namedBitList" type="asnx:NamedBitList"/> <element name="namedNumberList" type="asnx:NamedNumberList"/> <element name="enumerated" type="asnx:EnumeratedType"/> <element name="tagged" type="asnx:TaggedType"/> <element name="prefixed" type="asnx:EncodingPrefixedType"/> <element name="selection" type="asnx:SelectionType"/> <element name="instanceOf" type="asnx:InstanceOfType"/> <element name="fromClass" type="asnx:ObjectClassFieldType"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> <element name="sequence" type="asnx:SequenceType"/> <element name="set" type="asnx:SetType"/> <element name="choice" type="asnx:ChoiceType"/> <element name="union" type="asnx:UnionType"/> <element name="sequenceOf" type="asnx:SequenceOfType"/> <element name="setOf" type="asnx:SetOfType"/> <element name="list" type="asnx:ListType"/> <element name="constrained" type="asnx:ConstrainedType"/> </choice> </type> </group> </sequence> </type> </namedType>
</range> </constrained> </type> </attribute> <element name="namedBitList" type="asnx:NamedBitList"/> <element name="namedNumberList" type="asnx:NamedNumberList"/> <element name="enumerated" type="asnx:EnumeratedType"/> <element name="tagged" type="asnx:TaggedType"/> <element name="prefixed" type="asnx:EncodingPrefixedType"/> <element name="selection" type="asnx:SelectionType"/> <element name="instanceOf" type="asnx:InstanceOfType"/> <element name="fromClass" type="asnx:ObjectClassFieldType"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> <element name="sequence" type="asnx:SequenceType"/> <element name="set" type="asnx:SetType"/> <element name="choice" type="asnx:ChoiceType"/> <element name="union" type="asnx:UnionType"/> <element name="sequenceOf" type="asnx:SequenceOfType"/> <element name="setOf" type="asnx:SetOfType"/> <element name="list" type="asnx:ListType"/> <element name="constrained" type="asnx:ConstrainedType"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="DefinedType"> <type> <constrained> <type> <sequence> <group name="name"> <type> <choice insertions="none"> <attribute name="ref" type="asnx:QName"/> <attribute name="elementType" type="asnx:Name"/> </choice> </type> </group> <optional> <attribute name="context" type="asnx:AnyURI"/> </optional> <optional> <attribute name="embedded" type="asnx:BOOLEAN"/> </optional>
<namedType name="DefinedType"> <type> <constrained> <type> <sequence> <group name="name"> <type> <choice insertions="none"> <attribute name="ref" type="asnx:QName"/> <attribute name="elementType" type="asnx:Name"/> </choice> </type> </group> <optional> <attribute name="context" type="asnx:AnyURI"/> </optional> <optional> <attribute name="embedded" type="asnx:BOOLEAN"/> </optional>
Legg Experimental [Page 129] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 129] RFC 4912 Abstract Syntax Notation X July 2007
</sequence> </type> <union> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="ref" use="present"/> </withComponents> </group> </withComponents> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="elementType" use="present"/> </withComponents> </group> <attribute name="embedded" use="absent"/> </withComponents> </union> </constrained> </type> </namedType>
</sequence> </type> <union> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="ref" use="present"/> </withComponents> </group> </withComponents> <withComponents partial="true"> <group name="name"> <withComponents> <attribute name="elementType" use="present"/> </withComponents> </group> <attribute name="embedded" use="absent"/> </withComponents> </union> </constrained> </type> </namedType>
<namedType name="ExpandedType"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="ExpandedType"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="ReferencedModule"> <type> <sequence> <optional> <attribute name="name" type="asnx:ModuleReference"/> </optional> <optional> <attribute name="identifier" type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asnx:AnyURI"/>
<namedType name="ReferencedModule"> <type> <sequence> <optional> <attribute name="name" type="asnx:ModuleReference"/> </optional> <optional> <attribute name="identifier" type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asnx:AnyURI"/>
Legg Experimental [Page 130] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 130] RFC 4912 Abstract Syntax Notation X July 2007
</optional> </sequence> </type> </namedType>
</optional> </sequence> </type> </namedType>
<namedType name="NamedBitList"> <type> <sequenceOf minSize="1"> <element name="namedBit" type="asnx:NamedBit"/> </sequenceOf> </type> </namedType>
<namedType name="NamedBitList"> <type> <sequenceOf minSize="1"> <element name="namedBit" type="asnx:NamedBit"/> </sequenceOf> </type> </namedType>
<namedType name="NamedBit"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="identifier" type="asnx:Identifier"/> </optional> <attribute name="bit"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> </sequence> </type> </namedType>
<namedType name="NamedBit"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="identifier" type="asnx:Identifier"/> </optional> <attribute name="bit"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> </sequence> </type> </namedType>
<namedType name="NamedNumberList"> <type> <sequenceOf minSize="1"> <element name="namedNumber" type="asnx:NamedNumber"/> </sequenceOf> </type> </namedType>
<namedType name="NamedNumberList"> <type> <sequenceOf minSize="1"> <element name="namedNumber" type="asnx:NamedNumber"/> </sequenceOf> </type> </namedType>
<namedType name="NamedNumber"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="identifier" type="asnx:Identifier"/> </optional>
<namedType name="NamedNumber"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="identifier" type="asnx:Identifier"/> </optional>
Legg Experimental [Page 131] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 131] RFC 4912 Abstract Syntax Notation X July 2007
<attribute name="number" type="asnx:INTEGER"/> </sequence> </type> </namedType>
<attribute name="number" type="asnx:INTEGER"/> </sequence> </type> </namedType>
<namedType name="EnumeratedType"> <type> <sequence> <group name="root" type="asnx:Enumeration"/> <optional> <element name="extension"> <type> <sequence> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> <optional> <group name="additions" type="asnx:Enumeration"/> </optional> </sequence> </type> </element> </optional> </sequence> </type> </namedType>
<namedType name="EnumeratedType"> <type> <sequence> <group name="root" type="asnx:Enumeration"/> <optional> <element name="extension"> <type> <sequence> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> <optional> <group name="additions" type="asnx:Enumeration"/> </optional> </sequence> </type> </element> </optional> </sequence> </type> </namedType>
<namedType name="Enumeration"> <type> <sequenceOf minSize="1"> <element name="enumeration" type="asnx:EnumerationItem"/> </sequenceOf> </type> </namedType>
<namedType name="Enumeration"> <type> <sequenceOf minSize="1"> <element name="enumeration" type="asnx:EnumerationItem"/> </sequenceOf> </type> </namedType>
<namedType name="EnumerationItem"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="identifier" type="asnx:Identifier"/> </optional> <optional> <attribute name="number" type="asnx:INTEGER"/> </optional> </sequence> </type> </namedType>
<namedType name="EnumerationItem"> <type> <sequence> <attribute name="name" type="asnx:NCName"/> <optional> <attribute name="identifier" type="asnx:Identifier"/> </optional> <optional> <attribute name="number" type="asnx:INTEGER"/> </optional> </sequence> </type> </namedType>
Legg Experimental [Page 132] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 132] RFC 4912 Abstract Syntax Notation X July 2007
<namedType name="Tag"> <type> <sequence> <optional> <attribute name="tagClass" type="asnx:TagClass"/> </optional> <attribute name="number"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> <optional> <attribute name="tagging" type="asnx:Tagging"/> </optional> </sequence> </type> </namedType>
<namedType name="Tag"> <type> <sequence> <optional> <attribute name="tagClass" type="asnx:TagClass"/> </optional> <attribute name="number"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> <optional> <attribute name="tagging" type="asnx:Tagging"/> </optional> </sequence> </type> </namedType>
<namedType name="TaggedType"> <type> <sequence> <componentsOf type="asnx:Tag"/> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="TaggedType"> <type> <sequence> <componentsOf type="asnx:Tag"/> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="TagClass"> <type> <enumerated> <enumeration name="universal"/> <enumeration name="application"/> <enumeration name="private"/> </enumerated> </type> </namedType>
<namedType name="TagClass"> <type> <enumerated> <enumeration name="universal"/> <enumeration name="application"/> <enumeration name="private"/> </enumerated> </type> </namedType>
<namedType name="Tagging"> <type> <enumerated> <enumeration name="explicit"/> <enumeration name="implicit"/> </enumerated> </type>
<namedType name="Tagging"> <type> <enumerated> <enumeration name="explicit"/> <enumeration name="implicit"/> </enumerated> </type>
Legg Experimental [Page 133] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 133] RFC 4912 Abstract Syntax Notation X July 2007
</namedType>
</namedType>
<namedType name="EncodingPrefixedType"> <type> <sequence insertions="hollow"> <group name="prefixes" type="asnx:EncodingPrefixes"/> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="EncodingPrefixedType"> <type> <sequence insertions="hollow"> <group name="prefixes" type="asnx:EncodingPrefixes"/> <group name="type" type="asnx:Type"/> </sequence> </type> </namedType>
<namedType name="EncodingPrefixes"> <type> <sequenceOf minSize="1"> <group name="prefix" type="asnx:EncodingPrefix"/> </sequenceOf> </type> </namedType>
<namedType name="EncodingPrefixes"> <type> <sequenceOf minSize="1"> <group name="prefix" type="asnx:EncodingPrefix"/> </sequenceOf> </type> </namedType>
<namedType name="EncodingPrefix"> <type> <choice insertions="singular"> <element name="TAG" identifier="tag" type="asnx:Tag"/> <element name="GSER" identifier="gser" type="asnx:GSER-EncodingInstruction"/> <element name="XER" identifier="xer" type="asnx:XER-EncodingInstruction"/> <!-- plus encoding instructions for other encoding rules in the future --> </choice> </type> </namedType>
<namedType name="EncodingPrefix"> <type> <choice insertions="singular"> <element name="TAG" identifier="tag" type="asnx:Tag"/> <element name="GSER" identifier="gser" type="asnx:GSER-EncodingInstruction"/> <element name="XER" identifier="xer" type="asnx:XER-EncodingInstruction"/> <!-- plus encoding instructions for other encoding rules in the future --> </choice> </type> </namedType>
<namedType name="SelectionType"> <type> <sequence> <group name="alternative"> <type> <choice insertions="singular"> <attribute name="component" type="asnx:QName"/> <attribute name="element" type="asnx:QName"/> <attribute name="attribute" type="asnx:QName"/> <attribute name="group" type="asnx:QName"/> <attribute name="member" type="asnx:QName"/> </choice> </type> </group> <group name="type" type="asnx:Type"/>
<namedType name="SelectionType"> <type> <sequence> <group name="alternative"> <type> <choice insertions="singular"> <attribute name="component" type="asnx:QName"/> <attribute name="element" type="asnx:QName"/> <attribute name="attribute" type="asnx:QName"/> <attribute name="group" type="asnx:QName"/> <attribute name="member" type="asnx:QName"/> </choice> </type> </group> <group name="type" type="asnx:Type"/>
Legg Experimental [Page 134] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 134] RFC 4912 Abstract Syntax Notation X July 2007
</sequence> </type> </namedType>
</sequence> </type> </namedType>
<namedType name="InstanceOfType" type="asnx:DefinedObjectClass"/>
<namedType name="InstanceOfType" type="asnx:DefinedObjectClass"/>
<namedType name="ObjectClassFieldType"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="fieldName" type="asnx:FieldName"/> </sequence> </type> </namedType>
<namedType name="ObjectClassFieldType"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="fieldName" type="asnx:FieldName"/> </sequence> </type> </namedType>
<namedType name="FieldName"> <type> <choice insertions="singular"> <attribute name="fieldName" identifier="fieldNameAtt" type="asnx:PrimitiveFieldNames"/> <element name="fieldName" type="asnx:PrimitiveFieldNames"/> </choice> </type> </namedType>
<namedType name="FieldName"> <type> <choice insertions="singular"> <attribute name="fieldName" identifier="fieldNameAtt" type="asnx:PrimitiveFieldNames"/> <element name="fieldName" type="asnx:PrimitiveFieldNames"/> </choice> </type> </namedType>
<namedType name="PrimitiveFieldNames" type="asnx:UTF8String"/>
<namedType name="PrimitiveFieldNames" type="asnx:UTF8String"/>
<namedType name="InformationFromObjects"> <type> <sequence insertions="hollow"> <group name="referencedObjects" type="asnx:ReferencedObjects"/> <group name="fieldName" type="asnx:FieldName"/> </sequence> </type> </namedType>
<namedType name="InformationFromObjects"> <type> <sequence insertions="hollow"> <group name="referencedObjects" type="asnx:ReferencedObjects"/> <group name="fieldName" type="asnx:FieldName"/> </sequence> </type> </namedType>
<namedType name="ReferencedObjects"> <type> <choice insertions="singular"> <group name="object" type="asnx:Object"/> <group name="objectSet" type="asnx:ObjectSet"/> </choice> </type> </namedType>
<namedType name="ReferencedObjects"> <type> <choice insertions="singular"> <group name="object" type="asnx:Object"/> <group name="objectSet" type="asnx:ObjectSet"/> </choice> </type> </namedType>
<namedType name="Insertions"> <type> <enumerated>
<namedType name="Insertions"> <type> <enumerated>
Legg Experimental [Page 135] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 135] RFC 4912 Abstract Syntax Notation X July 2007
<enumeration name="none"/> <enumeration name="hollow"/> <enumeration name="singular"/> <enumeration name="uniform"/> <enumeration name="multiform"/> </enumerated> </type> </namedType>
<enumeration name="none"/> <enumeration name="hollow"/> <enumeration name="singular"/> <enumeration name="uniform"/> <enumeration name="multiform"/> </enumerated> </type> </namedType>
<namedType name="SequenceType"> <type> <sequence insertions="hollow"> <optional> <attribute name="insertions" type="asnx:Insertions"/> </optional> <optional> <group name="root" type="asnx:ComponentTypeList"/> </optional> <optional> <group name="extensionAndFinal"> <type> <sequence insertions="hollow"> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> <optional> <group name="additions" type="asnx:ExtensionAdditions"/> </optional> </sequence> </type> </element> <optional> <group name="root" type="asnx:ComponentTypeList"/> </optional> </sequence> </type> </group> </optional> </sequence> </type> </namedType>
<namedType name="SequenceType"> <type> <sequence insertions="hollow"> <optional> <attribute name="insertions" type="asnx:Insertions"/> </optional> <optional> <group name="root" type="asnx:ComponentTypeList"/> </optional> <optional> <group name="extensionAndFinal"> <type> <sequence insertions="hollow"> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> <optional> <group name="additions" type="asnx:ExtensionAdditions"/> </optional> </sequence> </type> </element> <optional> <group name="root" type="asnx:ComponentTypeList"/> </optional> </sequence> </type> </group> </optional> </sequence> </type> </namedType>
<namedType name="ComponentTypeList"> <type> <sequenceOf minSize="1">
<namedType name="ComponentTypeList"> <type> <sequenceOf minSize="1">
Legg Experimental [Page 136] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 136] RFC 4912 Abstract Syntax Notation X July 2007
<group name="componentType" type="asnx:ComponentType"/> </sequenceOf> </type> </namedType>
<group name="componentType" type="asnx:ComponentType"/> </sequenceOf> </type> </namedType>
<namedType name="ComponentType"> <type> <choice insertions="none"> <group name="component" type="asnx:SequenceNamedType"/> <element name="optional"> <type> <sequence> <group name="component" type="asnx:SequenceNamedType"/> <optional> <element name="default" type="asnx:Value"/> </optional> </sequence> </type> </element> <element name="componentsOf" type="asnx:Type"/> </choice> </type> </namedType>
<namedType name="ComponentType"> <type> <choice insertions="none"> <group name="component" type="asnx:SequenceNamedType"/> <element name="optional"> <type> <sequence> <group name="component" type="asnx:SequenceNamedType"/> <optional> <element name="default" type="asnx:Value"/> </optional> </sequence> </type> </element> <element name="componentsOf" type="asnx:Type"/> </choice> </type> </namedType>
<namedType name="SequenceNamedType"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="member" use="absent"/> <element name="item" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="SequenceNamedType"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="member" use="absent"/> <element name="item" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="ExtensionAdditions"> <type> <sequenceOf minSize="1"> <group name="addition" type="asnx:ExtensionAddition"/> </sequenceOf> </type> </namedType>
<namedType name="ExtensionAdditions"> <type> <sequenceOf minSize="1"> <group name="addition" type="asnx:ExtensionAddition"/> </sequenceOf> </type> </namedType>
<namedType name="ExtensionAddition"> <type> <choice insertions="none"> <element name="extensionGroup" type="asnx:ExtensionAdditionGroup"/>
<namedType name="ExtensionAddition"> <type> <choice insertions="none"> <element name="extensionGroup" type="asnx:ExtensionAdditionGroup"/>
Legg Experimental [Page 137] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 137] RFC 4912 Abstract Syntax Notation X July 2007
<group name="componentType" type="asnx:ComponentType"/> </choice> </type> </namedType>
<group name="componentType" type="asnx:ComponentType"/> </choice> </type> </namedType>
<namedType name="ExtensionAdditionGroup"> <type> <sequence insertions="hollow"> <optional> <attribute name="version" type="asnx:VersionNumber"/> </optional> <group name="componentTypes" type="asnx:ComponentTypeList"/> </sequence> </type> </namedType>
<namedType name="ExtensionAdditionGroup"> <type> <sequence insertions="hollow"> <optional> <attribute name="version" type="asnx:VersionNumber"/> </optional> <group name="componentTypes" type="asnx:ComponentTypeList"/> </sequence> </type> </namedType>
<namedType name="VersionNumber"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="2"/> </range> </constrained> </type> </namedType>
<namedType name="VersionNumber"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="2"/> </range> </constrained> </type> </namedType>
<namedType name="SetType" type="asnx:SequenceType"/>
<namedType name="SetType" type="asnx:SequenceType"/>
<namedType name="ChoiceOrUnionType"> <type> <sequence insertions="hollow"> <optional> <attribute name="insertions" type="asnx:Insertions"/> </optional> <optional> <attribute name="precedence" type="asnx:PrecedenceList"/> </optional> <group name="root" type="asnx:AlternativeTypeList"/> <optional> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> <optional> <group name="additions" type="asnx:ExtensionAdditionAlternatives"/>
<namedType name="ChoiceOrUnionType"> <type> <sequence insertions="hollow"> <optional> <attribute name="insertions" type="asnx:Insertions"/> </optional> <optional> <attribute name="precedence" type="asnx:PrecedenceList"/> </optional> <group name="root" type="asnx:AlternativeTypeList"/> <optional> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> <optional> <group name="additions" type="asnx:ExtensionAdditionAlternatives"/>
Legg Experimental [Page 138] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 138] RFC 4912 Abstract Syntax Notation X July 2007
</optional> </sequence> </type> </element> </optional> </sequence> </type> </namedType>
</optional> </sequence> </type> </element> </optional> </sequence> </type> </namedType>
<namedType name="PrecedenceList"> <type> <list minSize="1"> <item name="member" type="asnx:QName"/> </list> </type> </namedType>
<namedType name="PrecedenceList"> <type> <list minSize="1"> <item name="member" type="asnx:QName"/> </list> </type> </namedType>
<namedType name="AlternativeTypeList"> <type> <sequenceOf minSize="1"> <group name="component" type="asnx:ChoiceOrUnionNamedType"/> </sequenceOf> </type> </namedType>
<namedType name="AlternativeTypeList"> <type> <sequenceOf minSize="1"> <group name="component" type="asnx:ChoiceOrUnionNamedType"/> </sequenceOf> </type> </namedType>
<namedType name="ChoiceOrUnionNamedType"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="item" use="absent"/> <element name="simpleContent" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="ChoiceOrUnionNamedType"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="item" use="absent"/> <element name="simpleContent" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="ExtensionAdditionAlternatives"> <type> <sequenceOf minSize="1"> <group name="addition" type="asnx:ExtensionAdditionAlternative"/> </sequenceOf> </type> </namedType>
<namedType name="ExtensionAdditionAlternatives"> <type> <sequenceOf minSize="1"> <group name="addition" type="asnx:ExtensionAdditionAlternative"/> </sequenceOf> </type> </namedType>
<namedType name="ExtensionAdditionAlternative"> <type> <choice insertions="none"> <element name="extensionGroup"
<namedType name="ExtensionAdditionAlternative"> <type> <choice insertions="none"> <element name="extensionGroup"
Legg Experimental [Page 139] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 139] RFC 4912 Abstract Syntax Notation X July 2007
type="asnx:ExtensionAdditionAlternativesGroup"/> <group name="component" type="asnx:ChoiceOrUnionNamedType"/> </choice> </type> </namedType>
type="asnx:ExtensionAdditionAlternativesGroup"/> <group name="component" type="asnx:ChoiceOrUnionNamedType"/> </choice> </type> </namedType>
<namedType name="ExtensionAdditionAlternativesGroup"> <type> <sequence insertions="hollow"> <optional> <attribute name="version" type="asnx:VersionNumber"/> </optional> <group name="alternatives" type="asnx:AlternativeTypeList"/> </sequence> </type> </namedType>
<namedType name="ExtensionAdditionAlternativesGroup"> <type> <sequence insertions="hollow"> <optional> <attribute name="version" type="asnx:VersionNumber"/> </optional> <group name="alternatives" type="asnx:AlternativeTypeList"/> </sequence> </type> </namedType>
<namedType name="ChoiceType"> <type> <constrained type="asnx:ChoiceOrUnionType"> <withComponents partial="true"> <attribute name="precedence" use="absent"/> <group name="root"> <withComponent> <includes type="asnx:ChoiceNamedType"/> </withComponent> </group> <element name="extension"> <withComponents partial="true"> <group name="additions"> <withComponent> <withComponents partial="true"> <element name="extensionGroup"> <withComponents partial="true"> <group name="alternatives"> <withComponent> <includes type="asnx:ChoiceNamedType"/> </withComponent> </group> </withComponents> </element> <group name="component"> <includes type="asnx:ChoiceNamedType"/> </group> </withComponents> </withComponent> </group> </withComponents>
<namedType name="ChoiceType"> <type> <constrained type="asnx:ChoiceOrUnionType"> <withComponents partial="true"> <attribute name="precedence" use="absent"/> <group name="root"> <withComponent> <includes type="asnx:ChoiceNamedType"/> </withComponent> </group> <element name="extension"> <withComponents partial="true"> <group name="additions"> <withComponent> <withComponents partial="true"> <element name="extensionGroup"> <withComponents partial="true"> <group name="alternatives"> <withComponent> <includes type="asnx:ChoiceNamedType"/> </withComponent> </group> </withComponents> </element> <group name="component"> <includes type="asnx:ChoiceNamedType"/> </group> </withComponents> </withComponent> </group> </withComponents>
Legg Experimental [Page 140] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 140] RFC 4912 Abstract Syntax Notation X July 2007
</element> </withComponents> </constrained> </type> </namedType>
</element> </withComponents> </constrained> </type> </namedType>
<namedType name="ChoiceNamedType"> <type> <constrained type="asnx:ChoiceOrUnionNamedType"> <withComponents partial="true"> <element name="member" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="ChoiceNamedType"> <type> <constrained type="asnx:ChoiceOrUnionNamedType"> <withComponents partial="true"> <element name="member" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="UnionType"> <type> <constrained type="asnx:ChoiceOrUnionType"> <withComponents partial="true"> <attribute name="insertions" use="absent"/> <group name="root"> <withComponent> <includes type="asnx:UnionNamedType"/> </withComponent> </group> <element name="extension"> <withComponents partial="true"> <group name="additions"> <withComponent> <withComponents partial="true"> <element name="extensionGroup"> <withComponents partial="true"> <group name="alternatives"> <withComponent> <includes type="asnx:UnionNamedType"/> </withComponent> </group> </withComponents> </element> <group name="component"> <includes type="asnx:UnionNamedType"/> </group> </withComponents> </withComponent> </group> </withComponents> </element>
<namedType name="UnionType"> <type> <constrained type="asnx:ChoiceOrUnionType"> <withComponents partial="true"> <attribute name="insertions" use="absent"/> <group name="root"> <withComponent> <includes type="asnx:UnionNamedType"/> </withComponent> </group> <element name="extension"> <withComponents partial="true"> <group name="additions"> <withComponent> <withComponents partial="true"> <element name="extensionGroup"> <withComponents partial="true"> <group name="alternatives"> <withComponent> <includes type="asnx:UnionNamedType"/> </withComponent> </group> </withComponents> </element> <group name="component"> <includes type="asnx:UnionNamedType"/> </group> </withComponents> </withComponent> </group> </withComponents> </element>
Legg Experimental [Page 141] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 141] RFC 4912 Abstract Syntax Notation X July 2007
</withComponents> </constrained> </type> </namedType>
</withComponents> </constrained> </type> </namedType>
<namedType name="UnionNamedType"> <type> <constrained type="asnx:ChoiceOrUnionNamedType"> <withComponents partial="true"> <element name="component" use="absent"/> <element name="element" use="absent"/> <element name="attribute" use="absent"/> <element name="group" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="UnionNamedType"> <type> <constrained type="asnx:ChoiceOrUnionNamedType"> <withComponents partial="true"> <element name="component" use="absent"/> <element name="element" use="absent"/> <element name="attribute" use="absent"/> <element name="group" use="absent"/> </withComponents> </constrained> </type> </namedType>
<namedType name="SequenceOfOrListType"> <type> <sequence> <optional> <attribute name="minSize"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> </optional> <optional> <attribute name="maxSize"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> </optional> <group name="component"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="attribute" use="absent"/>
<namedType name="SequenceOfOrListType"> <type> <sequence> <optional> <attribute name="minSize"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> </optional> <optional> <attribute name="maxSize"> <type> <constrained type="asnx:INTEGER"> <range> <minInclusive literalValue="0"/> </range> </constrained> </type> </attribute> </optional> <group name="component"> <type> <constrained type="asnx:NamedType"> <withComponents partial="true"> <element name="attribute" use="absent"/>
Legg Experimental [Page 142] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 142] RFC 4912 Abstract Syntax Notation X July 2007
<element name="member" use="absent"/> <element name="simpleContent" use="absent"/> </withComponents> </constrained> </type> </group> </sequence> </type> </namedType>
<element name="member" use="absent"/> <element name="simpleContent" use="absent"/> </withComponents> </constrained> </type> </group> </sequence> </type> </namedType>
<namedType name="SequenceOfType"> <type> <constrained type="asnx:SequenceOfOrListType"> <withComponents partial="true"> <group name="component"> <withComponents partial="true"> <element name="item" use="absent"/> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="SequenceOfType"> <type> <constrained type="asnx:SequenceOfOrListType"> <withComponents partial="true"> <group name="component"> <withComponents partial="true"> <element name="item" use="absent"/> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="SetOfType" type="asnx:SequenceOfType"/>
<namedType name="SetOfType" type="asnx:SequenceOfType"/>
<namedType name="ListType"> <type> <constrained type="asnx:SequenceOfOrListType"> <withComponents partial="true"> <group name="component"> <withComponents partial="true"> <element name="component" use="absent"/> <element name="element" use="absent"/> <element name="group" use="absent"/> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="ListType"> <type> <constrained type="asnx:SequenceOfOrListType"> <withComponents partial="true"> <group name="component"> <withComponents partial="true"> <element name="component" use="absent"/> <element name="element" use="absent"/> <element name="group" use="absent"/> </withComponents> </group> </withComponents> </constrained> </type> </namedType>
<namedType name="ConstrainedType"> <type> <sequence insertions="hollow"> <group name="type" type="asnx:Type"/> <group name="constraint" type="asnx:Constraint"/> </sequence>
<namedType name="ConstrainedType"> <type> <sequence insertions="hollow"> <group name="type" type="asnx:Type"/> <group name="constraint" type="asnx:Constraint"/> </sequence>
Legg Experimental [Page 143] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 143] RFC 4912 Abstract Syntax Notation X July 2007
</type> </namedType>
</type> </namedType>
<namedType name="Constraint"> <type> <sequence> <group name="constraintSpec"> <type> <choice insertions="none"> <group name="subtype" type="asnx:ElementSetSpecs"/> <element name="constrainedBy" type="asnx:UserDefinedConstraint"/> <element name="table" type="asnx:TableConstraint"/> <element name="contents" type="asnx:ContentsConstraint"/> </choice> </type> </group> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> </sequence> </type> </namedType>
<namedType name="Constraint"> <type> <sequence> <group name="constraintSpec"> <type> <choice insertions="none"> <group name="subtype" type="asnx:ElementSetSpecs"/> <element name="constrainedBy" type="asnx:UserDefinedConstraint"/> <element name="table" type="asnx:TableConstraint"/> <element name="contents" type="asnx:ContentsConstraint"/> </choice> </type> </group> <optional> <element name="exception" type="asnx:ExceptionSpec"/> </optional> </sequence> </type> </namedType>
<namedType name="UserDefinedConstraint"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <group name="parameters" type="asnx:ConstraintParameters"/> </optional> </sequence> </type> </namedType>
<namedType name="UserDefinedConstraint"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <group name="parameters" type="asnx:ConstraintParameters"/> </optional> </sequence> </type> </namedType>
<namedType name="ConstraintParameters"> <type> <sequenceOf minSize="1"> <group name="parameter" type="asnx:UserDefinedConstraintParameter"/> </sequenceOf> </type> </namedType>
<namedType name="ConstraintParameters"> <type> <sequenceOf minSize="1"> <group name="parameter" type="asnx:UserDefinedConstraintParameter"/> </sequenceOf> </type> </namedType>
<namedType name="UserDefinedConstraintParameter"> <type>
<namedType name="UserDefinedConstraintParameter"> <type>
Legg Experimental [Page 144] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 144] RFC 4912 Abstract Syntax Notation X July 2007
<choice insertions="singular"> <element name="valueParameter"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence> </type> </element> <element name="valueSetParameter"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="valueSet" type="asnx:ValueSet"/> </sequence> </type> </element> <element name="objectParameter"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="object" type="asnx:Object"/> </sequence> </type> </element> <element name="objectSetParameter"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="objectSet" type="asnx:ObjectSet"/> </sequence> </type> </element> <element name="typeParameter"> <type> <sequence> <group name="type" type="asnx:Type"/> </sequence> </type> </element> <element name="classParameter"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> </sequence> </type> </element> </choice>
<choice insertions="singular"> <element name="valueParameter"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence> </type> </element> <element name="valueSetParameter"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="valueSet" type="asnx:ValueSet"/> </sequence> </type> </element> <element name="objectParameter"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="object" type="asnx:Object"/> </sequence> </type> </element> <element name="objectSetParameter"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> <group name="objectSet" type="asnx:ObjectSet"/> </sequence> </type> </element> <element name="typeParameter"> <type> <sequence> <group name="type" type="asnx:Type"/> </sequence> </type> </element> <element name="classParameter"> <type> <sequence> <group name="objectClass" type="asnx:DefinedObjectClass"/> </sequence> </type> </element> </choice>
Legg Experimental [Page 145] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 145] RFC 4912 Abstract Syntax Notation X July 2007
</type> </namedType>
</type> </namedType>
<namedType name="TableConstraint"> <type> <sequence> <group name="objectSet" type="asnx:ObjectSet"/> <optional> <group name="componentRelation" type="asnx:AtNotations"/> </optional> </sequence> </type> </namedType>
<namedType name="TableConstraint"> <type> <sequence> <group name="objectSet" type="asnx:ObjectSet"/> <optional> <group name="componentRelation" type="asnx:AtNotations"/> </optional> </sequence> </type> </namedType>
<namedType name="AtNotations"> <type> <sequenceOf minSize="1"> <element name="restrictBy" type="asnx:AtNotation"/> </sequenceOf> </type> </namedType>
<namedType name="AtNotations"> <type> <sequenceOf minSize="1"> <element name="restrictBy" type="asnx:AtNotation"/> </sequenceOf> </type> </namedType>
<namedType name="AtNotation" type="asnx:Markup"/>
<namedType name="AtNotation" type="asnx:Markup"/>
<namedType name="ContentsConstraint"> <type> <constrained> <type> <sequence> <optional> <element name="containing" type="asnx:Type"/> </optional> <optional> <element name="encodedBy" type="asnx:Value"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <element name="containing" use="present"/> </withComponents> <withComponents partial="true"> <element name="encodedBy" use="present"/> </withComponents> </union> </constrained> </type> </namedType>
<namedType name="ContentsConstraint"> <type> <constrained> <type> <sequence> <optional> <element name="containing" type="asnx:Type"/> </optional> <optional> <element name="encodedBy" type="asnx:Value"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <element name="containing" use="present"/> </withComponents> <withComponents partial="true"> <element name="encodedBy" use="present"/> </withComponents> </union> </constrained> </type> </namedType>
Legg Experimental [Page 146] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 146] RFC 4912 Abstract Syntax Notation X July 2007
<namedType name="ExceptionSpec"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="ExceptionSpec"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="Value"> <type> <choice insertions="none"> <attribute name="literalValue" identifier="literalValueAtt" type="asnx:UTF8String"/> <element name="literalValue" type="asnx:ElementFormLiteralValue"/> <attribute name="value" identifier="valueRef" type="asnx:QName"/> <element name="value" type="asnx:ElementFormNotationalValue"/> </choice> </type> </namedType>
<namedType name="Value"> <type> <choice insertions="none"> <attribute name="literalValue" identifier="literalValueAtt" type="asnx:UTF8String"/> <element name="literalValue" type="asnx:ElementFormLiteralValue"/> <attribute name="value" identifier="valueRef" type="asnx:QName"/> <element name="value" type="asnx:ElementFormNotationalValue"/> </choice> </type> </namedType>
<namedType name="ElementFormLiteralValue" type="asnx:Markup"> <annotation> If asnx:literal="false" then the governing type of ElementFormLiteralValue is ElementFormNotationalValue. </annotation> </namedType>
<namedType name="ElementFormLiteralValue" type="asnx:Markup"> <annotation> If asnx:literal="false" then the governing type of ElementFormLiteralValue is ElementFormNotationalValue. </annotation> </namedType>
<namedType name="ElementFormNotationalValue"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="reference" type="asnx:Reference"/> <element name="expanded" type="asnx:ExpandedValue"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> <element name="openTypeValue"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence>
<namedType name="ElementFormNotationalValue"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="reference" type="asnx:Reference"/> <element name="expanded" type="asnx:ExpandedValue"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> <element name="openTypeValue"> <type> <sequence> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> </sequence>
Legg Experimental [Page 147] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 147] RFC 4912 Abstract Syntax Notation X July 2007
</type> </element> <group name="components" type="asnx:ComponentValueList"/> </choice> </type> </group> </sequence> </type> </namedType>
</type> </element> <group name="components" type="asnx:ComponentValueList"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="Reference"> <type> <sequence> <attribute name="ref" type="asnx:QName"/> <optional> <attribute name="context" type="asnx:AnyURI"/> </optional> </sequence> </type> </namedType>
<namedType name="Reference"> <type> <sequence> <attribute name="ref" type="asnx:QName"/> <optional> <attribute name="context" type="asnx:AnyURI"/> </optional> </sequence> </type> </namedType>
<namedType name="ExpandedValue"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="ExpandedValue"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="ComponentValueList"> <type> <sequenceOf minSize="1"> <group name="component" type="asnx:NamedValue"/> </sequenceOf> </type> </namedType>
<namedType name="ComponentValueList"> <type> <sequenceOf minSize="1"> <group name="component" type="asnx:NamedValue"/> </sequenceOf> </type> </namedType>
<namedType name="NamedValue"> <type> <choice insertions="singular"> <element name="component" type="asnx:GenericNamedValue"/> <element name="element" type="asnx:GenericNamedValue"/>
<namedType name="NamedValue"> <type> <choice insertions="singular"> <element name="component" type="asnx:GenericNamedValue"/> <element name="element" type="asnx:GenericNamedValue"/>
Legg Experimental [Page 148] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 148] RFC 4912 Abstract Syntax Notation X July 2007
<element name="attribute" type="asnx:GenericNamedValue"/> <element name="group" type="asnx:GenericNamedValue"/> <element name="member" type="asnx:GenericNamedValue"/> <element name="item" type="asnx:GenericNamedValue"/> <element name="simpleContent" type="asnx:GenericNamedValue"/> </choice> </type> </namedType>
<element name="attribute" type="asnx:GenericNamedValue"/> <element name="group" type="asnx:GenericNamedValue"/> <element name="member" type="asnx:GenericNamedValue"/> <element name="item" type="asnx:GenericNamedValue"/> <element name="simpleContent" type="asnx:GenericNamedValue"/> </choice> </type> </namedType>
<namedType name="GenericNamedValue"> <type> <sequence> <attribute name="name" type="asnx:QName"/> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="GenericNamedValue"> <type> <sequence> <attribute name="name" type="asnx:QName"/> <group name="value" type="asnx:Value"/> </sequence> </type> </namedType>
<namedType name="ValueSet"> <type> <choice insertions="none"> <attribute name="valueSet" identifier="valueSetRef" type="asnx:QName"> <annotation> valueSet attribute is not used in this version </annotation> </attribute> <element name="valueSet" type="asnx:ElementFormValueSet"/> </choice> </type> </namedType>
<namedType name="ValueSet"> <type> <choice insertions="none"> <attribute name="valueSet" identifier="valueSetRef" type="asnx:QName"> <annotation> valueSet attribute is not used in this version </annotation> </attribute> <element name="valueSet" type="asnx:ElementFormValueSet"/> </choice> </type> </namedType>
<namedType name="ElementFormValueSet"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="elementSetSpecs" type="asnx:ElementSetSpecs"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="ElementFormValueSet"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="elementSetSpecs" type="asnx:ElementSetSpecs"/> </choice> </type> </group> </sequence> </type> </namedType>
Legg Experimental [Page 149] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 149] RFC 4912 Abstract Syntax Notation X July 2007
<namedType name="ElementSetSpecs"> <type> <sequence insertions="hollow"> <group name="root" type="asnx:ValueElementSetSpec"/> <optional> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <group name="additions" type="asnx:ValueElementSetSpec"/> </optional> </sequence> </type> </element> </optional> </sequence> </type> </namedType>
<namedType name="ElementSetSpecs"> <type> <sequence insertions="hollow"> <group name="root" type="asnx:ValueElementSetSpec"/> <optional> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <group name="additions" type="asnx:ValueElementSetSpec"/> </optional> </sequence> </type> </element> </optional> </sequence> </type> </namedType>
<namedType name="ValueElementSetSpec"> <type> <constrained type="asnx:ElementSetSpec"> <withComponents partial="true"> <element name="object" use="absent"/> <element name="objectSet" use="absent"/> <element name="union"> <withComponent> <includes type="asnx:ValueElementSetSpec"/> </withComponent> </element> <element name="intersection"> <withComponent> <includes type="asnx:ValueElementSetSpec"/> </withComponent> </element> <element name="all"> <withComponents partial="true"> <group name="elements"> <includes type="asnx:ValueElementSetSpec"/> </group> <element name="except"> <includes type="asnx:ValueElementSetSpec"/> </element> </withComponents> </element> </withComponents> </constrained> </type>
<namedType name="ValueElementSetSpec"> <type> <constrained type="asnx:ElementSetSpec"> <withComponents partial="true"> <element name="object" use="absent"/> <element name="objectSet" use="absent"/> <element name="union"> <withComponent> <includes type="asnx:ValueElementSetSpec"/> </withComponent> </element> <element name="intersection"> <withComponent> <includes type="asnx:ValueElementSetSpec"/> </withComponent> </element> <element name="all"> <withComponents partial="true"> <group name="elements"> <includes type="asnx:ValueElementSetSpec"/> </group> <element name="except"> <includes type="asnx:ValueElementSetSpec"/> </element> </withComponents> </element> </withComponents> </constrained> </type>
Legg Experimental [Page 150] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 150] RFC 4912 Abstract Syntax Notation X July 2007
</namedType>
</namedType>
<namedType name="ElementSetSpec"> <type> <choice insertions="singular"> <element name="literalValue" type="asnx:ElementFormLiteralValue"/> <element name="value" type="asnx:ElementFormNotationalValue"/> <element name="includes" type="asnx:Type"/> <element name="range" type="asnx:ValueRange"/> <element name="size" type="asnx:Constraint"/> <element name="typeConstraint" type="asnx:Type"/> <element name="from" type="asnx:Constraint"/> <element name="withComponent" type="asnx:Constraint"/> <element name="withComponents" type="asnx:MultipleTypeConstraints"/> <element name="pattern" type="asnx:Value"/> <element name="object" type="asnx:ElementFormObject"/> <element name="objectSet" type="asnx:ElementFormObjectSet"/> <element name="union" type="asnx:ElementSetSpecList"/> <element name="intersection" type="asnx:ElementSetSpecList"/> <element name="all"> <type> <sequence> <optional> <group name="elements" type="asnx:ElementSetSpec"/> </optional> <element name="except" type="asnx:ElementSetSpec"/> </sequence> </type> </element> </choice> </type> </namedType>
<namedType name="ElementSetSpec"> <type> <choice insertions="singular"> <element name="literalValue" type="asnx:ElementFormLiteralValue"/> <element name="value" type="asnx:ElementFormNotationalValue"/> <element name="includes" type="asnx:Type"/> <element name="range" type="asnx:ValueRange"/> <element name="size" type="asnx:Constraint"/> <element name="typeConstraint" type="asnx:Type"/> <element name="from" type="asnx:Constraint"/> <element name="withComponent" type="asnx:Constraint"/> <element name="withComponents" type="asnx:MultipleTypeConstraints"/> <element name="pattern" type="asnx:Value"/> <element name="object" type="asnx:ElementFormObject"/> <element name="objectSet" type="asnx:ElementFormObjectSet"/> <element name="union" type="asnx:ElementSetSpecList"/> <element name="intersection" type="asnx:ElementSetSpecList"/> <element name="all"> <type> <sequence> <optional> <group name="elements" type="asnx:ElementSetSpec"/> </optional> <element name="except" type="asnx:ElementSetSpec"/> </sequence> </type> </element> </choice> </type> </namedType>
<namedType name="ElementSetSpecList"> <type> <sequenceOf minSize="2"> <group name="elements" type="asnx:ElementSetSpec"/> </sequenceOf> </type> </namedType>
<namedType name="ElementSetSpecList"> <type> <sequenceOf minSize="2"> <group name="elements" type="asnx:ElementSetSpec"/> </sequenceOf> </type> </namedType>
<namedType name="ValueRange"> <type> <sequence> <optional> <group name="minimum">
<namedType name="ValueRange"> <type> <sequence> <optional> <group name="minimum">
Legg Experimental [Page 151] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 151] RFC 4912 Abstract Syntax Notation X July 2007
<type> <choice insertions="none"> <element name="minInclusive" type="asnx:EndValue"/> <element name="minExclusive" type="asnx:EndValue"/> </choice> </type> </group> <default> <literalValue> <minInclusive/> </literalValue> </default> </optional> <optional> <group name="maximum"> <type> <choice insertions="none"> <element name="maxInclusive" type="asnx:EndValue"/> <element name="maxExclusive" type="asnx:EndValue"/> </choice> </type> </group> <default> <literalValue> <maxInclusive/> </literalValue> </default> </optional> </sequence> </type> </namedType>
<type> <choice insertions="none"> <element name="minInclusive" type="asnx:EndValue"/> <element name="minExclusive" type="asnx:EndValue"/> </choice> </type> </group> <default> <literalValue> <minInclusive/> </literalValue> </default> </optional> <optional> <group name="maximum"> <type> <choice insertions="none"> <element name="maxInclusive" type="asnx:EndValue"/> <element name="maxExclusive" type="asnx:EndValue"/> </choice> </type> </group> <default> <literalValue> <maxInclusive/> </literalValue> </default> </optional> </sequence> </type> </namedType>
<namedType name="EndValue"> <type> <sequence insertions="hollow"> <optional> <group name="value" type="asnx:Value"/> </optional> </sequence> </type> </namedType>
<namedType name="EndValue"> <type> <sequence insertions="hollow"> <optional> <group name="value" type="asnx:Value"/> </optional> </sequence> </type> </namedType>
<namedType name="MultipleTypeConstraints"> <type> <sequence insertions="hollow"> <optional> <attribute name="partial" type="asnx:BOOLEAN"/> <default literalValue="false"/>
<namedType name="MultipleTypeConstraints"> <type> <sequence insertions="hollow"> <optional> <attribute name="partial" type="asnx:BOOLEAN"/> <default literalValue="false"/>
Legg Experimental [Page 152] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 152] RFC 4912 Abstract Syntax Notation X July 2007
</optional> <group name="typeConstraints" type="asnx:TypeConstraints"/> </sequence> </type> </namedType>
</optional> <group name="typeConstraints" type="asnx:TypeConstraints"/> </sequence> </type> </namedType>
<namedType name="TypeConstraints"> <type> <sequenceOf minSize="1"> <group name="namedConstraint" type="asnx:NamedConstraint"/> </sequenceOf> </type> </namedType>
<namedType name="TypeConstraints"> <type> <sequenceOf minSize="1"> <group name="namedConstraint" type="asnx:NamedConstraint"/> </sequenceOf> </type> </namedType>
<namedType name="NamedConstraint"> <type> <choice insertions="singular"> <element name="component" type="asnx:GenericNamedConstraint"/> <element name="element" type="asnx:GenericNamedConstraint"/> <element name="attribute" type="asnx:GenericNamedConstraint"/> <element name="group" type="asnx:GenericNamedConstraint"/> <element name="member" type="asnx:GenericNamedConstraint"/> <element name="item" type="asnx:GenericNamedConstraint"/> <element name="simpleContent" type="asnx:GenericNamedConstraint"/> </choice> </type> </namedType>
<namedType name="NamedConstraint"> <type> <choice insertions="singular"> <element name="component" type="asnx:GenericNamedConstraint"/> <element name="element" type="asnx:GenericNamedConstraint"/> <element name="attribute" type="asnx:GenericNamedConstraint"/> <element name="group" type="asnx:GenericNamedConstraint"/> <element name="member" type="asnx:GenericNamedConstraint"/> <element name="item" type="asnx:GenericNamedConstraint"/> <element name="simpleContent" type="asnx:GenericNamedConstraint"/> </choice> </type> </namedType>
<namedType name="GenericNamedConstraint"> <type> <sequence insertions="hollow"> <attribute name="name" type="asnx:QName"/> <optional> <attribute name="use" type="asnx:PresenceConstraint"/> </optional> <optional> <group name="constraint" type="asnx:Constraint"/> </optional> </sequence> </type> </namedType>
<namedType name="GenericNamedConstraint"> <type> <sequence insertions="hollow"> <attribute name="name" type="asnx:QName"/> <optional> <attribute name="use" type="asnx:PresenceConstraint"/> </optional> <optional> <group name="constraint" type="asnx:Constraint"/> </optional> </sequence> </type> </namedType>
<namedType name="PresenceConstraint"> <type> <enumerated> <enumeration name="present"/> <enumeration name="absent"/>
<namedType name="PresenceConstraint"> <type> <enumerated> <enumeration name="present"/> <enumeration name="absent"/>
Legg Experimental [Page 153] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 153] RFC 4912 Abstract Syntax Notation X July 2007
<enumeration name="optional"/> </enumerated> </type> </namedType>
<enumeration name="optional"/> </enumerated> </type> </namedType>
<namedType name="ObjectClass"> <type> <choice insertions="singular"> <attribute name="class" identifier="classRef" type="asnx:QName"/> <element name="class" type="asnx:ElementFormObjectClass"/> </choice> </type> </namedType>
<namedType name="ObjectClass"> <type> <choice insertions="singular"> <attribute name="class" identifier="classRef" type="asnx:QName"/> <element name="class" type="asnx:ElementFormObjectClass"/> </choice> </type> </namedType>
<namedType name="DefinedObjectClass"> <type> <constrained type="asnx:ObjectClass"> <withComponents partial="true"> <element name="class"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="objectClassDefn" use="absent"/> </withComponents> </group> </withComponents> </element> </withComponents> </constrained> </type> </namedType>
<namedType name="DefinedObjectClass"> <type> <constrained type="asnx:ObjectClass"> <withComponents partial="true"> <element name="class"> <withComponents partial="true"> <group name="definition"> <withComponents partial="true"> <group name="objectClassDefn" use="absent"/> </withComponents> </group> </withComponents> </element> </withComponents> </constrained> </type> </namedType>
<namedType name="ElementFormObjectClass"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="reference" type="asnx:Reference"/> <element name="expanded" type="asnx:ExpandedObjectClass"/> <group name="objectClassDefn" type="asnx:ObjectClassDefn"/> </choice> </type> </group> </sequence>
<namedType name="ElementFormObjectClass"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="reference" type="asnx:Reference"/> <element name="expanded" type="asnx:ExpandedObjectClass"/> <group name="objectClassDefn" type="asnx:ObjectClassDefn"/> </choice> </type> </group> </sequence>
Legg Experimental [Page 154] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 154] RFC 4912 Abstract Syntax Notation X July 2007
</type> </namedType>
</type> </namedType>
<namedType name="ExpandedObjectClass"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="objectClass" type="asnx:ObjectClass"/> </sequence> </type> </namedType>
<namedType name="ExpandedObjectClass"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="objectClass" type="asnx:ObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectClassDefn"> <type> <sequenceOf minSize="1"> <group name="fieldSpec" type="asnx:FieldSpec"/> </sequenceOf> </type> </namedType>
<namedType name="ObjectClassDefn"> <type> <sequenceOf minSize="1"> <group name="fieldSpec" type="asnx:FieldSpec"/> </sequenceOf> </type> </namedType>
<namedType name="FieldSpec"> <type> <choice insertions="singular"> <element name="typeField" type="asnx:TypeField"/> <element name="valueField" type="asnx:ValueField"/> <element name="valueSetField" type="asnx:ValueSetField"/> <element name="objectField" type="asnx:ObjectField"/> <element name="objectSetField" type="asnx:ObjectSetField"/> <element name="optional" type="asnx:OptionalField"/> </choice> </type> </namedType>
<namedType name="FieldSpec"> <type> <choice insertions="singular"> <element name="typeField" type="asnx:TypeField"/> <element name="valueField" type="asnx:ValueField"/> <element name="valueSetField" type="asnx:ValueSetField"/> <element name="objectField" type="asnx:ObjectField"/> <element name="objectSetField" type="asnx:ObjectSetField"/> <element name="optional" type="asnx:OptionalField"/> </choice> </type> </namedType>
<namedType name="OptionalField"> <type> <constrained> <type> <sequence> <group name="field"> <type> <choice insertions="singular"> <element name="typeField" type="asnx:TypeField"/> <element name="valueField" type="asnx:ValueField"/>
<namedType name="OptionalField"> <type> <constrained> <type> <sequence> <group name="field"> <type> <choice insertions="singular"> <element name="typeField" type="asnx:TypeField"/> <element name="valueField" type="asnx:ValueField"/>
Legg Experimental [Page 155] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 155] RFC 4912 Abstract Syntax Notation X July 2007
<element name="valueSetField" type="asnx:ValueSetField"/> <element name="objectField" type="asnx:ObjectField"/> <element name="objectSetField" type="asnx:ObjectSetField"/> </choice> </type> </group> <optional> <element name="default" type="asnx:Setting"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <group name="field"> <withComponents> <element name="typeField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="value" use="absent"/> <group name="valueSet" use="absent"/> <group name="object" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="valueField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="valueSet" use="absent"/> <group name="object" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="valueSetField" use="present"/> </withComponents> </group>
<element name="valueSetField" type="asnx:ValueSetField"/> <element name="objectField" type="asnx:ObjectField"/> <element name="objectSetField" type="asnx:ObjectSetField"/> </choice> </type> </group> <optional> <element name="default" type="asnx:Setting"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <group name="field"> <withComponents> <element name="typeField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="value" use="absent"/> <group name="valueSet" use="absent"/> <group name="object" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="valueField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="valueSet" use="absent"/> <group name="object" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="valueSetField" use="present"/> </withComponents> </group>
Legg Experimental [Page 156] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 156] RFC 4912 Abstract Syntax Notation X July 2007
<element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="value" use="absent"/> <group name="object" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="objectField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="value" use="absent"/> <group name="valueSet" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="objectSetField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="value" use="absent"/> <group name="valueSet" use="absent"/> <group name="object" use="absent"/> </withComponents> </element> </withComponents> </union> </constrained> </type> </namedType>
<element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="value" use="absent"/> <group name="object" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="objectField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="value" use="absent"/> <group name="valueSet" use="absent"/> <group name="objectSet" use="absent"/> </withComponents> </element> </withComponents> <withComponents partial="true"> <group name="field"> <withComponents> <element name="objectSetField" use="present"/> </withComponents> </group> <element name="default"> <withComponents partial="true"> <group name="type" use="absent"/> <group name="value" use="absent"/> <group name="valueSet" use="absent"/> <group name="object" use="absent"/> </withComponents> </element> </withComponents> </union> </constrained> </type> </namedType>
<namedType name="TypeField"> <type> <sequence> <optional>
<namedType name="TypeField"> <type> <sequence> <optional>
Legg Experimental [Page 157] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 157] RFC 4912 Abstract Syntax Notation X July 2007
<element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:TypeFieldReference"/> </sequence> </type> </namedType>
<element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:TypeFieldReference"/> </sequence> </type> </namedType>
<namedType name="TypeFieldReference" type="asnx:TypeReference"/>
<namedType name="TypeFieldReference" type="asnx:TypeReference"/>
<namedType name="ValueField"> <type> <constrained> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ValueFieldReference"/> <optional> <attribute name="unique" type="asnx:BOOLEAN"/> </optional> <group name="governor"> <type> <choice insertions="singular"> <group name="type" type="asnx:Type"/> <element name="typeFromField" type="asnx:FieldName"/> </choice> </type> </group> </sequence> </type> <union> <withComponents partial="true"> <attribute name="unique" use="absent"/> </withComponents> <withComponents partial="true"> <group name="governor"> <withComponents partial="true"> <element name="typeFromField" use="absent"/> </withComponents> </group> </withComponents> </union> </constrained> </type> </namedType>
<namedType name="ValueField"> <type> <constrained> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ValueFieldReference"/> <optional> <attribute name="unique" type="asnx:BOOLEAN"/> </optional> <group name="governor"> <type> <choice insertions="singular"> <group name="type" type="asnx:Type"/> <element name="typeFromField" type="asnx:FieldName"/> </choice> </type> </group> </sequence> </type> <union> <withComponents partial="true"> <attribute name="unique" use="absent"/> </withComponents> <withComponents partial="true"> <group name="governor"> <withComponents partial="true"> <element name="typeFromField" use="absent"/> </withComponents> </group> </withComponents> </union> </constrained> </type> </namedType>
<namedType name="ValueFieldReference" type="asnx:ValueReference"/>
<namedType name="ValueFieldReference" type="asnx:ValueReference"/>
Legg Experimental [Page 158] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 158] RFC 4912 Abstract Syntax Notation X July 2007
<namedType name="ValueSetField"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ValueSetFieldReference"/> <group name="governor"> <type> <choice insertions="singular"> <group name="type" type="asnx:Type"/> <element name="typeFromField" type="asnx:FieldName"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="ValueSetField"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ValueSetFieldReference"/> <group name="governor"> <type> <choice insertions="singular"> <group name="type" type="asnx:Type"/> <element name="typeFromField" type="asnx:FieldName"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="ValueSetFieldReference" type="asnx:TypeReference"/>
<namedType name="ValueSetFieldReference" type="asnx:TypeReference"/>
<namedType name="ObjectField"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectFieldReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectField"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectFieldReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectFieldReference" type="asnx:ObjectReference"/>
<namedType name="ObjectFieldReference" type="asnx:ObjectReference"/>
<namedType name="ObjectSetField"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectSetFieldReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectSetField"> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <attribute name="name" type="asnx:ObjectSetFieldReference"/> <group name="objectClass" type="asnx:DefinedObjectClass"/> </sequence> </type> </namedType>
<namedType name="ObjectSetFieldReference"
<namedType name="ObjectSetFieldReference"
Legg Experimental [Page 159] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 159] RFC 4912 Abstract Syntax Notation X July 2007
type="asnx:ObjectSetReference"/>
type="asnx:ObjectSetReference"/>
<namedType name="Object"> <type> <choice insertions="none"> <attribute name="object" identifier="objectRef" type="asnx:QName"/> <element name="object" type="asnx:ElementFormObject"/> </choice> </type> </namedType>
<namedType name="Object"> <type> <choice insertions="none"> <attribute name="object" identifier="objectRef" type="asnx:QName"/> <element name="object" type="asnx:ElementFormObject"/> </choice> </type> </namedType>
<namedType name="ElementFormObject"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="singular"> <group name="reference" type="asnx:Reference"/> <element name="expanded" type="asnx:ExpandedObject"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> <group name="fields" type="asnx:ObjectDefn"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="ElementFormObject"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="singular"> <group name="reference" type="asnx:Reference"/> <element name="expanded" type="asnx:ExpandedObject"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> <group name="fields" type="asnx:ObjectDefn"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="ExpandedObject"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="object" type="asnx:Object"/> </sequence> </type> </namedType>
<namedType name="ExpandedObject"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="object" type="asnx:Object"/> </sequence> </type> </namedType>
<namedType name="ObjectDefn">
<namedType name="ObjectDefn">
Legg Experimental [Page 160] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 160] RFC 4912 Abstract Syntax Notation X July 2007
<type> <sequenceOf> <element name="field" type="asnx:FieldSetting"/> </sequenceOf> </type> </namedType>
<type> <sequenceOf> <element name="field" type="asnx:FieldSetting"/> </sequenceOf> </type> </namedType>
<namedType name="FieldSetting"> <type> <sequence insertions="hollow"> <attribute name="name" type="asnx:NCName"/> <group name="setting" type="asnx:Setting"/> </sequence> </type> </namedType>
<namedType name="FieldSetting"> <type> <sequence insertions="hollow"> <attribute name="name" type="asnx:NCName"/> <group name="setting" type="asnx:Setting"/> </sequence> </type> </namedType>
<namedType name="Setting"> <type> <choice> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> <group name="valueSet" type="asnx:ValueSet"/> <group name="object" type="asnx:Object"/> <group name="objectSet" type="asnx:ObjectSet"/> </choice> </type> </namedType>
<namedType name="Setting"> <type> <choice> <group name="type" type="asnx:Type"/> <group name="value" type="asnx:Value"/> <group name="valueSet" type="asnx:ValueSet"/> <group name="object" type="asnx:Object"/> <group name="objectSet" type="asnx:ObjectSet"/> </choice> </type> </namedType>
<namedType name="ObjectSet"> <type> <choice insertions="none"> <attribute name="objectSet" identifier="objectSetRef" type="asnx:QName"/> <element name="objectSet" type="asnx:ElementFormObjectSet"/> </choice> </type> </namedType>
<namedType name="ObjectSet"> <type> <choice insertions="none"> <attribute name="objectSet" identifier="objectSetRef" type="asnx:QName"/> <element name="objectSet" type="asnx:ElementFormObjectSet"/> </choice> </type> </namedType>
<namedType name="ElementFormObjectSet"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="reference" type="asnx:Reference"/>
<namedType name="ElementFormObjectSet"> <type> <sequence insertions="hollow"> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <group name="definition"> <type> <choice insertions="none"> <group name="reference" type="asnx:Reference"/>
Legg Experimental [Page 161] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 161] RFC 4912 Abstract Syntax Notation X July 2007
<element name="expanded" type="asnx:ExpandedObjectSet"/> <group name="objectSetSpec" type="asnx:ObjectSetSpec"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> </choice> </type> </group> </sequence> </type> </namedType>
<element name="expanded" type="asnx:ExpandedObjectSet"/> <group name="objectSetSpec" type="asnx:ObjectSetSpec"/> <element name="fromObjects" type="asnx:InformationFromObjects"/> </choice> </type> </group> </sequence> </type> </namedType>
<namedType name="ExpandedObjectSet"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="objectSet" type="asnx:ObjectSet"/> </sequence> </type> </namedType>
<namedType name="ExpandedObjectSet"> <type> <sequence> <optional> <attribute name="name" type="asnx:NCName"/> </optional> <optional> <element name="module" type="asnx:ReferencedModule"/> </optional> <group name="objectSet" type="asnx:ObjectSet"/> </sequence> </type> </namedType>
<namedType name="ObjectSetSpec"> <type> <constrained> <type> <sequence insertions="hollow"> <optional> <group name="root" type="asnx:ObjectElementSetSpec"/> </optional> <optional> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <group name="additions" type="asnx:ObjectElementSetSpec"/> </optional> </sequence> </type> </element> </optional> </sequence> </type> <union> <withComponents partial="true">
<namedType name="ObjectSetSpec"> <type> <constrained> <type> <sequence insertions="hollow"> <optional> <group name="root" type="asnx:ObjectElementSetSpec"/> </optional> <optional> <element name="extension"> <type> <sequence insertions="hollow"> <optional> <group name="additions" type="asnx:ObjectElementSetSpec"/> </optional> </sequence> </type> </element> </optional> </sequence> </type> <union> <withComponents partial="true">
Legg Experimental [Page 162] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 162] RFC 4912 Abstract Syntax Notation X July 2007
<group name="root" use="present"/> </withComponents> <withComponents partial="true"> <element name="extension" use="present"/> </withComponents> </union> </constrained> </type> </namedType>
<group name="root" use="present"/> </withComponents> <withComponents partial="true"> <element name="extension" use="present"/> </withComponents> </union> </constrained> </type> </namedType>
<namedType name="ObjectElementSetSpec"> <type> <constrained type="asnx:ElementSetSpec"> <withComponents partial="true"> <element name="literalValue" use="absent"/> <element name="value" use="absent"/> <element name="includes" use="absent"/> <element name="range" use="absent"/> <element name="size" use="absent"/> <element name="typeConstraint" use="absent"/> <element name="from" use="absent"/> <element name="withComponent" use="absent"/> <element name="withComponents" use="absent"/> <element name="pattern" use="absent"/> <element name="union"> <withComponent> <includes type="asnx:ObjectElementSetSpec"/> </withComponent> </element> <element name="intersection"> <withComponent> <includes type="asnx:ObjectElementSetSpec"/> </withComponent> </element> <element name="all"> <withComponents partial="true"> <group name="elements"> <includes type="asnx:ObjectElementSetSpec"/> </group> <element name="except"> <includes type="asnx:ObjectElementSetSpec"/> </element> </withComponents> </element> </withComponents> </constrained> </type> </namedType>
<namedType name="ObjectElementSetSpec"> <type> <constrained type="asnx:ElementSetSpec"> <withComponents partial="true"> <element name="literalValue" use="absent"/> <element name="value" use="absent"/> <element name="includes" use="absent"/> <element name="range" use="absent"/> <element name="size" use="absent"/> <element name="typeConstraint" use="absent"/> <element name="from" use="absent"/> <element name="withComponent" use="absent"/> <element name="withComponents" use="absent"/> <element name="pattern" use="absent"/> <element name="union"> <withComponent> <includes type="asnx:ObjectElementSetSpec"/> </withComponent> </element> <element name="intersection"> <withComponent> <includes type="asnx:ObjectElementSetSpec"/> </withComponent> </element> <element name="all"> <withComponents partial="true"> <group name="elements"> <includes type="asnx:ObjectElementSetSpec"/> </group> <element name="except"> <includes type="asnx:ObjectElementSetSpec"/> </element> </withComponents> </element> </withComponents> </constrained> </type> </namedType>
Legg Experimental [Page 163] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 163] RFC 4912 Abstract Syntax Notation X July 2007
<namedType name="EncodingControlSections"> <type> <sequenceOf minSize="1"> <group name="section" type="asnx:EncodingControlSection"/> </sequenceOf> </type> </namedType>
<namedType name="EncodingControlSections"> <type> <sequenceOf minSize="1"> <group name="section" type="asnx:EncodingControlSection"/> </sequenceOf> </type> </namedType>
<namedType name="EncodingControlSection"> <type> <choice insertions="singular"> <element name="GSER" identifier="gser" type="asnx:GSER-EncodingInstructionAssignmentList"/> <element name="XER" identifier="xer" type="asnx:XER-EncodingInstructionAssignmentList"/> <!-- plus encoding control sections for other encoding rules in the future --> </choice> </type> </namedType>
<namedType name="EncodingControlSection"> <type> <choice insertions="singular"> <element name="GSER" identifier="gser" type="asnx:GSER-EncodingInstructionAssignmentList"/> <element name="XER" identifier="xer" type="asnx:XER-EncodingInstructionAssignmentList"/> <!-- plus encoding control sections for other encoding rules in the future --> </choice> </type> </namedType>
<element name="module" type="asnx:ModuleDefinition"/>
<element name="module" type="asnx:ModuleDefinition"/>
<attribute name="literal" type="asnx:BOOLEAN"/>
<attribute name="literal" type="asnx:BOOLEAN"/>
</asnx:module>
</asnx:module>
Author's Address
Author's Address
Dr. Steven Legg eB2Bcom Suite 3, Woodhouse Corporate Centre 935 Station Street Box Hill North, Victoria 3129 AUSTRALIA
Dr. Steven Legg eB2Bcom Suite 3, Woodhouse Corporate Centre 935 Station Street Box Hill North, Victoria 3129 AUSTRALIA
Phone: +61 3 9896 7830 Fax: +61 3 9896 7801 EMail: steven.legg@eb2bcom.com
Phone: +61 3 9896 7830 Fax: +61 3 9896 7801 EMail: steven.legg@eb2bcom.com
Legg Experimental [Page 164] RFC 4912 Abstract Syntax Notation X July 2007
Legg Experimental [Page 164] RFC 4912 Abstract Syntax Notation X July 2007
Full Copyright Statement
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
Intellectual Property
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
Acknowledgement
Acknowledgement
Funding for the RFC Editor function is currently provided by the Internet Society.
Funding for the RFC Editor function is currently provided by the Internet Society.
Legg Experimental [Page 165]
Legg Experimental [Page 165]
一覧
スポンサーリンク