[要約] RFC 4912はASN.X(Abstract Syntax Notation X)に関する要約であり、ASN.Xの目的はデータの表現と交換のための標準化された構文を提供することです。

Network Working Group                                            S. Legg
Request for Comments: 4912                                       eB2Bcom
Category: Experimental                                         July 2007
        

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.

このメモは、インターネットコミュニティの実験プロトコルを定義します。いかなる種類のインターネット標準を指定しません。改善のための議論と提案が要求されます。このメモの配布は無制限です。

Copyright Notice

著作権表示

Copyright (C) The IETF Trust (2007).

著作権(c)The IETF Trust(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.

要約構文表記x(asn.x)は、抽象的な構文表記1(asn.1)仕様の意味的に等価な拡張マークアップ言語(xml)表現です。ASN.Xは、ASN.1言語に固有の多数のあいまいさを完全に回避します。したがって、asn.xで記述された仕様は、元のasn.1仕様よりも解析および管理がはるかに簡単です。ASN.Xは、堅牢なXMLエンコードルール(RXER)とともに、XMLインスタンスドキュメントの代替コンパクトバイナリエンコーディングを提供する他のASN.1エンコーディングルールを通じて、XMLドキュメントのスキーマ言語を構成します。

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
        
   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
        
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.

抽象的な構文表記1(asn.1)言語の完全なパーサー[x.680] [x.680-1] [x.681] [x.682] [x.683]は、曖昧さが多数あるため実装が困難です。表記で。たとえば、値の特定の表記は、値セット、オブジェクト、オブジェクトセット、dummyReereference、またはsimpleTableConstraintの表記と構文的に区別できません。ObjectClassassignment、ObjectAssignment、またはObjectSetassignmentは、それぞれTypeasSignment、ValueSignment、またはValueSetTypeasSignmentに似ています。固定型ValueFieldSpecまたは固定型ValueSetFieldSpecは、それぞれObjectFieldSpecまたはObjectSetFieldSpecに似ており、ObjectClassFieldTypeは表記に類を見ない情報に似ています。一般に、そのようなあいまいさは、仕様全体が解析されたらのみ解決できます。相互に曖昧ではないが、互いに区別できる前にいくつかの語彙トークンをスキャンする必要がある他の表記法があります。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.

このドキュメントは、ASN.1抽象的構文表記x(asn.x)と呼ばれるASN.1仕様の意味的に等価な拡張マークアップ言語(xml)[xml10] [xml11]表現を定義します。ASN.Xモジュールは、XMLネームスペース[XMLNS10] [XMLNS11]に準拠した、よく形成された有効なXMLドキュメントです。ASN.Xは、ASN.1言語の固有のあいまいさを完全に回避します。したがって、asn.xで記述された仕様は、元のasn.1仕様よりも解析および管理がはるかに簡単です。たとえば、コンフォーマント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は、堅牢なXMLエンコードルール(RXER)[RXER]とともに、他のASN.1エンコードルールを通じて、XMLインスタンスドキュメントの代替コンパクトバイナリエンコーディングを通じて、XMLドキュメントのスキーマ言語を構成します。仕様。asn.x定義は、XMLスキーマ[XSD1]ドキュメントのタイプ、要素、および属性の定義を組み込むことも、ng [rng]ドキュメントをリラックスし、ドキュメントタイプ定義(dtds)[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.Xモジュールが生成されるASN.1モジュール。

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 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.xの形式は、asn.xモジュールのコンテンツがasn.1タイプの抽象値のrxerエンコードに準拠するように設計されています。rxerデコーダーを使用してasn.xモジュールをデコードし、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.

付録Aのasn.1モジュールのasn.x翻訳は、付録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.

「必須」、「そうしない」、「必須」、「「shall」、「shall」、「 "low" of "、" buld "、" becommended "、および" may ")は、このドキュメントの「推奨」、およびBCP 14、RFC 2119 [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.1モジュールのasn.xモジュールへの翻訳の説明は、XML情報セット(infoSet)[infoSet]の定義を使用します。特に、情報アイテムのプロパティ名は、四角い括弧内に示されているInfoset条約に従います。たとえば、[ローカル名]。Infosetプロパティのリテラル値は、二重引用符で囲まれています。ただし、二重引用符はプロパティ値の一部ではありません。以下のセクションでは、「情報項目」は「アイテム」と略されます。たとえば、「要素情報アイテム」は「要素アイテム」と略されます。要素アイテムは、角度ブラケットの[ローカル名]で紹介されます。たとえば、「<type> element item」は、[ローカル名]「タイプ」の要素アイテムを意味します。属性項目は[ローカル名]で紹介されます。たとえば、「タイプ属性アイテム」とは、[ローカル名]「タイプ」の属性アイテムを意味します。

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:」を使用して、名前空間名 "urn:ietf:params:xml:ns:asnx"を使用しますが、実際には有効な名前空間プレフィックスはasn.xで許可されています。

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.

文字[Unicode]のコードポイントは、Unicode Convention U Nを使用して表されます。nは4〜6匹の16進数桁です。たとえば、スペース文字はU 0020です。

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モジュールを合成インフォセットに変換するためのルールに関して定義されています。この合成インフォセットは、非標準的なRXERエンコーディングの合成インフォセットがXMLドキュメントにシリアル化されるのと同じ方法で、よく形成された有効なXMLドキュメント(ASN.Xモジュール)にシリアル化されます(仕様のセクション6.12を参照してくださいrxer [rxer]の場合)。

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".

コンストラクトの翻訳が要素アイテムである場合、囲まれた要素アイテムの[子供]に追加されます。要素は、記述された順序で囲まれた要素アイテムの[子供]に追加する必要があります。翻訳者は、[ローカル名]「LiteralValue」の要素アイテムを除く要素アイテムの[レイアウトを改善する)の[子供]の[子供]にホワイトスペースキャラクターアイテム(つまり、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)アイテムを追加することができます。

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.

<LiteralValue>および<ristictby>要素項目の[in-scope namespaces]および[namespace属性]は、rxer [rxer]の仕様のセクション6.10に従って決定されます。翻訳内の他の要素項目の[inscopeネームスペース]および[名前空間属性]は、rxerの仕様のセクション6.2.2.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仕様からの変換によって生成された要素アイテムまたは属性アイテムの[名前空間名]は、特に指定されていない限り値がありません。要素アイテムの[名前空間名]に値がある場合、要素アイテムの[プレフィックス]は、Rxerの仕様のセクション6.2.2.2に従って決定されます。属性アイテムの[名前空間名]に値がある場合、属性アイテムの[プレフィックス]は、Rxerの仕様のセクション6.2.3.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.

属性アイテムが要素アイテムの[属性]に追加されるたびに、要素アイテムは属性アイテムの[所有者要素]になります。各属性項目について、[指定]プロパティはtrueに設定され、[属性タイプ]には値がなく、[参照]プロパティの値は不明に設定されます。

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.

後続のセクションで示されているように、多くの場所で、翻訳者は[ローカル名]「注釈」とともに要素アイテムを追加することができます。<Annotation>要素アイテムの[子供]と[属性]は、翻訳者の裁量にあります。

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.

<Annotation>要素項目の典型的な用途は、本質的に規範的なASN.1の仕様からコメントを保持することです。たとえば、ユーザー定義の制約のコメント、またはASN.1コンパイラの指令を保持することです。

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.

An <Annotation>要素の無料テキストまたはXMLコメントは、[rxer]をエンコードする標準的なRxer(crxer)に保存されます(<Annotation>要素アイテムの対応するasn.1タイプはマークアップタイプ[rxer])が、XMLコメント<Annotation>要素は保存されません。

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.

<Annotation>要素項目を使用してASN.1コンパイラディレクティブ(<Annotation>要素の属性または子要素として)を保持するベンダーは、ベンダーに固有の名前空間名が付いた要素または属性名を使用する必要があります。

4. ModuleDefinition Translation
4. モジュール定義翻訳

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.

モジュール定義[x.680](asn.1モジュール)の変換は、[ローカル名]「モジュール」と[名前空間名] "urn:ietf:params:xml:ns:asnx"(つまり、<asnx:module> elementアイテム)。要素アイテムは、通常、ドキュメントアイテムの[ドキュメント要素]です。

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.0」を備えた属性アイテムは、<asnx:module> elementアイテムの[属性]に追加される場合があります。

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モジュールには、スキーマアイデンティティエンコーディング命令が含まれている場合、スキーマID URIがあります。この場合、スキーマアイデンティティURIは、スキーマアイデンティティエンコード命令の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モジュールにスキーマID URIがある場合、[ローカル名]「スキーマアイデンティティ」の属性アイテムは、<asnx:module> elementアイテムの[属性]に追加されます。この属性項目の[正規化された値]は、モジュールのスキーマID 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」の属性アイテムは、<asnx:module> elementアイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、モジュールのターゲットネームスペースです。

Aside: An ASN.1 module has a target namespace if it contains a TARGET-NAMESPACE encoding instruction.

さておき:ASN.1モジュールには、ターゲットネームズスペースエンコーディング命令が含まれている場合、ターゲットネームスペースがあります。

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

ASN.1モジュールにプレフィックスを指定するターゲットネームズスペースエンコード命令が含まれている場合、[ローカル名]「TargetPrefix」の属性項目を[属性]に追加するものとします。

<asnx:module> element item. The [normalized value] of this attribute item is the character string specified by the NCNameValue in the Prefix.

<asnx:module> elementアイテム。この属性アイテムの[正規化された値]は、プレフィックスの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.

[ローカル名]「名前」の属性アイテムは、<asnx:module> elementアイテムの[属性]に追加されます。この属性項目の[正規化された値]は、モジュール定義のモジュールIdentifierのモジュール表示です。

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.

ModuleIdentifierのModuleDefinitionのexivilideIdentifierが空でない場合、[ローカル名]「識別子」の属性項目は、<asnx:module> elementアイテムの[属性]に追加されます。この属性項目の[正規化された値]は、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が空の場合、[Local Name]「TagDefault」および[正規化された値]「明示的」を備えた属性アイテムは、<ASNX:Module>要素アイテムの[属性]に追加されます。

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:モジュール>要素アイテム。この属性アイテムの[正規化された値]は、すべての文字がダウンケース、つまり「明示的」または「暗黙的」である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の最初のキーワードが「自動」である場合、[Local Name]「TagDefault」と[正規化された値]「自動」の属性アイテムが[属性]に追加される場合があります。<asnx:module> elementアイテムの。

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が空でない場合、[ローカル名]「拡張可能性」および[正規化された値]「true」または「1」の属性アイテムは、<ASNX:モジュール>要素アイテム。

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が空の場合、[ローカル名]「拡張可能性」および[正規化された値]「false」または「0」の属性アイテムは、<ASNX:モジュール>要素の[属性]に追加される場合があります。アイテム。

An element item with the [local name] "annotation" MAY be added to the [children] of the <asnx:module> element item.

[ローカル名]「アノテーション」を備えた要素アイテムは、<asnx:module> elementアイテムの[子供]に追加される場合があります。

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.

翻訳されているモジュールのモジュール定義におけるモジュールボディのAssignmentListの各割り当ての変換は、<asnx:module> elementアイテムの[子供]に追加されるものとします。

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のエンコーディングコントロールセクションインスタンスにrxerのエンコーディングコントロールセクションが含まれている場合、エンコーディンジントレクションアセントリストにネストされたトップレベルコンポーネント[rxerei]における各namentTypeの変換は、<asnx:module> lementアイテムの[子供]に追加されます。トップレベルコンポーネント[RXEREI]の相対順序は、翻訳に保存する必要があります。ただし、トップレベルコンポーネントの翻訳には、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.

翻訳されているモジュールのモジュール定義におけるエンコーディングコントロールセクションインスタンスの変換は、<asnx:module> elementアイテムの[子供]に追加されるものとします。

Example

      MyModule DEFINITIONS
      IMPLICIT TAGS
      EXTENSIBILITY IMPLIED ::=
      BEGIN
        
      MyType ::= INTEGER
        

ENCODING-CONTROL RXER

エンコードコントロールrxer

SCHEMA-IDENTITY "http://example.com/id/MyModule" TARGET-NAMESPACE "http://example.com/ns/MyModule"

Schema-Identity "http://example.com/id/mymodule" Target-namespace "http://example.com/ns/mymodule"

COMPONENT myElement INTEGER

コンポーネントミレメント整数

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">
        
       <namedType name="MyType" type="asnx:INTEGER"/>
        
       <element name="myElement" type="asnx:INTEGER"/>
        
      </asnx:module>
        
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の割り当ては、参照名をタイプ、値、バリューセット、オブジェクトクラス、オブジェクト、またはオブジェクトセットと関連付けます。ASN.Xの場合、割り当ては、拡張された名前[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].

すべての場合において、拡張された名前のローカル名は、割り当ての型、valueReference、objectClassReference、ObjectReference、またはObjectSetReference(すなわち、割り当ての翻訳における[正規化された値]の[正規化された値]です。)。割り当てが定義されているasn.1モジュールのターゲットネームスペースが存在しない場合、拡張名の名前空間名はターゲットネームスペースです。それ以外の場合、拡張された名前の名前空間名に値がありません。展開された名前が適格名としてレンダリングされると、名前空間のプレフィックスは、rxer [rxer]の仕様のセクション6.7.11.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つ以上のタイプまたは値セットの割り当ては、同じ容量を定義する、または

(2) two or more value assignments define the same valuereference, or

(2) 2つ以上の値の割り当ては、同じ鑑賞を定義します。

(3) two or more object class assignments define the same objectclassreference, or

(3) 2つ以上のオブジェクトクラスの割り当ては、同じオブジェクトクラスリファレンスを定義する、または

(4) two or more object assignments define the same objectreference, or

(4) 2つ以上のオブジェクト割り当ては、同じオブジェクトレファレンスを定義する、または

(5) two or more object set assignments define the same objectsetreference, or

(5) 2つ以上のオブジェクトセット割り当ては、同じオブジェクトセットレファレンスを定義する、または

(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].

拡張された名前が異なる場合、各モジュールにスキーマアイデンティティエンコード命令がない限り、asn.xへの明確な翻訳は存在しません。その結果、ターゲットネームスペースが存在しない2つ以上のモジュールがasn.xに翻訳され、それらのモジュールで定義された参照名が明確ではない場合、翻訳前のローカルアクションとして、スキーマアイデンティティエンコード命令は必要です1つ以上の不明瞭な拡張名を定義する各モジュールに追加され、スキーマアイデンティティエンコード命令はまだありません。追加されたスキーマアイデンティティエンコード命令の任意の項目によって指定された文字文字列(URI)は、翻訳者によって自由に選択されます。

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.

ASN.1モジュールごとに、ターゲットネームズスペースとスキーマアイデンティティエンコード命令が推奨されます。

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.

ASN.Xモジュールからの割り当ては、関連する拡張名が[ローカル名]「タイプ」、「値」、「class」、「オブジェクトの属性アイテムの[正規化された値)の適格名として表示される場合、asn.xモジュールから参照されます。「、または「オブジェクトセット」。これらの参照は、直接参照として分類されます。[ローカル名]「REF」を備えた属性アイテムの[正規化された値]の適格な名前として展開された名前が表示される場合、割り当てまたはトップレベルコンポーネントはASN.Xモジュールからも参照されます。このリファレンスは、ref属性が定義型の型標準エンコーディング命令または属性-refまたはrelement-refエンコーディング命令の対象となるnamedTypeの対象となるdefinedTypeの変換の結果ではない場合にのみ直接分類されます。

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.

さておき:間接参照の場合、[ローカル名]「埋め込み」と[正規化された値]「true」または「1」の属性アイテムも存在します。

Definition (external module): An external module is any module other than the module being translated and the AdditionalBasicDefinitions module [RXER].

定義(外部モジュール):外部モジュールは、翻訳されているモジュールと追加のBasicDefinitionsモジュール[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のすべての組み込みタイプとオブジェクトクラスと同様に、追加のBasicDefinitionsモジュールは常にインポートされると想定されています。

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.

[ローカル名]「インポート」を備えた要素アイテムは、asn.xモジュールから直接参照される割り当てまたはトップレベルコンポーネントを含む各外部モジュールの<asnx:module>要素アイテムの[子供]に追加するものとします。。<asnx:module>他の外部モジュールの要素アイテムの[子供]に<intempert>要素アイテムを追加できます。

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.

[ローカル名]「名前」を備えた属性アイテムは、<Import>要素アイテムの[属性]に追加する必要があります。この属性項目の[正規化された値]は、外部モジュールのモジュール定義のモジュールIdentifierのモジュール表示です。

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.

外部モジュールのモジュール定義のモジュールIdentifierのDefinitiveIdentifierが空でない場合、[ローカル名]「識別子」の属性項目は、<intempert>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、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.

外部モジュールにスキーマID URIがある場合、[ローカル名]「スキーマアイデンティティ」の属性項目を<intempert>要素アイテムの[属性]に追加するものとします。この属性アイテムの[正規化された値]は、外部モジュールのスキーマID 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.

外部モジュールのターゲットネームスペースが存在しない場合、[ローカル名]「名前空間」を備えた属性アイテムは、<intempert>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、外部モジュールのターゲットネームスペースです。

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.

[ローカル名]「スキーマロケーション」を備えた属性アイテムは、<intemprocation>要素アイテムの[属性]に追加される場合があります。この属性項目の[正規化された値]は、外部モジュールの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.

<Import>要素項目は、<Annotation>要素アイテム(存在する場合)に従う必要があり、<ASNX:module>要素アイテムの[子供]の他の要素アイテムの前に先行する必要があります。

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.

パラメーター化された参照がasn.xで拡張される方法のため(セクション13を参照)、モジュール定義のモジュールボディのインポートのモジュールは、<intempert>要素項目に正確に対応しない場合があります。

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の翻訳は、[ローカル名]「名前を付けたもの」を備えた要素アイテムです。[ローカル名]「名前」を備えた属性アイテムは、<AngementType>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、割り当ての左側の段階です。

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.

[ローカル名]「アノテーション」を備えた要素アイテムは、<DamedType>要素アイテムの[子供]に追加される場合があります。割り当ての右側にあるタイプの翻訳は、<AngementType>要素アイテムの[子供]または[属性]に追加されます。

Example

      MyType ::= INTEGER
        
      <namedType name="MyType" type="asnx:INTEGER"/>
        
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.

ValuaSsignmentの翻訳は、[ローカル名]「名前value」の要素アイテムです。[ローカル名]「名前」を備えた属性アイテムは、<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.

[ローカル名]「アノテーション」を備えた要素アイテムは、<AngementValue>要素アイテムの[子供]に追加される場合があります。割り当ての左側のタイプの翻訳は、<AngementValue>要素アイテムの[子供]または[属性]に追加されます。割り当ての右側の値の変換は、<AngementValue>要素アイテムの[子供]または[属性]に追加されます。

Example

      myValue INTEGER ::= 10
        
      <namedValue name="myValue" type="asnx:INTEGER" literalValue="10"/>
        

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は、同等のValuaSsignmentに変換され、ValuAESSIGNMENTとして翻訳されます。値の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」の要素アイテムです。[ローカル名]「名前」を備えた属性アイテムは、<AngementValueset>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、割り当ての左側の段階です。

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.

[ローカル名]「アノテーション」を備えた要素アイテムは、<AngementValueset>要素アイテムの[子供]に追加される場合があります。割り当ての左側のタイプの翻訳は、<AngementValueset>要素アイテムの[子供]または[属性]に追加されます。割り当ての右側のValueSetの変換は、<AngementValueset>要素アイテムの[子供]に追加されます。

Example

      MyValueSet INTEGER ::= { 10 }
        
      <namedValueSet name="MyValueSet" type="asnx:INTEGER">
       <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の翻訳は、[ローカル名]「名前のあるClass」を備えた要素アイテムです。[ローカル名]「名前」を備えた属性アイテムは、<NamedClass>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、割り当ての左側のオブジェクトクラスレファレンスです。

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.

[ローカル名]「アノテーション」を備えた要素アイテムは、<AngementClass>要素アイテムの[子供]に追加される場合があります。割り当ての右側にあるObjectClassの翻訳は、<AngementClass>要素アイテムの[子供]または[属性]または[属性]に追加するものとします。

Example

      MY-CLASS ::= TYPE-IDENTIFIER
        
      <namedClass name="MY-CLASS" class="asnx:TYPE-IDENTIFIER"/>
        
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の翻訳は、[Local Name]「名前を付けたObject」を備えた要素アイテムです。[ローカル名]「名前」を備えた属性アイテムは、<NamedObject>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、割り当ての左側のオブジェクトリファレンスです。

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.

[ローカル名]「アノテーション」を備えた要素アイテムは、<AngementObject>要素アイテムの[子供]に追加される場合があります。割り当ての左側にある定義されたObjectClassの翻訳は、<DamedObject>要素アイテムの[子供]または[属性]に追加されます。割り当ての右側にあるオブジェクトの翻訳は、<AngementObject>要素アイテムの[子供]または[属性]に追加されます。

Example

      myObject TYPE-IDENTIFIER ::=
          { NULL IDENTIFIED BY { 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>
        
5.8. ObjectSetAssignment Translation
5.8. ObjectSetasignment翻訳

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の翻訳は、[ローカル名]「名前の付いた」という要素アイテムです。[ローカル名]「名前」を備えた属性アイテムは、<名前を付けられたObjectset>要素アイテムの[属性]に追加するものとします。この属性アイテムの[正規化された値]は、割り当ての左側のオブジェクトセットレファレンスです。

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 the right-hand side of the assignment SHALL be added to the [children] or [attributes] of the <namedObjectSet> element item.

[ローカル名]「アノテーション」を備えた要素アイテムは、<名前を付けられたObjectset>要素アイテムの[子供]に追加できます。割り当ての左側にある定義されたObjectClassの翻訳は、<名前を付けたObjectset>要素アイテムの[子供]または[属性]に追加するものとします。割り当ての右側にあるオブジェクトセットの変換は、<名前を付けられたObjectset>要素アイテムの[子供]または[属性]に追加するものとします。

Example

      MyObjectSet TYPE-IDENTIFIER ::= { myObject }
        
      <namedObjectSet name="MyObjectSet" class="asnx:TYPE-IDENTIFIER">
       <objectSet>
        <object ref="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.1の仕様のasn.xへの変換は、パラメーター化された定義[x.683]への参照を、定義が拡張された拡張されたものに置き換えます。したがって、パラメーター化された定義への参照の翻訳でその定義が機能する可能性がありますが、パラメーター化されたassignmentの直接的な翻訳はありません(セクション13を参照)。

6. Translation of Types
6. タイプの翻訳

The rules for translating the different varieties of Type are detailed in this section.

このセクションでは、さまざまな種類の種類を翻訳するためのルールが詳細に説明されています。

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の表記は、タイプがプレフィックス[x.680-1](たとえば、タグ付け)と制約の両方の両方である場合、あいまいであることに注意してください。たとえば、表記「[0]整数(0..10)」は、タグ付き制約タイプまたは制約付きタグGedTypeのいずれかと解釈できます。asn.xへの翻訳の目的のために、制約はプレフィックスよりも優先されると想定されるため、上記の表記はタグ付き制約型と見なされます。

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.

さまざまなRxerエンコーディング命令を使用して、ncname [xmlns10]を使用したasn.1仕様の識別子をオーバーライドできます。NCNAMEはASN.X表現に卓越性が与えられ、識別子は、ANCNAMEにアルゴリズム的に関連するかどうかを明示的に与えられません。NCNAMEが識別子をオーバーライドする場合は、この仕様の他の部分で個別にカバーされ、次の定義を使用します。

Definition (reduction): The reduction of an NCName is the string of characters resulting from the following operations performed in order on the NCName: (1) replace each full stop ('.', U+002E) and low line ('_', U+005F) character with a hyphen character ('-', U+002D),

定義(削減):NCNameの削減は、NCNameで実行された次の操作から生じる文字列です。u 005f)ハイフン文字を持つキャラクター( ' - '、u 002d)、

(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 0041-U 005A、U 0061-U 007A)、10進数(U 0030-U 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. 定義型翻訳

If a Type is a DefinedType in a ReferencedType, then the translation of the Type is the translation of the DefinedType.

型が参照型の定義型である場合、型の変換は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がパラメーター化されたタイプ、パラメーター化ValueSetType、またはDummyReReferenceの対象ではなく、タイプREFまたはREF-ASタイプのエンコード命令の対象ではない場合、定義タイプの変換は、タイプ参照の属性形式または要素のいずれかです。タイプリファレンスの翻訳をフォーム。

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を参照)。この拡張された名前が現在のモジュールとその<intempert>要素項目によって参照されるモジュールに対して異なる場合は、属性フォーム変換を使用してはなりません(セクション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

タイプリファレンスの要素フォーム変換は、[ローカル名]「タイプ」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「ref」を備えた属性アイテムは、<type>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、参照されるタイプ定義の拡張名の適格名です。この拡張された名前が現在のモジュールとその<intempert>要素項目で参照されるモジュールに対して異なる場合、[ローカル名]「コンテキスト」を持つ属性アイテムは、

[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.

<タイプ>要素アイテムの[属性];それ以外の場合、参照されるタイプ定義を含むモジュールにスキーマID URIがある場合、[ローカル名]「コンテキスト」を持つ属性アイテムが<type>要素アイテムの[属性]に追加される場合があります。この属性項目の[正規化された値]は、definedTypeによって参照されるタイプ定義を含むモジュールのスキーマID 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).

さておき:参照名が異なる場合、参照される定義を含むモジュールにはスキーマID 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.

[ローカル名]「埋め込み」および[正規化された値]「false」または「0」を備えた属性アイテムは、<タイプ>要素アイテムの[属性]に追加される場合があります。

The translation of the DefinedType is the same whether the type definition is referenced by a typereference or an ExternalTypeReference.

definedTypeの変換は、タイプ定義が型型またはexternalTypereferenceによって参照されるかどうかに同じです。

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.

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.

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タイプのエンコード命令の対象となる場合、definedTypeの変換は[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「ElementType」を備えた属性アイテムは、<Type>要素アイテムの[属性]に追加されます。

[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タイプのエンコード命令の名前Valueのrxer文字データ変換です。ref-asタイプのエンコード命令のrefparametersにコンテキストパラメーターが存在する場合、[ローカル名]「コンテキスト」を持つ属性アイテムが<タイプ>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、コンテキストパラメーターのurivalueの文字列値です。

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
      }
        
      <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).

definedTypeがdummyReReference、parameterizedType、またはparameterizedValueSetTypeである場合、タイプの変換は、そのdummyReference、parameterizedType、またはparameterizedValueSetTypeの変換です(セクション13を参照)。

6.3. Translation of Built-in Types
6.3. 組み込みタイプの翻訳

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.

型がrxer [rxer]の仕様のセクション5の表1のプロダクションの1つである組み込みまたは参照タイプである場合、タイプの変換は、そのタイプの属性フォームまたは要素形式の翻訳のいずれかです。

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]).

表1のプロダクションの1つである組み込みまたは参照タイプであるタイプの属性形式変換は、[ローカル名]「タイプ」の属性項目です。この属性項目の[正規化された値]は、組み込みタイプの拡張された名前の適格名です(RXER [RXER]の仕様のセクション5を参照)。

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.

表1のプロダクションの1つである組み込みまたは参照型であるタイプの要素形式変換は、[ローカル名]「タイプ」を持つ要素項目です。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「ref」を備えた属性アイテムは、<type>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、組み込み型の拡張名の適格名です。

Example

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.

通常、翻訳者は、型の属性フォームまたは要素フォーム変換のいずれかを自由に選択できます。ただし、一部のコンテキストでは、タイプの属性属性フォームは明示的に許可されています。

6.4. BitStringType Translation
6.4. BitStringType翻訳

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.

AnigantBitListを使用したBitStringTypeの翻訳は、[ローカル名]「タイプ」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[Local Name]「名前の付いたビットリスト」を備えた要素アイテムは、<Type>要素アイテムの[子供]に追加されるものとします。AndamedBitListの各名前の翻訳は、<AngementBitList>要素アイテムの[子供]に追加されるものとします。

   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>
      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

      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>
        
      [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>
        
6.5. IntegerType Translation
6.5. Integertype翻訳

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.

AndameNumberListを使用したIntegerTypeの翻訳は、[ローカル名]「タイプ」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[Local Name]「AndameNumberList」の要素アイテムは、<Type>要素アイテムの[子供]に追加されるものとします。NamedNumberListの各namentNumberの翻訳は、<damednumberlist>要素アイテムの[子供]に追加されるものとします。

   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

      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>
        
      [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>
        
6.6. EnumeratedType Translation
6.6. EnumeratedType翻訳

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.

EnumeratedTypeの翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「Enumerated」を備えた要素アイテムは、<Type>要素アイテムの[子供]に追加されるものとします。列挙されたタイプの列挙インスタンスのルテオネマレーションにネストされた各列挙項目の変換は、<列挙された>要素アイテムの[子供]に追加されるものとします。

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.

Ellipsis( "...")が列挙インスタンスに存在する場合、[ローカル名] "拡張子"を持つ要素アイテムは、<列挙された>要素アイテムの[子供]と翻訳の[子供]に追加されるものとします。例外pec(おそらく空)は、<extension>要素アイテムの[子供]に追加されます。列挙のインスタンスに追加の出現が存在する場合、追加の発表にネストされた各列挙項目の変換は、<extension>要素アイテムの[子供]に追加されるものとします。

The translation of an EnumerationItem is an element item with the [local name] "enumeration".

EnumerationItemの翻訳は、[ローカル名]「列挙」の要素アイテムです。

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.

列挙項目が「識別子」フォームの場合、[ローカル名] "name"の属性アイテムは、<enumeration>要素アイテムの[属性]に追加されます。EnumeratedTypeが値をエンコードする値の対象となる場合、この属性アイテムの[正規化された値]は、識別子の交換名[rxerei]です。それ以外の場合、それは識別子です。EnumeratedTypeが値をエンコードする値の対象となり、交換名の削減(セクション6.1を参照)が識別子と同じではない場合、[ローカル名]「識別子」の属性アイテムは[属性に追加されます。] <enumeration>要素アイテム。それ以外の場合、[ローカル名]「識別子」を備えた属性アイテムは、<enumeration>要素アイテムの[属性]に追加される場合があります。この属性アイテムの[正規化された値]は識別子です。

   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
        

<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>要素項目;それ以外の場合、[ローカル名]「識別子」を備えた属性アイテムは、<enumeration>要素アイテムの[属性]に追加される場合があります。この属性アイテムの[正規化された値]は、namedNumberの識別子です。[ローカル名]「番号」を備えた属性アイテムは、<Enumeration>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、namedNumberのsignedNumberまたはdefinedValueの整数値の桁の文字列表現です。

Examples

      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>
        

[RXER:VALUES ALL CAPITALIZED, red AS "Crimson"] ENUMERATED { red, yellow, green, blue }

[rxer:すべて大文字、赤は「深紅」と列挙されている{赤、黄、緑、青}

      <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変換

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.

TaggedTypeであるPrefixedType [x.680-1]の変換は、taggedTypeの短い形式変換(セクション6.7.1)または長い形式変換(セクション6.7.2)のいずれかです。

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.

さておき:TaggedType表記は、既存のASN.1仕様で頻繁に使用されるため、短い形式の翻訳が提供されます。長い形式の翻訳は、ecodingPrefixedTypeの翻訳と同じ構造を持ち、一連のネストされたプレフィックスDTYPEインスタンスがある場合、単純化できます。

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.

prefixedTypeがエンコードPrefixedTypeであり、エンコーディングリファレンスがrxerである場合、またはエンコーディングリーファレンスが空で、モジュールのデフォルトのエンコード参照[x.680-1]がrxerである場合、プレフィックステププの変換はエンコード化された型の型の変換です。。

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.

さておき:これは、rxerエンコーディング命令が無視されていることを示唆していません。rxerのエンコード命令はasn.xで明示的に表されるのではなく、asn.1モジュールがasn.xモジュールに変換される方法に影響を与えます(asn.xモジュールの内容は、ModuleDefinition ASN.1は付録Aを入力します)。翻訳に対するrxERエンコード命令の個々の効果は、この仕様の他の部分で対処されています。他のエンコードルールのエンコーディング命令には、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.

prefixedTypeがエンコーディングPrefixedTypeであり、エンコーディングリファレンスがrxerではない場合、またはエンコーディングリファレンスが空で、モジュールのデフォルトのエンコードリファレンスがrxerではない場合、prefixedTypeの変換は[ローカル名]「prefixed」の要素アイテムです。encodingPrefixedTypeのEncodingPrefixの翻訳は、<プレフィックス>要素アイテムの[子供]に追加するものとします。

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.

EncodingPrefixのエンコーディングリファレンスが空でない場合、EncodingPrefixの変換は、[ローカル名]としてエンコードリファレンスのエンコーディングリファレンスを持つ要素アイテムです。EncodingPrefixでのエンコーディンインストラクションの翻訳は、この要素アイテムの[子供]に追加されるものとします。

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.

EncodingPrefixのエンコーディングリファレンスが空の場合、EncodingPrefixの変換は[ローカル名]としてモジュールのデフォルトのエンコード参照を持つ要素アイテムです。EncodingPrefixでのエンコーディンインストラクションの翻訳は、この要素アイテムの[子供]に追加されるものとします。

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]).

エンコーディンインストラクション表記は、エンコード命令のセットごとに異なり、asn.xへの翻訳は個別のドキュメント[gsereit] [xereit]で指定されています。執筆時点では、3セットのエンコーディング命令のみが定義されています(rxer [rxerei]、gser [gserei]、および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 rewriting step. This rewriting step MAY be applied to the result of a previous rewriting step if the necessary condition still holds.

<prefixed>要素アイテムの子<type>要素アイテムには属性アイテムがなく、子<プレフィックス>要素アイテムがある場合、その子<タイプ>要素アイテムは[子供]と[属性]に置き換えることができます。内側<プレフィックス>要素アイテム。TaggedTypeの長い形式の翻訳も、この書き換えステップの対象となることに注意してください。この書き換えステップは、必要な条件がまだ保持されている場合、以前の書き換えステップの結果に適用できます。

Example

These three definitions are equivalent.

これらの3つの定義は同等です。

      [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>
        <XER><useUnion/></XER>
        <GSER><choiceOfStrings/></GSER>
        <type>
         <choice>
          <element name="one" type="asnx:PrintableString"/>
          <element name="two" type="asnx:UTF8String"/>
         </choice>
        </type>
       </prefixed>
      </type>
        
6.7.1. Short Form TaggedType Translation
6.7.1. 短いフォームTaggedType変換

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.

TaggedTypeの短い形式の翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[Local Name]「Tagged」を備えた要素アイテムは、<Type>要素アイテムの[子供]に追加されるものとします。

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".

TaggedTypeのタグのクラスが空でない場合、[Local Name]「TagClass」の属性アイテムは、<Tagged>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、すべての文字がダウンケース、つまり「ユニバーサル」、「アプリケーション」、または「プライベート」のいずれかを持つタグのクラスです。

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.

[ローカル名]「番号」を備えた属性アイテムは、<Tagged>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、タグのクラスナンバーの数値または定義値の整数値の数字文字列表現です。

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.

タグのすぐ後に「明示的な」キーワードが続く場合、[ローカル名]「タグ付け」と[正規化された値]「明示的」を備えた属性アイテムは、<タグ付き>要素アイテムの[属性]に追加されます。

The translation of the Type in the TaggedType SHALL be added to the [children] or [attributes] of the <tagged> element item.

TaggedTypeのタイプの変換は、<Tagged>要素アイテムの[子供]または[属性]に追加されます。

Examples

[0] INTEGER

[0] 整数

      <type>
       <tagged number="0" type="asnx:INTEGER"/>
      </type>
        

[APPLICATION 10] IMPLICIT BOOLEAN

[アプリケーション10]暗黙的なブール

      <type>
       <tagged tagClass="application" number="10" tagging="implicit"
               type="asnx:BOOLEAN"/>
      </type>
        
6.7.2. Long Form TaggedType Translation
6.7.2. 長いフォームTaggedType変換

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.

TaggedTypeの長い形式の翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「接頭辞」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されるものとします。TaggedTypeのタグの変換は、<プレフィックス>要素アイテムの[子供]に追加されます。

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".

タグのクラスが空でない場合、[Local Name]「TagClass」を備えた属性アイテムは、<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 "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.

TaggedTypeのタイプの変換は、<プレフィックス>要素アイテムの[子供]または[属性]に追加されます。

Examples

[0] INTEGER

[0] 整数

      <type>
       <prefixed type="asnx:INTEGER">
        <TAG number="0"/>
       </prefixed>
      </type>
        

[APPLICATION 10] IMPLICIT BOOLEAN

[アプリケーション10]暗黙的なブール

      <type>
       <prefixed type="asnx:BOOLEAN">
        <TAG tagClass="application" number="10" tagging="implicit"/>
       </prefixed>
      </type>
        
6.8. SelectionType Translation
6.8. 選択タイプの翻訳

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.

selection -typeの翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「選択」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されます。

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].

selectionTypeの識別子は、selectionTypeのタイプの定義にnamedTypeを識別します。そのnamedTypeの翻訳は、[ローカル名]、「属性」、「要素」、「コンポーネント」、「グループ」、または「メンバー」のいずれかの要素アイテムになります。AndameTypeの変換と同じ[ローカル名]を持つ属性アイテムは、<Selection>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、damedType [rxerei]の拡張名の適格名です。

The translation of the Type in the SelectionType SHALL be added to the [children] or [attributes] of the <selection> element item.

selectionTypeのタイプの翻訳は、<selection>要素アイテムの[子供]または[属性]に追加されます。

Examples

field1 < MyChoiceType

field1 <myChoiceType

      <type>
       <selection element="field1" type="tns:MyChoiceType"/>
      </type>
        
      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>
        
       </selection>
      </type>
        
6.9. InstanceOfType Translation
6.9.

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.

InstanceOfTypeの翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「instanceof」を備えた要素アイテムは、<type>要素アイテムの[子供]に追加されるものとします。InstanceOfTypeの定義ObjectClassの翻訳は、<sintanceof>要素項目の[子供]または[属性]に追加されます。

Example

INSTANCE OF TYPE-IDENTIFIER

タイプ識別子のインスタンス

      <type>
       <instanceOf class="asnx:TYPE-IDENTIFIER"/>
      </type>
        
6.10. ObjectClassFieldType Translation
6.10. ObjectClassFieldType翻訳

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.

ObjectClassFieldTypeの翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「FromClass」を備えた要素アイテムは、<Type>要素アイテムの[子供]に追加されるものとします。objectClassFieldTypeにおける定義されたObjectClassの翻訳は、<FromClass>要素アイテムの[子供]または[属性]に追加されます。ObjectClassFieldTypeのフィールド名(セクション9.2.6を参照)の変換は、<FromClass>要素アイテムの[子供]または[属性]に追加するものとします。

Example

OPERATION.&Linked.&ArgumentType

操作。&linked

      <type>
       <fromClass class="tns:OPERATION"
                  fieldName="Linked/ArgumentType"/>
      </type>
        
6.11. TypeFromObject and ValueSetFromObjects Translation
6.11. TypeFromObjectおよびValueSetFromObjects翻訳

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.

TypeFromObjectまたはValueSetFromObjectsの翻訳は、[ローカル名]「Type」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「fromobjects」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されるものとします。

The translation of the ReferencedObjects instance in the TypeFromObject or ValueSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

offromobjectまたはvalueSetfromobjectsの参照オブジェクトインスタンスの翻訳は、<fromObjects>要素アイテムの[子供]または[属性]に追加されます。

The translation of the FieldName in the TypeFromObject or ValueSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

optromObjectまたはValueSetFromObjectsのフィールド名の変換は、<FromObjects>要素アイテムの[子供]または[属性]または[属性]に追加するものとします。

Example

invertMatrix.&Errors.&errorCode

invertMatrix。&errors。&errorCode

      <type>
       <fromObjects object="tns:invertMatrix"
                    fieldName="Errors/errorCode"/>
      </type>
        
6.12. Translation of Combining Types
6.12. 組み合わせタイプの翻訳

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.

このセクションでは、asn.1の組み合わせタイプの翻訳の詳細、セット、シーケンス、選択、セット、およびシーケンス。組み合わせ型定義はすべて、namedType表記を使用します。

6.12.1. NamedType Translation
6.12.1. namedType翻訳

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.

namedTypeは、コンテキストに応じて3つの方法のいずれかで翻訳されます。これらは、通常の翻訳、メンバー翻訳、およびアイテム翻訳です。これらの翻訳は交換可能ではありません。3つのうちの1つは、囲まれた型の翻訳の一部として明示的に呼び出されます。

The normal translation of a NamedType is an element item with the [local name] determined as follows:

namedTypeの通常の翻訳は、[ローカル名]が次のように決定される要素アイテムです。

(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) namedTypeが属性または属性-REFエンコーディング命令の対象である場合、または属性エンコード命令の対象となるトップレベルのnamedTypeを参照するコンポーネント-REFエンコード命令の対象となる場合、[ローカル名]は「属性」です。、

(2) else if the NamedType is subject to a GROUP encoding instruction, then the [local name] is "group",

(2) それ以外の場合は、名前を付けたものがグループエンコーディング命令の対象である場合、[ローカル名]は「グループ」です。

(3) else if the NamedType is subject to a SIMPLE-CONTENT encoding instruction, then the [local name] is "simpleContent",

(3) それ以外の場合は、名前を付けたものが単純なコンテンツエンコード命令の対象となる場合、[ローカル名]は「simplecontent」です。

(4) otherwise, the [local name] is "element" or "component" (translator's choice).

(4) それ以外の場合、[ローカル名]は「要素」または「コンポーネント」(翻訳者の選択)です。

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.

さておき、ローカル名「要素」と「コンポーネント」は同義語です。「コンポーネント」の代替案は、rxerを使用しないアプリケーションを指定するために提供されます(もちろん、asn.x仕様自体を除く)。

The member translation of a NamedType is an element item with the [local name] "member".

namedTypeのメンバー翻訳は、[ローカル名]「メンバー」の要素アイテムです。

The item translation of a NamedType is an element item with the [local name] "item".

namedTypeのアイテム翻訳は、[ローカル名]「アイテム」を備えた要素アイテムです。

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].

さておき:メンバーまたはアイテムの翻訳が呼び出される名前を付けたものは、属性、属性-REF、コンポーネント-REF、グループ、単純なコンテンツ、または型版の型をエンコードする型の属性の影響を受けることはありません。これらのエンコード指示も相互に排他的です[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.

[ローカル名]「アノテーション」を備えた要素アイテムは、<属性>、<要素>、<要素>、<component>、<アイテム>、<member>、または<simplecontent>の[子供]に追加される場合があります。要素アイテム。

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.

namedTypeがバージョンのタイプエンコード命令の対象となる場合、[ローカル名]「typeasversion」と[正規化された値]「true」または「1」を備えた属性アイテムは、<要素>または<コンポーネント>要素アイテム。通常の変換の場合、namedTypeが属性、属性-REF、コンポーネント-REF、グループ、単純なコンテンツ、またはバージョンとしてのタイプのエンコード命令の対象ではない場合、[ローカル名]の属性アイテム "Typeasversion「および[正規化された値]「false」または「0」は、<要素>または<component>要素項目に追加される場合があります。

   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
        

<simpleContent> element item. The [normalized value] of this attribute item is the local name of the expanded name of the NamedType [RXEREI].

<simplecontent>要素アイテム。この属性項目の[正規化された値]は、damedType [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.

さておき:名前、属性-ref、component_ref、element-ref、またはref-as-rementエンコード命令がない場合、damentTypeの拡張された名前のローカル名は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.

namedTypeの拡張された名前のローカル名(ncName)の削減がnamedTypeの識別子と同じではない場合、[ローカル名]「識別子」を持つ属性アイテムは[属性]に追加されるものとします。の<属性>、<要素>、<component>、<group>、<item>、<member>、または<simplecontent> element item;それ以外の場合、[ローカル名]「識別子」を備えた属性アイテムは、前述の要素アイテムの[属性]に追加される場合があります。この属性項目の[正規化された値]は、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.

さておき:識別子属性は、名前属性があることを条件としていません。つまり、要素アイテムは、名前属性アイテムを持たずに識別子属性アイテムを持つことができます。

   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).

さておき:展開された名前が異なる場合、参照されるトップレベルの名前を含むモジュールにはスキーマID URIが必要です(セクション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.

namedTypeがコンポーネント-REFエンコード命令の対象となる場合、[ローカル名]「埋め込み」および[正規化された値]「false」または「0」の属性アイテムが[属性]の[属性]に追加される場合があります。>、<letent>、または<component> elementアイテム。

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.

namedTypeが属性-REFまたは要素REFエンコード命令の対象となる場合、[ローカル名]「ref」の属性アイテムは、<属性>、<要素>、または<コンポーネント>要素アイテム。この属性項目の[正規化された値]は、エンコード命令のQNameValueのrxer文字データ変換です。[ローカル名]「埋め込み」および[正規化された値]「true」または「1」の属性アイテムは、<属性>、<要素>、または<component>要素アイテムの[属性]に追加されます。

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.

namedTypeがref-as-elementエンコード命令の対象となる場合、[local name] "elementType"を備えた属性アイテムを<要素>または<component> elementアイテムの[属性]に追加するものとします。この属性項目の[正規化された値]は、ref-as-as-as-elementエンコーディング命令のnamevalueのrxer文字データ変換です。ref-as-reementエンコーディング命令に名前空間が存在する場合、[ローカル名]「名前空間」の属性アイテムは、<要素>または<component> elementアイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、名前空間のurivalueの文字列値です。

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.

contextParameterが属性-Ref、要素-Ref、または要素としてのエンコード命令のrefparametersに存在する場合、[ローカル名]「コンテキスト」を持つ属性アイテムは[属性]に[属性]に追加されなければなりません。<属性>、<要素>、または<component> elementアイテム。この属性アイテムの[正規化された値]は、コンテキストパラメーターのurivalueの文字列値です。

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.

namedTypeが属性エンコード命令とバージョンインディケーターエンコード命令の両方に対応している場合、[ローカル名]「versionindicator」と[正規化された値]「true」または「1」の属性アイテムが<に追加されるものとします。属性>要素アイテム。namedTypeが属性エンコーディング命令の対象であり、バージョンindicatorエンコード命令の対象ではない場合、[ローカル名]「versionindicator」および[正規化された値]「false」または「0」の属性項目が追加される場合があります。<属性>要素アイテム。

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.

namedTypeが属性-REF、コンポーネント-REF、要素REF、または要素としてのエンコード命令の対象とならない場合、ANDAMETTYPEのタイプの翻訳は[子供]または[属性]に追加されるものとします。の<属性>、<要素>、<component>、<group>、<item>、<member>、または<simplecontent>要素項目。

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.

namedTypeが属性-REF、コンポーネント-REF、要素REF、または要素としてのエンコード命令の対象となる場合、各eCODINGPREFIX(セクション6.7)およびタグ(セクション6.7.2)の翻訳は、AndAMETTYPE内でテキストにテキストを使用します<属性>、<要素>、または<component>要素アイテムの[子供]に追加されます。

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
      }
        
      <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. シーケンタイプの翻訳

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 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.

シーケンスタイプの翻訳は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「シーケンス」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されます。存在する場合、最初のrootcomponentTypelistのコンポーネントタイプリストにネストされた各コンポーネントタイプの変換は、<シーケンス>要素アイテムの[子供]に追加されるものとします。

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.

extensionAndexceptionが存在する場合、[ローカル名]「拡張機能」を持つ要素アイテムは、<シーケンス>要素アイテムの[子供]に追加されます。ExtensionAndExceptionに例外型が存在する場合、例外の翻訳(おそらく空)の翻訳が<extension>要素アイテムの[子供]に追加されます。

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.

extensionAdtitionsインスタンスが存在する場合、拡張機能(存在する場合)にネストされた各拡張機能編成グループまたはコンポーネントタイプの変換は、<拡張>要素アイテムの[子供]に追加されるものとします。

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.

拡張機能が存在する場合、最終的なrootComponentTypelistのコンポーネントタイプリストにネストされた各コンポーネントタイプの変換は、<シーケンス>要素アイテムの[子供]に追加されます。

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.

extensionAdtionGroupの翻訳は、[ローカル名]「ExtensionGroup」の要素アイテムです。extensionAdtionGroupのバージョンナンバーが空でない場合、[ローカル名]「バージョン」の属性アイテムは、<拡張機能>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、バージョンナンバーの数字です。extensionAdditionGroupにネストされた各コンポーネントタイプの変換は、<extensionGroup>要素アイテムの[子供]に追加されるものとします。

The translation of a ComponentType of the "NamedType" form is the normal translation of the NamedType.

「namedType」フォームのコンポーネントタイプの変換は、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.

「namedTypeオプション」フォームのコンポーネントタイプの変換は、[ローカル名]「オプション」を備えた要素アイテムです。namedTypeの通常の翻訳は、<optional>要素アイテムの[子供]に追加されます。

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.

「namedTypeデフォルト値」フォームのコンポーネントタイプの変換は、[ローカル名]「オプション」を備えた要素アイテムです。namedTypeの通常の翻訳は、<optional>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。値の変換は、<デフォルト>要素アイテムの[子供]または[属性]に追加されます。

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.

「タイプのコンポーネント」フォームのコンポーネントタイプの変換は、[ローカル名]「コンポーネント」を持つ要素アイテムです。タイプの翻訳は、<ComponentsOf>要素アイテムの[子供]または[属性]に追加されます。

Example

      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>
        
6.12.3. SetType Translation
6.12.3. セットタイプの翻訳

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".

SetTypeの変換は、SETTYPEがシーケンスタイプを置き換え、「セット」を「シーケンス」に置き換え、[ローカル名]「セット」が「シーケンス」ではなく使用されることを除いて、シーケンシータイプの変換と同じ手順に従います。

6.12.4. ChoiceType Translation
6.12.4. chuiceType翻訳

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.

組合エンコーディング命令の対象ではないchuiseTypeの翻訳は、[ローカル名]「タイプ」の要素項目です。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「選択」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されるものとします。AlternativeTypelistのrootalternativeTypelistのAlternativeTypelistにネストされた各namentTypeの通常の翻訳は、<Choice>要素アイテムの[子供]に追加されるものとします。

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.

extensionAndexceptionがAlternativeTypelistsに存在する場合、[ローカル名]「拡張機能」を持つ要素アイテムは、<Choice>要素アイテムの[子供]に追加されます。ExtensionAndExceptionに例外が存在する場合、exceptionsPec(おそらく空)の変換が<拡張>要素アイテムの[子供]に追加されます。

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.

AlternativeTypelistsに拡張機能が存在する場合、extensionAdtionAdtionAdtionAlternativeの各項目(もしあれば)の各exlentionAdtionAdtionAdtionAlternativeの翻訳は、<拡張>要素アイテムの[子供]に追加されます。AndameTypeの通常の翻訳が使用されます。

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.

extensionAdtionAdtionAlternativesGroupの翻訳は、[ローカル名]「ExtensionGroup」の要素アイテムです。extensionAdditionAdtionAlternativesGroupのバージョンナンバーが空でない場合、[ローカル名]「バージョン」の属性項目は、<拡張機能>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、バージョンナンバーの数字です。extensionAdtionAdtionAdtionAlternativesGroupのAlternativeTypelistにネストされた各namedTypeの通常の翻訳は、<拡張group>要素アイテムの[子供]に追加されるものとします。

Example

      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>
        
6.12.5. Translation of UNION Types
6.12.5. 組合タイプの翻訳

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.

組合エンコーディング命令の対象となるchuiseTypeの翻訳は、[ローカル名]「ユニオン」が「選択」の代わりに使用されていることを除いて、組合エンコーディング命令の対象ではないchuiseTypeの翻訳と同じ手順に従います。また、通常の翻訳の代わりに、各namedTypeのメンバー翻訳が使用されます。

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.

さらに、ユニオンエンコーディング命令にPrecertenCeListがある場合、[ローカル名]「優先順位」の属性アイテムが<ユニオン>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、PreterenceListの識別子に対応するAndameTypeインスタンス[RXEREI]の拡張された名前の適格名のホワイトスペース分離リストです。ホワイトスペースセパレーターは、ホワイトスペースの1つ以上の文字です。

Example

      [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>
        
6.12.6. SequenceOfType Translation
6.12.6. シーケンスオフタイプの翻訳

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.

リストエンコーディング命令の対象ではないシーケンスオフタイプの変換は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名] "Sequencence of"を備えた要素アイテムは、<type>要素アイテムの[子供]に追加されるものとします。

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.

シーケンスオフタイプが「namedTypeのシーケンス」形式である場合、namedTypeの通常の変換は<sequenceof> elementアイテムの[子供]に追加されます。

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.

SequenceOfTypeが「タイプのシーケンス」フォームである場合、[ローカル名] "要素"または「コンポーネント」(翻訳者の選択)を持つ要素アイテムを<Sequenceof>要素アイテムの[子供]に追加するものとします。[ローカル名]「名前」と[正規化された値] "アイテムを備えた属性アイテムは、<要素>または<component> elementアイテムの[属性]に追加されます。[ローカル名]「識別子」と空の[正規化値]を備えた属性アイテムは、<要素>または<component>要素アイテムの[属性]に追加されます。型の変換は、<要素>または<component>要素アイテムの[子供]または[属性]に追加されます。

Examples

SEQUENCE OF INTEGER

整数のシーケンス

      <type>
       <sequenceOf>
        <element name="item" identifier="" type="asnx:INTEGER"/>
       </sequenceOf>
      </type>
        

SEQUENCE OF counter INTEGER

カウンター整数のシーケンス

      <type>
       <sequenceOf>
        <element name="counter" type="asnx:INTEGER"/>
       </sequenceOf>
      </type>
        
6.12.7. Translation of LIST Types
6.12.7. リストタイプの翻訳

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.

リストエンコーディング命令の対象となるシーケンスオフタイプの変換は、[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「リスト」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されるものとします。SequenceOfTypeでのAndiNeTypeのアイテム翻訳は、<list>要素アイテムの[子供]に追加されます。

Aside: A SequenceOfType is necessarily of the "SEQUENCE OF NamedType" form for a LIST encoding instruction.

さておき:シーケンスオフタイプは、必然的にリストエンコーディング命令の「namedTypeのシーケンス」フォームのものです。

Example

[RXER:LIST] SEQUENCE OF number INTEGER

      <type>
       <list>
        <item name="number" type="asnx:INTEGER"/>
       </list>
      </type>
        
6.12.8. SetOfType Translation
6.12.8. setoftype翻訳

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".

setOfTypeの変換は、setOfTypeがsequencenceofTypeを置き換え、「secenceof」の代わりに[ローカル名] "set"を「sequencenceof」ではなく使用し、「sequenceoftype」を置き換えることを除いて、同じ手順と同じ手順に従います。

6.12.9. Effect of Insertion Encoding Instructions
6.12.9. 挿入エンコード命令の効果

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.

タイプが無意味、中空の挿入、特異な象徴、均一な挿入、またはマルチフォームインドをエンコードする命令の対象となる場合、[ローカル名]「挿入」の属性項目を[属性に追加するものとします。]] <type>要素アイテムの<type>要素の要素アイテム、<type>要素のアイテムの型の翻訳から生じる要素アイテム。この属性項目の[正規化された値]は、命令をエンコードする無意味の場合、「中空」の場合の「hollow」の場合、「hollow」、「特異点」をエンコードする「特異な」の場合、「none」です。指示、均一な挿入指導の場合の「均一」、および命令をエンコードするマルチインラソションの場合の「マルチフォーム」。

Example

      [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>
        
6.13. Translation of Constrained Types
6.13. 制約付きタイプの翻訳

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

ConstrainedTypeが「タイプ制約」フォームである場合、ConstrainedTypeの変換は[ローカル名]「タイプ」を持つ要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「制約」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されるものとします。タイプの翻訳は[子供]または

[attributes] of the <constrained> element item. The translation of the Constraint SHALL be added to the [children] of the <constrained> element item.

<constrained>要素アイテムの[属性]。制約の翻訳は、<Constrained>要素アイテムの[子供]に追加されます。

The translation of a ContainedType that is a TypeWithConstraint is the translation of the TypeWithConstraint.

typewithConstraintであるcontadedTypeの変換は、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 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.

定義(Simple Srange Sizeconstraint):サイズの範囲は、サイズコンストラリントの制約にvualerange(つまり、単一の交差点の例の要素インスタンスのサブタイピーレメントインスタンスのvalureRangeが、単独の交差点の例でのvalureRangeが含まれている場合、単純な範囲です。rootelementsetpecのElementSetsetpecで、constraintspecのサブタイプコンストラリングの追加のエレメントセットペックが制約のsubtypeconstraintを持たないElementsetpecsインスタンスのElementsetsetpec)と両方のエンドポイントは簡単です。

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).

定義(単純な範囲の制約):制約は、単純な範囲であるサイズコンストレントのみが含まれている場合、単純な範囲です(つまり、唯一の交差点インスタンスの要素インスタンスのサブタイプのインスタンスでの単純な範囲のサイズコンストレントが、単独の交差点インスタンスのインスタンスで、制約の制約のサブタイプコンストラリングに追加のエレメントセットペックを使用して、elementsetPecsインスタンスのrootelementsetpecのElementsetsetpecにあるユニオンインスタンス。

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.

TypewithConstraintの制約またはサイズの制約が単純な範囲である場合、TypewithConstraintのコンパクトな翻訳を使用できます。それ以外の場合、TypewithConstraintの完全な翻訳が使用されます。

   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 [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.

TypewithConstraintの完全な翻訳は、[ローカル名]「タイプ」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。[ローカル名]「制約」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加されるものとします。typewithConstraintの概念的な親タイプの翻訳は、<constrained>要素アイテムの[子供]または[属性]に追加されます。TypewithConstraintにおける制約またはサイズ構成の翻訳は、<Constrained>要素アイテムの[子供]に追加されます。

Examples

SEQUENCE (SIZE(1..MAX)) OF number INTEGER

数字整数のシーケンス(サイズ(1..max))

      <type>
       <sequenceOf minSize="1">
        <element name="number" type="asnx:INTEGER"/>
       </sequenceOf>
      </type>
        

SEQUENCE SIZE(0..10) OF number INTEGER

数字のシーケンスサイズ(0..10)

      <type>
       <sequenceOf maxSize="10">
        <element name="number" type="asnx:INTEGER"/>
       </sequenceOf>
      </type>
        

SEQUENCE SIZE(1..limit) OF number INTEGER

数字整数のシーケンスサイズ(1..limit)

      <type>
       <constrained>
        <type>
         <sequenceOf>
          <element name="number" type="asnx:INTEGER"/>
         </sequenceOf>
        </type>
        <size>
         <range>
          <minInclusive literalValue="1"/>
          <maxInclusive value="tns:limit"/>
         </range>
        
        </size>
       </constrained>
      </type>
        
6.13.1. Constraint Translation
6.13.1. 制約翻訳

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.

制約の変換は、制約における制約の翻訳と、その後のexceptionspec(おそらく空)の翻訳が制約に変換されることです。

The translation of a ConstraintSpec is the translation of the SubtypeConstraint or GeneralConstraint in the ConstraintSpec.

ConstraintSpecの翻訳は、ConstraintSpecにおけるサブタイプコンストラリングまたは一般的な構成の翻訳です。

The translation of a SubtypeConstraint is the translation of the ElementSetSpecs in the SubtypeConstraint.

SubtypeConstraintの翻訳は、SubTypeConstraintのElementsetPecsの翻訳です。

The translation of a GeneralConstraint [X.682] is the translation of the UserDefinedConstraint, TableConstraint, or ContentsConstraint in the GeneralConstraint.

GeneralConstraint [x.682]の翻訳は、generalconstraintにおけるuserdefinedconstraint、tableconstraint、またはcontentsconstraintの翻訳です。

6.13.2. UserDefinedConstraint Translation
6.13.2. userdefinedconstraint翻訳

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.

userdefinedconstraintの翻訳は、[ローカル名]「制約済み」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<ConstaredBy>要素アイテムの[子供]に追加される場合があります。userdefinedConstraintにおける各ユーザーデファイニングConstrastArsparameterの翻訳は、<ConstrainedBy>要素アイテムの[子供]に追加されるものとします。

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.

「Governor:Value」フォームのユーザー定義のConstrastArsparameterの翻訳は、[ローカル名]「ValueParameter」を持つ要素アイテムです。ガバナーのタイプの翻訳は、<valueParameter>要素アイテムの[子供]または[属性]に追加されます。値の翻訳は、<valueParameter>要素アイテムの[子供]または[属性]に追加されます。

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.

「governor:valyet」フォームのユーザー定義のConstraintArsparameterの翻訳は、[ローカル名]「ValueSetParameter」を持つ要素アイテムです。ガバナーのタイプの翻訳は、<ValueSetParameter>要素アイテムの[子供]または[属性]に追加されます。ValueSetの変換は、<ValueSetParameter>要素アイテムの[子供]に追加するものとします。

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

「Governor:object」フォームのユーザー定義のConstrastArsparameterの翻訳は、[ローカル名]「ObjectParameter」の要素アイテムです。知事における定義されたオブジェクトクラスの翻訳は、の[子供]または[属性]に追加されるものとする

<objectParameter> element item. The translation of the Object SHALL be added to the [children] or [attributes] of the <objectParameter> element item.

<ObjectParameter>要素アイテム。オブジェクトの変換は、<objectParameter>要素アイテムの[子供]または[属性]に追加されます。

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.

「Governor:objectset」フォームのユーザー定義のConstraintArsparameterの翻訳は、[ローカル名]「ObjectSetParameter」の要素アイテムです。知事における定義されたオブジェクトクラスの翻訳は、<objectsetParameter>要素アイテムの[子供]または[属性]に追加されるものとします。オブジェクトセットの変換は、<objectsetParameter>要素アイテムの[子供]または[属性]に追加されます。

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.

タイプであるユーザーが定義されているConstrastParameterの翻訳は、[Local Name]「TypeParameter」を備えた要素アイテムです。タイプの翻訳は、<TypeParameter>要素アイテムの[子供]または[属性]に追加されます。

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.

定義されたObjectClassであるユーザーデファイニングConstrastParameterの翻訳は、[ローカル名]「classparameter」の要素アイテムです。定義されたObjectClassの翻訳は、<ClassParameter>要素アイテムの[子供]または[属性]に追加されます。

Example

      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>
        
6.13.3. TableConstraint Translation
6.13.3. Tableconstraint翻訳

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.

SimpleTableConstraintであるTableConstraintの翻訳は、[ローカル名]「テーブル」を備えた要素アイテムです。SimpleTableConstraintのオブジェクトセットの変換は、<table>要素アイテムの[子供]または[属性]に追加されます。

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 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であるTableconstraintの翻訳は、[ローカル名]「テーブル」の要素アイテムです。componentrelationconstraintにおける定義オブジェクトセットの変換は、<table>要素アイテムの[子供]または[属性]に追加されます。ComponErtrelationConstraintでの各賛成の翻訳は、<table>要素アイテムの[子供]に追加されるものとします。

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).

激化の翻訳は、[ローカル名]「Restrictby」を備えた要素アイテムです。<restrictby>要素アイテムの[子供]プロパティは、ゼロ、1つ、またはそれ以上の連結によって形成された文字文字列の文字項目のシーケンスに設定されます。空のものを含む)、続いて、賛成のコンポーネントディラストの識別子によって識別されたdamentTypeインスタンス[rxerei]の拡張された名前の適格名のredisus( '/'、u 002f)の分離されたリスト。namedTypeが属性または属性-REFエンコーディング命令の対象である場合、または属性エンコード命令の対象となるトップレベルのnamedTypeを参照するコンポーネント-REFエンコード命令の対象となる場合、拡張名の適格名は接頭辞にされますコマーシャル( '@'、u 0040)で。<restrictby>要素アイテムの[子供]に、主要なホワイトスペースキャラクターアイテムを追加できます。Solidus文字( '/'、u 002f)のキャラクターアイテムの直前および/または直後に、ホワイトスペースのキャラクターアイテムが追加される場合があります。

Examples

      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>
        
      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>
          <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].

<restrictby>要素アイテムは、自己完結型[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.

さておき:要素アイテムとその内容が要素アイテム内で宣言されている場合、すべての名前空間プレフィックスが要素アイテム内で宣言されている場合、要素アイテムは自己完結型です。

6.13.4. ContentsConstraint Translation
6.13.4. ContentsConstraint翻訳

The translation of a ContentsConstraint is an element item with the [local name] "contents".

ContentsConstraintの翻訳は、[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 "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 "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.

ContentsConstraintがvalueフォームでエンコードされた「含むタイプ」である場合、[ローカル名]「 "を含む[ローカル名]を持つ要素アイテムと[ローカル名]「エンコードビー」の要素アイテムは[子供]に追加されるものとする場合<contents>要素アイテム。タイプの翻訳は、<containing>要素アイテムの[子供]または[属性]に追加されます。値の変換は、<encodedby>要素アイテムの[子供]または[属性]に追加されます。

Example

OCTET STRING (CONTAINING MyType ENCODED BY { joint-iso-itu-t asn1(1) basic-encoding(1) })

Octet String({aint-iso-itu-t asn1(1)basic-encoding(1)}によってエンコードされたmytypeを含む)

      <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. 例外pec翻訳

The translation of an empty ExceptionSpec is empty.

空の例外の翻訳は空です。

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.

空でない例外の例外識別が署名数値である場合、概念的な整数型の翻訳は、<例外>要素アイテムの[子供]または[属性]に追加され、IntegerValueとして署名番号を備えた整数タイプは、<例外>要素アイテムの[子供]または[属性]に追加されます。

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 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

!10

!10

      <exception type="asnx:INTEGER" literalValue="10"/>
        

!myValue

!myvalue

      <exception type="asnx:INTEGER" value="tns:myValue"/>
        

!PrintableString:"failure"

!printableString:「失敗」

      <exception type="asnx:PrintableString" literalValue="failure"/>
        
7. Translation of Values
7. 値の翻訳

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.

ASN.1仕様の値は、リテラル値(例:数字や文字列)の組み合わせと、定義された値を参照する表記です。同様に、値のasn.x変換は、リテラル値のマークアップと参照表記のマークアップ(表記値)の組み合わせです。値は、次の定義によって分類されます。

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:

定義(表記値):値は、次の場合にのみ表記値です。

(1) the Value is a BuiltinValue, and

(1) 値はビルドインバリューです

(a) the BuiltinValue is a TaggedValue and the Value in the TaggedValue is a notational value, or

(a) BuiltInValueはTaggedValueであり、TaggedValueの値は表記値、または

(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) BuiltInValueは、名前の付属値の値が表記値であり、対応するnamedTypeの変換(外側値の支配タイプから)を含むcomponentValuelistのシーケンスバリューまたはセットバリューです。>要素アイテム、または

(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) BuiltInValueは、ChoiceValueの値が表記値であり、ChoiceValueの識別子に対応する名前を付けたnamedTypeの変換が<要素>または<component>要素アイテムではない場合、またはnamedTypeの翻訳が選択されている場合の選択バリューです。

(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) BuiltInValueは、名前の付いた値が表記値であり、対応するnamedTypeの翻訳(外側値の支配タイプから)を含む名前のValueistを含むAnigantValuelistのシーケンスオフバリューまたはsetofValueです。>要素アイテム、または

(2) the Value is a ReferencedValue, and

(2) 値は参照値です

(a) the ReferencedValue is a ValueFromObject, or

(a)

(b) the ReferencedValue is a DefinedValue, and

(b) 参照値は定義値です

(i) the DefinedValue is a valuereference (not a DummyReference) or an ExternalValueReference, or

(i) 定義された値は、valueReerence(dummyReferenceではない)または外部値、または

(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)定義値はdummyreferenceまたはparameterizedValueであり、dummyReferenceまたはparameterizedValueの代替定義(セクション13を参照)は表記値、または

(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)定義値は、dummyRereferenceまたはparameterizedValueの変換が完全に拡張された参照(セクション13を参照)、または

(3) the Value is an ObjectClassFieldValue, and

(3) 値はObjectClassFieldValueです

(a) the ObjectClassFieldValue is an OpenTypeFieldVal, or

(a) ObjectClassFieldValueは、OpEntyPeieldValです

(b) the ObjectClassFieldValue is a FixedTypeFieldVal, and

(b) ObjectClassFieldValueは、固定型FeiledValです

(i) the FixedTypeFieldVal is a BuiltinValue that satisfies case (1), or

(i) rextypeieldvalは、ケース(1)を満たす構築値です。

(ii) the FixedTypeFieldVal is a ReferencedValue that satisfies case (2).

(ii)rextypeieldvalは、ケースを満たす参照数値です(2)。

A literal value that is a BuiltinValue that is a SequenceValue, SetValue, ChoiceValue, SequenceOfValue, or SetOfValue MAY be translated as a notational value.

シーケンスバリュー、setValue、choicevalue、sequenceofvalue、またはsetofvalueであるビルドインバリューであるリテラル値は、表記値として翻訳される場合があります。

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. リテラル値の翻訳

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.

リテラル値の属性フォーム変換は、[ローカル名]「LiteralValue」の属性項目です。この属性項目の[正規化された値]は、リテラル値のrxer文字データ翻訳[rxer]です。

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) リテラル値のrxerインフォセット翻訳は、文字データ翻訳[rxer]ではないか、適格な名前[xmlns10] [xmlns11]を含む文字データ翻訳です。

(2) attribute form translations of Value have been explicitly disallowed in the context where the literal value appears, or

(2) 価値の属性フォーム翻訳は、文字通りの価値が現れるコンテキストでは明示的に許可されています。

(3) the literal value has a nested notational value.

(3) リテラル値には、ネストされた表記値があります。

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.

リテラル値の要素形式の翻訳は、[ローカル名]「LiteralValue」を備えた要素アイテムです。<LiteralValue>要素項目の[子供]および[属性]は、外部タイプ(またはそのサブタイプ)の値が定義された関連するタイプに従って翻訳されることを除いて、リテラル値のrxerインフォセット変換に設定されます。X.680 [X.680]の条項34.5。さらに、翻訳の要素アイテムの[子供]と[属性]が直接ネストされた表記値に対応する場合、セクション7.2で指定されている翻訳は、その要素項目の[子供]と[属性]に使用する必要があります。[ローカル名]「リテラル」、[名前空間名] "urn:ietf:params:xml:ns:asnx"、および[正規化された値]「false」または「0」(つまり、asnx:リテラル= "false")その要素アイテムの[属性]に追加する必要があります。

Each outermost <literalValue> element item is required to be self-contained [RXER].

それぞれの外側の<LiteralValue>要素アイテムは、自己完結型[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: 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.

[ローカル名]「リテラル」、[名前空間名] "urn:ietf:params:xml:ns:asnx"および[正規化値] "true"または "1"(すなわち、asnx:literal = "true ")は、<literalvalue>要素項目の[属性]および/または、文字通りの値に対応するコンテンツと属性を備えたネストされた要素アイテムに追加できます。

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).

さてある:asnx:リテラル属性は、属性を含む要素のコンテンツとその他の属性がasn.x表記(表記値)として解釈されるか、rxerエンコーディング(リテラル値)として解釈されるかを示すスイッチとして動作します。

Example

      zero INTEGER ::= 0
        
      <namedValue name="zero" type="asnx:INTEGER" literalValue="0"/>
        

OR

また

      <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.

asn.xモジュールのasn.1値のrxerエンコードとしてのasn.xモジュールの観点から(付録Aのモジュール定義タイプの抽象値)、<literalvalue>要素のタイプは、制約のないマークアップタイプ[rxer]ではなく、制約のないマークアップタイプ[rxer]です。ASN.1仕様に従って、値の管理タイプ。これは、<LiteralValue>要素のインフォセット表現をASN.Xモジュールの再エンコードで保存する必要があることを意味します。

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.

同様に、LiteralValue属性のタイプはUTF8STRINGであり、ASN.1仕様に従って値の支配タイプではありません。これは、属性の[正規化された値]の正確な文字を、asn.xモジュールの再エンコードで保存する必要があることを意味します。

7.2. Translation of Notational Values
7.2. 表記値の翻訳

The translation of a notational value is the translation of the BuiltinValue, ReferencedValue, or ObjectClassFieldValue in the notational value.

表記値の変換は、builtinvalue、参照Value、またはobjectClassFieldValueの翻訳が表記値での変換です。

The translation of a ReferencedValue is the translation of the DefinedValue or ValueFromObject in the ReferencedValue.

参照値の変換は、参照値における定義値またはvalueFromObjectの変換です。

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.

これらの各ケースの翻訳は、[ローカル名]「値」を持つ要素アイテムを作成すると説明されています。ただし、表記値はリテラル値内に直接ネストされる場合があります。この場合、[ローカル名]は、Rxerおよび統治ASN.1のタイプのリテラル値のタイプに従って決定されます。

Aside: In the latter case, the element item will also have a literal attribute item with the [normalized value] "false" or "0".

さておき:後者の場合、要素項目には[正規化された値]「false」または「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.

代わりに、リテラル値内に直接ネストされていない表記値は、[ローカル名]「リテラルバリュー」に[ローカル名]「リテラル」、[名前空間名]「urn:ietf:params:xml:」の属性項目を提供することができます。ns:asnx "、および[正規化された値]" false "または" 0 "は、<LiteralValue>要素項目の[属性]に追加されます。

Examples

      nothing INTEGER ::= zero
        
      <namedValue name="nothing" type="asnx:INTEGER" value="tns:zero"/>
        

OR

また

      <namedValue name="nothing" type="asnx:INTEGER">
       <value ref="tns:zero"/><!-- A notational value. -->
      </namedValue>
        

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>
        
      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"
        
                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. 定義された値翻訳

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.

定義値がvalueReerence(dummyreferenceではない)または外部値である場合、定義値の変換は、値参照の属性形式変換か、値参照の要素形式変換です。

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).

値参照の属性フォーム変換は、[ローカル名]「値」を備えた属性項目です。この属性項目の[正規化された値]は、参照される値定義の拡張名の適格名です(セクション5.1を参照)。この拡張された名前が現在のモジュールとその<intempert>要素項目によって参照されるモジュールに対して異なる場合は、属性フォーム変換を使用してはなりません(セクション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.
        

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).

さておき:参照名が異なる場合、参照される定義を含むモジュールにはスキーマID URIが必要です(セクション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 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).

定義値がdummyRereferenceまたはparameterizedValueである場合、定義値の変換は、そのdummyReferenceまたはparameterizedValueの変換です(セクション13を参照)。

7.2.2. BuiltinValue Translation
7.2.2. BuiltInValue翻訳

The translation of a BuiltinValue is the translation of the ChoiceValue, SequenceValue, SetValue, SequenceOfValue, SetOfValue, or TaggedValue in the BuiltinValue.

BuiltInValueの変換は、BuiltInValueのChoiceValue、SequenceValue、SetcenceValue、SequenceOfValue、SetOfValue、またはTaggedValueの変換です。

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.

さておき:BuiltInValueには他の可能性がありますが、これらはすべて文字通りの値になります。このセクションは、表記値であるBuiltInValueに適用されます。

The translation of a TaggedValue is the translation of the Value in the TaggedValue (which is necessarily a notational value).

TaggedValueの変換は、TaggedValueの値の変換です(これは必然的に表記値です)。

   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.

シーケンスバリューまたはsetValueの変換は、[ローカル名]「値」を持つ要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<値>要素アイテムの[子供]に追加される場合があります。シーケンスバリューまたはsetValueにコンポーネントバリエ主義者がいる場合、コンポーネントバルエル主義者にネストされた各名前のバリューの翻訳は、対応するnamedTypeインスタンスが支配の定義に表示される順序で<値>要素アイテムの[子供]に追加されるものとします。タイプ。

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.

SequenceOfValueまたはsetOfValueの翻訳は、[ローカル名]「値」を持つ要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<値>要素アイテムの[子供]に追加される場合があります。

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.

SequenceOfValueまたはsetOfValueに名前が付いている場合、AnigantValuelistにネストされた各名前のValueの翻訳は、<balue>要素アイテムの[子供]に追加されます。

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.

SequenceOfValueまたはsetOfValueにValuelistがある場合、<SequenceOf>または<Setof>要素の[子供]の要素アイテムと同じ[ローカル名](つまり、「要素」または「コンポーネント」)を持つ要素アイテムを持っています。統治タイプの翻訳の項目は、ヴァルエリストにネストされた各値の<値>要素アイテムの[子供]に追加されるものとします。[ローカル名]「名前」と[正規化された値] "アイテムを備えた属性アイテムは、<要素>または<component> elementアイテムの[属性]に追加されます。値の翻訳(ヴァルエリストから)は、<要素>または<component> elementアイテムの[子供]または[属性]に追加されます。

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.

AnigantValueの翻訳は、対応するnamedType、つまり「属性」、「要素」、「コンポーネント」、「グループ」、「アイテム」、または「simpleContent」の翻訳と同じ[ローカル名]を持つ要素アイテムです。。[ローカル名]「名前」の属性アイテムは、要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、damedTypeの拡張名の適格名です。Andamevalueの値の変換は、要素アイテムの[子供]または[属性]に追加されるものとします。

Examples

      -- 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>
        
            <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.
        
      <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 }
      }
        
      <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 }
      }
        
      <namedValue name="myValue3" type="tns:MyType">
       <value>
        <attribute name="one">
         <value>
        
          <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. value -fromObject翻訳

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.

ValueFromObjectの翻訳は、[ローカル名]「値」を持つ要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<値>要素アイテムの[子供]に追加される場合があります。[ローカル名]「fromobjects」を備えた要素アイテムは、<balue>要素アイテムの[子供]に追加されます。

The translation of the ReferencedObjects instance in the ValueFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

valueFromObjectのReferencedObjectsインスタンスの翻訳は、<FromObjects>要素アイテムの[子供]または[属性]に追加されます。

The translation of the FieldName in the ValueFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

valueFromObjectのフィールド名の変換は、<FromObjects>要素アイテムの[子供]または[属性]に追加されます。

7.2.4. ObjectClassFieldValue Translation
7.2.4. ObjectClassFieldValue翻訳

If an ObjectClassFieldValue is a BuiltinValue in a FixedTypeFieldVal, then the translation of the ObjectClassFieldValue is the translation of the BuiltinValue.

ObjectClassFieldValueが固定タイプフィールドのビルドインバリューである場合、ObjectClassFieldValueの変換はBuiltInValueの変換です。

If an ObjectClassFieldValue is a ReferencedValue in a FixedTypeFieldVal, then the translation of the ObjectClassFieldValue is the translation of the ReferencedValue.

ObjectClassFieldValueがrexectTypeieldValの参照Valueである場合、ObjectClassFieldValueの変換は参照Valueの変換です。

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 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.

ObjectClassFieldValueがopentyPeieldValである場合、ObjectClassFieldValueの変換は[ローカル名]「値」を持つ要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<値>要素アイテムの[子供]に追加される場合があります。[ローカル名]「Opentypevalue」を備えた要素アイテムは、<balue>要素アイテムの[子供]に追加されなければなりません。opentypeieldvalのタイプの変換は、<opentypevalue>要素アイテムの[子供]または[属性]に追加されます。opentypeieldvalの値の変換は、<opentypevalue>要素アイテムの[子供]または[属性]に追加されます。

Example

      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>
        
8. Translation of Value Sets
8. 値セットの翻訳

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.

ValueSetの翻訳は、[ローカル名]「ValueSet」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<ValueSet>要素アイテムの[子供]に追加される場合があります。ValueSetのElementSetPecsインスタンスの変換は、<ValueSet>要素アイテムの[子供]に追加されるものとします。

Example

{ 1 | 3..7, ..., 9..19 EXCEPT ( 11 | 12 ) }

{1 |3..7、...、9..19を除く(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>
        
           <literalValue>11</literalValue>
           <literalValue>12</literalValue>
          </union>
         </except>
        </all>
       </extension>
      </valueSet>
        
8.1. ElementSetSpecs Translation
8.1. ElementSetpecs翻訳

The translation of an ElementSetSpecs instance where the ellipsis ("...") is not present is the translation of the ElementSetSpec in the RootElementSetSpec.

Ellipsis( "...")が存在しないElementSetspecsインスタンスの翻訳は、RootelementsetspecのElementsetPecの翻訳です。

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.

Ellipsis( "...")が存在するElementSetpecsインスタンスの変換は、rootelementsetpecのElementsetPecの翻訳に続いて[ローカル名]「拡張子」の要素アイテムが続きます。ElementSetSpecsに追加のエレメントセットが存在する場合、追加のエレメントセットのElementsetPecの翻訳は、<拡張>要素アイテムの[子供]に追加されます。

8.2. ElementSetSpec Translation
8.2. ElementsetPec翻訳

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.

ElementSetspecが「すべての除外」フォームである場合、ElementSetspecの変換は[ローカル名]「All」を持つ要素アイテムです。[ローカル名] "を除く"を除く要素アイテムは、<All>要素アイテムの[子供]に追加されます。除外の要素インスタンスの翻訳は、<excement>要素アイテムの[子供]に追加されます。

If an ElementSetSpec is a Unions instance, then the translation of the ElementSetSpec is the translation of the Unions instance.

ElementsetPecがユニオンインスタンスの場合、ElementsetPecの翻訳はユニオンインスタンスの翻訳です。

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.

ユニオンインスタンスにネストされた交差点インスタンスが1つしかない場合、ユニオンインスタンスの翻訳はその交差点インスタンスの翻訳です。それ以外の場合、ユニオンインスタンスの翻訳は、[ローカル名]「ユニオン」の要素アイテムです。後者の場合、ネストされた各交差点インスタンスの翻訳は、<ユニオン>要素アイテムの[子供]に追加されるものとします。

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.

交差点インスタンスにネストされた交差点インスタンスが1つしかない場合、交差点インスタンスの翻訳は、その交差点インスタンスの翻訳です。それ以外の場合、交差点インスタンスの翻訳は、[ローカル名]「交差」の要素アイテムです。後者の場合、ネストされた各交差点インスタンスの翻訳は、<交差>要素アイテムの[子供]に追加されるものとします。

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.

交差点インスタンスが「Elems除外」形式の場合、交差点インスタンスの翻訳は[ローカル名]「All」を持つ要素アイテムです。エレムの要素インスタンスの翻訳は、<All>要素アイテムの[子供]に追加されます。[ローカル名] "を除く"を除く要素アイテムは、<All>要素アイテムの[子供]に追加されます。除外の要素インスタンスの翻訳は、<excement>要素アイテムの[子供]に追加されます。

If an IntersectionElements instance is an Elements instance, then the translation of the IntersectionElements instance is the translation of the Elements instance.

IntersectionElementsインスタンスがElementsインスタンスである場合、IntersectionElementsインスタンスの変換はElementsインスタンスの変換です。

The translation of an Elements instance is the translation of the SubtypeElements, ObjectSetElements, or ElementSetSpec in the Elements instance.

Elementsインスタンスの変換は、要素インスタンスのサブタイプ化石、ObjectSetelements、またはElementsetPecの変換です。

8.3. SubtypeElements Translation
8.3. サブタイプイレメントの翻訳

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.

サブタイプアイデンツインスタンスがContedSubtypeである場合、サブタイプイレメントインスタンスの変換は[ローカル名]「含まれる」の要素アイテムです。contedSubtypeのタイプの翻訳は、<clude> ementtアイテムの[子供]または[属性]に追加するものとします。

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.

サブタイプアイレメントインスタンスがサイズに陥ります。サブタイプイレメントインスタンスの変換は、[ローカル名]「サイズ」の要素アイテムです。サイズ構成における制約の翻訳は、<size>要素アイテムの[子供]に追加されるものとします。

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.

サブタイプアイレメントインスタンスがTypeConstraintである場合、サブタイプイレメントインスタンスの変換は[ローカル名]「TypeConstraint」の要素項目です。TypeConstraintのタイプの翻訳は、<TypeConstraint>要素アイテムの[子供]または[属性]に追加されます。

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.

サブタイプイレメントインスタンスがPermitedAlphabetである場合、サブタイプイレメントインスタンスの翻訳は、[ローカル名]「From」を持つ要素アイテムです。PormedAlphabetの制約の翻訳は、<From>要素アイテムの[子供]に追加されます。

If a SubtypeElements instance is an InnerTypeConstraints instance, then the translation of the SubtypeElements instance is the translation of the InnerTypeConstraints instance.

サブタイプイレメントインスタンスがInnerTypeConstraintsインスタンスである場合、サブタイプイレメントインスタンスの変換はInnerTypeConstraintsインスタンスの変換です。

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.

サブタイプアイレメントインスタンスがパターンコストレインである場合、サブタイプイレメントインスタンスの変換は[ローカル名]「パターン」を持つ要素アイテムです。PatternConstraintの値の変換は、<pattern>要素アイテムの[子供]または[属性]に追加されるものとします。

8.3.1. ValueRange Translation
8.3.1.

The translation of a ValueRange is an element item with the [local name] "range".

Valuerangeの翻訳は、[ローカル名]「範囲」の要素アイテムです。

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.

ValuerangeのLowerEndpointが「LowerEndvalue <」フォームである場合、[ローカル名]「MineXclusive」の要素アイテムは、<Range>要素アイテムの[子供]に追加されます。ローワーエンドバリューが値である場合、値の変換は、<minexclusive>要素アイテムの[子供]または[属性]に追加されます。

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.

ValuerangeのLowerEndpointが「LowerEndvalue」フォームであり、LowerEndvalueが値である場合、[ローカル名]「Mininclusive」を持つ要素アイテムは、<Range>要素アイテムの[子供]に追加されます。ローワーエンドバリューの値の変換は、<mininclusive>要素アイテムの[子供]または[属性]に追加されるものとします。

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.

ValuerangeのLowerEndpointが「LowerEndvalue」フォームであり、LowerEndvalueが「Min」である場合、[ローカル名]「MinInclusive」の要素アイテムが<Range>要素アイテムの[子供]に追加される場合があります。

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.

Valuerangeの上位ポイントが「<SupperEndValue」フォームの場合、[ローカル名]「MaxExclusive」の要素アイテムが<Range>要素アイテムの[子供]に追加されます。herperEndvalueが値である場合、値の変換は<maxexclusive>要素アイテムの[子供]または[属性]に追加されます。

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.

Valuerangeの上位ポイントが「上限」形式であり、上限値が値である場合、[ローカル名]「MaxInclusive」の要素アイテムは、<Range>要素アイテムの[子供]に追加されます。上位値の値の変換は、<maxinclusive>要素アイテムの[子供]または[属性]に追加されます。

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.

Valuerangeの上位ポイントが「上限」形式であり、上限値が「Max」である場合、[ローカル名]「MaxInclusive」の要素アイテムは、<Range>要素アイテムの[子供]に追加される場合があります。

Examples

1..10

1..10

      <range>
       <minInclusive literalValue="1"/>
       <maxInclusive literalValue="10"/>
      </range>
        

0..MAX

0 ..マックス

      <range>
       <minInclusive literalValue="0"/>
      </range>
        

0<..<MAX

0 <.. <max

      <range>
       <minExclusive literalValue="0"/>
       <maxExclusive/>
      </range>
        
8.3.2. InnerTypeConstraints Translation
8.3.2. InnerTypeConstraints翻訳

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.

singletypeconstraintを持つInnerTypeConstraintsインスタンスの翻訳は、[Component with Component] [ローカル名]の要素アイテムです。singletypeconstraintの制約の翻訳は、<withomponent>要素アイテムの[子供]に追加されます。

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.

MultiPletypeConstraintsインスタンスを備えたInnerTypeConstraintsインスタンスの翻訳は、[Components with Components] [ローカル名]の要素アイテムです。MultiPletypeConstraintsインスタンスが部分的な指定である場合、[local名]「部分的な」「部分的な値」「true」または「1」を<witcomponents>要素アイテムの[属性]に追加する属性アイテム。

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.

MultiPletypeConstraintsインスタンスが完全な識別である場合、[ローカル名]「部分的な」「部分的な値」「false」または「0」が<witComponents>要素アイテムの[属性]に追加される場合があります。TypeConstraintsインスタンスにネストされた各名前のconstraintの翻訳は、完全識別または部分的方程式の識別を<withcomponents>要素アイテムの[子供]に追加するものとします。

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.

名前のあるConstraintの翻訳は、AndameTypeの翻訳と同じ[ローカル名](つまり、「属性」、「要素」、「コンポーネント」、「グループ」、「メンバー」、または「simplecontent」)を持つ要素アイテムです。AnigantConstraintの識別子に対応しています。[ローカル名]「名前」の属性アイテムは、<属性>、<要素>、<component>、<component>、<member>、または<simplecontent>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、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".

namedConstraintのコンポーネントConstraintのPresenceConstraintが空でない場合、[ローカル名]「使用」を備えた属性項目は、<属性>、<要素>、<component>、<groupの[属性]に追加されなければなりません。>、<member>、または<simplecontent>要素アイテム。この属性項目の[正規化された値]は、すべての文字がダウンケース、つまり「現在」、「不在」、または「オプション」のいずれかを備えたプレゼンセンセクセクストレントのテキストです。

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.

名前のあるConstraintのコンポーネントコストレントのValueConstraintが空でない場合、ValueConstraintの制約の変換は、<属性>、<要素>、<要素>、<component>、<member>の[子供]に追加されるものとします。>、または<simplecontent>要素アイテム。

9. Translation of Object Classes
9. オブジェクトクラスの翻訳

The translation of an ObjectClass is the translation of the DefinedObjectClass, ObjectClassDefn, or ParameterizedObjectClass in the ObjectClass.

ObjectClassの翻訳は、ObjectClassにおけるDefinedObjectClass、ObjectClassDefn、またはParameterizedObjectClassの翻訳です。

The translation of a ParameterizedObjectClass is described in Section 13.

パラメーター化オブジェクトクラスの翻訳については、セクション13で説明します。

9.1. DefinedObjectClass Translation
9.1.

If a DefinedObjectClass is an objectclassreference (not a DummyReference), an ExternalObjectClassReference, or a UsefulObjectClassReference, then the translation of the DefinedObjectClass is either the attribute form translation of an object class reference, or the element form translation of an object class reference.

定義されたObjectClassがObjectClassReference(DummyRereferenceではない)、外部ObjectClassReference、または有用なObjectClassReferenceである場合、DefinedObjectClassの変換は、オブジェクトクラス参照の属性フォーム変換、またはオブジェクトクラスリファレンスの要素フォーム変換のいずれかです。

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.

オブジェクトクラス参照の属性フォーム変換は、[ローカル名]「クラス」の属性アイテムです。この属性項目の[正規化された値]は、参照されるオブジェクトクラス定義の拡張名の適格名です(セクション5.1を参照)。有用なObjectClassReferenceの場合、拡張名の名前空間名は「urn:ietf:params:xml:ns:asnx」であり、ローカル名は「タイプ識別子」または「抽象系」のいずれかです。多分。展開された名前が現在のモジュールとその<intempert>要素項目で参照されるモジュールに対して異なる場合は、属性フォーム変換を使用してはなりません(セクション5.1を参照)。それ以外の場合、翻訳者は、オブジェクトクラス参照の属性フォームまたは要素フォーム変換のいずれかを自由に選択できます。

   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).

さておき:参照名が異なる場合、参照される定義を含むモジュールにはスキーマID URIが必要です(セクション5.1を参照)。

The translation of the DefinedObjectClass is the same whether the object class definition is referenced by an objectclassreference or an ExternalObjectClassReference.

定義されたObjectClassの変換は、オブジェクトクラスの定義がObjectClassReferenceまたはexternalObjectClassReferenceによって参照されるかどうかに同じです。

If a DefinedObjectClass is a DummyReference, then the translation of the DefinedObjectClass is the translation of the DummyReference (see Section 13).

定義されたObjectClassがDummyReferenceである場合、定義されたObjectClassの翻訳はDummyReferenceの翻訳です(セクション13を参照)。

9.2. ObjectClassDefn Translation
9.2. ObjectClassDefn翻訳

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.

ObjectClassDefnの翻訳は、[ローカル名]「クラス」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<class>要素アイテムの[子供]に追加される場合があります。ObjectClassDefn内の各fieldSpecの変換は、<class>要素アイテムの[子供]に追加されるものとします。

The translation of a FieldSpec is the translation of the TypeFieldSpec, FixedTypeValueFieldSpec, VariableTypeValueFieldSpec, FixedTypeValueSetFieldSpec, VariableTypeValueSetFieldSpec, ObjectFieldSpec, or ObjectSetFieldSpec in the FieldSpec.

FieldSpecの翻訳は、TypeFieldSpec、固定型型ValueFieldSpec、variabletypevaluefieldspec、rextepevaluesetfieldspec、variabletypevaluesetfieldspec、objectfieldspec、またはobjectsetfieldspecの翻訳です。

9.2.1. TypeFieldSpec Translation
9.2.1. TypeFieldSpec翻訳

The translation of a TypeFieldSpec where the TypeOptionalitySpec is absent is an element item with the [local name] "typeField".

typeOptionalitySpecが存在しないTypeFieldSpecの翻訳は、[ローカル名]「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.

「オプション」フォームのTypeOptionSpecを使用したTypeFieldSpecの翻訳は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「タイプフィールド」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。

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.

「デフォルトタイプ」フォームのTypeOptionSpecを使用したTypeFieldSpecの翻訳は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「タイプフィールド」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。typeOptionalitySpecのタイプの変換は、<default>要素アイテムの[子供]または[属性]に追加されます。

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.

[ローカル名]「名前」の属性アイテムは、<タイプフィールド>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、アンパサンド文字なし( '&'、u 0026)のないTypeFieldSpecのTypeFieldReferenceです。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプフィールド>要素アイテムの[子供]に追加される場合があります。

Example

      CLASS {
          &One,
          &Two    OPTIONAL,
          &Three  DEFAULT OBJECT IDENTIFIER
      }
        
      <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. rextypevaluefieldspec翻訳

The translation of a FixedTypeValueFieldSpec where the ValueOptionalitySpec is absent is an element item with the [local name] "valueField".

ValueOptionalitySpecが存在している固定型ValueFieldSpecの翻訳は、[ローカル名]「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.

「オプション」フォームのValueOptionSpecを備えた固定型ValueFieldSpecの翻訳は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「ValueField」を備えた要素アイテムは、<オプション>要素アイテムの[子供]に追加されます。

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.

「デフォルト値」フォームのvalueoptionalitySpecを使用したrextypevaluefieldspecの翻訳は、[ローカル名]「オプション」を備えた要素項目です。[ローカル名]「ValueField」を備えた要素アイテムは、<オプション>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。ValueOptionalitySpecの値の変換は、<Default>要素アイテムの[子供]または[属性]に追加されます。

   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.
        

Example

      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>
        
9.2.3. FixedTypeValueSetFieldSpec Translation
9.2.3. rextypevaluesetfieldspec翻訳

The translation of a FixedTypeValueSetFieldSpec where the ValueSetOptionalitySpec is absent is an element item with the [local name] "valueSetField".

ValueSetOptionalitySpecが存在しないrextypevaluesetfieldspecの翻訳は、[ローカル名]「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.

「オプション」フォームのValueSetOptionAlitySpecを備えた固定型ValueSetFieldSpecの翻訳は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「ValueSetfield」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。

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.

「デフォルト値」フォームのValueSetOpTionalitySpecを備えた固定型ValueSetFieldSpecの変換は、[ローカル名]「オプション」の要素項目です。[ローカル名]「ValueSetfield」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。ValueSetOptionalitySpecのValySetの変換は、<Default>要素アイテムの[子供]に追加されます。

   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
        

<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>要素アイテム。固定型ValueSetFieldSpecのタイプの翻訳は、<Valuesetfield>要素アイテムの[子供]または[属性]に追加するものとします。

Example

      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>
        
9.2.4. VariableTypeValueFieldSpec Translation
9.2.4.

The translation of a VariableTypeValueFieldSpec where the ValueOptionalitySpec is absent is an element item with the [local name] "valueField".

ValiaBletypalueFieldSpecの翻訳ValueOptionalitySpecが存在しない場合、[ローカル名]「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.

「オプションの」フォームのValueoptionalitySpecを備えたVariabletypalueFieldSpecの変換は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「ValueField」を備えた要素アイテムは、<オプション>要素アイテムの[子供]に追加されます。

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> element item. The translation of the Value in the ValueOptionalitySpec SHALL be added to the [children] or [attributes] of the <default> element item.

「デフォルト値」フォームのvalueoptionalitySpecを備えたvariabletypaluefieldspecの変換は、[ローカル名]「オプション」の要素項目です。[ローカル名]「ValueField」を備えた要素アイテムは、<オプション>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。ValueOptionalitySpecの値の変換は、<Default>要素アイテムの[子供]または[属性]に追加されます。

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.

[ローカル名]「名前」を備えた属性アイテムは、<valueField>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、アンパサンド文字なし( '&'、u 0026)のないvariabletypevaluefieldspecの値フィールドレファレンスです。[ローカル名]「アノテーション」を備えた要素アイテムは、<valuefield>要素アイテムの[子供]に追加される場合があります。[ローカル名]「Typefromfield」を備えた要素アイテムは、<balueField>要素アイテムの[子供]に追加されます。variabletypaluefieldspecでのフィールド名の変換は、<typefromfield>要素アイテムの[子供]または[属性]に追加されます。

Example

      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>
        
9.2.5. VariableTypeValueSetFieldSpec Translation
9.2.5. variabletypevaluesetfieldspec翻訳

The translation of a VariableTypeValueSetFieldSpec where the ValueSetOptionalitySpec is absent is an element item with the [local name] "valueSetField".

ValiaToptionalitySpecが存在しないVariabletypevaluesetfieldSpecの翻訳は、[ローカル名]「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.

「オプション」フォームのValueSetOptionalitySpecを使用したVariabletypevaluesetfieldSpecの変換は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「ValueSetfield」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。

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.
        

Example

      CLASS {
          &Syntax DEFAULT INTEGER,
          &One    &Syntax,
          &Two    &Syntax OPTIONAL,
          &Three  &Syntax DEFAULT { 1 | 2 }
      }
        
      <class>
       <optional>
        <typeField name="Syntax"/>
        <default type="asnx:INTEGER"/>
       </optional>
        
       <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. フィールド名翻訳

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 [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).

<FieldName>要素アイテムの[Children]プロパティは、AmpersandCharatレル( '&'、 '&'、fieldnameのPrimitiveFieldNameインスタンスのSolidus( '/'、u 002f)のキャラクターアイテムのシーケンスに設定されています。U 0026)。主要なホワイトスペースキャラクターアイテムを<フィールド名>要素アイテムの[子供]に追加できます。Solidus文字( '/'、u 002f)のキャラクターアイテムの直前および/または直後に、ホワイトスペースのキャラクターアイテムが追加される場合があります。

Example

&Linked.&ArgumentType

&linked。&argumentType

      <fieldName>Linked/ArgumentType</fieldName>
        
9.2.7. ObjectFieldSpec Translation
9.2.7. ObjectFieldSpec翻訳

The translation of an ObjectFieldSpec where the ObjectOptionalitySpec is absent is an element item with the [local name] "objectField".

ObjectOptionalitySpecが存在しないObjectFieldSpecの変換は、[ローカル名]「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 "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.

「デフォルトオブジェクト」フォームのObjectOptionalitySpecを使用したObjectFieldSpecの変換は、[ローカル名]「オプション」の要素アイテムです。[ローカル名]「オブジェクトフィールド」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。ObjectOptionalitySpec内のオブジェクトの変換は、<Default>要素アイテムの[子供]または[属性]に追加されます。

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.

[ローカル名]「名前」の属性アイテムは、<ObjectField>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、アンパサンド文字なし( '&'、u 0026)のないオブジェクトフィールドSpecのオブジェクトフィールドレファレンスです。[ローカル名]「アノテーション」を備えた要素アイテムは、<ObjectField>要素アイテムの[子供]に追加される場合があります。ObjectFieldSpecにおける定義されたObjectClassの翻訳は、<ObjectField>要素アイテムの[子供]または[属性]に追加されます。

Example

      CLASS {
          &one    TYPE-IDENTIFIER,
          &two    ABSTRACT-SYNTAX OPTIONAL,
          &three  TYPE-IDENTIFIER DEFAULT myObject
      }
        
      <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.

The translation of an ObjectSetFieldSpec where the ObjectSetOptionalitySpec is absent is an element item with the [local name] "objectSetField".

ObjectSetoptionalitySpecが存在しないObjectSetFieldSpecの変換は、[ローカル名]「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.

「オプション」フォームのObjectSetOptionSpecを使用したObjectSetFieldSpecの変換は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「Objectsetfield」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。

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.

「デフォルトオブジェクトセット」フォームのObjectSetOpTionalitySpecを使用したObjectSetFieldSpecの変換は、[ローカル名]「オプション」を備えた要素アイテムです。[ローカル名]「Objectsetfield」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されます。[ローカル名]「デフォルト」を備えた要素アイテムは、<optional>要素アイテムの[子供]に追加されるものとします。objectoptionalitySpecのオブジェクトセットの変換は、<default>要素アイテムの[子供]または[属性]に追加されます。

   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.
        

Example

      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>
        
10. Translation of Objects
10. オブジェクトの翻訳

The translation of an Object is the translation of the DefinedObject, ObjectDefn, ObjectFromObject, or ParameterizedObject in the Object.

オブジェクトの変換は、オブジェクト内の定義Object、ObjectDefn、ObjectFromFromfurject、またはパラメーター化されたオブジェクトの変換です。

The translation of a ParameterizedObject is described in Section 13.

パラメーター化されたオブジェクトの翻訳は、セクション13で説明されています。

10.1. DefinedObject Translation
10.1. 定義されたオブジェクト翻訳

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.

定義されたオブジェクトがObjectReference(dummyRereferenceではない)またはexternalObjectReferenceである場合、定義されたオブジェクトの変換は、オブジェクト参照の属性フォーム変換か、オブジェクト参照の要素形式変換です。

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).

オブジェクト参照の属性フォーム変換は、[ローカル名]「オブジェクト」の属性アイテムです。この属性項目の[正規化された値]は、参照されるオブジェクト定義の拡張名の適格名です(セクション5.1を参照)。この拡張された名前が現在のモジュールとその<intempert>要素項目によって参照されるモジュールに対して異なる場合は、属性フォーム変換を使用してはなりません(セクション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

オブジェクト参照の要素形式変換は、[ローカル名]「オブジェクト」を備えた要素アイテムです。[ローカル名]「アノテーション」を持つ要素アイテムは、の[子供]に追加される場合があります

   <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).

The translation of the DefinedObject is the same whether the object definition is referenced by an objectreference or an ExternalObjectReference.

定義されたオブジェクトの変換は、オブジェクト定義がObjectReferenceまたは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.

通常、翻訳者は、オブジェクト参照の属性フォームまたは要素フォーム変換のいずれかを自由に選択できます。ただし、一部のコンテキストでは、属性フォームは明示的に許可されています。

If a DefinedObject is a DummyReference, then the translation of the DefinedObject is the translation of the DummyReference (see Section 13).

定義されたオブジェクトがdummyReferenceである場合、定義されたオブジェクトの翻訳はdummyReferenceの翻訳です(セクション13を参照)。

10.2. ObjectDefn Translation
10.2. ObjectDefn翻訳

An ObjectDefn that is a DefinedSyntax is first converted to the equivalent DefaultSyntax and then translated.

definedsyntaxであるObjectDefnは、最初に同等のDefaultSyNTAXに変換され、次に翻訳されます。

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.

ObjectDefnの翻訳は、[ローカル名]「オブジェクト」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<オブジェクト>要素アイテムの[子供]に追加される場合があります。ObjectClassDefnのDefaultSyNTAXでの各フィールドセットの変換は、<Object>要素アイテムの[子供]に追加されるものとします。

   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 Setting in the FieldSetting SHALL be added to the [children] or
   [attributes] of the <field> element item.
        

Example

      -- 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>
        
      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"/>
        
         </objectSet>
        </field>
       </object>
      </namedObject>
        
10.3. ObjectFromObject Translation
10.3. ObjectFromObject翻訳

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.

ObjectFromObjectの翻訳は、[ローカル名]「オブジェクト」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<オブジェクト>要素アイテムの[子供]に追加される場合があります。[ローカル名]「fromobjects」を備えた要素アイテムは、<オブジェクト>要素アイテムの[子供]に追加されます。

The translation of the ReferencedObjects instance in the ObjectFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

ObjectFromObjectの参照Objectsインスタンスの翻訳は、<FromObjects>要素アイテムの[子供]または[属性]に追加されます。

The translation of the FieldName in the ObjectFromObject SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

ObjectFromObjectのフィールド名の変換は、<FromObjects>要素アイテムの[子供]または[属性]に追加されるものとします。

11. Translation of Object Sets
11. オブジェクトセットの翻訳

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.

オブジェクトセットがフォーム「{definedObjectset}」(つまり、オブジェクトセットセクションインスタンスの要素インスタンスのオブジェクトセットセットインスタンスの要素インスタンスのオブジェクトセットセットインスタンスのオブジェクトセットセットインスタンスの唯一の交差点インスタンスの定義オブジェクトセットと一致している場合、オブジェクトエレメントセットペックのルートセットセットペックの要素セットセットペックの要素のインスタンスのユニオンインスタンスのユニオンインスタンスのユニオンインスタンスのインスタンスの唯一の交差点インスタンスのインスタンスインスタンスの唯一の交差点インスタンスのインスタンスが定義されています。)、翻訳者は、definedObjectsetの翻訳をオブジェクトセットの翻訳として使用する場合があります。それ以外の場合、オブジェクトセットの変換は、[ローカル名]「オブジェクトセット」の要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<ObjectSet>要素アイテムの[子供]に追加される場合があります。ObjectSetspecのオブジェクトセットセットの翻訳は、<ObjectSet>要素アイテムの[子供]に追加されるものとします。

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.

ObjectSetsPecにrootelementSetspecのみが含まれている場合、ObjectSetsPecの変換はrootelementsetsetpecのElementsetPecの変換です。

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.

ObjectSetsPecにrootelementsetspec( "...")が含まれている場合、ObjectSetspecの変換は、rootelementsetpecのElementsetspecの翻訳に続いて、[ローカル名]「拡張子」の要素アイテムが続きます。追加のエレメントセットが存在する場合、追加のエレメントセットのelementsetPecの翻訳を<拡張>要素アイテムの[子供]に追加するものとします。

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.

ObjectSetsPecにrootelementSetspecが含まれていない場合、ObjectSetspecの変換は[ローカル名]「拡張機能」を持つ要素アイテムです。追加のエレメントセットが存在する場合、追加のエレメントセットのelementsetPecの翻訳を<拡張>要素アイテムの[子供]に追加するものとします。

Nested within the ElementSetSpec will be one or more ObjectSetElements instances.

ElementSetspec内にネストされているのは、1つ以上のObjectSetelementsインスタンスになります。

11.1. DefinedObjectSet Translation
11.1. 定義されたオブジェクトセット翻訳

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.

definedObjectsetがObjectSetReference(DummyReReferenceではない)または外部ObjectSetReferenceである場合、定義ObjectSetの変換は、オブジェクトセット参照の属性形式変換、またはオブジェクトセット参照の要素フォーム変換のいずれかです。

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).

