view Side-By-Side changes
INTERNET-DRAFT S. Leggdraft-legg-xed-asd-xerei-00.txtdraft-legg-xed-asd-xerei-01.txt eB2Bcom Intended Category: Standards TrackApril 12,November 14, 2005ASN.1 SchemaAbstract Syntax Notation X (ASN.X) Representationfor XERof Encoding Instructions for the XML Encoding Rules (XER) Copyright (C) The Internet Society (2005). Status of this Memo By submitting this Internet-draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. By submitting this Internet-draft, I accept the provisions of Section 3 of BCP 78. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Technical discussion of this document should take place on the XED developers mailing list <xeddev@eb2bcom.com>. Please send editorial comments directly to the editor <steven.legg@eb2bcom.com>. Further information is available on the XED website: www.xmled.info. This Internet-Draft expires on12 October 2005.14 May 2006. AbstractASN.1 SchemaAbstract Syntax Notation X (ASN.X) isa semantically equivalentan Extensible Markup Language Legg Expires 14 May 2006 [Page 1] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 (XML) representation for Abstract Syntax Notation One (ASN.1) specifications. This document specifies theASN.1 Schema Legg Expires 12 October 2005 [Page 1] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005ASN.X representation of encoding instructions for the XML Encoding Rules(XER) encoding instructions.(XER). Legg Expires12 October 200514 May 2006 [Page 2] INTERNET-DRAFTASN.1 Schema:ASN.X: XER Encoding InstructionsApril 12,November 14, 2005 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. EncodingInstructionAssignmentList Translation. . . . . . . . . 5 4. EncodingInstruction Translation. . . . . . . . . . . . . . . . 6 4.1. TargetList Translation . . . . . . . . . . . . . . . . .67 4.1.1. TypeIdentification Translation . . . . . . . . .67 4.1.2. BuiltInTypeIdentification Translation. . . . . .89 4.1.3. IdentifiersInContext Translation . . . . . . . .911 4.1.4. ImportedTypesIdentification Translation. . . . .912 4.2. NamespaceRestriction Translation . . . . . . . . . . . .1012 4.3. AnyAttributesInstruction Translation . . . . . . . . . .1013 4.4. AnyElementInstruction Translation. . . . . . . . . . . .1113 4.5. AttributeInstruction Translation . . . . . . . . . . . .1113 4.6. Base64Instruction Translation. . . . . . . . . . . . . .1114 4.7. DecimalInstruction Translation . . . . . . . . . . . . .1114 4.8. DefaultForEmptyInstruction Translation . . . . . . . . .1114 4.9. ElementInstruction Translation . . . . . . . . . . . . .1114 4.10. EmbedValuesInstruction Translation . . . . . . . . . . .1214 4.11. ListInstruction Translation. . . . . . . . . . . . . . .1214 4.12. NameInstruction Translation. . . . . . . . . . . . . . .1215 4.13. NamespaceInstruction Translation . . . . . . . . . . . .1215 4.14. PIOrCommentInstruction Translation . . . . . . . . . . .1316 4.15. TextInstruction Translation. . . . . . . . . . . . . . .1316 4.16. UntaggedInstruction Translation. . . . . . . . . . . . .1317 4.17. UseNilInstruction Translation. . . . . . . . . . . . . .1417 4.18. UseNumberInstruction Translation . . . . . . . . . . . .1417 4.19. UseOrderInstruction Translation. . . . . . . . . . . . .1417 4.20. UseQNameInstruction Translation. . . . . . . . . . . . .1418 4.21. UseTypeInstruction Translation . . . . . . . . . . . . .1418 4.22. UseUnionInstruction Translation. . . . . . . . . . . . .1418 4.23. WhiteSpaceInstruction Translation. . . . . . . . . . . .1418 5. Parameterized Definitions. . . . . . . . . . . . . . . . . . .1518 5.1. Pre-processing Step. . . . . . . . . . . . . . . . . . .1519 5.2. Translation Step . . . . . . . . . . . . . . . . . . . .1822 5.3. Post-processing Step . . . . . . . . . . . . . . . . . .2024 6. Security Considerations. . . . . . . . . . . . . . . . . . . .2226 7. IANA Considerations. . . . . . . . . . . . . . . . . . . . . .2327 Appendix A. ASN.1 for XER Encoding Instruction Notation. . . . . .2327 Appendix B.ASN.1 SchemaASN.X for XER Encoding InstructionNotationNotation. . . .31. . 36 Normative References . . . . . . . . . . . . . . . . . . . . . . .5257 Informative References . . . . . . . . . . . . . . . . . . . . . .5359 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . .5359 Full Copyright Statement . . . . . . . . . . . . . . . . . . . . .5459 1. Introduction Legg Expires12 October 200514 May 2006 [Page 3] INTERNET-DRAFTASN.1 Schema:ASN.X: XER Encoding InstructionsApril 12,November 14, 2005ASN.1 Schema [ASD]Abstract Syntax Notation X (ASN.X) [ASN.X] isa semantically equivalentan Extensible Markup Language (XML)[XML][XML10][XML11] representation for Abstract Syntax Notation One (ASN.1) [X.680] specifications. TheASN.1 SchemaASN.X representation for the ASN.1 basic notation [X.680] [X.680-1] is described elsewhere[ASD].[ASN.X]. The grammar of ASN.1 also permits the application of encoding instructions [X.680-1], through type prefixes and encoding control sections, that modify how abstract values are encoded by nominated encoding rules. The generic notation for type prefixes and encoding control sections is defined by the ASN.1 basic notation, however the notation for specific encoding instructions i.e., the EncodingInstructionAssignmentList and EncodingInstruction productions of the notation, are defined separately for each set of encoding rules using encoding instructions. This document specifies theASN.1 SchemaASN.X representation for EncodingInstructionAssignmentList and EncodingInstruction as they are defined for the XML Encoding Rules (XER) [X.693][X.693-1].ASN.1 SchemaASN.X is defined in terms of rules for translating from an ASN.1 specification. This does not preclude anASN.1 SchemaASN.X document being written directly without a pre-existing ASN.1 specification, however such anASN.1 SchemaASN.X document is considered valid if and only if there exists in principle an ASN.1 specification which when translated would yield theASN.1 SchemaASN.X document. By design, anASN.1 SchemaASN.X document is also the Robust XML Encoding Rules (RXER) [RXER] encoding of an ASN.1 abstract value. The ASN.1 type definitions for such abstract values, insofar as they pertain to the ASN.1 basic notation, are provided elsewhere[ASD],[ASN.X], however this document provides the ASN.1 type definitions for representing XER encoding instructions as abstract values. These definitions appear in Appendix A. TheASN.1 SchemaASN.X translation of the ASN.1 module in Appendix A is presented in Appendix B. The General Considerations of the specification for ASN.X [ASN.X] also apply here. 2. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT","RECOMMENDED", "MAY""RECOMMENDED" and"OPTIONAL""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. Legg Expires 14 May 2006 [Page 4] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 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 toLegg Expires 12 October 2005 [Page 4] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005that production. The description of the translation of XER encoding instructions intoASN.1 SchemaASN.X makes use of definitions from the XML Information Set (Infoset) [ISET]. In particular, information item property names are presented per the Infoset, e.g., [local name]. In the sections that follow,the term "element" shall"information item" will betakenabbreviated tomean an Infoset element"item", e.g., "element informationitem and "attribute" shallitem" is abbreviated to "element item". Element items will betakenreferred tomean an Infoset attribute information item. The [namespace name] of any element or attribute generatedbythe translation from an ASN.1 specification has no value unless specified otherwise. 3. EncodingInstructionAssignmentList Translation As describedtheir [local name] in angle brackets, e.g., "the <name> element item" means thespecification for ASN.1 Schema [ASD], the translation of an EncodingControlSection for XER is anelement item with the [local name] "name". Attribute items will be referred to by their [local name], e.g., "the name attribute item" means the attribute item with the [local name] "name". 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. 3. EncodingInstructionAssignmentList Translation As described in the specification for ASN.X [ASN.X], the translation of an EncodingControlSection for XER is an element item with the [local name]"encodingControl-XER"."XER". The translation of the EncodingInstructionAssignmentList in such an EncodingControlSection determines the content of the<encodingControl-XER> element.<XER> element item. An element item with the [local name] "annotation" MAY be added to the [children] of the <XER> element item. If the EncodingInstructionAssignmentList contains an EncodingInstruction that is a PositiveInstruction that is a GlobalDefaultsInstruction where the DefaultSetting is "MODIFIED- ENCODINGS" then an attribute item with the [local name] "modifiedEncodings" and [normalized value] "true" or "1" SHALL be added to the [attributes] of the<encodingControl-XER> element.<XER> element item, otherwise an attribute item with the [local name] "modifiedEncodings" and [normalized value] "false" or "0" MAY be added to the [attributes] of the<encodingControl-XER> element.<XER> element item. If the EncodingInstructionAssignmentList contains an EncodingInstruction that is a PositiveInstruction that is a GlobalDefaultsInstruction where the DefaultSetting is a ControlNamespace then the translation of the ControlNamespace SHALL be added to the [children] of the<encodingControl-XER> element.<XER> element item. The translation of a ControlNamespace is an element item with the Legg Expires 14 May 2006 [Page 5] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 [local name] "controlNamespace". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <controlNamespace>element.element item. The [normalized value] of this attribute item is the Uniform Resource Identifier (URI) [URI] in the QuotedURI in the ControlNamespace. If the ControlNamespace contains a Prefix then an attribute item with the [local name] "prefix" SHALL be added to the [attributes] of the <controlNamespace>element.element item. The [normalized value] of this attribute item is the NCName in the QuotedNCName in the Prefix.Legg Expires 12 October 2005 [Page 5] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005The translation of each EncodingInstruction in the EncodingInstructionAssignmentList, excluding any GlobalDefaultsInstruction, is appended to the [children] of the<encodingControl-XER> element.<XER> element item. Example ENCODING-CONTROL XER GLOBAL-DEFAULTS MODIFIED-ENCODINGS GLOBAL-DEFAULTS CONTROL-NAMESPACE "http://example.com" PREFIX "ex" <XER modifiedEncodings="true"> <controlNamespace name="http://example.com" prefix="ex"/> </XER> 4. EncodingInstruction Translation The translation of an EncodingInstruction for XER can appear in the translation of an EncodingInstructionAssignmentList (see the previous section) or an EncodingPrefix. The translation for an EncodingPrefix is described by the specification forASN.1 Schema [ASD].ASN.X [ASN.X]. The translation of an EncodingInstruction for XER is the translation of the contained PositiveInstruction or NegatingInstruction. The translation of a PositiveInstruction is the translation of the contained AnyAttributeInstruction, AnyElementInstruction, AttributeInstruction, Base64Instruction, DecimalInstruction, DefaultForEmptyInstruction, EmbedValuesInstruction, ListInstruction, NameInstruction, NamespaceInstruction, PIOrCommentInstruction, TextInstruction, UntaggedInstruction, UseNilInstruction, UseNumberInstruction, UseOrderInstruction, UseQNameInstruction, UseTypeInstruction, UseUnionInstruction or WhitespaceInstruction. ASIDE: A GlobalDefaultsInstruction is ignored here. It is considered in Section 4. Legg Expires 14 May 2006 [Page 6] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 The translation of a NegatingInstruction that is an ElementInstruction is the translation of that ElementInstruction. The translation of a NegatingInstruction that is not an ElementInstruction is an element item with the [local name] "not". The translation of the PositiveInstruction in the NegatingInstruction SHALL be added to the [children] of the <not>element.element item. 4.1. TargetList Translation The TargetList production is common to all the encoding instructions. The translation of a TargetList is the concatenation of the translations of each of the contained Targets. The translation of a Targets is an element item with the [local name] "target". The content of the <target> element item is the translation of the contained TypeIdentification, BuiltInTypeIdentification, IdentifiersInContext or ImportedTypesIdentification. 4.1.1. TypeIdentification TranslationLegg Expires 12 October 2005 [Page 6] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005The translation of a TypeIdentification of the "ALL" form is an element item with the [local name] "allTypes", otherwise the translation of a TypeIdentification is the translation of the ModuleAndTypeReference followed by the translation of the ComponentReference, if present, followed by the translation of the QualifyingInformationPart, if present. The translation of a ModuleAndTypeReference is an attribute item with the [local name] "type". The [normalized value] of this attribute item is the qualified name [XMLNS10] corresponding to the typereference in the ModuleAndTypeReference (see Section 5.1 of[ASD]).[ASN.X]). The translation of a ComponentReference is anattributeelement item with the [local name] "component" and, if the final ComponentId in the ComponentIdList in the ComponentReference is "ALL", an element item with the [local name] "allTextuallyPresent". The[normalized value][children] property of theattribute<component> element item is set to the sequence of character items for a "/" (U+002F) separated list of the translations of the ComponentId instances, excluding "ALL" if present. Leading and/or trailing white space character items MAY be added to the [children] of the <component> element item. White space character items MAY be added immediately before and/or after any character item for the "/" character. Legg Expires 14 May 2006 [Page 7] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 If a ComponentId identifies the Type in a NamedType then the translation of the ComponentId is the RXERencodingcharacter data translation [RXER] of the effective name [RXEREI] of the NamedType. If the NamedType is subject to an RXER ATTRIBUTE or ATTRIBUTE-REF encoding instruction [RXEREI] then a "@" (U+0040) character is prefixed to the translation. If a ComponentId identifies a Type that is not in a NamedType (the component type for a SEQUENCE OF or SET OF type) then the translation of the ComponentId is the character string "item". If a ComponentId does not identify a Type and the ComponentId is an identifier then the translation of the ComponentId is the identifier. If a ComponentId does not identify a Type and the ComponentId is "*" then the translation of the ComponentId is the character string "item". Thetranslation of a QualifyingInformationPart<component> element item is required to be self-contained [RXER]. ASIDE: An element item is self-contained if all namespace prefixes used by the element item and its contents are declared within the element item. The translation of a QualifyingInformationPart is the translation of the contained QualifyingInformation. The translation of a QualifyingInformation of the "identifier" form is an element item with the [local name] "identifier". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <identifier>element.element item. If the ModuleTypeAndReference and ComponentReference (if present) identify a BIT STRING, ENUMERATED, or INTEGER type where the associated BitStringType, EnumeratedType or IntegerType (respectively) is subject to an RXER VALUES encoding instruction then the [normalized value] of the attribute item is theLegg Expires 12 October 2005 [Page 7] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005replacement name [RXEREI] for the identifier, otherwise the [normalized value] is the identifier. The translation of a QualifyingInformation of the "ALL" form is an element item with the [local name] "allIdentifiers". Examples Assume this type assignment: MyType ::= SEQUENCE { a SEQUENCE OF CHOICE { b ENUMERATED { red, green, blue }, Legg Expires 14 May 2006 [Page 8] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 c INTEGER } } MyType.a.*.ALL <target type="MyType"> <component> a / item </component> <allTextuallyPresent/> </target> MyType.a.*.b:ALL <target type="MyType"> <component> a / item / b </component> <allIdentifiers/> </target> 4.1.2. BuiltInTypeIdentification Translation The translation of a BuiltInTypeIdentification is the translation of the BuiltInTypeName followed by the translation of the BuiltInTypeQualifyingInformationPart, if present. If the BuiltInTypeName is "BIT STRING", "BOOLEAN", "CHARACTER STRING", "EMBEDDED PDV", "EXTERNAL", "GeneralizedTime", "INTEGER", "NULL", "ObjectDescriptor", "OBJECT IDENTIFIER", "OCTET STRING", "REAL", "RELATIVE-OID" or "UTCTime" then the translation of the BuiltInTypeName is an attribute item with the [local name] "type". The [normalized value] of this attribute item is a qualified name with the namespace name being "http://xmled.info/ns/ASN.1" and the local part being the BuiltInTypeName with any white space separators replaced by a single hyphen character (U+002D), e.g. BIT STRING becomes BIT-STRING. If the BuiltInTypeName is a RestrictedCharacterStringType then the translation of the BuiltInTypeName is an attribute item with the [local name] "type". The [normalized value] of this attribute item is a qualified name with the namespace name being "http://xmled.info/ns/ASN.1" and the local part being the RestrictedCharacterStringType, i.e., BMPString, GeneralString, GraphicString, IA5String, ISO646String, NumericString, PrintableString, TeletexString, T61String, UniversalString, UTF8String, VideotexString or VisibleString. If the BuiltInTypeName is "CHOICE" then the translation of the BuiltInTypeName is an element item with the [local name] "choice". Legg Expires 14 May 2006 [Page 9] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 If the BuiltInTypeName is "ENUMERATED" then the translation of the BuiltInTypeName is an element item with the [local name] "enumerated". If the BuiltInTypeName is "INSTANCE OF" then the translation of the BuiltInTypeName is an element item with the [local name] "instanceOf". If the BuiltInTypeName is "SEQUENCE" then the translation of the BuiltInTypeName is an element item with the [local name] "sequence". If the BuiltInTypeName is "SEQUENCE OF" then the translation of the BuiltInTypeName is an element item with the [local name] "sequenceOf".Legg Expires 12 October 2005 [Page 8] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005If the BuiltInTypeName is "SET" then the translation of the BuiltInTypeName is an element item with the [local name] "set". If the BuiltInTypeName is "SET OF" then the translation of the BuiltInTypeName is an element item with the [local name] "setOf". The translation of a BuiltInTypeQualifyingInformationPart is the translation of the contained BuiltInTypeQualifyingInformation. The translation of a BuiltInTypeQualifyingInformation of the "identifier" form is an element item with the [local name] "identifier". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <identifier>element.element item. The [normalized value] of this attribute item is the actual identifier. The translation of a BuiltInTypeQualifyingInformationPart of the "ALL" form is an element item with the [local name] "allIdentifiers". Examples BOOLEAN:true <target type="asn1:BOOLEAN"> <identifier name="true"/> </target> ENUMERATED:ALL <target> <enumerated/> <allIdentifiers/> </target> Legg Expires 14 May 2006 [Page 10] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 4.1.3. IdentifiersInContext Translation The translation of an IdentifiersInContext is an element item with the [local name] "components". If the IdentifierList in the IdentifiersInContext is not of the "ALL" or "COMPONENTS" form then, for each identifier in the IdentifierList, an element item with the same [local name] (i.e., "attribute", "element","content","group", "member" or "item") as the translation of the NamedType corresponding to the identifier SHALL beaddedappended to the [children] of the <components>element.element item. An attribute item with the [local name] "name" SHALL be added to the [attributes] of each <attribute>, <element>, <content>, <member> or <item>element,element item, as appropriate. The [normalized value] of each of theseattributesattribute items is the RXERencodingcharacter data translation [RXER] of the effective name [RXEREI] of the NamedType corresponding to the identifier. If the IdentifierList in the IdentifiersInContext is of the "ALL" form then an element item with the [local name] "allTextuallyPresent" SHALL beaddedappended to the [children] of the <components>element.element item. If the IdentifierList in the IdentifiersInContext is of the "COMPONENTS" form then an element item with the [local name] "allFirstLevel" SHALL beaddedappended to the [children] of the <components>element.element item. An element item with the [local name] "in" SHALL be appended to the [children] of the <components> element item. The content of the <in> element item is the translation of the TypeIdentification in the IdentifiersInContext. Example Assume this type assignment: MyType ::= SEQUENCE { field INTEGER, fieldAtt [RXER:NAME AS "field"][RXER:ATTRIBUTE] BOOLEAN } field, fieldAtt IN MyType <target> <components> <element name="field"/> <attribute name="field"/> <in type="MyType"/> </components> Legg Expires 14 May 2006 [Page 11] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </target> 4.1.4. ImportedTypesIdentification Translation The translation of an ImportedTypesIdentification is an element item with the [local name] "allImportsFrom". An attribute item with theLegg Expires 12 October 2005 [Page 9] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005[local name] "name" SHALL be added to the [attributes] of the <allImportsFrom>element.element item. The [normalized value] of this attribute item is the modulereference in the ImportedTypesIdentification. If the module identified by the modulereference has a non-empty DefinitiveIdentifier in the ModuleIdentifier in its ModuleDefinition then an attribute item with the [local name] "identifier" SHOULD be added to the [attributes] of the <allImportsFrom>element.element item. The [normalized value] of this attribute item is the RXERencodingcharacter data translation of the OBJECT IDENTIFIER value indicated by the DefinitiveIdentifier. If the module identified by the modulereference has an RXER SCHEMA-IDENTITY encoding instruction then an attribute item with the [local name] "schemaIdentity" SHALL be added to the [attributes] of the <allImportsFrom>element.element item. The [normalized value] of this attribute item is the character string specified by the AnyURIValue of the SCHEMA-IDENTITY encoding instruction. Example ALL IMPORTS FROM MyModule <allImportsFrom name="MyModule"/> 4.2. NamespaceRestriction Translation The NamespaceRestriction production is common to AnyAttributesInstruction and AnyElementInstruction. The translation of a NamespaceRestriction of the "FROM URIList" form is an element item with the [local name] "from". The translation of each QuotedURIorAbsent in the URIList is appended to the [children] of the <from>element.element item. The translation of a NamespaceRestriction of the "EXCEPT URIList" form is an element item with the [local name] "except". The translation of each QuotedURIorAbsent in the URIList is appended to the [children] of the <except>element.element item. The translation of a QuotedURIorAbsent that is a QuotedURI is anelement with the [local name] "namespace".Legg Expires 14 May 2006 [Page 12] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 element item with the [local name] "namespace". Thecontentsequence ofthe <namespace> element is (ignoring comment and processing instruction items)character items for the URI in theQuotedURI.QuotedURI is added to the [children] of the <namespace> element item. The translation of a QuotedURIorAbsent of the "ABSENT" form is an element item with the [local name] "local". 4.3. AnyAttributesInstruction Translation The translation of an AnyAttributesInstruction is an element item with the [local name] "anyAttributes". The translation of the TargetList in the AnyAttributesInstruction SHALL be added to the [children] of the <anyAttributes>element.element item. If a NamespaceRestriction is present then the translation of the NamespaceRestriction is appended to theLegg Expires 12 October 2005 [Page 10] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005[children] of the <anyAttributes>element.element item. Example ANY-ATTRIBUTES FROM "http://example.com" ABSENT <anyAttributes> <namespace>http://example.com</namespace> <local/> </anyAttributes> 4.4. AnyElementInstruction Translation The translation of an AnyElementInstruction is an element item with the [local name] "anyElement". The translation of the TargetList in the AnyElementInstruction SHALL be added to the [children] of the <anyElement>element.element item. If a NamespaceRestriction is present then the translation of the NamespaceRestriction is appended to the [children] of the <anyElement>element.element item. 4.5. AttributeInstruction Translation The translation of an AttributeInstruction is an element item with the [local name] "attribute". The translation of the TargetList in the AttributeInstruction SHALL be added to the [children] of the <attribute>element.element item. Example ATTRIBUTE <attribute/> Legg Expires 14 May 2006 [Page 13] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 4.6. Base64Instruction Translation The translation of a Base64Instruction is an element item with the [local name] "base64". The translation of the TargetList in the Base64Instruction SHALL be added to the [children] of the <base64>element.element item. 4.7. DecimalInstruction Translation The translation of a DecimalInstruction is an element item with the [local name] "decimal". The translation of the TargetList in the DecimalInstruction SHALL be added to the [children] of the <decimal>element.element item. 4.8. DefaultForEmptyInstruction Translation The translation of a DefaultForEmptyInstruction is an element item with the [local name] "defaultForEmpty". The translation of the TargetList in the DefaultForEmptyInstruction SHALL be added to the [children] of the <defaultForEmpty>element.element item. If the Value is present in the DefaultForEmptyInstruction then the translation of the Value is appended to the content of the <defaultForEmpty>element.element item. Example DEFAULT-FOR-EMPTY AS "unspecified" <defaultForEmpty literalValue="unspecified"/> 4.9. ElementInstruction Translation The translation of an ElementInstruction is an element item with the [local name] "element". The translation of the TargetList in the ElementInstruction SHALL be added to the [children] of the <element>element. Legg Expires 12 October 2005 [Page 11] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005element item. 4.10. EmbedValuesInstruction Translation The translation of an EmbedValuesInstruction is an element item with the [local name] "embedValues". The translation of the TargetList in the EmbedValuesInstruction SHALL be added to the [children] of the <embedValues>element.element item. 4.11. ListInstruction Translation The translation of a ListInstruction is an element item with the [local name] "list". The translation of the TargetList in the Legg Expires 14 May 2006 [Page 14] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 ListInstruction SHALL be added to the [children] of the <list>element.element item. 4.12. NameInstruction Translation The translation of a NameInstruction is an element item with the [local name] "name". The translation of the TargetList in the NameInstruction SHALL be added to the [children] of the <name>element.element item. If a NewNameOrKeyword is present in the NameInstruction and the NewNameOrKeyword is a NewName then an attribute item with the [local name] "newName" SHALL be added to the [attributes] of the <name>element.element item. The [normalized value] of this attribute item is the character string value of the NewName. If a NewNameOrKeyword is present in the NameInstruction and the NewNameOrKeyword is a Keyword then an attribute item with the [local name] "conversion" SHALL be added to the [attributes] of the <name>element.element item. The [normalized value] of this attribute item is the keyword inKeyword,the Keyword with all letters downcased, i.e.,"CAPITALIZED", "UNCAPITALIZED", "UPPERCASED""capitalized", "uncapitalized", "uppercased" or"LOWERCASED"."lowercased". Example NAME AS UNCAPITALIZED <name conversion="uncapitalized"/> NAME AS "category" <name newName="category"/> 4.13. NamespaceInstruction Translation The translation of a NamespaceInstruction is an element item with the [local name] "namespace". The translation of the TargetList in the NamespaceInstruction SHALL be added to the [children] of the <namespace>element.element item. If a NamespaceSpecification is present then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the <namespace>element.element item. The [normalized value] of this attribute item is the URI in the QuotedURI in the NamespaceSpecification. If a Prefix is present in the NamespaceSpecification then an attribute item with the [local name] "prefix" SHALL be added to the [attributes] of the <namespace> element item. The [normalized value] Legg Expires12 October 200514 May 2006 [Page12]15] INTERNET-DRAFTASN.1 Schema:ASN.X: XER Encoding InstructionsApril 12,November 14, 2005[attributes] of the <namespace> element. The [normalized value]of this attribute item is the NCName in the QuotedNCName in the Prefix. Example NAMESPACE AS "http://example.com" PREFIX "ex" <namespace name="http://example.com" prefix="ex"/> 4.14. PIOrCommentInstruction Translation The translation of a PIOrCommentInstruction is an element item with the [local name] "piOrComment". The translation of the TargetList in the PIOrCommentInstruction SHALL be added to the [children] of the <piOrComment>element.element item. If a RestrictedCharacterStringValue is present in the PIOrCommentInstruction then an attribute item with the [local name] "text" SHALL be added to the [attributes] of the <piOrComment>element.element item. The [normalized value] of this attribute item is the character string of the RestrictedCharacterStringValue. If a Position is present in the PIOrCommentInstruction then an attribute item with the [local name] "position" SHALL be added to the [attributes] of the <piOrComment>element.element item. The [normalized value] of this attribute item is "beforeTag" if the keyword in thePosition, i.e., "BEFORE-TAG", "BEFORE-VALUE", "AFTER-VALUE"Position is BEFORE-TAG, "beforeValue" if the keyword in the Position is BEFORE-VALUE, "afterTag" if the keyword in the Position is AFTER-TAG, or"AFTER-TAG"."afterValue" if the keyword in the Position is AFTER-VALUE. Example PI-OR-COMMENT AS "<!-- This is a comment. -->" BEFORE-TAG <piOrComment text="<!-- This is a comment. -->" position="beforeTag"/> 4.15. TextInstruction Translation The translation of a TextInstruction is an element item with the [local name] "text". The translation of the TargetList in the TextInstruction SHALL be added to the [children] of the <text>element.element item. If a TextToBeUsed is present in the TextInstruction and the NewNameOrKeyword in the TextToBeUsed is a NewName then an attribute item with the [local name] "newName" SHALL be added to the[attributes] of the <text> element. The [normalized value] ofLegg Expires 14 May 2006 [Page 16] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 [attributes] of the <text> element item. The [normalized value] of this attribute item is the character string value of the NewName. If a TextToBeUsed is present in the TextInstruction and the NewNameOrKeyword in the TextToBeUsed is a Keyword then an attribute item with the [local name] "conversion" SHALL be added to the [attributes] of the <name>element.element item. The [normalized value] of this attribute item is the keyword inKeyword,the Keyword with all letters downcased, i.e.,"CAPITALIZED", "UNCAPITALIZED", "UPPERCASED" or "LOWERCASED"."capitalized", "uncapitalized", "uppercased" or "lowercased". Examples TEXT AS UPPERCASED <text conversion="uppercased"/> TEXT AS "A4" <text newName="A4"/> 4.16. UntaggedInstruction Translation The translation of an UntaggedInstruction is an element item with the [local name] "untagged". The translation of the TargetList in the UntaggedInstruction SHALL be added to the [children] of the <untagged>element. Legg Expires 12 October 2005 [Page 13] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005element item. 4.17. UseNilInstruction Translation The translation of a UseNilInstruction is an element item with the [local name] "useNil". The translation of the TargetList in the UseNilInstruction SHALL be added to the [children] of the <useNil>element.element item. 4.18. UseNumberInstruction Translation The translation of a UseNumberInstruction is an element item with the [local name] "useNumber". The translation of the TargetList in the UseNumberInstruction SHALL be added to the [children] of the <useNumber>element.element item. 4.19. UseOrderInstruction Translation The translation of a UseOrderInstruction is an element item with the [local name] "useOrder". The translation of the TargetList in the UseOrderInstruction SHALL be added to the [children] of the <useOrder>element.element item. Legg Expires 14 May 2006 [Page 17] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 4.20. UseQNameInstruction Translation The translation of a UseQNameInstruction is an element item with the [local name] "useQName". The translation of the TargetList in the UseQNameInstruction SHALL be added to the [children] of the <useQName>element.element item. 4.21. UseTypeInstruction Translation The translation of a UseTypeInstruction is an element item with the [local name] "useType". The translation of the TargetList in the UseTypeInstruction SHALL be added to the [children] of the <useType>element.element item. 4.22. UseUnionInstruction Translation The translation of a UseUnionInstruction is an element item with the [local name] "useUnion". The translation of the TargetList in the UseUnionInstruction SHALL be added to the [children] of the <useUnion>element.element item. 4.23. WhiteSpaceInstruction Translation The translation of a WhiteSpaceInstruction is an element item with the [local name] "whiteSpace". The translation of the TargetList in the WhiteSpaceInstruction SHALL be added to the [children] of the <whiteSpace>element. Legg Expires 12 October 2005 [Page 14] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005element item. If a WhiteSpaceAction is present in the WhiteSpaceInstruction then an attribute item with the [local name] "action" SHALL be added to the [attributes] of the <whiteSpace>element.element item. The [normalized value] of this attribute item is the keyword in theWhiteSpaceAction,WhiteSpaceAction with all letters downcased, i.e.,"REPLACE""replace" or"COLLAPSE"."collapse". Example WHITESPACE COLLAPSE <whiteSpace action="collapse"/> 5. Parameterized Definitions The translation of an ASN.1 specification intoASN.1 Schema [ASD]ASN.X [ASN.X] replaces any DummyReference [X.683] or reference to a parameterized definition [X.683] with the definition expanded in-line. For example, a ParameterizedObject is replaced by the Object on the right hand side of the referenced ParameterizedObjectAssignment. Legg Expires 14 May 2006 [Page 18] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 When a DummyReference or parameterized reference is replaced by the definition it references, the encoding control section applying to any nested type definitions may no longer accord with the original ASN.1 specification. This section describes a procedure for adding additional information to anASN.1 SchemaASN.X document so that type definitions are interpreted with respect to the appropriate XER encoding control section. For convenience, the procedure is described as a pre-processing step in which the original ASN.1 specifications are annotated with additional encoding instructions, and an optional post-processing step in which redundant encoding instruction translations are removed. Implementations are not required to explicitly perform the pre-processing and post-processing provided they produce the same net effect. 5.1. Pre-processing Step The pre-processing step requires two additional XER encoding instructions that are defined here. Note well: these encoding instructions are for translation purposes only and MUST NOT be used except in the pre-processing step in the translation of an ASN.1 specification intoan ASN.1 Schema document.ASN.X documents. The notation for the additional XER encoding instructions is defined as follows:AssumeReferenceInstruction ::= "ASSUME-REFERENCE" typereferenceAssumeModuleInstruction ::= "ASSUME-MODULE" GlobalModuleReference ? AssumeReferenceInstruction ::= "ASSUME-REFERENCE" typereference The GlobalModuleReference and typereference productions are definedLegg Expires 12 October 2005 [Page 15] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005by the ASN.1 basic notation [X.680]. The ASSUME-MODULE encoding instruction (described by AssumeModuleInstruction) indicates that the prefixed type and all nested types (excluding any types within the EncodingPrefixedType for a nested ASSUME-MODULE encoding instruction) are to be regarded as belonging to the nominated module and therefore subject to its XER encoding control section. If no module is nominated then no XER encoding control section applies to the types. The ASSUME-REFERENCE encoding instruction (described by AssumeReferenceInstruction) indicates that the prefixed type is to be regarded as the right hand side of a ParameterizedTypeAssignment with the nominated reference name. Legg Expires 14 May 2006 [Page 19] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 The remainder of this section describes how ASN.1 specifications are annotated with the ASSUME-REFERENCE and ASSUME-MODULE encoding instructions before translation. The Type of each ParameterizedTypeAssignment (i.e., the Type immediately to the right hand side of the "::=") in a module with an encoding control section for XER is prefixed with an ASSUME-REFERENCE encoding instruction. The typereference in the ASSUME-REFERENCE encoding instruction is the typereference of the ParameterizedTypeAssignment. Each Type on or within the right hand side of a parameterized assignment (regardless of whether the module has an encoding control section for XER) that is not textually within another Type is prefixed with an ASSUME-MODULE encoding instruction. Where a Type is prefixed with both an ASSUME-REFERENCE and an ASSUME-MODULE encoding instruction, the ASSUME-MODULE encoding instruction is outermost. Each Type in an ActualParameter that is not textually within another Type in the same ActualParameter is prefixed with an ASSUME-MODULE encoding instruction. If the module in which an ASSUME-MODULE encoding instruction appears does not have an encoding control section for XER then the GlobalModuleReference SHALL be absent from the encoding instruction, otherwise the GlobalModuleReference SHALL be present with the modulereference and DefinitiveIdentifier of the module. Example Suppose these two modules are about to be translated intoASN.1 Schema: Legg Expires 12 October 2005 [Page 16] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005ASN.X: ThisModule DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS ThatTypeA FROM ThatModule; ThisTypeA ::= ThatTypeA { ENUMERATED { stop, go } } ThisTypeB { TypeParam } ::= SEQUENCE { component TypeParam } ThisTypeC ::= ThisTypeB { BOOLEAN } ENCODING-CONTROL XER MODIFIED-ENCODINGS Legg Expires 14 May 2006 [Page 20] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 END ThatModule DEFINITIONS AUTOMATIC TAGS ::= BEGIN ThatTypeA { TypeParam } ::= SEQUENCE { component TypeParam } ThatTypeB ::= ThatTypeA { BOOLEAN } END These modules look like the following after pre-processing: ThisModule DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS ThatTypeA FROM ThatModule; ThisTypeA ::= ThatTypeA { [XER:ASSUME-MODULE ThisModule] ENUMERATED { stop, go } } ThisTypeB { TypeParam } ::= [XER:ASSUME-MODULE ThisModule] [XER:ASSUME-REFERENCE ThisTypeB] SEQUENCE { component TypeParam } ThisTypeC ::= ThisTypeB { [XER:ASSUME-MODULE ThisModule] BOOLEAN }Legg Expires 12 October 2005 [Page 17] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005ENCODING-CONTROL XER MODIFIED-ENCODINGS END ThatModule DEFINITIONS AUTOMATIC TAGS ::= BEGIN ThatTypeA { TypeParam } ::= [XER:ASSUME-MODULE] SEQUENCE { component TypeParam } ThatTypeB ::= ThatTypeA { [XER:ASSUME-MODULE] BOOLEAN } END Legg Expires 14 May 2006 [Page 21] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 5.2. Translation Step Following the pre-processing step, all the ASN.1 modules are translated as normal[ASD].[ASN.X]. TheASSUME-REFERENCE andASSUME-MODULE and ASSUME-REFERENCE encoding instructions have translations intoASN.1 Schema.ASN.X. The translation of anAssumeReferenceInstructionAssumeModuleInstruction is an element item with the [local name]"assumeReference". An"assumeModule". If the GlobalModuleReference is present then an attribute item with the [local name] "name" SHALL be added to the [attributes] of the<assumeReference> element.<assumeModule> element item. The [normalized value] of this attribute item is thetypereference. The translation of an AssumeModuleInstruction is an element withmodulereference in the[local name] "assumeModule".GlobalModuleReference. If the GlobalModuleReference is presentthen an attribute with the [local name] "name" SHALL be added to the [attributes] of the <assumeModule> element. The [normalized value] of this attribute is the modulereference in the GlobalModuleReference. If the GlobalModuleReference is present andand the AssignedIdentifier is not empty then an attribute item with the [local name] "identifier" SHALL be added to the [attributes] of the <assumeModule>element.element item. The [normalized value] of this attribute item is the RXER [RXER] encoding of the AssignedIdentifier. If the GlobalModuleReference is present and the referenced module has an RXER SCHEMA-IDENTITY encoding instruction then an attribute item with the [local name] "schemaIdentity" SHALL be added to the [attributes] of the <assumeModule>element.element item. The [normalized value] of this attribute item is the character string specified by the AnyURIValue of the SCHEMA-IDENTITY encoding instruction.Legg Expires 12 October 2005 [Page 18] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005If the GlobalModuleReference is absent then the <assumeModule> element item is said to reference no module. The translation of an AssumeReferenceInstruction is an element item with the [local name] "assumeReference". An attribute item with the [local name] "name" SHALL be added to the [attributes] of the <assumeReference> element item. The [normalized value] of this attribute item is the typereference. The <assumeModule> and <assumeReference> element items SHOULD NOT be used in original specifications written in ASN.X (i.e, in ASN.X documents that are not the result of translating an original ASN.1 specification). Example Continuing the example from the previous section, the translated modules look like the following:<asn1:schema<asn1:module xmlns:asn1="http://xmled.info/ns/ASN.1" name="ThisModule"> Legg Expires 14 May 2006 [Page 22] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <namedType name="ThisTypeA"> <type> <prefixed> <XER><assumeModule/></XER> <type> <sequence> <element name="component"> <type> <prefixed> <XER><assumeModule name="ThisModule"/></XER> <type> <enumerated> <enumeration name="stop"/> <enumeration name="go"/> </enumerated> </type> </prefixed> </type> </element> </sequence> </type> </prefixed> </type> </namedType> <namedType name="ThisTypeC"> <type> <prefixed> <XER> <assumeModule name="ThisModule"/> <assumeReference name="ThisTypeB"/> </XER> <type> <sequence> <element name="component"> <type> <prefixed>Legg Expires 12 October 2005 [Page 19] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<XER><assumeModule name="ThisModule"/></XER> <type ref="asn1:BOOLEAN"/> </prefixed> </type> </element> </sequence> </type> </prefixed> </type> </namedType><encodingControl-XERLegg Expires 14 May 2006 [Page 23] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <encodingControls> <XER modifiedEncodings="true"/></asn1:schema> <asn1:schema</encodingControls> </asn1:module> <asn1:module xmlns:asn1="http://xmled.info/ns/ASN.1" name="ThatModule"> <namedType name="ThatTypeB"> <type> <prefixed> <XER><assumeModule/></XER> <type> <sequence> <element name="component"> <type> <prefixed> <XER><assumeModule/></XER> <type ref="asn1:BOOLEAN"/> </prefixed> </type> </element> </sequence> </type> </prefixed> </type> </namedType></asn1:schema></asn1:module> 5.3. Post-processing Step In the post-processing step, redundant <assumeModule>elementselement items may be removed. Definition: The superior element item for an <assumeModule> element, if it exists, is the nearest preceding <assumedModule> element item with the same, or an enclosing, grandparent <prefixed>element. Legg Expires 12 October 2005 [Page 20] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005element item. An <assumedModule> element item MAY be removed if: (a) it has a superior element item and bothelementselement items reference the same module, or bothelementselement items reference no module, or (b) it does not have a superior element item and it appears in the translation of the module it references, or Legg Expires 14 May 2006 [Page 24] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 (c) it does not have a superior element item and it references no module and it appears in the translation of a module that does not have an<encodingControl-XER> element.encoding control section for XER. If a removed <assumedModule> element item is the last child element item of an <XER> element item then the <XER> element item MUST be removed. If the removal of an <XER> element item causes a <prefixed> element item to have only a <type> child element item then the <type> parent element item of the <prefixed> element item SHALL be replaced by the <type> child element item of the <prefixed>element.element item. If the removal of an <XER> element item causes a <prefixed> element item to have no childelementselement items then an attribute item with the [local name] "ref" SHALL be added to the <type> parent element item of the <prefixed>element.element item. The [normalized value] of this attribute item is the [normalized value] of the type attribute item of the <prefixed>element.element item. The <prefixed> element item SHALL be removed. If appropriate for the context, the <type> element item (an element form translation of a type reference) MAY be replaced by the equivalent attribute form translation[ASD].[ASN.X]. Example Continuing the example from the previous section, the translated modules may be post-processed to the following:<asn1:schema<asn1:module xmlns:asn1="http://xmled.info/ns/ASN.1" name="ThisModule"> <namedType name="ThisTypeA"> <type> <prefixed> <XER><assumeModule/></XER> <type> <sequence> <element name="component"> <type> <prefixed> <XER><assumeModule name="ThisModule"/></XER>Legg Expires 12 October 2005 [Page 21] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<type> <enumerated> <enumeration name="stop"/> <enumeration name="go"/> </enumerated> </type> </prefixed> Legg Expires 14 May 2006 [Page 25] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </type> </element> </sequence> </type> </prefixed> </type> </namedType> <namedType name="ThisTypeC"> <type> <prefixed> <XER><assumeReference name="ThisTypeB"/></XER> <type> <sequence> <element name="component" type="asn1:BOOLEAN"/> </sequence> </type> </prefixed> </type> </namedType><encodingControl-XER<encodingControls> <XER modifiedEncodings="true"/></asn1:schema> <asn1:schema</encodingControls> </asn1:module> <asn1:module xmlns:asn1="http://xmled.info/ns/ASN.1" name="ThatModule"> <namedType name="ThatTypeB"> <type> <sequence> <element name="component" type="asn1:BOOLEAN"/> </sequence> </type> </namedType></asn1:schema></asn1:module> 6. Security Considerations TheASN.1 SchemaASN.X translation of an XER encoding instruction isLegg Expires 12 October 2005 [Page 22] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005semantically equivalent to the original XER encoding instruction. The security considerations that apply to an application built from an original ASN.1 specification with XER encoding instructions apply equally to an application built from theASN.1 SchemaASN.X translation of the ASN.1 specification. Legg Expires 14 May 2006 [Page 26] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 An ASN.X document can be re-encoded using any set of canonical encoding rules for ASN.1. Before such re-encoding it is necessary to normalize abstract values of the AnyType ASN.1 type [RXER]. The underlying ASN.1 type for the <component> element in the ASN.1 for XER Encoding Instruction Notation is AnyType. The normalization rules can be found in Section 4.1.2 of the specification for RXER [RXER]. 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 document (an abstract value of the ModuleDefinition ASN.1 type) potentially changes if it is decoded and re-encoded, disrupting the Canonical XML representation. To avoid this problem, ASN.X documents must be normalized prior to the application of syntax-based canonicalization. The normalization rules can be found in Section 5.12 of the specification for RXER [RXER]. 7. IANA Considerations This document has no actions for IANA. Appendix A. ASN.1 for XER Encoding Instruction Notation This appendix is normative.XER-EncodingInstructionSchemaXER-EncodingInstructionNotation { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) xmled(21472) asn1(1) module(0)xer-ei-schema(3)xer-ei-notation(3) } -- Copyright (C) The Internet Society 2005. This version of -- this ASN.1 module is part of RFC XXXX; see the RFC itself -- for full legal notices. DEFINITIONS RXER INSTRUCTIONS AUTOMATIC TAGS EXTENSIBILITY IMPLIED ::= BEGIN IMPORTSAnySimpleType,AnyType, AnyURI, NCName, QName FROM AdditionalBasicDefinitions { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) Legg Expires 14 May 2006 [Page 27] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 xmled(21472) asn1(1) module(0) basic(0) } ModuleReference, DefinitiveIdentifier, Annotation, TypeReference, Value FROMASN1-SchemaAbstractSyntaxNotation-X { iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) xmled(21472) asn1(1) module(0)schema(1)notation(1) } ; -- An XER encoding instruction in a type prefixLegg Expires 12 October 2005 [Page 23] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005-- must have an empty TargetList. XER-EncodingInstruction ::= XER-GeneralEncodingInstruction (WITH COMPONENTS { ..., positive (WITH COMPONENTS { ..., anyAttributes (WITH COMPONENTS { ..., targetList ABSENT }), anyElement (WITH COMPONENTS { ..., targetList ABSENT }), attribute (WITH COMPONENTS { ..., targetList ABSENT }), base64 (WITH COMPONENTS { ..., targetList ABSENT }), decimal (WITH COMPONENTS { ..., targetList ABSENT }), defaultForEmpty (WITH COMPONENTS { ..., targetList ABSENT }), embedValues (WITH COMPONENTS { ..., targetList ABSENT }), list (WITH COMPONENTS { ..., targetList ABSENT }), name (WITH COMPONENTS { ..., targetList ABSENT }), namespace (WITH COMPONENTS { ..., targetList ABSENT }), piOrComment (WITH COMPONENTS { ..., targetList ABSENT }), text (WITH COMPONENTS { ..., targetList ABSENT }), untagged (WITH COMPONENTS { ..., targetList ABSENT }), useNumber (WITH COMPONENTS { ..., targetList ABSENT }), useOrder (WITH COMPONENTS { ..., targetList ABSENT }), useQName (WITH COMPONENTS { ..., targetList ABSENT }), useType (WITH COMPONENTS { ..., targetList ABSENT }), useUnion (WITH COMPONENTS { ..., targetList ABSENT }), whiteSpace (WITH COMPONENTS { ..., targetList ABSENT }) }), not (WITH COMPONENTS { ..., anyAttributes (WITH COMPONENTS { ..., targetList ABSENT }), anyElement (WITH COMPONENTS { ..., targetList ABSENT }), attribute (WITH COMPONENTS { ..., targetList ABSENT }), base64 (WITH COMPONENTS { ..., targetList ABSENT }), decimal (WITH COMPONENTS { ..., targetList ABSENT }), defaultForEmpty (WITH COMPONENTS { ..., targetList ABSENT }), embedValues (WITH COMPONENTS { ..., targetList ABSENT }), list (WITH COMPONENTS { ..., targetList ABSENT }), name (WITH COMPONENTS { ..., targetList ABSENT }), namespace (WITH COMPONENTS { ..., targetList ABSENT }), Legg Expires 14 May 2006 [Page 28] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 piOrComment (WITH COMPONENTS { ..., targetList ABSENT }), text (WITH COMPONENTS { ..., targetList ABSENT }), untagged (WITH COMPONENTS { ..., targetList ABSENT }), useNil (WITH COMPONENTS { ..., targetList ABSENT }), useNumber (WITH COMPONENTS { ..., targetList ABSENT }), useOrder (WITH COMPONENTS { ..., targetList ABSENT }), useQName (WITH COMPONENTS { ..., targetList ABSENT }), useType (WITH COMPONENTS { ..., targetList ABSENT }), useUnion (WITH COMPONENTS { ..., targetList ABSENT }), whiteSpace (WITH COMPONENTS { ..., targetList ABSENT }) }), element (WITH COMPONENTS { ..., targetList ABSENT }) })Legg Expires 12 October 2005 [Page 24] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005XER-EncodingInstructionAssignmentList ::= [HOLLOW-INSERTIONS] SEQUENCE { annotation Annotation OPTIONAL, modifiedEncodings [ATTRIBUTE] BOOLEAN DEFAULT FALSE, controlNamespace XER-ControlNamespace OPTIONAL, instructions[CONTENT][GROUP] XER-ECS-EncodingInstructions OPTIONAL } (WITH COMPONENTS { ..., modifiedEncodings (TRUE) } | WITH COMPONENTS { ..., controlNamespace PRESENT } | WITH COMPONENTS { ..., instructions PRESENT }) XER-ControlNamespace ::= SEQUENCE { name [ATTRIBUTE] AnyURI, prefix [ATTRIBUTE] NCName OPTIONAL } XER-ECS-EncodingInstructions ::= SEQUENCE SIZE (1..MAX) OF instruction[CONTENT][GROUP] XER-ECS-EncodingInstruction -- An XER encoding instruction in an encoding control section -- must not have an empty TargetList. XER-ECS-EncodingInstruction ::= XER-GeneralEncodingInstruction (WITH COMPONENTS { ..., positive (WITH COMPONENTS { ..., anyAttributes (WITH COMPONENTS { ..., targetList PRESENT }), anyElement (WITH COMPONENTS { ..., targetList PRESENT }), attribute (WITH COMPONENTS { ..., targetList PRESENT }), base64 (WITH COMPONENTS { ..., targetList PRESENT }), decimal (WITH COMPONENTS { ..., targetList PRESENT }), defaultForEmpty (WITH COMPONENTS { ..., targetList PRESENT }), embedValues (WITH COMPONENTS { ..., targetList PRESENT }), list (WITH COMPONENTS { ..., targetList PRESENT }), name (WITH COMPONENTS { ..., targetList PRESENT }), namespace (WITH COMPONENTS { ..., targetList PRESENT }), piOrComment (WITH COMPONENTS { ..., targetList PRESENT }), Legg Expires 14 May 2006 [Page 29] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 text (WITH COMPONENTS { ..., targetList PRESENT }), untagged (WITH COMPONENTS { ..., targetList PRESENT }), useNil (WITH COMPONENTS { ..., targetList PRESENT }), useNumber (WITH COMPONENTS { ..., targetList PRESENT }), useOrder (WITH COMPONENTS { ..., targetList PRESENT }), useQName (WITH COMPONENTS { ..., targetList PRESENT }), useType (WITH COMPONENTS { ..., targetList PRESENT }), useUnion (WITH COMPONENTS { ..., targetList PRESENT }), whiteSpace (WITH COMPONENTS { ..., targetList PRESENT }) }), not (WITH COMPONENTS { ..., anyAttributes (WITH COMPONENTS { ..., targetList PRESENT }), anyElement (WITH COMPONENTS { ..., targetList PRESENT }), attribute (WITH COMPONENTS { ..., targetList PRESENT }), base64 (WITH COMPONENTS { ..., targetList PRESENT }),Legg Expires 12 October 2005 [Page 25] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005decimal (WITH COMPONENTS { ..., targetList PRESENT }), defaultForEmpty (WITH COMPONENTS { ..., targetList PRESENT }), embedValues (WITH COMPONENTS { ..., targetList PRESENT }), list (WITH COMPONENTS { ..., targetList PRESENT }), name (WITH COMPONENTS { ..., targetList PRESENT }), namespace (WITH COMPONENTS { ..., targetList PRESENT }), piOrComment (WITH COMPONENTS { ..., targetList PRESENT }), text (WITH COMPONENTS { ..., targetList PRESENT }), untagged (WITH COMPONENTS { ..., targetList PRESENT }), useNil (WITH COMPONENTS { ..., targetList PRESENT }), useNumber (WITH COMPONENTS { ..., targetList PRESENT }), useOrder (WITH COMPONENTS { ..., targetList PRESENT }), useQName (WITH COMPONENTS { ..., targetList PRESENT }), useType (WITH COMPONENTS { ..., targetList PRESENT }), useUnion (WITH COMPONENTS { ..., targetList PRESENT }), whiteSpace (WITH COMPONENTS { ..., targetList PRESENT }) }), element (WITH COMPONENTS { ..., targetList PRESENT }), assumeReference ABSENT, assumeModule ABSENT }) XER-GeneralEncodingInstruction ::= [NO-INSERTIONS] CHOICE { positive[CONTENT] XER-PositiveInstruction,[GROUP] XER-PositiveInstruction (WITH COMPONENTS { ..., defaultForEmpty (WITH COMPONENTS { ..., value PRESENT }), name (WITH COMPONENTS { ..., newNameOrKeyword PRESENT }), piOrComment (WITH COMPONENTS { ..., text PRESENT, position PRESENT }), whiteSpace (WITH COMPONENTS { ..., action PRESENT }) }), not XER-NegatingInstruction, Legg Expires 14 May 2006 [Page 30] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 element XER-ElementInstruction, assumeReference XER-AssumeReferenceInstruction, assumeModule XER-AssumeModuleInstruction } XER-PositiveInstruction ::= [SINGULAR-INSERTIONS] CHOICE { anyAttributes XER-AnyAttributesInstruction, anyElement XER-AnyElementInstruction, attribute XER-AttributeInstruction, base64 XER-Base64Instruction, decimal XER-DecimalInstruction, defaultForEmpty XER-DefaultForEmptyInstruction, embedValues XER-EmbedValuesInstruction, list XER-ListInstruction, name XER-NameInstruction, namespace XER-NamespaceInstruction, piOrComment XER-PIOrCommentInstruction, text XER-TextInstruction, untagged XER-UntaggedInstruction, useNil XER-UseNilInstruction, useNumber XER-UseNumberInstruction, useOrder XER-UseOrderInstruction, useQName XER-UseQNameInstruction, useType XER-UseTypeInstruction,Legg Expires 12 October 2005 [Page 26] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005useUnion XER-UseUnionInstruction, whiteSpace XER-WhiteSpaceInstruction } XER-NegatingInstruction ::= XER-PositiveInstruction (WITH COMPONENTS { ..., anyAttributes (WITH COMPONENTS { targetList OPTIONAL }), anyElement (WITH COMPONENTS { targetList OPTIONAL }), defaultForEmpty (WITH COMPONENTS { targetList OPTIONAL }), name (WITH COMPONENTS { targetList OPTIONAL }), namespace (WITH COMPONENTS { targetList OPTIONAL }), piOrComment (WITH COMPONENTS { targetList OPTIONAL }), text (WITH COMPONENTS { targetList OPTIONAL }), whiteSpace (WITH COMPONENTS { targetList OPTIONAL }) }) XER-TargetList ::= SEQUENCE SIZE (1..MAX) OF target XER-Targets XER-Targets ::= [NO-INSERTIONS] CHOICE { allTypes NULL, identifiedTypes[CONTENT][GROUP] XER-QualifiedTypeIdentification, components XER-IdentifiersInContext, allImportsFrom XER-ImportedTypesIdentification } Legg Expires 14 May 2006 [Page 31] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 -- TypeIdentification and BuiltInTypeIdentification XER-QualifiedTypeIdentification ::= [HOLLOW-INSERTIONS] SEQUENCE { types[CONTENT][GROUP] [SINGULAR-INSERTIONS] CHOICE { specificType[CONTENT][GROUP] XER-SpecificTypeIdentification, choice NULL, enumerated NULL, instanceOf NULL, sequence NULL, sequenceOf NULL, set NULL, setOf NULL }, qualification[CONTENT][GROUP] XER-QualifyingInformationPart OPTIONAL } XER-SpecificTypeIdentification ::= [HOLLOW-INSERTIONS] SEQUENCE { type [ATTRIBUTE] QName, component[ATTRIBUTE] AnySimpleTypeAnyType OPTIONAL, allTextuallyPresent NULL OPTIONAL } XER-QualifyingInformationPart ::= [NO-INSERTIONS] CHOICE { allIdentifiers NULL,Legg Expires 12 October 2005 [Page 27] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005identifier SEQUENCE { name [ATTRIBUTE] NCName } } XER-IdentifiersInContext ::= SEQUENCE { identifiers[CONTENT][GROUP] XER-IdentifierList, in CHOICE { allTypes NULL, specificType[CONTENT][GROUP] XER-SpecificTypeIdentification } } XER-IdentifierList ::= [NO-INSERTIONS] CHOICE { allTextuallyPresent NULL, allFirstLevel NULL, list[CONTENT][GROUP] XER-IdentifiedComponents } XER-IdentifiedComponents ::= SEQUENCE SIZE (1..MAX) OF component[CONTENT][GROUP] XER-IdentifiedComponent XER-IdentifiedComponent ::= [SINGULAR-INSERTIONS] CHOICE { attribute XER-GenericIdentifiedComponent, element XER-GenericIdentifiedComponent,contentLegg Expires 14 May 2006 [Page 32] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 group XER-GenericIdentifiedComponent, member XER-GenericIdentifiedComponent, item XER-GenericIdentifiedComponent } XER-GenericIdentifiedComponent ::= SEQUENCE { name [ATTRIBUTE] QName } XER-ImportedTypesIdentification ::= SEQUENCE { name [ATTRIBUTE] ModuleReference, identifier [ATTRIBUTE] DefinitiveIdentifier OPTIONAL, schemaIdentity [ATTRIBUTE] AnyURI OPTIONAL } XER-WildcardInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, namespaceRestriction[CONTENT][GROUP] XER-NamespaceRestriction OPTIONAL } XER-NamespaceRestriction ::= [NO-INSERTIONS] CHOICE { from XER-URIList, except XER-URIListLegg Expires 12 October 2005 [Page 28] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005} XER-URIList ::= SEQUENCE SIZE(1..MAX) OF uriOrAbsent[CONTENT][GROUP] XER-QuotedURIorAbsent XER-QuotedURIorAbsent ::= [SINGULAR-INSERTIONS] CHOICE { namespace AnyURI, local NULL } XER-AnyAttributesInstruction ::= XER-WildcardInstruction XER-AnyElementInstruction ::= XER-WildcardInstruction XER-SimpleInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL } XER-AttributeInstruction ::= XER-SimpleInstruction XER-Base64Instruction ::= XER-SimpleInstruction XER-DecimalInstruction ::= XER-SimpleInstruction XER-DefaultForEmptyInstruction ::= SEQUENCE { Legg Expires 14 May 2006 [Page 33] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, value[CONTENT][GROUP] [NO-INSERTIONS] Value OPTIONAL } XER-ElementInstruction ::= XER-SimpleInstruction XER-EmbedValuesInstruction ::= XER-SimpleInstruction XER-ListInstruction ::= XER-SimpleInstruction XER-NameInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, newNameOrKeyword[CONTENT][GROUP] XER-NewNameOrKeyword OPTIONAL } XER-NewNameOrKeyword ::= [NO-INSERTIONS] CHOICE { newName [ATTRIBUTE] UTF8String, conversion [ATTRIBUTE] XER-Conversion } XER-Conversion ::=[VALUES ALL UPPERCASED]ENUMERATED { capitalized (0), uncapitalized (1),Legg Expires 12 October 2005 [Page 29] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005uppercased (2), lowercased (3) } XER-NamespaceInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, namespace [GROUP] XER-NamespaceSpecification OPTIONAL } XER-NamespaceSpecification ::= [NO-INSERTIONS] SEQUENCE { name [ATTRIBUTE]AnyURI OPTIONAL,AnyURI, prefix [ATTRIBUTE] NCName OPTIONAL } XER-PIOrCommentInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, text [ATTRIBUTE] UTF8String OPTIONAL, position [ATTRIBUTE] XER-Position OPTIONAL } XER-Position ::=[VALUES ALL UPPERCASED]ENUMERATED {before-tagbeforeTag (0),before-valuebeforeValue (1),after-valueafterValue (2),after-tagafterTag (3) Legg Expires 14 May 2006 [Page 34] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 } XER-TextInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, newNameOrKeyword[CONTENT][GROUP] XER-NewNameOrKeyword OPTIONAL } XER-UntaggedInstruction ::= XER-SimpleInstruction XER-UseNilInstruction ::= XER-SimpleInstruction XER-UseNumberInstruction ::= XER-SimpleInstruction XER-UseOrderInstruction ::= XER-SimpleInstruction XER-UseQNameInstruction ::= XER-SimpleInstruction XER-UseTypeInstruction ::= XER-SimpleInstruction XER-UseUnionInstruction ::= XER-SimpleInstruction XER-WhiteSpaceInstruction ::= SEQUENCE { targetList[CONTENT][GROUP] XER-TargetList OPTIONAL, action [ATTRIBUTE] XER-WhiteSpaceAction OPTIONAL } XER-WhiteSpaceAction ::=[VALUES ALL UPPERCASED]ENUMERATED {Legg Expires 12 October 2005 [Page 30] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005replace (0), collapse (1) } XER-AssumeReferenceInstruction ::= SEQUENCE { name [ATTRIBUTE] TypeReference } XER-AssumeModuleInstruction ::= SEQUENCE { name [ATTRIBUTE] ModuleReference, identifier [ATTRIBUTE] DefinitiveIdentifier OPTIONAL, schemaIdentity [ATTRIBUTE] AnyURI OPTIONAL } ENCODING-CONTROL RXER SCHEMA-IDENTITY"http://xmled.info/id/ASN.1/XER-EncodingInstructionSchema""http://xmled.info/id/ASN.1/XER-EncodingInstructionNotation" TARGET-NAMESPACE "http://xmled.info/ns/ASN.1" END Legg Expires 14 May 2006 [Page 35] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 Appendix B.ASN.1 SchemaASN.X for XER Encoding Instruction Notation This appendix is non-normative. <?xml version="1.0"?><asn1:schema<asn1:module xmlns:asn1="http://xmled.info/ns/ASN.1"xmlns:asd="http://xmled.info/ns/ASN.1" name="XER-EncodingInstructionSchema"xmlns:asnx="http://xmled.info/ns/ASN.1" name="XER-EncodingInstructionNotation" identifier="1.3.6.1.4.1.21472.1.0.3" schemaIdentity="http://xmled.info/id/ASN.1/XER-EncodingInstructionSchema""http://xmled.info/id/ASN.1/XER-EncodingInstructionNotation" xmlns:xer="http://xmled.info/ns/ASN.1" targetNamespace="http://xmled.info/ns/ASN.1" extensibilityImplied="true"><!--<annotation> Copyright (C) The Internet Society 2005. This version of thisASN.1 SchemaASN.X module is part of RFC XXXX; see the RFC itself for full legal notices.--></annotation> <importname="ASN1-Schema"name="AbstractSyntaxNotation-X" identifier="1.3.6.1.4.1.21472.1.0.1"schemaIdentity="http://xmled.info/id/ASN.1/Schema" namespace="http://xmled.info/ns/ASN.1" schemaLocation="ASN1-Schema.asd"/> Legg Expires 12 October 2005 [Page 31] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005schemaIdentity= "http://xmled.info/id/ASN.1/AbstractSyntaxNotation-X" namespace="http://xmled.info/ns/ASN.1"/> <namedType name="XER-EncodingInstruction"> <type> <constrained type="xer:XER-GeneralEncodingInstruction"> <withComponents partial="true"><content<group name="positive"> <withComponents partial="true"> <element name="anyAttributes"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="anyElement"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="attribute"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> Legg Expires 14 May 2006 [Page 36] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </element> <element name="base64"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="decimal"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="defaultForEmpty"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="embedValues"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="list"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="name"> <withComponents partial="true">Legg Expires 12 October 2005 [Page 32] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005 <content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="namespace"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="piOrComment"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="text"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="untagged"> <withComponents partial="true"><contentLegg Expires 14 May 2006 [Page 37] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useNumber"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useOrder"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useQName"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useType"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useUnion"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element>Legg Expires 12 October 2005 [Page 33] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<element name="whiteSpace"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> </withComponents></content></group> <element name="not"> <withComponents partial="true"> <element name="anyAttributes"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="anyElement"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="attribute"> Legg Expires 14 May 2006 [Page 38] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="base64"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="decimal"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="defaultForEmpty"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="embedValues"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="list"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents>Legg Expires 12 October 2005 [Page 34] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005</element> <element name="name"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="namespace"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="piOrComment"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="text"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> Legg Expires 14 May 2006 [Page 39] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </element> <element name="untagged"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useNil"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useNumber"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useOrder"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useQName"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useType"> <withComponents partial="true">Legg Expires 12 October 2005 [Page 35] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005 <content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="useUnion"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> <element name="whiteSpace"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> </withComponents> </element> <element name="element"> <withComponents partial="true"><content<group name="targetList"use="ABSENT"/>use="absent"/> </withComponents> </element> Legg Expires 14 May 2006 [Page 40] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </withComponents> </constrained> </type> </namedType> <namedType name="XER-EncodingInstructionAssignmentList"><type><type insertions="hollow"> <constrained> <type> <sequence> <optional> <element name="annotation" type="asnx:Annotation"/> </optional> <optional> <attribute name="modifiedEncodings" type="asn1:BOOLEAN"/> <defaultliteral="false"/>literalValue="false"/> </optional> <optional> <element name="controlNamespace" type="xer:XER-ControlNamespace"/> </optional> <optional><content<group name="instructions" type="xer:XER-ECS-EncodingInstructions"/> </optional> </sequence> </type> <union> <withComponents partial="true"> <attribute name="modifiedEncodings"><value>true</value> Legg Expires 12 October 2005 [Page 36] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<literalValue>true</literalValue> </attribute> </withComponents> <withComponents partial="true"> <element name="controlNamespace"use="PRESENT"/>use="present"/> </withComponents> <withComponents partial="true"><content<group name="instructions"use="PRESENT"/>use="present"/> </withComponents> </union> </constrained> </type> </namedType> <namedType name="XER-ControlNamespace"> <type> <sequence> <attribute name="name" type="asn1:AnyURI"/> Legg Expires 14 May 2006 [Page 41] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <optional> <attribute name="prefix" type="asn1:NCName"/> </optional> </sequence> </type> </namedType> <namedType name="XER-ECS-EncodingInstructions"> <type> <sequenceOf minSize="1"><content<group name="instruction" type="xer:XER-ECS-EncodingInstruction"/> </sequenceOf> </type> </namedType> <namedType name="XER-ECS-EncodingInstruction"> <type> <constrained type="xer:XER-GeneralEncodingInstruction"> <withComponents partial="true"><content<group name="positive"> <withComponents partial="true"> <element name="anyAttributes"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="anyElement"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents>Legg Expires 12 October 2005 [Page 37] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005</element> <element name="attribute"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="base64"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="decimal"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="defaultForEmpty"> Legg Expires 14 May 2006 [Page 42] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="embedValues"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="list"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="name"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="namespace"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="piOrComment"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="text"> <withComponents partial="true">Legg Expires 12 October 2005 [Page 38] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005 <content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="untagged"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useNil"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useNumber"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> Legg Expires 14 May 2006 [Page 43] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </element> <element name="useOrder"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useQName"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useType"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useUnion"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="whiteSpace"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> </withComponents></content></group> <element name="not"> <withComponents partial="true"> <element name="anyAttributes">Legg Expires 12 October 2005 [Page 39] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="anyElement"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="attribute"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="base64"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> Legg Expires 14 May 2006 [Page 44] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </withComponents> </element> <element name="decimal"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="defaultForEmpty"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="embedValues"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="list"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="name"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="namespace"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents>Legg Expires 12 October 2005 [Page 40] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005</element> <element name="piOrComment"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="text"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="untagged"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useNil"> Legg Expires 14 May 2006 [Page 45] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useNumber"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useOrder"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useQName"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useType"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="useUnion"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="whiteSpace"> <withComponents partial="true">Legg Expires 12 October 2005 [Page 41] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005 <content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> </withComponents> </element> <element name="element"> <withComponents partial="true"><content<group name="targetList"use="PRESENT"/>use="present"/> </withComponents> </element> <element name="assumeReference"use="ABSENT"/>use="absent"/> <element name="assumeModule"use="ABSENT"/>use="absent"/> </withComponents> </constrained> </type> </namedType> Legg Expires 14 May 2006 [Page 46] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <namedType name="XER-GeneralEncodingInstruction"><type><type insertions="none"> <choice><content name="positive" type="xer:XER-PositiveInstruction"/><group name="positive"> <type> <constrained type="xer:XER-PositiveInstruction"> <withComponents partial="true"> <element name="defaultForEmpty"> <withComponents partial="true"> <group name="value" use="present"/> </withComponents> </element> <element name="name"> <withComponents partial="true"> <group name="newNameOrKeyword" use="present"/> </withComponents> </element> <element name="piOrComment"> <withComponents partial="true"> <attribute name="text" use="present"/> <attribute name="position" use="present"/> </withComponents> </element> <element name="whiteSpace"> <withComponents partial="true"> <attribute name="action" use="present"/> </withComponents> </element> </withComponents> </constrained> </type> </group> <element name="not" type="xer:XER-NegatingInstruction"/> <element name="element" type="xer:XER-ElementInstruction"/> <element name="assumeReference" type="xer:XER-AssumeReferenceInstruction"/> <element name="assumeModule" type="xer:XER-AssumeModuleInstruction"/> </choice> </type> </namedType> <namedType name="XER-PositiveInstruction"><type><type insertions="singular"> <choice> <element name="anyAttributes" type="xer:XER-AnyAttributesInstruction"/> <element name="anyElement" type="xer:XER-AnyElementInstruction"/> Legg Expires 14 May 2006 [Page 47] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <element name="attribute" type="xer:XER-AttributeInstruction"/> <element name="base64" type="xer:XER-Base64Instruction"/> <element name="decimal" type="xer:XER-DecimalInstruction"/> <element name="defaultForEmpty" type="xer:XER-DefaultForEmptyInstruction"/> <element name="embedValues" type="xer:XER-EmbedValuesInstruction"/> <element name="list" type="xer:XER-ListInstruction"/> <element name="name" type="xer:XER-NameInstruction"/> <element name="namespace" type="xer:XER-NamespaceInstruction"/> <element name="piOrComment"Legg Expires 12 October 2005 [Page 42] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005type="xer:XER-PIOrCommentInstruction"/> <element name="text" type="xer:XER-TextInstruction"/> <element name="untagged" type="xer:XER-UntaggedInstruction"/> <element name="useNil" type="xer:XER-UseNilInstruction"/> <element name="useNumber" type="xer:XER-UseNumberInstruction"/> <element name="useOrder" type="xer:XER-UseOrderInstruction"/> <element name="useQName" type="xer:XER-UseQNameInstruction"/> <element name="useType" type="xer:XER-UseTypeInstruction"/> <element name="useUnion" type="xer:XER-UseUnionInstruction"/> <element name="whiteSpace" type="xer:XER-WhiteSpaceInstruction"/> </choice> </type> </namedType> <namedType name="XER-NegatingInstruction"> <type> <constrained type="xer:XER-PositiveInstruction"> <withComponents partial="true"> <element name="anyAttributes"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element> <element name="anyElement"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element> <element name="defaultForEmpty"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element> <element name="name"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> Legg Expires 14 May 2006 [Page 48] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </element> <element name="namespace"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element> <element name="piOrComment"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element>Legg Expires 12 October 2005 [Page 43] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<element name="text"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element> <element name="whiteSpace"> <withComponents><content<group name="targetList"use="OPTIONAL"/>use="optional"/> </withComponents> </element> </withComponents> </constrained> </type> </namedType> <namedType name="XER-TargetList"> <type> <sequenceOf minSize="1"> <element name="target" type="xer:XER-Targets"/> </sequenceOf> </type> </namedType> <namedType name="XER-Targets"><type><type insertions="none"> <choice> <element name="allTypes" type="asn1:NULL"/><content<group name="identifiedTypes" type="xer:XER-QualifiedTypeIdentification"/> <element name="components" type="xer:XER-IdentifiersInContext"/> <element name="allImportsFrom" type="xer:XER-ImportedTypesIdentification"/> </choice> </type> </namedType> <namedType name="XER-QualifiedTypeIdentification"><type>Legg Expires 14 May 2006 [Page 49] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <type insertions="hollow"> <sequence><content<group name="types"><type><type insertions="singular"> <choice><content<group name="specificType" type="xer:XER-SpecificTypeIdentification"/> <element name="choice" type="asn1:NULL"/> <element name="enumerated" type="asn1:NULL"/> <element name="instanceOf" type="asn1:NULL"/> <element name="sequence" type="asn1:NULL"/>Legg Expires 12 October 2005 [Page 44] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<element name="sequenceOf" type="asn1:NULL"/> <element name="set" type="asn1:NULL"/> <element name="setOf" type="asn1:NULL"/> </choice> </type></content></group> <optional><content<group name="qualification" type="xer:XER-QualifyingInformationPart"/> </optional> </sequence> </type> </namedType> <namedType name="XER-SpecificTypeIdentification"><type><type insertions="hollow"> <sequence> <attribute name="type" type="asn1:QName"/> <optional><attribute<element name="component"type="asn1:AnySimpleType"/>type="asn1:AnyType"/> </optional> <optional> <element name="allTextuallyPresent" type="asn1:NULL"/> </optional> </sequence> </type> </namedType> <namedType name="XER-QualifyingInformationPart"><type><type insertions="none"> <choice> <element name="allIdentifiers" type="asn1:NULL"/> <element name="identifier"> <type> <sequence> <attribute name="name" type="asn1:NCName"/> </sequence> Legg Expires 14 May 2006 [Page 50] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 </type> </element> </choice> </type> </namedType> <namedType name="XER-IdentifiersInContext"> <type> <sequence><content<group name="identifiers" type="xer:XER-IdentifierList"/> <element name="in">Legg Expires 12 October 2005 [Page 45] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<type> <choice> <element name="allTypes" type="asn1:NULL"/><content<group name="specificType" type="xer:XER-SpecificTypeIdentification"/> </choice> </type> </element> </sequence> </type> </namedType> <namedType name="XER-IdentifierList"><type><type insertions="none"> <choice> <element name="allTextuallyPresent" type="asn1:NULL"/> <element name="allFirstLevel" type="asn1:NULL"/><content<group name="list" type="xer:XER-IdentifiedComponents"/> </choice> </type> </namedType> <namedType name="XER-IdentifiedComponents"> <type> <sequenceOf minSize="1"><content<group name="component" type="xer:XER-IdentifiedComponent"/> </sequenceOf> </type> </namedType> <namedType name="XER-IdentifiedComponent"><type><type insertions="singular"> <choice> <element name="attribute" type="xer:XER-GenericIdentifiedComponent"/> <element name="element" type="xer:XER-GenericIdentifiedComponent"/> Legg Expires 14 May 2006 [Page 51] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <elementname="content"name="group" type="xer:XER-GenericIdentifiedComponent"/> <element name="member" type="xer:XER-GenericIdentifiedComponent"/> <element name="item" type="xer:XER-GenericIdentifiedComponent"/> </choice> </type> </namedType> <namedType name="XER-GenericIdentifiedComponent"> <type>Legg Expires 12 October 2005 [Page 46] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<sequence> <attribute name="name" type="asn1:QName"/> </sequence> </type> </namedType> <namedType name="XER-ImportedTypesIdentification"> <type> <sequence> <attribute name="name"type="asd:ModuleReference"/>type="asnx:ModuleReference"/> <optional> <attribute name="identifier"type="asd:DefinitiveIdentifier"/>type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asn1:AnyURI"/> </optional> </sequence> </type> </namedType> <namedType name="XER-WildcardInstruction"> <type> <sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional><content<group name="namespaceRestriction" type="xer:XER-NamespaceRestriction"/> </optional> </sequence> </type> </namedType> <namedType name="XER-NamespaceRestriction"><type><type insertions="none"> <choice> <element name="from" type="xer:XER-URIList"/> Legg Expires 14 May 2006 [Page 52] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <element name="except" type="xer:XER-URIList"/> </choice> </type> </namedType> <namedType name="XER-URIList"> <type> <sequenceOf minSize="1"><content<group name="uriOrAbsent" type="xer:XER-QuotedURIorAbsent"/> </sequenceOf>Legg Expires 12 October 2005 [Page 47] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005</type> </namedType> <namedType name="XER-QuotedURIorAbsent"><type><type insertions="singular"> <choice> <element name="namespace" type="asn1:AnyURI"/> <element name="local" type="asn1:NULL"/> </choice> </type> </namedType> <namedType name="XER-AnyAttributesInstruction" type="xer:XER-WildcardInstruction"/> <namedType name="XER-AnyElementInstruction" type="xer:XER-WildcardInstruction"/> <namedType name="XER-SimpleInstruction"> <type> <sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> </sequence> </type> </namedType> <namedType name="XER-AttributeInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-Base64Instruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-DecimalInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-DefaultForEmptyInstruction"> Legg Expires 14 May 2006 [Page 53] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <type> <sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional><content name="value" type="asd:Value"/><group name="value"> <type ref="asnx:Value" insertions="none"/> </group> </optional> </sequence> </type>Legg Expires 12 October 2005 [Page 48] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005</namedType> <namedType name="XER-ElementInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-EmbedValuesInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-ListInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-NameInstruction"> <type> <sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional><content<group name="newNameOrKeyword" type="xer:XER-NewNameOrKeyword"/> </optional> </sequence> </type> </namedType> <namedType name="XER-NewNameOrKeyword"><type><type insertions="none"> <choice> <attribute name="newName" type="asn1:UTF8String"/> <attribute name="conversion" type="xer:XER-Conversion"/> </choice> </type> </namedType> <namedType name="XER-Conversion"> <type> <enumerated> Legg Expires 14 May 2006 [Page 54] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <enumerationname="CAPITALIZED" identifier="capitalized"name="capitalized" number="0"/> <enumerationname="UNCAPITALIZED" identifier="uncapitalized"name="uncapitalized" number="1"/> <enumerationname="UPPERCASED" identifier="uppercased"name="uppercased" number="2"/> <enumerationname="LOWERCASED" identifier="lowercased"name="lowercased" number="3"/> </enumerated> </type></namedType> Legg Expires 12 October 2005 [Page 49] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005</namedType> <namedType name="XER-NamespaceInstruction"> <type> <sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional> <group name="namespace" type="xer:XER-NamespaceSpecification"/> </optional> </sequence> </type> </namedType> <namedType name="XER-NamespaceSpecification"> <type insertions="none"> <sequence> <attribute name="name" type="asn1:AnyURI"/></optional><optional> <attribute name="prefix" type="asn1:NCName"/> </optional> </sequence> </type> </namedType> <namedType name="XER-PIOrCommentInstruction"> <type> <sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional> <attribute name="text" type="asn1:UTF8String"/> </optional> <optional> <attribute name="position" type="xer:XER-Position"/> </optional> </sequence> </type> </namedType> Legg Expires 14 May 2006 [Page 55] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <namedType name="XER-Position"> <type> <enumerated> <enumerationname="BEFORE-TAG" identifier="before-tag"name="beforeTag" number="0"/> <enumerationname="BEFORE-VALUE" identifier="before-value"name="beforeValue" number="1"/> <enumerationname="AFTER-VALUE" identifier="after-value"name="afterValue" number="2"/> <enumerationname="AFTER-TAG" identifier="after-tag"name="afterTag" number="3"/> </enumerated> </type> </namedType> <namedType name="XER-TextInstruction"> <type>Legg Expires 12 October 2005 [Page 50] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<sequence> <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional><content<group name="newNameOrKeyword" type="xer:XER-NewNameOrKeyword"/> </optional> </sequence> </type> </namedType> <namedType name="XER-UntaggedInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-UseNilInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-UseNumberInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-UseOrderInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-UseQNameInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-UseTypeInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-UseUnionInstruction" type="xer:XER-SimpleInstruction"/> <namedType name="XER-WhiteSpaceInstruction"> <type> <sequence> Legg Expires 14 May 2006 [Page 56] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 <optional><content<group name="targetList" type="xer:XER-TargetList"/> </optional> <optional> <attribute name="action" type="xer:XER-WhiteSpaceAction"/> </optional> </sequence> </type> </namedType> <namedType name="XER-WhiteSpaceAction"> <type>Legg Expires 12 October 2005 [Page 51] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005<enumerated> <enumerationname="REPLACE" identifier="replace"name="replace" number="0"/> <enumerationname="COLLAPSE" identifier="collapse"name="collapse" number="1"/> </enumerated> </type> </namedType> <namedType name="XER-AssumeReferenceInstruction"> <type> <sequence> <attribute name="name"type="asd:TypeReference"/>type="asnx:TypeReference"/> </sequence> </type> </namedType> <namedType name="XER-AssumeModuleInstruction"> <type> <sequence> <attribute name="name"type="asd:ModuleReference"/>type="asnx:ModuleReference"/> <optional> <attribute name="identifier"type="asd:DefinitiveIdentifier"/>type="asnx:DefinitiveIdentifier"/> </optional> <optional> <attribute name="schemaIdentity" type="asn1:AnyURI"/> </optional> </sequence> </type> </namedType></asn1:schema></asn1:module> Normative References [BCP14] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Legg Expires 14 May 2006 [Page 57] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 [URI] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RXER] Legg, S. and D. Prager, "Robust XML Encoding Rules (RXER) for Abstract Syntax Notation One (ASN.1)", draft-legg-xed-rxer-xx.txt, a work in progress,AprilOctober 2005. [RXEREI] Legg, S., "Encoding Instructions for the Robust XML Encoding Rules (RXER)", draft-legg-xed-rxer-ei-xx.txt, a work in progress,April 2005. Legg Expires 12October2005 [Page 52] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005 [ASD]2005. [ASN.X] Legg,S. and D. Prager, "ASN.1 Schema: An XML Representation for AbstractS., "Abstract Syntax NotationOne (ASN.1) Specifications",X (ASN.X)", draft-legg-xed-asd-xx.txt, a work in progress,AprilNovember 2005. [X.680] ITU-T Recommendation X.680 (07/02) | ISO/IEC8824-1:2002,8824-1, Information technology - Abstract Syntax Notation One (ASN.1): Specification of basicnotationnotation. [X.680-1] Draft Amendment1: to1 (to ITU-T Rec. X.680 | ISO/IEC8824-18824-1) Support for EXTENDED-XER. [X.683] ITU-T Recommendation X.683 (07/02) | ISO/IEC8824-4:2002,8824-4, Information technology - Abstract Syntax Notation One (ASN.1): Parameterization of ASN.1specificationsspecifications. [X.693-1] Amendment 1: (to ITU-T Rec. X.693 | ISO/IEC 8825-4) XER encoding instructions and EXTENDED-XER[XML][XML10] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Third Edition)", W3C Recommendation, http://www.w3.org/TR/2004/REC-xml-20040204, February 2004.[XMLNS][XML11] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E., Yergeau, F., and J. Cowan, "Extensible Markup Language (XML) 1.1", W3C Recommendation, http://www.w3.org/TR/2004/REC-xml11-20040204, February 2004. [XMLNS10] Bray, T., Hollander, D. and A. Layman, "Namespaces in XML", http://www.w3.org/TR/1999/REC-xml-names-19990114, January 1999. [ISET] Cowan, J. and R. Tobin, "XML InformationSet",Set (Second Edition)", W3C Recommendation,http://www.w3.org/TR/2001/REC-xml- infoset-20011024, October 2001.Legg Expires 14 May 2006 [Page 58] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 http://www.w3.org/TR/2004/REC-xml-infoset-20040204, February 2004. [UNICODE] The Unicode Consortium, "The Unicode Standard, Version 4.0", Boston, MA, Addison-Wesley Developers Press, 2003. ISBN 0-321-18578-1. Informative References [X.693] ITU-T Recommendation X.693 (12/01) | ISO/IEC 8825-4:2002, Information technology - ASN.1 encoding rules: XML encoding rules (XER) Author's Address Dr. Steven Legg eB2Bcom Suite 3, Woodhouse Corporate Centre 935 Station Street Box Hill North, Victoria 3129 AUSTRALIA Phone: +61 3 9896 7830 Fax: +61 3 9896 7801Legg Expires 12 October 2005 [Page 53] INTERNET-DRAFT ASN.1 Schema: XER Encoding Instructions April 12, 2005EMail: steven.legg@eb2bcom.com Full Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property 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 Legg Expires 14 May 2006 [Page 59] INTERNET-DRAFT ASN.X: XER Encoding Instructions November 14, 2005 might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. 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. Changes in Draft 01 ASN.1 Schema has been renamed to Abstract Syntax Notation X (ASN.X) and the <asn1:schema> element has been renamed to <asn1:module>. The XER-EncodingInstructionSchema module has been renamed to XER-EncodingInstructionNotation. The schema identity for the module has been similarly changed. The component attribute in the SpecificTypeIdentification translation has been changed to a <component> element. Examples have been added. The CONTENT encoding instruction has been renamed to GROUP and a component subject to a GROUP encoding instruction is now an element item with the [local name] "group" instead of "content". The <encodingControl-XER> element has been renamed to <XER> and now appears as a child element of an <encodingControls> element. Insertion encoding instructions have been added to the ASN.1 for XER Encoding Instruction Notation to remove extension ambiguity. Legg Expires12 October 200514 May 2006 [Page54]60] ----