idnits 2.17.1 draft-legg-xed-asd-xerei-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.5, updated by RFC 4748 on line 1709. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 1720. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 1727. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 1733. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement -- however, there's a paragraph with a matching beginning. Boilerplate error? == In addition to a regular copyright notice, the document also has a copyright notice embedded in the text. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (December 22, 2006) is 6307 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'GROUP' is mentioned on line 1171, but not defined == Missing Reference: 'SINGULAR-INSERTIONS' is mentioned on line 1173, but not defined == Missing Reference: 'NO-INSERTIONS' is mentioned on line 1164, but not defined == Missing Reference: 'ATTRIBUTE' is mentioned on line 1184, but not defined == Missing Reference: 'HOLLOW-INSERTIONS' is mentioned on line 1142, but not defined -- No information found for draft-legg-xed-rxer-xx - is the name correct? -- Possible downref: Normative reference to a draft: ref. 'RXER' -- No information found for draft-legg-xed-rxer-ei-xx - is the name correct? -- Possible downref: Normative reference to a draft: ref. 'RXEREI' -- Possible downref: Non-RFC (?) normative reference: ref. 'XML10' -- Possible downref: Non-RFC (?) normative reference: ref. 'XML11' -- Possible downref: Non-RFC (?) normative reference: ref. 'XMLNS10' -- Possible downref: Non-RFC (?) normative reference: ref. 'INFOSET' -- Possible downref: Non-RFC (?) normative reference: ref. 'UNICODE' Summary: 2 errors (**), 0 flaws (~~), 8 warnings (==), 15 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 INTERNET-DRAFT S. Legg 3 draft-legg-xed-asd-xerei-03.txt eB2Bcom 4 Intended Category: Standards Track December 22, 2006 6 Abstract Syntax Notation X (ASN.X) Representation 7 of Encoding Instructions for 8 the XML Encoding Rules (XER) 10 Copyright (C) The IETF Trust (2006). 12 Status of This Memo 14 By submitting this Internet-draft, each author represents that any 15 applicable patent or other IPR claims of which he or she is aware 16 have been or will be disclosed, and any of which he or she becomes 17 aware will be disclosed, in accordance with Section 6 of BCP 79. 19 Internet-Drafts are working documents of the Internet Engineering 20 Task Force (IETF), its areas, and its working groups. Note that 21 other groups may also distribute working documents as 22 Internet-Drafts. 24 Internet-Drafts are draft documents valid for a maximum of six months 25 and may be updated, replaced, or obsoleted by other documents at any 26 time. It is inappropriate to use Internet-Drafts as reference 27 material or to cite them other than as "work in progress". 29 The list of current Internet-Drafts can be accessed at 30 http://www.ietf.org/1id-abstracts.html 32 The list of Internet-Draft Shadow Directories can be accessed at 33 http://www.ietf.org/shadow.html 35 Technical discussion of this document should take place on the XED 36 developers mailing list . Please send editorial 37 comments directly to the editor . Further 38 information is available on the XED website: www.xmled.info. 40 This Internet-Draft expires on 22 June 2007. 42 Abstract 44 Abstract Syntax Notation X (ASN.X) is an Extensible Markup Language 45 (XML) representation for Abstract Syntax Notation One (ASN.1) 46 specifications. This document specifies the ASN.X representation of 47 encoding instructions for the XML Encoding Rules (XER). 49 Table of Contents 51 1. Introduction ....................................................2 52 2. Conventions .....................................................3 53 3. Preprocessing of ImportedTypesIdentification ....................4 54 4. EncodingInstructionAssignmentList Translation ...................4 55 5. EncodingInstruction Translation .................................5 56 5.1. AnyAttributesInstruction Translation .......................6 57 5.1.1. NamespaceRestriction Translation ....................7 58 5.2. AnyElementInstruction Translation ..........................7 59 5.3. AttributeInstruction Translation ...........................7 60 5.4. Base64Instruction Translation ..............................8 61 5.5. DecimalInstruction Translation .............................8 62 5.6. DefaultForEmptyInstruction Translation .....................8 63 5.7. ElementInstruction Translation .............................8 64 5.8. EmbedValuesInstruction Translation .........................8 65 5.9. GlobalDefaultsInstruction Translation ......................8 66 5.10. ListInstruction Translation ...............................9 67 5.11. NameInstruction Translation ...............................9 68 5.12. NamespaceInstruction Translation .........................10 69 5.13. PIOrCommentInstruction Translation .......................10 70 5.14. TextInstruction Translation ..............................11 71 5.15. UntaggedInstruction Translation ..........................11 72 5.16. UseNilInstruction Translation ............................11 73 5.17. UseNumberInstruction Translation .........................11 74 5.18. UseOrderInstruction Translation ..........................12 75 5.19. UseQNameInstruction Translation ..........................12 76 5.20. UseTypeInstruction Translation ...........................12 77 5.21. UseUnionInstruction Translation ..........................12 78 5.22. WhiteSpaceInstruction Translation ........................12 79 6. TargetList Translation .........................................12 80 6.1. TypeIdentification Translation ............................13 81 6.2. BuiltInTypeIdentification Translation .....................15 82 6.3. IdentifiersInContext Translation ..........................16 83 7. Security Considerations ........................................17 84 8. IANA Considerations ............................................18 85 9. References .....................................................18 86 9.1. Normative References ......................................18 87 9.2. Informative References ....................................19 88 Appendix A. ASN.1 for XER Encoding Instruction Notation ...........19 89 Appendix B. ASN.1 for Target List Notation ........................23 90 Appendix C. ASN.X for XER Encoding Instruction Notation ...........25 91 Appendix D. ASN.X for Target List Notation ........................32 93 1. Introduction 95 Abstract Syntax Notation X (ASN.X) [ASN.X] is an Extensible Markup 96 Language (XML) [XML10][XML11] representation for Abstract Syntax 97 Notation One (ASN.1) [X.680] specifications. The ASN.X 98 representation for the ASN.1 basic notation [X.680] [X.680-1] is 99 described elsewhere [ASN.X]. 101 The grammar of ASN.1 permits the application of encoding instructions 102 [X.680-1], through type prefixes and encoding control sections, that 103 modify how abstract values are encoded by nominated encoding rules. 105 The generic notation for type prefixes and encoding control sections 106 is defined by the ASN.1 basic notation, however the notation for 107 specific encoding instructions, i.e., the EncodingInstruction and 108 EncodingInstructionAssignmentList productions of the notation, are 109 defined separately for each set of encoding rules using encoding 110 instructions. This document specifies the ASN.X representation for 111 EncodingInstructionAssignmentList and EncodingInstruction as they are 112 defined for the XML Encoding Rules (XER) [X.693][X.693-1]. 114 ASN.X is defined in terms of rules for translating from an ASN.1 115 specification. This does not preclude an ASN.X module being written 116 directly without a pre-existing ASN.1 module, however such an ASN.X 117 module is considered valid if and only if there exists, in principle, 118 an ASN.1 module that when translated would yield the ASN.X module. 120 By design, an ASN.X module is also the Robust XML Encoding Rules 121 (RXER) [RXER] encoding of an ASN.1 value. The ASN.1 type definitions 122 for such values, insofar as they pertain to the ASN.1 basic notation, 123 are provided elsewhere [ASN.X], however this document provides the 124 ASN.1 type definitions for representing XER encoding instructions as 125 abstract values. These definitions appear in Appendix A. 127 The ASN.X translation of the ASN.1 module in Appendix A is presented 128 in Appendix B. 130 The General Considerations of the specification for ASN.X [ASN.X] 131 also apply here. 133 2. Conventions 135 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 136 "SHOULD", "SHOULD NOT", "RECOMMENDED" and "MAY" in this document are 137 to be interpreted as described in BCP 14, RFC 2119 [BCP14]. The key 138 word "OPTIONAL" is exclusively used with its ASN.1 meaning. 140 A reference to an ASN.1 production [X.680] (e.g., Type, NamedType) is 141 a reference to the text in an ASN.1 specification corresponding to 142 that production. 144 The description of the translation of XER encoding instructions into 145 ASN.X makes use of definitions from the XML Information Set (Infoset) 146 [INFOSET]. In particular, information item property names follow the 147 Infoset convention of being shown in square brackets, e.g., 148 [local name]. Literal values of Infoset properties are enclosed in 149 double quotes, however the double quotes are not part of the property 150 values. In the sections that follow, "information item" will be 151 abbreviated to "item", e.g., "element information item" is 152 abbreviated to "element item". Element items will be referred to by 153 their [local name] in angle brackets, e.g., "the element item" 154 means the element item with the [local name] "name". Attribute items 155 will be referred to by their [local name], e.g., "the name attribute 156 item" means the attribute item with the [local name] "name". 158 Code points for characters [UNICODE] are expressed using the Unicode 159 convention U+n, where n is four to six hexadecimal digits, e.g., the 160 space character is U+0020. 162 3. Preprocessing of ImportedTypesIdentification 164 Interpretation of an ImportedTypesIdentification depends on a 165 SymbolList in the Imports of a module, but a SymbolList does not have 166 a direct translation into ASN.X. A module containing at least one 167 ImportedTypesIdentification must be preprocessed so that each 168 ImportedTypesIdentification has the intended effect. 170 If an EncodingInstruction in an XER EncodingInstructionAssignmentList 171 has a Targets instance that is an ImportedTypesIdentification then 172 each Type affected by the ImportedTypesIdentification MUST be 173 replaced by an EncodingPrefixedType where the Type in the 174 EncodingPrefixedType is the original Type and the EncodingPrefix 175 contains the EncodingInstruction minus the TargetList. The 176 ImportedTypesIdentification SHALL be removed. If the 177 EncodingInstruction in the EncodingInstructionAssignmentList has no 178 other Targets instances then it MUST be removed from the 179 EncodingInstructionAssignmentList. 181 4. EncodingInstructionAssignmentList Translation 183 As described in the specification for ASN.X [ASN.X], the translation 184 of an EncodingControlSection for XER is an element item with the 185 [local name] "XER". The translation of the 186 EncodingInstructionAssignmentList in such an EncodingControlSection 187 determines the content of the element item. 189 An element item with the [local name] "annotation" MAY be added to 190 the [children] of the element item. 192 The translation of each EncodingInstruction nested in the 193 EncodingInstructionAssignmentList SHALL be appended to the [children] 194 of the element item. 196 5. EncodingInstruction Translation 198 The translation of an EncodingInstruction for XER can appear in the 199 translation of an EncodingInstructionAssignmentList (see the previous 200 section) or an EncodingPrefix. The translation for an EncodingPrefix 201 is described by the specification for ASN.X [ASN.X]. 203 The translation of an EncodingInstruction in an 204 EncodingInstructionAssignmentList for XER is an element item with the 205 [local name] "targettedInstruction". The translation of the 206 PositiveInstruction or NegatingInstruction in the EncodingInstruction 207 SHALL be added to the [children] of the 208 element item. The translation of the TargetList nested in the 209 encoding instruction SHALL be appended to the [children] of the 210 element item. 212 Aside: The TargetList appears within an EncodingInstruction in an 213 EncodingInstructionAssignmentList, but its ASN.X translation 214 appears immediately after the translation of the 215 EncodingInstruction, rather than within it. 217 Example 219 ENCODING-CONTROL XER 220 GLOBAL-DEFAULTS MODIFIED-ENCODINGS 221 ATTRIBUTE MyType 223 224 225 226 227 228 229 230 231 232 233 234 235 237 The translation of an EncodingInstruction for XER in an 238 EncodingPrefix is the translation of the PositiveInstruction or 239 NegatingInstruction in the EncodingInstruction. 241 Aside: The TargetList within an EncodingInstruction in an 242 EncodingPrefix is required to be empty and has no ASN.X 243 translation in this context. 245 The translation of a PositiveInstruction is the translation of the 246 AnyAttributeInstruction, AnyElementInstruction, AttributeInstruction, 247 Base64Instruction, DecimalInstruction, DefaultForEmptyInstruction, 248 EmbedValuesInstruction, GlobalDefaultsInstruction, ListInstruction, 249 NameInstruction, NamespaceInstruction, PIOrCommentInstruction, 250 TextInstruction, UntaggedInstruction, UseNilInstruction, 251 UseNumberInstruction, UseOrderInstruction, UseQNameInstruction, 252 UseTypeInstruction, UseUnionInstruction or WhitespaceInstruction in 253 the PositiveInstruction. 255 The translation of a NegatingInstruction that is an 256 ElementInstruction is the translation of that ElementInstruction. 258 The translation of a NegatingInstruction that is not an 259 ElementInstruction is an element item where the [local name] is the 260 concatenation of "not-" and the [local name] that would be used by 261 the translation of the PositiveInstruction in the 262 NegatingInstruction. No items are added to the [attributes] or 263 [children] of the element item resulting from the translation of a 264 NegatingInstruction. 266 Example 268 [XER:NOT ATTRIBUTE] MyType 270 271 272 273 274 275 277 5.1. AnyAttributesInstruction Translation 279 The translation of an AnyAttributesInstruction is an element item 280 with the [local name] "anyAttributes". If a NamespaceRestriction is 281 present in the AnyAttributesInstruction, then the translation of the 282 NamespaceRestriction SHALL be added to the [children] of the 283 element item. 285 Example 287 ANY-ATTRIBUTES FROM "http://example.com" ABSENT 288 289 http://example.com 290 291 293 5.1.1. NamespaceRestriction Translation 295 The NamespaceRestriction production is common to the 296 AnyAttributesInstruction production and the AnyElementInstruction 297 production. 299 The translation of a NamespaceRestriction of the "FROM URIList" form 300 is an element item with the [local name] "from". The translation of 301 each QuotedURIorAbsent nested in the URIList SHALL be appended to the 302 [children] of the element item. 304 The translation of a NamespaceRestriction of the "EXCEPT URIList" 305 form is an element item with the [local name] "except". The 306 translation of each QuotedURIorAbsent nested in the URIList SHALL be 307 appended to the [children] of the element item. 309 The translation of a QuotedURIorAbsent that is a QuotedURI is an 310 element item with the [local name] "namespace". The sequence of 311 character items for the URI in the QuotedURI is added to the 312 [children] of the element item. 314 The translation of a QuotedURIorAbsent of the "ABSENT" form is an 315 element item with the [local name] "local". 317 5.2. AnyElementInstruction Translation 319 The translation of an AnyElementInstruction is an element item with 320 the [local name] "anyElement". If a NamespaceRestriction is present 321 in the AnyElementInstruction, then the translation of the 322 NamespaceRestriction SHALL be added to the [children] of the 323 element item. 325 5.3. AttributeInstruction Translation 327 The translation of an AttributeInstruction is an element item with 328 the [local name] "attribute". 330 Example 332 ATTRIBUTE 334 336 5.4. Base64Instruction Translation 338 The translation of a Base64Instruction is an element item with the 339 [local name] "base64". 341 5.5. DecimalInstruction Translation 343 The translation of a DecimalInstruction is an element item with the 344 [local name] "decimal". 346 5.6. DefaultForEmptyInstruction Translation 348 The translation of a DefaultForEmptyInstruction is an element item 349 with the [local name] "defaultForEmpty". The translation of the 350 Value in the DefaultForEmptyInstruction SHALL be added to the 351 [children] or [attributes] of the element item. 353 Example 355 DEFAULT-FOR-EMPTY AS "unspecified" 357 359 5.7. ElementInstruction Translation 361 The translation of an ElementInstruction is an element item with the 362 [local name] "element". 364 5.8. EmbedValuesInstruction Translation 366 The translation of an EmbedValuesInstruction is an element item with 367 the [local name] "embedValues". 369 5.9. GlobalDefaultsInstruction Translation 371 The translation of a GlobalDefaultsInstruction is an element item 372 with the [local name] "globalDefaults". 374 If the DefaultSetting in the GlobalDefaultsInstruction is "MODIFIED- 375 ENCODINGS", then an element item with the [local name] 376 "modifiedEncodings" SHALL be added to the [children] of the 377 element item. 379 If the DefaultSetting in the GlobalDefaultsInstruction is a 380 ControlNamespace, then the translation of the ControlNamespace SHALL 381 be added to the [children] of the element item. 383 The translation of a ControlNamespace is an element item with the 385 [local name] "controlNamespace". An attribute item with the 386 [local name] "name" SHALL be added to the [attributes] of the 387 element item. The [normalized value] of this 388 attribute item is the Uniform Resource Identifier (URI) [URI] in the 389 QuotedURI in the ControlNamespace. If the ControlNamespace has a 390 Prefix, then an attribute item with the [local name] "prefix" SHALL 391 be added to the [attributes] of the element item. 392 The [normalized value] of this attribute item is the NCName in the 393 QuotedNCName in the Prefix. 395 Example 397 GLOBAL-DEFAULTS 398 CONTROL-NAMESPACE "http://example.com" PREFIX "ex" 400 401 402 404 5.10. ListInstruction Translation 406 The translation of a ListInstruction is an element item with the 407 [local name] "list". 409 5.11. NameInstruction Translation 411 The translation of a NameInstruction is an element item with the 412 [local name] "name". 414 If the NewNameOrKeyword in the NameInstruction is a NewName, then an 415 attribute item with the [local name] "newName" SHALL be added to the 416 [attributes] of the element item. The [normalized value] of 417 this attribute item is the character string value of the 418 RestrictedCharacterStringValue in the NewName. 420 If the NewNameOrKeyword in the NameInstruction is a Keyword, then an 421 attribute item with the [local name] "conversion" SHALL be added to 422 the [attributes] of the element item. The [normalized value] 423 of this attribute item is the word in the Keyword with all letters 424 downcased, i.e., "capitalized", "uncapitalized", "uppercased" or 425 "lowercased". 427 Example 429 NAME AS UNCAPITALIZED 431 432 NAME AS "category" 434 436 5.12. NamespaceInstruction Translation 438 The translation of a NamespaceInstruction is an element item with the 439 [local name] "namespace". 441 If a NamespaceSpecification is present in the NamespaceInstruction, 442 then an attribute item with the [local name] "name" SHALL be added to 443 the [attributes] of the element item. The 444 [normalized value] of this attribute item is the URI in the QuotedURI 445 in the NamespaceSpecification. 447 If a Prefix is present in the NamespaceSpecification, then an 448 attribute item with the [local name] "prefix" SHALL be added to the 449 [attributes] of the element item. The [normalized value] 450 of this attribute item is the NCName in the QuotedNCName in the 451 Prefix. 453 Example 455 NAMESPACE AS "http://example.com" PREFIX "ex" 457 459 5.13. PIOrCommentInstruction Translation 461 The translation of a PIOrCommentInstruction is an element item with 462 the [local name] "piOrComment". 464 An attribute item with the [local name] "text" SHALL be added to the 465 [attributes] of the element item. The 466 [normalized value] of this attribute item is the character string 467 value of the RestrictedCharacterStringValue in the 468 PIOrCommentInstruction. 470 An attribute item with the [local name] "position" SHALL be added to 471 the [attributes] of the element item. The 472 [normalized value] of this attribute item is "beforeTag" if the 473 keyword in the Position in the PIOrCommentInstruction is BEFORE-TAG, 474 "beforeValue" if the keyword in the Position is BEFORE-VALUE, 475 "afterValue" if the keyword in the Position is AFTER-VALUE, or 476 "afterTag" if the keyword in the Position is AFTER-TAG. 478 Example 479 PI-OR-COMMENT AS "" BEFORE-TAG 481 484 5.14. TextInstruction Translation 486 The translation of a TextInstruction is an element item with the 487 [local name] "text". 489 If a TextToBeUsed is present in the TextInstruction and the 490 NewNameOrKeyword in the TextToBeUsed is a NewName, then an attribute 491 item with the [local name] "newName" SHALL be added to the 492 [attributes] of the element item. The [normalized value] of 493 this attribute item is the character string value of the 494 RestrictedCharacterStringValue in the NewName. 496 If a TextToBeUsed is present in the TextInstruction and the 497 NewNameOrKeyword in the TextToBeUsed is a Keyword, then an attribute 498 item with the [local name] "conversion" SHALL be added to the 499 [attributes] of the element item. The [normalized value] of 500 this attribute item is the word in the Keyword with all letters 501 downcased, i.e., "capitalized", "uncapitalized", "uppercased" or 502 "lowercased". 504 Examples 506 TEXT AS UPPERCASED 508 510 TEXT AS "A4" 512 514 5.15. UntaggedInstruction Translation 516 The translation of an UntaggedInstruction is an element item with the 517 [local name] "untagged". 519 5.16. UseNilInstruction Translation 521 The translation of a UseNilInstruction is an element item with the 522 [local name] "useNil". 524 5.17. UseNumberInstruction Translation 526 The translation of a UseNumberInstruction is an element item with the 528 [local name] "useNumber". 530 5.18. UseOrderInstruction Translation 532 The translation of a UseOrderInstruction is an element item with the 533 [local name] "useOrder". 535 5.19. UseQNameInstruction Translation 537 The translation of a UseQNameInstruction is an element item with the 538 [local name] "useQName". 540 5.20. UseTypeInstruction Translation 542 The translation of a UseTypeInstruction is an element item with the 543 [local name] "useType". 545 5.21. UseUnionInstruction Translation 547 The translation of a UseUnionInstruction is an element item with the 548 [local name] "useUnion". 550 5.22. WhiteSpaceInstruction Translation 552 The translation of a WhiteSpaceInstruction is an element item with 553 the [local name] "whiteSpace". 555 An attribute item with the [local name] "action" SHALL be added to 556 the [attributes] of the element item. The 557 [normalized value] of this attribute item is the word in the 558 WhiteSpaceAction in the WhiteSpaceInstruction with all letters 559 downcased, i.e., "replace" or "collapse". 561 Example 563 WHITESPACE COLLAPSE 565 567 6. TargetList Translation 569 The TargetList production is common to all the encoding instructions. 571 The translation of a TargetList is the concatenation of the 572 translations of each Targets instance in the TargetList. 574 The translation of a Targets instance is an element item with the 575 [local name] "target". The translation of the TypeIdentification, 576 BuiltInTypeIdentification or IdentifiersInContext in the Targets 577 instance SHALL be added to the [children] and/or [attributes] of the 578 element item. 580 Aside: A Targets instance that is an ImportedTypesIdentification 581 will have been removed by the preprocessing described in 582 Section 3. 584 6.1. TypeIdentification Translation 586 The translation of a TypeIdentification of the "ALL" form is an 587 element item with the [local name] "allTypes", otherwise the 588 translation of a TypeIdentification is the translation of its 589 ModuleAndTypeReference followed by the translation of its 590 ComponentReference, if present, followed by the translation of its 591 QualifyingInformationPart, if present. 593 The translation of a ModuleAndTypeReference is an attribute item with 594 the [local name] "type". The [normalized value] of this attribute 595 item is a qualified name [XMLNS10] for the expanded name 596 corresponding to the typereference in the ModuleAndTypeReference (see 597 Section 5.1 of the specification for ASN.X [ASN.X]). 599 The translation of a ComponentReference is an element item with the 600 [local name] "component". The [children] property of the 601 element item is set to the sequence of character items for a solidus 602 ('/', U+002F) separated list of the translations of the ComponentId 603 instances in the ComponentIdList in the ComponentReference, excluding 604 "ALL" if present. Leading and/or trailing white space character 605 items [ASN.X] MAY be added to the [children] of the 606 element item. White space character items MAY be added immediately 607 before and/or after any character item for the solidus character 608 ('/', U+002F). If the final ComponentId in the ComponentIdList in 609 the ComponentReference is "ALL", then an element item with the 610 [local name] "allTextuallyPresent" SHALL follow the 611 element item. 613 If a ComponentId identifies the Type in a NamedType, then the 614 translation of the ComponentId is a qualified name for the expanded 615 name [XMLNS10] of the NamedType [RXEREI]. If the NamedType is 616 subject to an RXER ATTRIBUTE or ATTRIBUTE-REF encoding instruction 617 [RXEREI], or subject to an RXER COMPONENT-REF encoding instruction 618 that references a top-level NamedType that is subject to an RXER 619 ATTRIBUTE encoding instruction, then the qualified name is prefixed 620 with the commercial at character ('@', U+0040). 622 If a ComponentId identifies a Type that is not in a NamedType (i.e., 623 the component type for a SEQUENCE OF Type or SET OF Type), then the 624 translation of the ComponentId is the character string "item". 626 If a ComponentId does not identify a Type and the ComponentId is an 627 identifier, then the translation of the ComponentId is the 628 identifier. 630 If a ComponentId does not identify a Type and the ComponentId is "*", 631 then the translation of the ComponentId is the character string 632 "item". 634 The element item is required to be self-contained [RXER]. 636 Aside: An element item is self-contained if all namespace prefixes 637 used by the element item and its contents are declared within the 638 element item. 640 The translation of a QualifyingInformationPart is the translation of 641 the QualifyingInformation instance in the QualifyingInformationPart. 643 The translation of a QualifyingInformation instance of the 644 "identifier" form is an element item with the [local name] 645 "identifier". An attribute item with the [local name] "name" SHALL 646 be added to the [attributes] of the element item. If 647 the ModuleTypeAndReference and ComponentReference (if present) in the 648 TypeIdentification identify a BIT STRING, ENUMERATED, or INTEGER type 649 where the associated BitStringType, EnumeratedType or IntegerType 650 (respectively) is subject to an RXER VALUES encoding instruction, 651 then the [normalized value] of the attribute item is the replacement 652 name [RXEREI] for the identifier, otherwise the [normalized value] is 653 the identifier. 655 The translation of a QualifyingInformation instance of the "ALL" form 656 is an element item with the [local name] "allIdentifiers". 658 Examples 660 Assume this type assignment: 662 MyType ::= SEQUENCE { 663 a SEQUENCE OF CHOICE { 664 b ENUMERATED { red, green, blue }, 665 c INTEGER 666 } 667 } 669 MyType.a.*.ALL 671 672 a / item 673 674 676 MyType.a.*.b:ALL 678 679 a / item / b 680 681 683 6.2. BuiltInTypeIdentification Translation 685 The translation of a BuiltInTypeIdentification is the translation of 686 its BuiltInTypeName followed by the translation of its 687 BuiltInTypeQualifyingInformationPart, if present. 689 If the BuiltInTypeName is "BIT STRING", "BOOLEAN", 690 "CHARACTER STRING", "EMBEDDED PDV", "EXTERNAL", "GeneralizedTime", 691 "INTEGER", "NULL", "ObjectDescriptor", "OBJECT IDENTIFIER", 692 "OCTET STRING", "REAL", "RELATIVE-OID" or "UTCTime", then the 693 translation of the BuiltInTypeName is an attribute item with the 694 [local name] "type". The [normalized value] of this attribute item 695 is a qualified name with the namespace name being 696 "urn:ietf:params:xml:ns:asnx" and the local part being the 697 BuiltInTypeName with any white space separators replaced by a single 698 hyphen character ('-', U+002D), e.g. BIT STRING becomes BIT-STRING. 700 If the BuiltInTypeName is a RestrictedCharacterStringType, then the 701 translation of the BuiltInTypeName is an attribute item with the 702 [local name] "type". The [normalized value] of this attribute item 703 is a qualified name with the namespace name being 704 "urn:ietf:params:xml:ns:asnx" and the local part being the 705 RestrictedCharacterStringType, i.e., BMPString, GeneralString, 706 GraphicString, IA5String, ISO646String, NumericString, 707 PrintableString, TeletexString, T61String, UniversalString, 708 UTF8String, VideotexString or VisibleString. 710 If the BuiltInTypeName is "CHOICE", then the translation of the 711 BuiltInTypeName is an element item with the [local name] "choice". 713 If the BuiltInTypeName is "ENUMERATED", then the translation of the 714 BuiltInTypeName is an element item with the [local name] 715 "enumerated". 717 If the BuiltInTypeName is "INSTANCE OF", then the translation of the 718 BuiltInTypeName is an element item with the [local name] 719 "instanceOf". 721 If the BuiltInTypeName is "SEQUENCE", then the translation of the 722 BuiltInTypeName is an element item with the [local name] "sequence". 724 If the BuiltInTypeName is "SEQUENCE OF", then the translation of the 725 BuiltInTypeName is an element item with the [local name] 726 "sequenceOf". 728 If the BuiltInTypeName is "SET", then the translation of the 729 BuiltInTypeName is an element item with the [local name] "set". 731 If the BuiltInTypeName is "SET OF", then the translation of the 732 BuiltInTypeName is an element item with the [local name] "setOf". 734 The translation of a BuiltInTypeQualifyingInformationPart is the 735 translation of the BuiltInTypeQualifyingInformation instance in the 736 BuiltInTypeQualifyingInformationPart. 738 The translation of a BuiltInTypeQualifyingInformation instance of the 739 "identifier" form is an element item with the [local name] 740 "identifier". An attribute item with the [local name] "name" SHALL 741 be added to the [attributes] of the element item. The 742 [normalized value] of this attribute item is the identifier in the 743 BuiltInTypeQualifyingInformation instance. 745 The translation of a BuiltInTypeQualifyingInformation instance of the 746 "ALL" form is an element item with the [local name] "allIdentifiers". 748 Examples 750 BOOLEAN:true 752 754 755 757 ENUMERATED:ALL 759 760 761 762 764 6.3. IdentifiersInContext Translation 766 The translation of an IdentifiersInContext instance is an element 767 item with the [local name] "components". 769 If the IdentifierList in the IdentifiersInContext instance is not of 770 the "ALL" or "COMPONENTS" form, then for each identifier in the 771 IdentifierList, an element item with the same [local name] (i.e., 772 "attribute", "element", "component", "group", "item", "member" or 773 "simpleContent") as the translation of the NamedType corresponding to 774 the identifier SHALL be appended to the [children] of the 775 element item. An attribute item with the [local name] 776 "name" SHALL be added to the [attributes] of each , 777 , , , , or 778 element item. The [normalized value] of each of these attribute 779 items is a qualified name for the expanded name [XMLNS10] of the 780 NamedType [RXEREI] corresponding to the identifier. 782 If the IdentifierList in the IdentifiersInContext instance is of the 783 "ALL" form, then an element item with the [local name] 784 "allTextuallyPresent" SHALL be appended to the [children] of the 785 element item. 787 If the IdentifierList in the IdentifiersInContext instance is of the 788 "COMPONENTS" form, then an element item with the [local name] 789 "allFirstLevel" SHALL be appended to the [children] of the 790 element item. 792 An element item with the [local name] "in" SHALL be appended to the 793 [children] of the element item. The translation of the 794 TypeIdentification in the IdentifiersInContext instance SHALL be 795 added to the [children] and/or [attributes] of the element item. 797 Example 799 Assume this type assignment: 801 MyType ::= SEQUENCE { 802 field INTEGER, 803 fieldAtt [RXER:NAME AS "field"][RXER:ATTRIBUTE] BOOLEAN 804 } 806 field, fieldAtt IN MyType 808 809 810 811 812 813 814 816 7. Security Considerations 817 The ASN.X translation of an XER encoding instruction is semantically 818 equivalent to the original XER encoding instruction. The security 819 considerations that apply to an application built from an original 820 ASN.1 specification with XER encoding instructions apply equally to 821 an application built from the ASN.X translation of the ASN.1 822 specification. 824 See the main specification for ASN.X [ASN.X] for security 825 considerations related to ASN.X modules. 827 8. IANA Considerations 829 This document has no actions for the Internet Assigned Numbers 830 Authority (IANA). 832 9. References 834 9.1. Normative References 836 [BCP14] Bradner, S., "Key words for use in RFCs to Indicate 837 Requirement Levels", BCP 14, RFC 2119, March 1997. 839 [URI] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform 840 Resource Identifiers (URI): Generic Syntax", STD 66, RFC 841 3986, January 2005. 843 [RXER] Legg, S. and D. Prager, "Robust XML Encoding Rules (RXER) 844 for Abstract Syntax Notation One (ASN.1)", 845 draft-legg-xed-rxer-xx.txt, a work in progress, December 846 2006. 848 [RXEREI] Legg, S., "Encoding Instructions for the Robust XML 849 Encoding Rules (RXER)", draft-legg-xed-rxer-ei-xx.txt, a 850 work in progress, December 2006. 852 [ASN.X] Legg, S., "Abstract Syntax Notation X (ASN.X)", 853 draft-legg-xed-asd-xx.txt, a work in progress, December 854 2006. 856 [X.680] ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1, 857 Information technology - Abstract Syntax Notation One 858 (ASN.1): Specification of basic notation. 860 [X.680-1] ITU-T Recommendation X.680 (2002) Amendment 1 (10/03) | 861 ISO/IEC 8824-1:2002/Amd 1:2004, Support for EXTENDED-XER. 863 [X.693-1] Amendment 1: (to ITU-T Rec. X.693 | ISO/IEC 8825-4) XER 864 encoding instructions and EXTENDED-XER 866 [XML10] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and 867 F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth 868 Edition)", W3C Recommendation, 869 http://www.w3.org/TR/2006/REC-xml-20060816, August 2006. 871 [XML11] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., 872 Yergeau, F., and J. Cowan, "Extensible Markup Language 873 (XML) 1.1 (Second Edition)", W3C Recommendation, 874 http://www.w3.org/TR/2006/REC-xml11-20060816, August 2006. 876 [XMLNS10] Bray, T., Hollander, D., Layman, A., and R. Tobin, 877 "Namespaces in XML 1.0 (Second Edition)", W3C 878 Recommendation, 879 http://www.w3.org/TR/2006/REC-xml-names-20060816, August 880 2006. 882 [INFOSET] Cowan, J. and R. Tobin, "XML Information Set (Second 883 Edition)", W3C Recommendation, 884 http://www.w3.org/TR/2004/REC-xml-infoset-20040204, 885 February 2004. 887 [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 888 4.0", Boston, MA, Addison-Wesley Developers Press, 2003. 889 ISBN 0-321-18578-1. 891 9.2. Informative References 893 [X.693] ITU-T Recommendation X.693 (12/01) | ISO/IEC 8825-4:2002, 894 Information technology - ASN.1 encoding rules: XML 895 encoding rules (XER) 897 Appendix A. ASN.1 for XER Encoding Instruction Notation 899 This appendix is normative. 901 XER-EncodingInstructionNotation 902 { iso(1) identified-organization(3) dod(6) 903 internet(1) private(4) enterprise(1) 904 xmled(21472) asnx(1) module(0) xer-ei-notation(3) } 906 -- Copyright (C) The IETF Trust (2006). This version of 907 -- this ASN.1 module is part of RFC XXXX; see the RFC itself 908 -- for full legal notices. 910 DEFINITIONS 911 RXER INSTRUCTIONS 912 AUTOMATIC TAGS 913 EXTENSIBILITY IMPLIED ::= BEGIN 914 IMPORTS 915 AnyURI, 916 NCName 917 FROM AdditionalBasicDefinitions 918 { iso(1) identified-organization(3) dod(6) 919 internet(1) private(4) enterprise(1) 920 xmled(21472) asnx(1) module(0) basic(0) } 921 Annotation, 922 Value 923 FROM AbstractSyntaxNotation-X 924 { iso(1) identified-organization(3) dod(6) 925 internet(1) private(4) enterprise(1) 926 xmled(21472) asnx(1) module(0) notation(1) } 927 TargetList 928 FROM TargetListNotation 929 { iso(1) identified-organization(3) dod(6) 930 internet(1) private(4) enterprise(1) 931 xmled(21472) asnx(1) module(0) 932 target-list-notation(4) } 933 ; 935 XER-EncodingInstructionAssignmentList ::= SEQUENCE { 936 annotation Annotation OPTIONAL, 937 instructions [GROUP] XER-TargettedEncodingInstructions 938 } 940 XER-TargettedEncodingInstructions ::= SEQUENCE SIZE (1..MAX) OF 941 targettedInstruction XER-TargettedEncodingInstruction 943 XER-TargettedEncodingInstruction ::= SEQUENCE { 944 instruction [GROUP] XER-GeneralEncodingInstruction, 945 targetList [GROUP] TargetList OPTIONAL 946 } 948 XER-EncodingInstruction ::= XER-GeneralEncodingInstruction 949 (WITH COMPONENTS { ..., globalDefaults ABSENT }) 951 XER-GeneralEncodingInstruction ::= [SINGULAR-INSERTIONS] CHOICE { 952 anyAttributes XER-WildcardInstruction, 953 not-anyAttributes XER-NegatingInstruction, 954 anyElement XER-WildcardInstruction, 955 not-anyElement XER-NegatingInstruction, 956 attribute XER-SimpleInstruction, 957 not-attribute XER-NegatingInstruction, 958 base64 XER-SimpleInstruction, 959 not-base64 XER-NegatingInstruction, 960 decimal XER-SimpleInstruction, 961 not-decimal XER-NegatingInstruction, 962 defaultForEmpty XER-DefaultForEmptyInstruction, 963 not-defaultForEmpty XER-NegatingInstruction, 964 embedValues XER-SimpleInstruction, 965 not-embedValues XER-NegatingInstruction, 966 globalDefaults XER-GlobalDefaultsInstruction, 967 list XER-SimpleInstruction, 968 not-list XER-NegatingInstruction, 969 name XER-NameInstruction, 970 not-name XER-NegatingInstruction, 971 namespace XER-NamespaceInstruction, 972 not-namespace XER-NegatingInstruction, 973 piOrComment XER-PIOrCommentInstruction, 974 not-piOrComment XER-NegatingInstruction, 975 text XER-TextInstruction, 976 not-text XER-NegatingInstruction, 977 untagged XER-SimpleInstruction, 978 not-untagged XER-NegatingInstruction, 979 element XER-NegatingInstruction, 980 useNil XER-SimpleInstruction, 981 not-useNil XER-NegatingInstruction, 982 useNumber XER-SimpleInstruction, 983 not-useNumber XER-NegatingInstruction, 984 useOrder XER-SimpleInstruction, 985 not-useOrder XER-NegatingInstruction, 986 useQName XER-SimpleInstruction, 987 not-useQName XER-NegatingInstruction, 988 useType XER-SimpleInstruction, 989 not-useType XER-NegatingInstruction, 990 useUnion XER-SimpleInstruction, 991 not-useUnion XER-NegatingInstruction, 992 whiteSpace XER-WhiteSpaceInstruction, 993 not-whiteSpace XER-NegatingInstruction 994 } 996 XER-SimpleInstruction ::= SEQUENCE { } 998 XER-NegatingInstruction ::= XER-SimpleInstruction 1000 XER-WildcardInstruction ::= SEQUENCE { 1001 namespaceRestriction [GROUP] XER-NamespaceRestriction OPTIONAL 1002 } 1004 XER-NamespaceRestriction ::= [NO-INSERTIONS] CHOICE { 1005 from XER-URIList, 1006 except XER-URIList 1007 } 1009 XER-URIList ::= SEQUENCE SIZE(1..MAX) OF 1010 uriOrAbsent [GROUP] XER-QuotedURIorAbsent 1012 XER-QuotedURIorAbsent ::= [SINGULAR-INSERTIONS] CHOICE { 1013 namespace AnyURI, 1014 local NULL 1015 } 1017 XER-DefaultForEmptyInstruction ::= SEQUENCE { 1018 value [GROUP] Value 1019 } 1021 XER-GlobalDefaultsInstruction ::= SEQUENCE { 1022 defaultSetting [GROUP] [SINGULAR-INSERTIONS] CHOICE { 1023 modifiedEncodings NULL, 1024 controlNamespace XER-ControlNamespace 1025 } 1026 } 1028 XER-ControlNamespace ::= SEQUENCE { 1029 name [ATTRIBUTE] AnyURI, 1030 prefix [ATTRIBUTE] NCName OPTIONAL 1031 } 1033 XER-NameInstruction ::= SEQUENCE { 1034 newNameOrKeyword [GROUP] XER-NewNameOrKeyword 1035 } 1037 XER-NewNameOrKeyword ::= [NO-INSERTIONS] CHOICE { 1038 newName [ATTRIBUTE] UTF8String, 1039 conversion [ATTRIBUTE] XER-Conversion 1040 } 1042 XER-Conversion ::= ENUMERATED { 1043 capitalized (0), 1044 uncapitalized (1), 1045 uppercased (2), 1046 lowercased (3) 1047 } 1049 XER-NamespaceInstruction ::= SEQUENCE { 1050 namespace [GROUP] XER-NamespaceSpecification OPTIONAL 1051 } 1053 XER-NamespaceSpecification ::= [HOLLOW-INSERTIONS] SEQUENCE { 1054 name [ATTRIBUTE] AnyURI, 1055 prefix [ATTRIBUTE] NCName OPTIONAL 1056 } 1057 XER-PIOrCommentInstruction ::= SEQUENCE { 1058 text [ATTRIBUTE] UTF8String, 1059 position [ATTRIBUTE] XER-Position 1060 } 1062 XER-Position ::= ENUMERATED { 1063 beforeTag (0), 1064 beforeValue (1), 1065 afterValue (2), 1066 afterTag (3) 1067 } 1069 XER-TextInstruction ::= SEQUENCE { 1070 newNameOrKeyword [GROUP] XER-NewNameOrKeyword OPTIONAL 1071 } 1073 XER-WhiteSpaceInstruction ::= SEQUENCE { 1074 action [ATTRIBUTE] XER-WhiteSpaceAction 1075 } 1077 XER-WhiteSpaceAction ::= ENUMERATED { 1078 replace (0), 1079 collapse (1) 1080 } 1082 ENCODING-CONTROL RXER 1084 SCHEMA-IDENTITY "urn:oid:1.3.6.1.4.1.21472.1.0.3" 1085 TARGET-NAMESPACE "urn:ietf:params:xml:ns:asnx" PREFIX "asnx" 1087 END 1089 Appendix B. ASN.1 for Target List Notation 1091 This appendix is normative. 1093 TargetListNotation 1094 { iso(1) identified-organization(3) dod(6) 1095 internet(1) private(4) enterprise(1) 1096 xmled(21472) asnx(1) module(0) target-list-notation(4) } 1098 -- Copyright (C) The IETF Trust (2006). This version of 1099 -- this ASN.1 module is part of RFC XXXX; see the RFC itself 1100 -- for full legal notices. 1102 DEFINITIONS 1103 RXER INSTRUCTIONS 1104 AUTOMATIC TAGS 1105 EXTENSIBILITY IMPLIED ::= BEGIN 1107 IMPORTS 1108 Markup, 1109 NCName, 1110 QName 1111 FROM AdditionalBasicDefinitions 1112 { iso(1) identified-organization(3) dod(6) 1113 internet(1) private(4) enterprise(1) 1114 xmled(21472) asnx(1) module(0) basic(0) } 1115 ; 1117 TargetList ::= SEQUENCE SIZE (1..MAX) OF target Targets 1119 Targets ::= [NO-INSERTIONS] CHOICE { 1120 allTypes NULL, 1121 identifiedTypes [GROUP] QualifiedTypeIdentification, 1122 components IdentifiersInContext, 1123 allImportsFrom SEQUENCE { } 1124 -- allImportsFrom is not used in this version 1125 } 1127 -- TypeIdentification and BuiltInTypeIdentification 1128 QualifiedTypeIdentification ::= [HOLLOW-INSERTIONS] SEQUENCE { 1129 types [GROUP] [SINGULAR-INSERTIONS] CHOICE { 1130 specificType [GROUP] SpecificTypeIdentification, 1131 choice NULL, 1132 enumerated NULL, 1133 instanceOf NULL, 1134 sequence NULL, 1135 sequenceOf NULL, 1136 set NULL, 1137 setOf NULL 1138 }, 1139 qualification [GROUP] QualifyingInformationPart OPTIONAL 1140 } 1142 SpecificTypeIdentification ::= [HOLLOW-INSERTIONS] SEQUENCE { 1143 type [ATTRIBUTE] QName, 1144 component Markup OPTIONAL, 1145 allTextuallyPresent NULL OPTIONAL 1146 } 1148 QualifyingInformationPart ::= [NO-INSERTIONS] CHOICE { 1149 allIdentifiers NULL, 1150 identifier SEQUENCE { 1151 name [ATTRIBUTE] NCName 1152 } 1154 } 1156 IdentifiersInContext ::= SEQUENCE { 1157 identifiers [GROUP] IdentifierList, 1158 in CHOICE { 1159 allTypes NULL, 1160 specificType [GROUP] SpecificTypeIdentification 1161 } 1162 } 1164 IdentifierList ::= [NO-INSERTIONS] CHOICE { 1165 list [GROUP] IdentifiedComponents, 1166 allTextuallyPresent NULL, 1167 allFirstLevel NULL 1168 } 1170 IdentifiedComponents ::= SEQUENCE SIZE (1..MAX) OF 1171 identifiedComponent [GROUP] IdentifiedComponent 1173 IdentifiedComponent ::= [SINGULAR-INSERTIONS] CHOICE { 1174 component GenericIdentifiedComponent, 1175 element GenericIdentifiedComponent, 1176 attribute GenericIdentifiedComponent, 1177 group GenericIdentifiedComponent, 1178 member GenericIdentifiedComponent, 1179 item GenericIdentifiedComponent, 1180 simpleContent GenericIdentifiedComponent 1181 } 1183 GenericIdentifiedComponent ::= SEQUENCE { 1184 name [ATTRIBUTE] QName 1185 } 1187 ENCODING-CONTROL RXER 1189 SCHEMA-IDENTITY "urn:oid:1.3.6.1.4.1.21472.1.0.4" 1190 TARGET-NAMESPACE "urn:ietf:params:xml:ns:asnx" PREFIX "tln" 1192 END 1194 Appendix C. ASN.X for XER Encoding Instruction Notation 1196 This appendix is non-normative. 1198 1199 1208 1209 Copyright (C) The IETF Trust (2006). This version of 1210 this ASN.X module is part of RFC XXXX; see the RFC itself 1211 for full legal notices. 1212 1214 1219 1224 1225 1226 1227 1228 1229 1230 1232 1233 1234 1236 1237 1238 1239 1241 1242 1243 1245 1246 1247 1248 1251 1252 1253 1254 1255 1256 1258 1259 1260 1261 1262 1263 1264 1265 1266 1268 1269 1270 1271 1273 1275 1276 1278 1279 1281 1282 1283 1284 1285 1287 1289 1290 1292 1294 1295 1296 1297 1298 1299 1301 1303 1305 1306 1307 1308 1310 1311 1312 1313 1314 1316 1317 1319 1320 1322 1323 1324 1325 1327 1329 1331 1332 1333 1335 1336 1337 1338 1339 1341 1344 1345 1346 1347 1348 1350 1351 1352 1353 1355 1356 1357 1358 1359 1360 1361 1362 1364 1365 1366 1367 1368 1369 1370 1372 1373 1374 1375 1376 1377 1378 1379 1381 1382 1383 1384 1385 1386 1387 1389 1390 1391 1392 1393 1394 1395 1396 1398 1399 1400 1401 1402 1403 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1416 1417 1418 1419 1420 1421 1422 1424 1425 1426 1427 1428 1429 1430 1431 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1464 1465 1466 1467 1468 1469 1470 1471 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1484 1485 1486 1487 1488 1490 1492 1493 1494 1496 1497 1498 1499 1500 1501 1502 1504 1505 1506 1507 1508 1509 1510 1511 1513 1515 Appendix D. ASN.X for Target List Notation 1517 This appendix is non-normative. 1519 1520 1529 1530 Copyright (C) The IETF Trust (2006). This version of 1531 this ASN.X module is part of RFC XXXX; see the RFC itself 1532 for full legal notices. 1533 1535 1536 1537 1538 1539 1541 1542 1544 1545 1546 1547 1548 1550 1551 1552 1553 allImportsFrom is not used in this version 1554 1555 1556 1557 1558 1559 1560 1561 1563 1564 1565 TypeIdentification and BuiltInTypeIdentification 1566 1567 1568 1569 1570 1571 1572 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1587 1588 1590 1591 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1622 1623 1624 1625 1626 1627 1628 1629 1630 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1648 1649 1650 1651 1653 1654 1655 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1668 1669 1670 1672 1673 1674 1675 1676 1677 1678 1680 1682 Author's Address 1684 Dr. Steven Legg 1685 eB2Bcom 1686 Suite 3, Woodhouse Corporate Centre 1687 935 Station Street 1688 Box Hill North, Victoria 3129 1689 AUSTRALIA 1691 Phone: +61 3 9896 7830 1692 Fax: +61 3 9896 7801 1693 EMail: steven.legg@eb2bcom.com 1695 Full Copyright Statement 1697 Copyright (C) The IETF Trust (2006). 1699 This document is subject to the rights, licenses and restrictions 1700 contained in BCP 78, and except as set forth therein, the authors 1701 retain all their rights. 1703 This document and the information contained herein are provided on an 1704 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 1705 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND 1706 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS 1707 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF 1708 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 1709 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 1711 Intellectual Property 1713 The IETF takes no position regarding the validity or scope of any 1714 Intellectual Property Rights or other rights that might be claimed to 1715 pertain to the implementation or use of the technology described in 1716 this document or the extent to which any license under such rights 1717 might or might not be available; nor does it represent that it has 1718 made any independent effort to identify any such rights. Information 1719 on the procedures with respect to rights in RFC documents can be 1720 found in BCP 78 and BCP 79. 1722 Copies of IPR disclosures made to the IETF Secretariat and any 1723 assurances of licenses to be made available, or the result of an 1724 attempt made to obtain a general license or permission for the use of 1725 such proprietary rights by implementers or users of this 1726 specification can be obtained from the IETF on-line IPR repository at 1727 http://www.ietf.org/ipr. 1729 The IETF invites any interested party to bring to its attention any 1730 copyrights, patents or patent applications, or other proprietary 1731 rights that may cover technology that may be required to implement 1732 this standard. Please address the information to the IETF at 1733 ietf-ipr@ietf.org. 1735 Note to the RFC Editor: the remainder of this document is to be removed 1736 before final publication. 1738 Changes in Draft 01 1740 ASN.1 Schema has been renamed to Abstract Syntax Notation X (ASN.X) 1741 and the element has been renamed to . 1743 The XER-EncodingInstructionSchema module has been renamed to 1744 XER-EncodingInstructionNotation. The schema identity for the module 1745 has been similarly changed. 1747 The component attribute in the SpecificTypeIdentification translation 1748 has been changed to a element. 1750 Examples have been added. 1752 The CONTENT encoding instruction has been renamed to GROUP and a 1753 component subject to a GROUP encoding instruction is now an element 1754 item with the [local name] "group" instead of "content". 1756 The element has been renamed to and now 1757 appears as a child element of an element. 1759 Insertion encoding instructions have been added to the ASN.1 for XER 1760 Encoding Instruction Notation to remove extension ambiguity. 1762 Changes in Draft 02 1764 The AnyType ASN.1 type has been renamed to Markup. 1766 Each EncodingInstruction in an EncodingInstructionAssignmentList is 1767 now wrapped in a element with the 1768 elements following the encoding instruction element instead of being 1769 nested within it. This is better aligned with the improved syntax 1770 for XER encoding instructions that will be introduced along with 1771 encoding instructions for PER. 1773 The ASN.1 for TargetList has been extracted into a separate ASN.1 1774 module so that it can be more conveniently shared with encoding 1775 instructions for PER. 1777 The method for dealing with parameterized definitions has been 1778 generalized for ASN.X, so a specific solution for module context 1779 changes with respect to XER encoding instructions is no longer needed 1780 and has been dropped. 1782 The treatment of the GLOBAL-DEFAULTS encoding instruction has been 1783 changed so that there is now an explicit element 1784 item. 1786 A negating instruction is now represented as an empty element item 1787 with a name beginning with "not-" instead of being represented as a 1788 positive instruction child of a element item. 1790 A preprocessing step has been added to deal with 1791 ImportedTypesIdentification. The previous translation for 1792 ImportedTypesIdentification was unable to account for symbols 1793 imported from another module's import list. 1795 The URL for the ASN.1 namespace has been replaced. A permanent URN 1796 will be requested from the IANA. 1798 Changes in Draft 03 1800 The effective name definition has been replaced by the expanded name 1801 definition from Namespaces in XML. 1803 The SIMPLE-CONTENT encoding instruction has been accounted for in the 1804 ASN.1 for Target List Notation.