オブジェクトセット参照の属性フォーム変換は、[ローカル名]「オブジェクトセット」の属性アイテムです。この属性項目の[正規化された値]は、参照されるオブジェクトセット定義の拡張名の適格名です(セクション5.1を参照)。この拡張された名前が現在のモジュールとその<intempert>要素項目によって参照されるモジュールに対して異なる場合は、属性フォーム変換を使用してはなりません(セクション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" 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.

オブジェクトセット参照の要素形式変換は、[ローカル名]「Objectset」を備えた要素アイテムです。[ローカル名]「アノテーション」を備えた要素アイテムは、<ObjectSet>要素アイテムの[子供]に追加される場合があります。[ローカル名]「ref」を備えた属性項目は、<Objectsset>要素アイテムの[属性]に追加されます。この属性アイテムの[正規化された値]は、参照されるオブジェクトセット定義の拡張名の適格名です。この拡張された名前が現在のモジュールとその<intempert>要素項目で参照されるモジュールに対して異なる場合、[ローカル名]「コンテキスト」を持つ属性アイテムは、<objectsetの[属性]に追加されるものとします。>要素アイテム;それ以外の場合、参照されるオブジェクトセット定義を含むモジュールにスキーマID URIがある場合、[ローカル名]「コンテキスト」を持つ属性アイテムが<Objectsset>要素アイテムの[属性]に追加される場合があります。この属性アイテムの[正規化された値]は、参照されるオブジェクトセット定義を含むモジュールのスキーマID 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).

さておき:参照名が異なる場合、参照される定義を含むモジュールにはスキーマID URIが必要です(セクション5.1を参照)。

The translation of the DefinedObjectSet is the same whether the object definition is referenced by an objectsetreference or an ExternalObjectSetReference.

定義されたObjectsetの変換は、オブジェクト定義がObjectSetReferenceまたは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.

通常、翻訳者は、オブジェクトセット参照の属性フォームまたは要素フォーム変換のいずれかを自由に選択できます。ただし、一部のコンテキストでは、属性フォームは明示的に許可されています。

If a DefinedObjectSet is a DummyReference, then the translation of the DefinedObjectSet is the translation of the DummyReference (see Section 13).

定義されたオブジェクトセットがdummyReferenceである場合、定義されたオブジェクトセットの翻訳はダミーレファレンスの変換です(セクション13を参照)。

11.2. ObjectSetElements Translation
11.2. ObjectSetelements翻訳

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.

ObjectSeteLementsインスタンスがオブジェクトである場合、オブジェクトセットセレメントインスタンスの変換はオブジェクトの変換ですが、オブジェクトが定義されたオブジェクトである場合、定義されたオブジェクト変換の属性形式が使用されないことを除きます。

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.

ObjectSeteLementsインスタンスが定義ObjectSetである場合、ObjectSetelementsインスタンスの変換は、定義ObjectSetの翻訳です。

If an ObjectSetElements instance is an ObjectSetFromObjects, then the translation of the ObjectSetElements instance is the translation of the ObjectSetFromObjects.

ObjectSeteLementsインスタンスがObjectSetfromObjectsである場合、ObjectSetelementsインスタンスの変換はObjectSetfromObjectsの変換です。

If an ObjectSetElements instance is a ParameterizedObjectSet, then the translation of the ObjectSetElements instance is the translation of the ParameterizedObjectSet (see Section 13).

ObjectSetelementsインスタンスがパラメーター化されたObjectsetである場合、ObjectSetelementsインスタンスの変換はパラメーター化オブジェクトセットの変換です(セクション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.

さておき:パラメーター化されたObjectsetのインライン拡張により、オブジェクトセットが表示されます。オブジェクトセットであるObjectSetelementsインスタンスは、ASN.1には存在しないが、asn.xで許可されている表記機能であり、拡張されたパラメーター化された定義の参照名を製造する必要性を回避します。

11.2.1. ObjectSetFromObjects Translation
11.2.1. objectfromobjects翻訳

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>要素アイテムの[子供]に追加される場合があります。[ローカル名]「fromobjects」を備えた要素アイテムは、<Objectsset>要素アイテムの[子供]に追加されるものとします。

The translation of the ReferencedObjects instance in the ObjectSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

ObjectsetfromObjectsのReferencedObjectsインスタンスの翻訳は、<FromObjects>要素アイテムの[子供]または[属性]に追加されます。

The translation of the FieldName in the ObjectSetFromObjects SHALL be added to the [children] or [attributes] of the <fromObjects> element item.

ObjectSetfromObjectsのフィールド名の変換は、<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.

参照ObjectsインスタンスがdefinedObject(dummyreferenceではありません)である場合、参照Objectsインスタンスの翻訳は定義objectの翻訳です。

If a ReferencedObjects instance is a DefinedObjectSet (not a DummyReference), then the translation of the ReferencedObjects instance is the translation of the DefinedObjectSet.

参照ObjectsインスタンスがdefinedObjectset(dummyreferenceではありません)である場合、参照オブジェクトインスタンスの変換は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).

参照オブジェクトのインスタンスがdummyRereference、parameterizedObject、またはparameterizedObjectsetである場合、参照オブジェクトインスタンスの変換は、その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.

さておき:パラメーター化オブジェクトまたはパラメーター化オブジェクトセットのインライン拡張により、それぞれオブジェクトまたはオブジェクトセットが表示されます。オブジェクトまたはオブジェクトセットである参照オブジェクトインスタンスは、asn.1には存在しないが、asn.xで許可されている表記機能であり、拡張されたパラメーター化された定義の参照名を製造する必要性を回避します。

13. Translation of Parameterized Definitions
13. パラメーター化された定義の翻訳

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.1仕様のasn.xへの変換は、dummyReference [x.683]またはパラメーター化された定義[x.683]への参照を、定義をインラインで拡張して置き換えます(再帰パラメーター化されたタイプを含む特殊なケースを除く)。たとえば、パラメーター化されたオブジェクトは、参照されたパラメーター化されたオブジェクトアッセニメントの右側のオブジェクトに置き換えられます。

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.

DummyRereferenceまたはパラメーター化された参照(たとえば、パラメーター化されたObjectを置き換えるオブジェクト)を置き換える定義は、参照とは異なるモジュールから得られる可能性があります。DummyRereferenceまたはパラメーター化された参照をインラインで拡張すると、代替定義は参照を含むモジュールのコンテキストになり、したがって、代替定義の解釈が変更される可能性があります。

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と拡張機能に依存する可能性があり、XMLエンコードルール(XER)[X.693]エンコードコントロールセクション[X.693-1]の指示をエンコードすることによっても影響を受ける可能性があります。。他の種類の定義は、モジュールのコンテキストに依存しません。ただし、タイプ定義は他の種類の定義内にネストできます。そのため、コンテキストの変更は依然として重要です。

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.

さておき:タイプ定義は、モジュールのRXERまたは一般的な文字列エンコードルール(GSER)[GSER]コントロールセクション[RXEREI] [GSEREI] [GSEREI](現在定義されているように)に依存しないため、RXERまたは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またはパラメーター化された参照の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.

いずれの場合も、DummyReReferenceまたはパラメーター化された参照を含むモジュールは参照モジュールであり、代替定義を提供するモジュールは参照モジュールです。参照モジュールと参照モジュールは同じモジュールである場合があります。

In the case of a ParameterizedType, the substitute definition is the Type on the right-hand side of the referenced ParameterizedTypeAssignment.

パラメーター化されたタイプの場合、代替定義は参照されたparameterizedTypeasSignmentの右側のタイプです。

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]).

パラメーター化ValueSetTypeの場合、代替定義は、参照されたパラメーター化されたValueSetTypeasSignmentに相当する概念的なパラメーター化されたペアスシグメントの右側の制約されたタイプです(X.680 [X.680]の条項15.8を参照)。

In the case of a ParameterizedValue, the substitute definition is the Value on the right-hand side of the referenced ParameterizedValueAssignment.

パラメーター化されたバリューの場合、代替定義は参照されたパラメーター化されたバリューアーズシグネメントの右側の値です。

In the case of a ParameterizedObjectClass, the substitute definition is the ObjectClass on the right-hand side of the referenced ParameterizedObjectClassAssignment.

パラメーター化されたObjectClassの場合、代替定義は、参照されたパラメーター化されたObjectClassAssignmentの右側のObjectClassです。

In the case of a ParameterizedObject, the substitute definition is the Object on the right-hand side of the referenced ParameterizedObjectAssignment.

パラメーター化されたオブジェクトの場合、代替定義は参照されたパラメーター化オブジェクトアッセニメントの右側のオブジェクトです。

In the case of a ParameterizedObjectSet, the substitute definition is the ObjectSet on the right-hand side of the referenced ParameterizedObjectSetAssignment.

パラメーター化オブジェクトセットの場合、代替定義は、参照されたパラメーター化されたObjectSetAssignmentの右側のオブジェクトセットです。

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.

DummyRereferenceに対応する実際のパラメーターがValueSetではない場合、そのdummyReferenceの代替定義は、実際のパラメーターのタイプ、値、DefinedObjectClass、オブジェクト、またはオブジェクトセットです。

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.

DummyReReferenceに対応する実際のパラメーターがValyetsである場合、そのDummyRereferenceの代替定義は、Valyetに相当する概念的な制約タイプです。ValueSetのElementSetspecsは、制約されたタイプの制約に貢献し、実際のパラメーターに対応するパラメーターの知事は、制約された親タイプとして使用されます。

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が「明示的なタグ」と同等であると見なされる)があり、参照されるモジュールと参照モジュールには同じ拡張機能を備えており、どちらのモジュールも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エンコード制御セクションを備えたモジュールは、代替型定義が識別される型が参照されるXERエンコード制御セクションのターゲットリストに表示される可能性があるため、それ自体を含む別のモジュールと交換可能なコンテキストを持つとは見なされません。モジュール、および代替定義をインラインで拡張すると、それ以外の場合は適用されない参照モジュールのXERエンコード制御セクションのターゲットリストの範囲内にテキストが届く可能性があります。

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 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.

定義(再帰的に含まれる):パラメーター化されたタイプは、その翻訳が同等の別のパラメーター化されたタイプの翻訳(つまり、インライン拡張)内にネストされる場合、再帰的に封じ込められます。パラメーター化ValueSetTypeは、その翻訳が同等の別のパラメーターValueSetTypeの変換内にネストされる場合、再帰的に含まれます。

Aside: ASN.1 does not permit the other kinds of parameterized reference to be recursive.

さておき:ASN.1は、他の種類のパラメーター化された参照が再帰的であることを許可しません。

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:

DummyRereferenceの変換、再帰的に含まれていないパラメーター化されたタイプ、パラメーター化されたValue、再帰的に含まれていないパラメーター化ValueSetType、パラメーター化されたObjectClass、パラメーター化されたObject、またはパラメーター化されたObjectSetのいずれかです。

(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) [ローカル名]「タイプ」の要素項目代替定義がタイプの場合、「値」の場合、代替定義が値の場合、「クラス」の場合は、代替定義がオブジェクトクラスまたは定義されたオブジェクトクラス、「オブジェクト」の場合は「オブジェクト」定義はオブジェクト、または代替定義がオブジェクトセットである場合は「オブジェクトセット」です。完全に拡張された参照(まもなく説明)を要素アイテムの[子供]に追加するものとします。

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)の翻訳が使用されている場合、ネストされたインライン拡張を検討するときに参照されるモジュールが参照モジュールになります。

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.

ケース(a)が、代替定義がタイプであるダミー許容の変換に使用されている場合、代替定義の属性形式の翻訳は使用されず、[ローカル名]「明示的」と[正規化された値]「true」または「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)が、代替定義がタイプであるDummyReferenceの変換に使用される場合、[ローカル名]「明示的」および[正規化された値]「true」または「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の場合を除き、参照名は、<Expanded>要素アイテムの[属性]に[name name]「名前」が追加された属性アイテムで示されます。

In the case of a ParameterizedType or ParameterizedValueSetType, the [normalized value] of this attribute item is the typereference of the ParameterizedType or ParameterizedValueSetType.

パラメーター化されたタイプまたはパラメーター化ValueSetTypeの場合、この属性アイテムの[正規化された値]は、パラメーター化されたタイプまたはパラメーター化ValueSetTypeの型です。

In the case of a ParameterizedValue, the [normalized value] of this attribute item is the valuereference of the ParameterizedValue.

パラメーター化された値の場合、この属性項目の[正規化された値]は、パラメーター化Valueの評価です。

In the case of a ParameterizedObjectClass, the [normalized value] of this attribute item is the objectclassreference of the ParameterizedObjectClass.

パラメーター化されたObjectClassの場合、この属性項目の[正規化された値]は、パラメーター化されたObjectClassのオブジェクトクラスレファレンスです。

In the case of a ParameterizedObject, the [normalized value] of this attribute item is the objectreference of the ParameterizedObject.

パラメーター化されたオブジェクトの場合、この属性アイテムの[正規化された値]は、パラメーター化オブジェクトのオブジェクトリファレンスです。

In the case of a ParameterizedObjectSet, the [normalized value] of this attribute item is the objectsetreference of the ParameterizedObjectSet.

パラメーター化オブジェクトセットの場合、この属性アイテムの[正規化された値]は、パラメーター化されたオブジェクトセットのオブジェクトセットレファレンスです。

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 (3) the reference is a typereference that does not appear in any TargetList in an XER encoding control section of the referenced module.

(2) 参照は型ではありません。または(3)参照は、参照されたモジュールのXERエンコード制御セクションの任意のターゲットリストに表示されない段階です。

The "name" attribute SHALL NOT appear in the translation of a DummyReference.

「名前」属性は、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:

参照されたモジュールは、<Expanded>要素アイテムの[子供]に追加された[ローカル名]「モジュール」を備えた要素アイテムで示されます。(a)が満たされている場合、または参照モジュールが参照されたモジュールである場合、翻訳の使用を許可する条件が場合、<モジュール>要素アイテムが省略される場合があります。<module>要素アイテムが存在する場合:

(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) [ローカル名]「名前」を備えた属性アイテムは、<module>要素アイテムの[属性]に追加する必要があります。この属性項目の[正規化された値]は、参照されたモジュールのモジュール定義のモジュール産物のモジュール表示です。

(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)

(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) 参照されたモジュールにスキーマID URIがある場合、[ローカル名]「スキーマアイデンティティ」を備えた属性アイテムを<モジュール>要素アイテムの[属性]に追加するものとします。この属性項目の[正規化された値]は、参照されるモジュールのスキーマアイデンティティURIです。

The [attributes] of the <module> element item MUST contain at least one of the attribute items specified in cases (1), (2), and (3).

<module>要素アイテムの[属性]には、ケース(1)、(2)、および(3)で指定された属性項目の少なくとも1つを含める必要があります。

The translation of the substitute definition SHALL be added to the [children] or [attributes] of the <expanded> element item.

代替定義の翻訳は、<expanded>要素アイテムの[子供]または[属性]に追加されます。

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
        

END

終わり

         ProtocolDefinitions
         DEFINITIONS
         AUTOMATIC TAGS ::=
         BEGIN
        

IMPORTS CollectionOfThings{} FROM Templates ;

テンプレートから{} {}をインポートします。

         CollectionOfIntegers ::= CollectionOfThings { INTEGER }
             -- the right-hand side of the assignment is
             -- a ParameterizedType
        

END

終わり

Without using the translation in case (a), the translations of these modules are:

ケース(a)の翻訳を使用せずに、これらのモジュールの翻訳は次のとおりです。

         <asnx:module name="Templates"/>
        
         <asnx:module xmlns:asnx="urn:ietf:params:xml:ns:asnx"
                      name="ProtocolDefinitions">
        
          <namedType name="CollectionOfIntegers">
           <type>
            <expanded name="CollectionOfThings">
             <module name="Templates"/>
             <type>
              <sequenceOf>
               <element name="thing">
                <type>
                 <expanded>
        
                  <module name="ProtocolDefinitions"/>
                  <type ref="asnx:INTEGER"/>
                 </expanded>
                </type>
               </element>
              </sequenceOf>
             </type>
            </expanded>
           </type>
          </namedType>
        
         </asnx:module>
        

The translation of the Templates module is empty because the module contains only a parameterized assignment.

モジュールにはパラメーター化された割り当てのみが含まれているため、テンプレートモジュールの変換は空です。

Since the contexts of the Templates and ProtocolDefinitions modules are interchangeable, a simpler translation of the ProtocolDefinitions module is permitted:

テンプレートとプロトコールド定義モジュールのコンテキストは互換性があるため、プロトコルデフィンモジュールのよりシンプルな変換が許可されています。

         <asnx:module xmlns:asnx="urn:ietf:params:xml:ns:asnx"
                      name="ProtocolDefinitions">
        
          <namedType name="CollectionOfIntegers">
           <type>
            <sequenceOf>
             <element name="thing">
              <type ref="asnx:INTEGER" explicit="true"/>
             </element>
            </sequenceOf>
           </type>
          </namedType>
        
         </asnx:module>
        

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が再帰的に含まれている場合、その翻訳は[ローカル名]「タイプ」の要素アイテムです。[ローカル名]「祖先」の属性アイテムは、<タイプ>要素アイテムの[属性]に追加されます。この属性項目の[正規化された値]は、1つの整数値を表す10進数桁の文字列です。さらに、パラメーター化されたタイプの2つの同等のインスタンスの翻訳から生じる<type>要素項目の間の<type>要素項目の間に<Type>要素項目を囲む中間の数の数を表します。parametizedValueSetType。[ローカル名]「アノテーション」を備えた要素アイテムは、<タイプ>要素アイテムの[子供]に追加される場合があります。

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.

Ancestor属性項目を持つ<Type>要素アイテムは、祖先<Type>要素アイテムへの参照です。<type>要素アイテムのこのフォームは、asn.xで記述された元の仕様では使用しないでください。

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.1に翻訳されるasn.1仕様で再帰的なパラメーター化されたタイプ定義を処理する目的でのみ意図されています。このような定義は自己参照ですが、明らかな名前はありません。また、再帰的なパラメーター化されたタイプは、それ自体が名前が付けられていない情報オブジェクトなどの他のコンストラクトに埋め込まれる可能性があるため、周囲のコンテキストから適切な名前を作成することも容易ではありません。

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
         }
        
         NumberTree ::= [APPLICATION 13] Tree { INTEGER }
        

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:

「ツリー」の割り当ては、パラメーター化されたassignmentであるため、直接翻訳されません。TaggedTypeにタイプを含むがまだ含まれていない「NumberTree」割り当ての翻訳は次のとおりです。

         <namedType name="NumberTree">
          <type>
           <tagged tagClass="application" number="13"/>
          </type>
         </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のタイプはparameterizedTypeです。parameterizedTypeは再帰的に含まれていないため、parameterizedTypeの変換(上記(a)の場合の変換を使用)は、参照されたparameterizedtypeassignmentの右側のタイプの変換です。

         SEQUENCE {
             value          [0] ValueType,
             left-subtree   [1] Tree { ValueType } OPTIONAL,
             right-subtree  [2] Tree { ValueType } OPTIONAL
         }
        

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はダミーレファレンスです。実際のパラメーターの翻訳は、ダミーレファレンスの代わりになります。この場合、実際のパラメーターは整数型です。

The translation for the SEQUENCE type, up to the first component, is added to the <tagged> element:

最初のコンポーネントまでのシーケンスタイプの変換は、<タグ付き>要素に追加されます。

         <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>
        

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のタイプは、パラメーター化されたタイプです。このparameterizedTypeは再帰的に含まれているため、その翻訳は祖先属性を持つ<type>要素です。祖先属性の値は「2」です。別の言い方をすれば、parameterizedTypeの同等のインスタンスの翻訳は2つの<type>ステップです。

The translation of the third component of the SEQUENCE type follows the same pattern as the second component. The completed translation is as follows:

シーケンスタイプの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 -->
        
                </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>
        
14. EncodingControlSections Translation
14. コードコントロールセクションの翻訳

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.

エンコーディングコントロールセクションインスタンスに、rxerではないエンコードリファレンスを使用した少なくとも1つのエンコーディングコントロールセクションが含まれている場合、エンコーディングコントロールセクションインスタンスの変換は[ローカル名]「エンコードコントロール」の要素項目です。rxerではないエンコードリファレューションを使用した各エンコード制御の翻訳は、<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で明示的な表現があります。

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.

エンコーディングコントロールセクションでのエンコーディングリファレンスがGSERである場合、エンコーディングコントロールセクションの変換は[ローカル名]「GSER」の要素アイテムです。エンコーディングコントロールセクションにおけるエンコーディンインストルトラクションアッセンスリストの翻訳は、<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].

エンコーディングコントロールセクションでのエンコーディングリファレンスがXERの場合、エンコーディングコントロールセクションの変換は[ローカル名]「XER」の要素アイテムです。エンコーディングコントロールセクションにおけるエンコーディンインストゥラントラクションアッセンスリストの翻訳は、<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])は、保持されているXMLドキュメントのインフォセットに依存します。ただし、asn.xモジュールのインフォセット表現は、デコードされて再エンコードされている場合(そのasn.1値が保存されている)、標準的なXML表現を破壊する潜在的に変化します。この問題を回避するには、構文ベースの正規化を適用する前に、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.

このドキュメントで説明されている技術は、Adacel Technologies LimitedとDeakin Universityが共同で開始した研究プロジェクトの産物であり、その後EB2BCOMによって洗練され完了しました。

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] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

[URI] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", STD 66, RFC 3986, January 2005.

[URI] Berners-Lee、T.、Fielding、R。and L. Masinter、「ユニフォームリソース識別子(URI):汎用構文」、STD 66、RFC 3986、2005年1月。

[GSER] Legg, S., "Generic String Encoding Rules (GSER) for ASN.1 Types", RFC 3641, October 2003.

[GSER] Legg、S。、「ASN.1タイプの一般的な文字列エンコードルール(GSER)」、RFC 3641、2003年10月。

[GSEREI] Legg, S., "Encoding Instructions for the Generic String Encoding Rules (GSER)", RFC 4792, January 2007.

[GSEREI] Legg、S。、「一般的な文字列エンコードルール(GSER)の指示のエンコード」、RFC 4792、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. Prager、「抽象的構文表記1(ASN.1)のための堅牢なXMLエンコードルール(RXER)」、RFC 4910、2007年7月。

[RXEREI] Legg, S., "Encoding Instructions for the Robust XML Encoding Rules (RXER)", RFC 4911, July 2007.

[Rxerei] Legg、S。、「堅牢なXMLエンコードルール(RXER)の指示のエンコード」、RFC 4911、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。、「Abstract Syntax Notation X(ASN.X)ジェネリック文字列エンコードルール(GSER)のエンコード命令の表現」、RFC 4913、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エンコードルール(XER)のエンコード命令の抽象構文表記X(ASN.X)表現」、RFC 4914、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/IEC 8824-1、情報技術 - 抽象的構文表記1(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/IEC 8824-1:2002/AMD 1:2004、Extend-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/IEC 8824-2、情報技術 - 抽象的構文表記1(ASN.1):情報オブジェクト仕様。

[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/IEC 8824-3、情報技術 - 抽象的構文表記1(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/IEC 8824-4、情報技術 - 抽象的な構文表記1(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/IEC 8825-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-TRec。X.693| ISO/IEC 8825-4)XERエンコード命令と拡張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] Bray、T.、Paoli、J.、Sperberg-Mcqueen、C.、Maler、E。and 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] Bray、T.、Paoli、J.、Sperberg-Mcqueen、C.、Maler、E.、Yergeau、F。、およびJ. Cowan、「Extensible Markup Language(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] Bray、T.、Hollander、D.、Layman、A。、およびR. Tobin、「XML 1.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] Bray、T.、Hollander、D.、Layman、A。and R. Tobin、「XML 1.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] Cowan、J。and R. Tobin、「XML Information Set(第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.

[Unicode] Unicode Consortium、「Unicode Standard、バージョン4.0」、マサチューセッツ州ボストン、Addison-Wesley Developers Press、2003年。ISBN0-321-18578-1。

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] Boyer、J。、「Canonical XMLバージョン1.0」、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] Thompson、H.、Beech、D.、Maloney、M.、N。Mendelsohn、「XML Schema Part 1:Structures Second Edition」、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.マコト、「リラックスNGチュートリアル」、OASIS委員会の仕様、http://www.oasis-open.org/委員会/rack-ng/tutorial-20011203.html、2001年12月。

Appendix A. ASN.1 for ASN.X
付録A. asn.xの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) }
        
   -- 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.
        
   DEFINITIONS
   RXER INSTRUCTIONS
   AUTOMATIC TAGS
   EXTENSIBILITY IMPLIED ::= BEGIN
        
   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)
                    xmled(21472) asnx(1) module(0) xer-ei-notation(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
   }
        
   ModuleReference ::= TypeReference
        
   DefinitiveIdentifier ::= OBJECT IDENTIFIER
        
   TagDefault ::= ENUMERATED { explicit, implicit, automatic }
        
   Annotation ::= Markup
        
   ImportList ::= SEQUENCE SIZE (1..MAX) OF import Import
        
   Import ::= SEQUENCE {
       name            [ATTRIBUTE] ModuleReference OPTIONAL,
       identifier      [ATTRIBUTE] DefinitiveIdentifier OPTIONAL,
       schemaIdentity  [ATTRIBUTE] AnyURI OPTIONAL,
       namespace       [ATTRIBUTE] AnyURI OPTIONAL,
       schemaLocation  [ATTRIBUTE] AnyURI OPTIONAL
   }
        
   AssignmentList ::= SEQUENCE SIZE (1..MAX) OF
       assignment [GROUP] Assignment
        
   Assignment ::= [NO-INSERTIONS] CHOICE {
       namedType       TypeAssignment,
       namedValue      ValueAssignment,
       namedValueSet   ValueSetTypeAssignment,
       namedClass      ObjectClassAssignment,
       namedObject     ObjectAssignment,
          namedObjectSet  ObjectSetAssignment,
       component       [GROUP] TopLevelNamedType
   }
        
   TypeAssignment ::= SEQUENCE {
       annotation  Annotation OPTIONAL,
       name        [ATTRIBUTE] TypeReference,
       type        [GROUP] Type
   }
        
   TypeReference ::= UTF8String (PATTERN "[A-Z]\w*(-\w+)*")
                                 -- \w is equivalent to [a-zA-Z0-9]
        
   ValueAssignment ::= SEQUENCE {
       annotation  Annotation OPTIONAL,
       name        [ATTRIBUTE] ValueReference,
       type        [GROUP] Type,
       value       [GROUP] Value
   }
        
   ValueReference ::= Identifier
        
   Identifier ::= UTF8String (PATTERN "[a-z]\w(-\w+)*")
        
   ValueSetTypeAssignment ::= SEQUENCE {
       annotation  Annotation OPTIONAL,
       name        [ATTRIBUTE] TypeReference,
       type        [GROUP] Type,
       valueSet    [GROUP] ValueSet
   }
        
   ObjectClassAssignment ::= SEQUENCE {
       annotation   Annotation OPTIONAL,
       name         [ATTRIBUTE] ObjectClassReference,
       objectClass  [GROUP] ObjectClass
   }
        
   ObjectClassReference ::= UTF8String
                                (PATTERN "[A-Z][A-Z0-9]*(-[A-Z0-9]+)*")
        
   ObjectAssignment ::= SEQUENCE {
       annotation   Annotation OPTIONAL,
       name         [ATTRIBUTE] ObjectReference,
       objectClass  [GROUP] DefinedObjectClass,
       object       [GROUP] Object
   }
        
   ObjectReference ::= ValueReference
      ObjectSetAssignment ::= SEQUENCE {
       annotation   Annotation OPTIONAL,
       name         [ATTRIBUTE] ObjectSetReference,
       objectClass  [GROUP] DefinedObjectClass,
       objectSet    [GROUP] ObjectSet
   }
        
   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 })
        
   NamedType ::= [SINGULAR-INSERTIONS] CHOICE {
       component      Element,
       element        Element,
       attribute      Attribute,
       group          InvisibleNamedType,
       member         InvisibleNamedType,
       item           InvisibleNamedType,
       simpleContent  InvisibleNamedType
   }
        
   Attribute ::= GenericNamedType
       (WITH COMPONENTS { ...,
           definition (WITH COMPONENTS { ...,
               local (WITH COMPONENTS { ...,
                   typeAsVersion ABSENT }) }) })
        
   Element ::= GenericNamedType
       (WITH COMPONENTS { ...,
           definition (WITH COMPONENTS { ...,
               local (WITH COMPONENTS { ...,
                   versionIndicator ABSENT }) }) })
        
   InvisibleNamedType ::= GenericNamedType
       (WITH COMPONENTS { ...,
           definition (WITH COMPONENTS { ...,
               reference  ABSENT,
               local (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
       }
   }
        
   IdentifierOrEmpty ::= UTF8String (INCLUDES Identifier | "")
        
   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 })
        
   LocalComponent ::= SEQUENCE {
       name              [ATTRIBUTE] NCName,
       typeAsVersion     [ATTRIBUTE] BOOLEAN OPTIONAL,
       versionIndicator  [ATTRIBUTE] BOOLEAN OPTIONAL,
       type              [GROUP] Type
   }
        
   Type ::= [NO-INSERTIONS] CHOICE {
       typeRef  [NAME AS "type"] [ATTRIBUTE] QName,
       type     ElementFormType
   }
      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
       }
   }
        
   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 })
        
   ExpandedType ::= SEQUENCE {
       name    [ATTRIBUTE] NCName OPTIONAL,
       module  ReferencedModule OPTIONAL,
       type    [GROUP] Type
   }
        
   ReferencedModule ::= SEQUENCE {
        

name [ATTRIBUTE] ModuleReference OPTIONAL, identifier [ATTRIBUTE] DefinitiveIdentifier OPTIONAL, schemaIdentity [ATTRIBUTE] AnyURI OPTIONAL }

名前[属性]モジュールレファレンスオプション、識別子[属性] definitiveIdentifierオプション、schemaidentity [属性] anyuriオプション}}

   NamedBitList ::= SEQUENCE SIZE (1..MAX) OF namedBit NamedBit
        
   NamedBit ::= SEQUENCE {
       name        [ATTRIBUTE] NCName,
       identifier  [ATTRIBUTE] Identifier OPTIONAL,
       bit         [ATTRIBUTE] INTEGER (0..MAX)
   }
        
   NamedNumberList ::= SEQUENCE SIZE (1..MAX) OF
       namedNumber NamedNumber
        
   NamedNumber ::= SEQUENCE {
       name        [ATTRIBUTE] NCName,
       identifier  [ATTRIBUTE] Identifier OPTIONAL,
       number      [ATTRIBUTE] INTEGER
   }
        
   EnumeratedType ::= SEQUENCE {
       root       [GROUP] Enumeration,
       extension  SEQUENCE {
           exception  ExceptionSpec OPTIONAL,
           additions  [GROUP] Enumeration OPTIONAL
       } OPTIONAL
   }
        
   Enumeration ::= SEQUENCE SIZE (1..MAX) OF
       enumeration EnumerationItem
        
   EnumerationItem ::= SEQUENCE {
       name        [ATTRIBUTE] NCName,
       identifier  [ATTRIBUTE] Identifier OPTIONAL,
       number      [ATTRIBUTE] INTEGER OPTIONAL
   }
        
   Tag ::= SEQUENCE {
       tagClass  [ATTRIBUTE] TagClass OPTIONAL,
       number    [ATTRIBUTE] INTEGER (0..MAX),
       tagging   [ATTRIBUTE] Tagging OPTIONAL
   }
        
   TaggedType ::= SEQUENCE {
       COMPONENTS OF Tag,
       type  [GROUP] Type
        

}

}

   TagClass ::= ENUMERATED { universal, application, private }
        
   Tagging ::= ENUMERATED { explicit, implicit }
        
   EncodingPrefixedType ::= [HOLLOW-INSERTIONS] SEQUENCE {
       prefixes  [GROUP] EncodingPrefixes,
       type      [GROUP] Type
   }
        
   EncodingPrefixes ::= SEQUENCE SIZE (1..MAX) OF
       prefix [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
   }
        
   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
   }
        
   InstanceOfType ::= DefinedObjectClass
        
   ObjectClassFieldType ::= SEQUENCE {
       objectClass  [GROUP] DefinedObjectClass,
       fieldName    [GROUP] FieldName
   }
        
   FieldName ::= [SINGULAR-INSERTIONS] CHOICE {
       fieldNameAtt  [NAME AS "fieldName"]
                         [ATTRIBUTE] PrimitiveFieldNames,
       fieldName     PrimitiveFieldNames
   }
        
   PrimitiveFieldNames ::= UTF8String
      InformationFromObjects ::= [HOLLOW-INSERTIONS] SEQUENCE {
       referencedObjects  [GROUP] ReferencedObjects,
       fieldName          [GROUP] FieldName
   }
        
   ReferencedObjects ::= [SINGULAR-INSERTIONS] CHOICE {
       object     [GROUP] Object,
       objectSet  [GROUP] ObjectSet
   }
        
   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
   }
        
   ComponentTypeList ::= SEQUENCE SIZE (1..MAX) OF
       componentType [GROUP] ComponentType
        
   ComponentType ::= [NO-INSERTIONS] CHOICE {
       component     [GROUP] SequenceNamedType,
       optional      SEQUENCE {
           component     [GROUP] SequenceNamedType,
           default       Value OPTIONAL
       },
       componentsOf  Type
   }
        
   SequenceNamedType ::= NamedType
       (WITH COMPONENTS { ..., member ABSENT, item ABSENT })
        
   ExtensionAdditions ::= SEQUENCE SIZE (1..MAX) OF
       addition [GROUP] ExtensionAddition
        
   ExtensionAddition ::= [NO-INSERTIONS] CHOICE {
       extensionGroup  ExtensionAdditionGroup,
       componentType   [GROUP] ComponentType
   }
      ExtensionAdditionGroup ::= [HOLLOW-INSERTIONS] SEQUENCE {
       version         [ATTRIBUTE] VersionNumber OPTIONAL,
       componentTypes  [GROUP] ComponentTypeList
   }
        
   VersionNumber ::= INTEGER (2..MAX)
        
   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
   }
        
   PrecedenceList ::= [LIST] SEQUENCE SIZE (1..MAX) OF member QName
        
   AlternativeTypeList ::= SEQUENCE SIZE (1..MAX) OF
       component [GROUP] ChoiceOrUnionNamedType
        
   ChoiceOrUnionNamedType ::= NamedType
       (WITH COMPONENTS { ..., item ABSENT, simpleContent ABSENT })
        
   ExtensionAdditionAlternatives ::= SEQUENCE SIZE (1..MAX) OF
       addition [GROUP] ExtensionAdditionAlternative
        
   ExtensionAdditionAlternative ::= [NO-INSERTIONS] CHOICE {
       extensionGroup  ExtensionAdditionAlternativesGroup,
       component       [GROUP] ChoiceOrUnionNamedType
   }
        
   ExtensionAdditionAlternativesGroup ::= [HOLLOW-INSERTIONS] SEQUENCE {
       version       [ATTRIBUTE] VersionNumber OPTIONAL,
       alternatives  [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
        
                           (INCLUDES ChoiceNamedType)) }),
                   component (INCLUDES ChoiceNamedType) })) }) })
        
   ChoiceNamedType ::= ChoiceOrUnionNamedType
       (WITH COMPONENTS { ..., member 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) })) }) })
        
   UnionNamedType ::= ChoiceOrUnionNamedType
       (WITH COMPONENTS { ...,
           component ABSENT,
           element   ABSENT,
           attribute ABSENT,
           group     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 })
   }
        
   SequenceOfType ::= SequenceOfOrListType
       (WITH COMPONENTS { ...,
           component (WITH COMPONENTS { ..., item ABSENT }) })
        
   SetOfType ::= SequenceOfType
        
   ListType ::= SequenceOfOrListType
       (WITH COMPONENTS { ...,
           component (WITH COMPONENTS { ...,
                         component ABSENT,
                         element   ABSENT,
                         group     ABSENT }) })
        
   ConstrainedType ::= [HOLLOW-INSERTIONS] SEQUENCE {
        

type [GROUP] Type, constraint [GROUP] Constraint }

タイプ[グループ]タイプ、制約[グループ]制約}

   Constraint ::= SEQUENCE {
       constraintSpec  [GROUP] [NO-INSERTIONS] CHOICE {
           subtype         [GROUP] ElementSetSpecs,
           constrainedBy   UserDefinedConstraint,
           table           TableConstraint,
           contents        ContentsConstraint
       },
       exception       ExceptionSpec OPTIONAL
   }
        
   UserDefinedConstraint ::= [HOLLOW-INSERTIONS] SEQUENCE {
       annotation  Annotation OPTIONAL,
       parameters  [GROUP] ConstraintParameters OPTIONAL
   }
        
   ConstraintParameters ::= SEQUENCE SIZE (1..MAX) OF
       parameter [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
       }
   }
        
   TableConstraint ::= SEQUENCE {
        

objectSet [GROUP] ObjectSet, componentRelation [GROUP] AtNotations OPTIONAL }

objectset [group] objectset、componentrelation [group] atnotations optional}

   AtNotations ::= SEQUENCE SIZE (1..MAX) OF
       restrictBy AtNotation
        
   AtNotation ::= Markup
        
   ContentsConstraint ::= SEQUENCE {
       containing  Type OPTIONAL,
       encodedBy   Value OPTIONAL
   } ((WITH COMPONENTS { ..., containing PRESENT }) |
      (WITH COMPONENTS { ..., encodedBy PRESENT }))
        
   ExceptionSpec ::= SEQUENCE {
       type   [GROUP] Type,
       value  [GROUP] Value
   }
        
   Value ::= [NO-INSERTIONS] CHOICE {
       literalValueAtt  [NAME AS "literalValue"] [ATTRIBUTE] UTF8String,
       literalValue     ElementFormLiteralValue,
       valueRef         [NAME AS "value"] [ATTRIBUTE] QName,
       value            ElementFormNotationalValue
   }
        
   ElementFormLiteralValue ::= Markup
   -- If asnx:literal="false" then the governing type of
   -- ElementFormLiteralValue is 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
       }
   }
        
   Reference ::= SEQUENCE {
       ref      [ATTRIBUTE] QName,
       context  [ATTRIBUTE] AnyURI OPTIONAL
        

}

}

   ExpandedValue ::= SEQUENCE {
       name    [ATTRIBUTE] NCName OPTIONAL,
       module  ReferencedModule OPTIONAL,
       value   [GROUP] Value
   }
        
   ComponentValueList ::= SEQUENCE SIZE (1..MAX) OF
       component [GROUP] NamedValue
        
   NamedValue ::= [SINGULAR-INSERTIONS] CHOICE {
       component      GenericNamedValue,
       element        GenericNamedValue,
       attribute      GenericNamedValue,
       group          GenericNamedValue,
       member         GenericNamedValue,
       item           GenericNamedValue,
       simpleContent  GenericNamedValue
   }
        
   GenericNamedValue ::= SEQUENCE {
       name   [ATTRIBUTE] QName,
       value  [GROUP] Value
   }
        
   ValueSet ::= [NO-INSERTIONS] CHOICE {
       valueSetRef  [NAME AS "valueSet"] [ATTRIBUTE] QName,
           -- valueSetRef is not used in this version
       valueSet     ElementFormValueSet
   }
        
   ElementFormValueSet ::= [HOLLOW-INSERTIONS] SEQUENCE {
       annotation  Annotation OPTIONAL,
       definition  [GROUP] [NO-INSERTIONS] CHOICE {
           elementSetSpecs  [GROUP] ElementSetSpecs
       }
   }
        
   ElementSetSpecs ::= [HOLLOW-INSERTIONS] SEQUENCE {
       root       [GROUP] ValueElementSetSpec,
       extension  [HOLLOW-INSERTIONS] SEQUENCE {
           additions  [GROUP] ValueElementSetSpec OPTIONAL
       } OPTIONAL
   }
        
   ValueElementSetSpec ::= ElementSetSpec
   (WITH COMPONENTS { ...,
        

object ABSENT, objectSet ABSENT, union (WITH COMPONENT (INCLUDES ValueElementSetSpec)), intersection (WITH COMPONENT (INCLUDES ValueElementSetSpec)), all (WITH COMPONENTS { ..., elements (INCLUDES ValueElementSetSpec), except (INCLUDES ValueElementSetSpec) }) })

オブジェクトが不在、Objectset absent、union(component(valueelementsetpec))、交差(コンポーネント(valueelementsetpecを含む))、すべて(valueelementsetspecを含むvalueelementsetspecを含む)}を除くすべて(コンポーネント{...、valueelementsetspecを含む)}})}))))))))))

   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
       }
   }
        
   ElementSetSpecList ::= SEQUENCE SIZE (2..MAX) OF
       elements [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:{}
   }
        
   EndValue ::= [HOLLOW-INSERTIONS] SEQUENCE {
       value  [GROUP] Value OPTIONAL
   }
        
   MultipleTypeConstraints ::= [HOLLOW-INSERTIONS] SEQUENCE {
        

partial [ATTRIBUTE] BOOLEAN DEFAULT FALSE, typeConstraints [GROUP] TypeConstraints }

partial [属性]ブールデフォルトのfalse、typeconstraints [group] typeconstraints}

   TypeConstraints ::= SEQUENCE SIZE (1..MAX) OF
       namedConstraint [GROUP] NamedConstraint
        
   NamedConstraint ::= [SINGULAR-INSERTIONS] CHOICE {
       component      GenericNamedConstraint,
       element        GenericNamedConstraint,
       attribute      GenericNamedConstraint,
       group          GenericNamedConstraint,
       member         GenericNamedConstraint,
       item           GenericNamedConstraint,
       simpleContent  GenericNamedConstraint
   }
        
   GenericNamedConstraint ::= [HOLLOW-INSERTIONS] SEQUENCE {
       name        [ATTRIBUTE] QName,
       use         [ATTRIBUTE] PresenceConstraint OPTIONAL,
       constraint  [GROUP] Constraint OPTIONAL
   }
        
   PresenceConstraint ::= ENUMERATED { present, absent, optional }
        
   ObjectClass ::= [SINGULAR-INSERTIONS] CHOICE {
       classRef  [NAME AS "class"] [ATTRIBUTE] QName,
       class     ElementFormObjectClass
   }
        
   DefinedObjectClass ::= ObjectClass
       (WITH COMPONENTS { ...,
           class (WITH COMPONENTS { ...,
               definition (WITH COMPONENTS { ...,
                   objectClassDefn ABSENT }) }) })
        
   ElementFormObjectClass ::= [HOLLOW-INSERTIONS] SEQUENCE {
       annotation  Annotation OPTIONAL,
       definition  [GROUP] [NO-INSERTIONS] CHOICE {
           reference        [GROUP] Reference,
           expanded         ExpandedObjectClass,
           objectClassDefn  [GROUP] ObjectClassDefn
       }
   }
        
   ExpandedObjectClass ::= SEQUENCE {
       name         [ATTRIBUTE] NCName OPTIONAL,
       module       ReferencedModule OPTIONAL,
          objectClass  [GROUP] ObjectClass
   }
        
   ObjectClassDefn ::= SEQUENCE SIZE (1..MAX) OF
       fieldSpec [GROUP] FieldSpec
        
   FieldSpec ::= [SINGULAR-INSERTIONS] CHOICE {
       typeField       TypeField,
       valueField      ValueField,
       valueSetField   ValueSetField,
       objectField     ObjectField,
       objectSetField  ObjectSetField,
       optional        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 { ...,
        

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 }) })

タイプ不在、値不在、ValueSet absent、objectset存在})} |コンポーネント{...、フィールド(コンポーネント{Objectsetfield Present})、デフォルト(コンポーネント{...、タイプ不在、値不在、ValueSet absent、Object absent})

   TypeField ::= SEQUENCE {
       annotation  Annotation OPTIONAL,
       name        [ATTRIBUTE] TypeFieldReference
   }
        
   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 }) }))
        
   ValueFieldReference ::= ValueReference
        
   ValueSetField ::= SEQUENCE {
       annotation  Annotation OPTIONAL,
       name        [ATTRIBUTE] ValueSetFieldReference,
       governor    [GROUP] [SINGULAR-INSERTIONS] CHOICE {
           type           [GROUP] Type,
           typeFromField  FieldName
       }
   }
        
   ValueSetFieldReference ::= TypeReference
        
   ObjectField ::= SEQUENCE {
       annotation   Annotation OPTIONAL,
       name         [ATTRIBUTE] ObjectFieldReference,
       objectClass  [GROUP] DefinedObjectClass
        

}

}

   ObjectFieldReference ::= ObjectReference
        
   ObjectSetField ::= SEQUENCE {
       annotation   Annotation OPTIONAL,
       name         [ATTRIBUTE] ObjectSetFieldReference,
       objectClass  [GROUP] DefinedObjectClass
   }
        
   ObjectSetFieldReference ::= ObjectSetReference
        
   Object ::= [NO-INSERTIONS] CHOICE {
       objectRef  [NAME AS "object"] [ATTRIBUTE] QName,
       object     ElementFormObject
   }
        
   ElementFormObject ::= [HOLLOW-INSERTIONS] SEQUENCE {
       annotation  Annotation OPTIONAL,
       definition  [GROUP] [SINGULAR-INSERTIONS] CHOICE {
           reference    [GROUP] Reference,
           expanded     ExpandedObject,
           fromObjects  InformationFromObjects,
           fields       [GROUP] ObjectDefn
       }
   }
        
   ExpandedObject ::= SEQUENCE {
       name    [ATTRIBUTE] NCName OPTIONAL,
       module  ReferencedModule OPTIONAL,
       object  [GROUP] Object
   }
        
   ObjectDefn ::= SEQUENCE OF field FieldSetting
        
   FieldSetting ::= [HOLLOW-INSERTIONS] SEQUENCE {
       name     [ATTRIBUTE] NCName,
       setting  [GROUP] Setting
   }
        
   Setting ::= CHOICE {
       type       [GROUP] Type,
       value      [GROUP] Value,
       valueSet   [GROUP] ValueSet,
       object     [GROUP] Object,
       objectSet  [GROUP] ObjectSet
   }
      ObjectSet ::= [NO-INSERTIONS] CHOICE {
       objectSetRef  [NAME AS "objectSet"] [ATTRIBUTE] 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
       }
   }
        
   ExpandedObjectSet ::= SEQUENCE {
       name       [ATTRIBUTE] NCName OPTIONAL,
       module     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 }))
        
   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) }) })
        
   EncodingControlSections ::= SEQUENCE SIZE (1..MAX) OF
        

section [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
   }
        

ENCODING-CONTROL 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"
        

COMPONENT module ModuleDefinition

コンポーネントモジュールModuleDefinition

COMPONENT literal [ATTRIBUTE] BOOLEAN

コンポーネントリテラル[属性]ブール値

END

終わり

Appendix B. ASN.X for ASN.X
付録B. asn.x for 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">
        

<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.

<Annotation> Copyright(c)The IETF Trust(2007)。このasn.xモジュールのこのバージョンは、RFC 4912の一部です。完全な法的通知については、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モジュールまたはその一部に関して、著者は保証を行わず、その使用に起因する損害について責任を負いません。著者は、再配分されたデリバティブ作業に誤解を招く著者またはバージョン情報が含まれていない限り、他の人がそれを使用、変更、および配布する権利を減少させない方法で使用、変更、配布する人に取消不能の許可を与えます。デリバティブ作業は、同様の条件でライセンスされる必要はありません。</annotation>

    <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"/>
        
    <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"/>
        
    <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>
        
       <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>
        
    <namedType name="ModuleReference" type="asnx:TypeReference"/>
        
    <namedType name="DefinitiveIdentifier"
               type="asnx:OBJECT-IDENTIFIER"/>
        
    <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="ImportList">
     <type>
      <sequenceOf minSize="1">
       <element name="import" type="asnx:Import"/>
      </sequenceOf>
     </type>
    </namedType>
        
    <namedType name="Import">
        
     <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="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>
        
        <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="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="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"/>
        
       <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="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="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"/>
        
       <group name="objectSet" type="asnx:ObjectSet"/>
      </sequence>
     </type>
    </namedType>
        
    <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="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="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="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="IdentifierOrEmpty">
     <type>
      <constrained type="asnx:UTF8String">
       <union>
        <includes type="asnx:Identifier"/>
        <literalValue></literalValue>
       </union>
        
      </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>
        
       </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="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"/>
        
             </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>
        
        </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="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"/>
        
       </optional>
      </sequence>
     </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="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>
        
       <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="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="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="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>

</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="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"/>
        
      </sequence>
     </type>
    </namedType>
        
    <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="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="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="Insertions">
     <type>
      <enumerated>
        
       <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="ComponentTypeList">
     <type>
      <sequenceOf minSize="1">
        
       <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="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="ExtensionAddition">
     <type>
      <choice insertions="none">
       <element name="extensionGroup"
                type="asnx:ExtensionAdditionGroup"/>
        
       <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="VersionNumber">
     <type>
      <constrained type="asnx:INTEGER">
       <range>
        <minInclusive literalValue="2"/>
       </range>
      </constrained>
     </type>
    </namedType>
        
    <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"/>
        
           </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="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="ExtensionAdditionAlternatives">
     <type>
      <sequenceOf minSize="1">
       <group name="addition" type="asnx:ExtensionAdditionAlternative"/>
      </sequenceOf>
     </type>
    </namedType>
        
    <namedType name="ExtensionAdditionAlternative">
     <type>
      <choice insertions="none">
       <element name="extensionGroup"
        
                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="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>
        
        </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="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>
        
       </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"/>
        
           <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="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="ConstrainedType">
     <type>
      <sequence insertions="hollow">
       <group name="type" type="asnx:Type"/>
       <group name="constraint" type="asnx:Constraint"/>
      </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="ConstraintParameters">
     <type>
      <sequenceOf minSize="1">
       <group name="parameter"
              type="asnx:UserDefinedConstraintParameter"/>
      </sequenceOf>
     </type>
    </namedType>
        
    <namedType name="UserDefinedConstraintParameter">
     <type>
        
      <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>
        
     </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="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="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="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>
        
           </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="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="NamedValue">
     <type>
      <choice insertions="singular">
       <element name="component" type="asnx:GenericNamedValue"/>
       <element name="element" type="asnx:GenericNamedValue"/>
        
       <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="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="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>

</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="ValueRange">
     <type>
      <sequence>
       <optional>
        <group name="minimum">
        
         <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="MultipleTypeConstraints">
     <type>
      <sequence insertions="hollow">
       <optional>
        <attribute name="partial" type="asnx:BOOLEAN"/>
        <default literalValue="false"/>
        
       </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="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="PresenceConstraint">
     <type>
      <enumerated>
       <enumeration name="present"/>
       <enumeration name="absent"/>
        
       <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="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>
        
     </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="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"/>
        
            <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="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>
        
        <element name="annotation" type="asnx:Annotation"/>
       </optional>
       <attribute name="name" type="asnx:TypeFieldReference"/>
      </sequence>
     </type>
    </namedType>
        
    <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="ValueFieldReference" type="asnx:ValueReference"/>
        
    <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="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="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"

               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="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="ObjectDefn">
        
     <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="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="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"/>
        
          <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="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">
        
         <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="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>
        
    <element name="module" type="asnx:ModuleDefinition"/>
        
    <attribute name="literal" type="asnx:BOOLEAN"/>
        
   </asnx:module>
        

Author's Address

著者の連絡先

Dr. Steven Legg eB2Bcom Suite 3, Woodhouse Corporate Centre 935 Station Street Box Hill North, Victoria 3129 AUSTRALIA

スティーブンレッグEB2BCOMスイート3、ウッドハウスコーポレートセンター935ステーションボックスヒルノース、ビクトリア3129オーストラリア

   Phone: +61 3 9896 7830
   Fax:   +61 3 9896 7801
   EMail: steven.legg@eb2bcom.com
        

Full Copyright Statement

完全な著作権声明

Copyright (C) The IETF Trust (2007).

著作権(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.

この文書は、BCP 78に含まれる権利、ライセンス、および制限の対象となり、そこに記載されている場合を除き、著者はすべての権利を保持しています。

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.

このドキュメントとここに含まれる情報は、「現状のまま」に基づいて提供され、貢献者、彼/彼女が代表する組織(もしあれば)、インターネット協会、IETFトラスト、インターネットエンジニアリングタスクフォースがすべてを否認します。明示的または黙示的な保証。ここでの情報の使用は、特定の目的に対する商品性または適合性の権利または暗黙の保証を侵害しないという保証を含むがこれらに限定されない。

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.

IETFは、知的財産権またはその他の権利の有効性または範囲に関して、本書に記載されている技術の実装または使用、またはそのような権利に基づくライセンスに基づくライセンスの範囲に関連すると主張される可能性のある他の権利に関しては、立場を取得しません。利用可能になります。また、そのような権利を特定するために独立した努力をしたことも表明していません。RFCドキュメントの権利に関する手順に関する情報は、BCP 78および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.

IETF事務局に行われたIPR開示のコピーと、利用可能にするライセンスの保証、またはこの仕様の実装者またはユーザーによるそのような独自の権利の使用のための一般的なライセンスまたは許可を取得するための試みの結果を取得できます。http://www.ietf.org/iprのIETFオンライン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.

IETFは、関心のある当事者に、著作権、特許、または特許出願、またはこの基準を実装するために必要なテクノロジーをカバーする可能性のあるその他の独自の権利を注意深く招待します。ietf-ipr@ietf.orgのIETFへの情報をお問い合わせください。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFCエディター機能の資金は現在、インターネット協会によって提供されています。