One document matched: draft-legg-xed-schema-04.txt

Differences from draft-legg-xed-schema-03.txt







INTERNET-DRAFT                                                   S. Legg
draft-legg-xed-schema-04.txt                                     eB2Bcom
Intended Category: Standards Track                             D. Prager
Updates: RFC 4512                                      November 16, 2006


        The XML Enabled Directory: Schema Operational Attributes

                  Copyright (C) The IETF Trust (2006).

   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.

   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 on 16 May 2007.


Abstract

   This document defines additional subschema operational attributes for
   the XML Enabled Directory (XED) that allow user-defined directory
   attribute syntaxes to be imported into a directory server.  User
   defined syntaxes specified in XML Schema, RELAX NG or Abstract Syntax
   Notation One (ASN.1), or specified as XML document type definition



Legg & Prager              Expires 16 May 2007                  [Page 1]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   (DTD) element type declarations, are supported.

Table of Contents

   1. Introduction ....................................................2
   2. Conventions .....................................................2
   3. Additional System Schema ........................................3
      3.1. The Schema Identity Syntax .................................3
      3.2. The Identified Schema Syntax ...............................3
      3.3. The schemaIdentityMatch Matching Rule ......................5
      3.4. The definitions Attribute ..................................6
   4. Referencing Imported Schemas ....................................6
   5. Example .........................................................7
   6. Security Considerations ........................................11
   7. Acknowledgements ...............................................11
   8. IANA Considerations ............................................12
   9. References .....................................................12
      9.1. Normative References ......................................12
      9.2. Informative References ....................................14
   Appendix A. ASN.1 for XED Schema ..................................14
   Appendix B. ASN.X for XED Schema ..................................16

1.  Introduction

   This document defines additional subschema operational attributes for
   the XML Enabled Directory (XED) [XED] that allow user-defined
   attribute syntaxes to be imported into a directory server.  User
   defined syntaxes specified in XML Schema [XSD1], RELAX NG [RNG] or
   Abstract Syntax Notation One (ASN.1) [X.680] (in the form of Abstract
   Syntax Notation X (ASN.X) [ASN.X]), or specified as XML document type
   definition (DTD) [XML10] element type declarations, are supported.

   The Attribute Type Description syntax [SYNTAX] is extended to enable
   definitions from an imported user-defined schema to be referenced in
   the definition of the syntax of a directory attribute type.

2.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED" and "MAY" in this document are
   to be interpreted as described in BCP 14, RFC 2119 [BCP14].  The key
   word "OPTIONAL" is exclusively used with its ASN.1 meaning.

   This specification makes use of definitions from the XML Information
   Set (Infoset) [ISET].  In particular, information item property names
   follow the Infoset convention of being shown in square brackets,
   e.g., [local name].  In the sections that follow, the term "element"
   shall be taken to mean an Infoset element information item.



Legg & Prager              Expires 16 May 2007                  [Page 2]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   The term "attribute" shall be taken to mean a directory attribute,
   not an Infoset attribute information item.

   Throughout this document the term "type" is always qualified as
   either an attribute type, ASN.1 type, or XML Schema type, as
   appropriate.

3.  Additional System Schema

   An additional subschema operational attribute is defined to hold user
   supplied schema definitions.  This attribute requires the definition
   of new attribute syntaxes and a new matching rule [MODELS].

   The ASN.1 definitions in this section are consolidated in the XED-
   SchemaOperationalAttributes ASN.1 module in Appendix A.  The ASN.X
   translation of this module is presented in Appendix B.

3.1.  The Schema Identity Syntax

   A value of the Schema Identity syntax is a URI [URI] identifying a
   schema definition document.

   The LDAP definition for the Schema Identity syntax is:

      ( 1.3.6.1.4.1.21472.5.5.0 DESC 'Schema Identity' )

   The LDAP-specific encoding for a value of the Schema Identity syntax
   is the URI character string.

   The ASN.1 type corresponding to the Schema Identity syntax is defined
   as follows:

      SchemaIdentity ::= AnyURI

   The AnyURI ASN.1 type is defined by the specification for the Robust
   XML Encoding Rules (RXER) [RXER].

3.2.  The Identified Schema Syntax

   A value of the Identified Schema syntax is a URI identifying a schema
   definition along with the schema definition document itself; either
   an ASN.X document, an XML Schema document, a RELAX NG grammar, or an
   external DTD subset [XML10].

   The LDAP definition for the Identified Schema syntax is:

      ( 1.3.6.1.4.1.21472.5.5.1 DESC 'Identified Schema' )




Legg & Prager              Expires 16 May 2007                  [Page 3]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   The ASN.1 type corresponding to the Identified Schema syntax is
   defined as follows, assuming AUTOMATIC TAGS:

      IdentifiedSchema ::= SEQUENCE {
          identifier   SchemaIdentity,
          description  DirectoryString { ub-schema } OPTIONAL,
          obsolete     BOOLEAN DEFAULT FALSE,
          document     SchemaDocument }

      SchemaDocument ::= CHOICE {
          module   [RXER:ELEMENT-REF {
                       namespace-name "urn:ietf:params:xml:ns:asnx",
                       local-name "module" }] Markup,
          schema   [RXER:ELEMENT-REF {
                       namespace-name
                           "http://www.w3.org/2001/XMLSchema",
                       local-name "schema" }] Markup,
          grammar  [RXER:ELEMENT-REF {
                       namespace-name
                           "http://relaxng.org/ns/structure/1.0",
                       local-name "grammar" }] Markup,
          dtd      ExternalSubset }

      ExternalSubset ::= UTF8String (CONSTRAINED BY {
                             -- contains an external DTD subset,
                             -- i.e., text conforming to
                             -- the extSubset production of XML -- })

   The LDAP-specific encoding of a value of the Identified Schema syntax
   is defined to be the same as the encoding of the value according to
   the "transfer-rxer" transfer encoding option [TRANSFER].

      Aside: This does not impose a requirement to explicitly use the
      "transfer-rxer" option when requesting and transferring attributes
      of the Identified Schema syntax.

   The dtd alternative of the document component of a value of the
   Identified Schema syntax is constrained to contain an external DTD
   subset, i.e., text conforming to the extSubset production of XML
   [XML10].  When the dtd alternative of the document component is
   selected, the identifier component of the value SHOULD contain the
   system identifier [XML10] of the external DTD subset.

   Note that an internal DTD subset, i.e., text conforming to the
   intSubset production of XML, is also of the correct syntactic form
   for an external DTD subset.  Where a DTD comprises both an external
   subset and an internal subset, it is necessary to append the external
   subset to the internal subset for storage in the dtd alternative of



Legg & Prager              Expires 16 May 2007                  [Page 4]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   the document component.  If the DTD subset references an external
   parameter entity that conforms to the extSubset production, then that
   entity MAY be stored as a separate value of the Identified Schema
   syntax, in which case the identifier component of this separate value
   SHOULD be the system identifier [XML10] of the external parameter
   entity.  Otherwise, an external parameter entity MUST be replaced in
   the DTD subset by its replacement text or included in the DTD subset
   as an equivalent internal parameter entity.

   Where an external parameter entity is stored as a separate value of
   the Identified Schema syntax, the identifier component of that value
   MUST be the same as the system identifier in the corresponding
   external entity declaration in the DTD subset.

   Note that in the RXER encoding [RXER] of a value of the Identified
   Schema syntax, markup in the dtd alternative must be escaped.  This
   is most easily achieved by encoding the string value of the dtd
   alternative within a CDATA section [XML10][XML11].

3.3.  The schemaIdentityMatch Matching Rule

   The schemaIdentityMatch matching rule compares an assertion value of
   the Schema Identity syntax to an attribute value of a syntax (e.g the
   Identified Schema syntax) whose corresponding ASN.1 type is a
   SEQUENCE with a mandatory first component of the SchemaIdentity ASN.1
   type.

   Note that the assertion syntax of this matching rule differs from the
   attribute syntax of attributes for which this is the equality
   matching rule.

   The rule evaluates to TRUE if and only if the assertion value and the
   first component of the attribute value have the same number of
   characters and corresponding characters have the same code point.

   The LDAP-style definition for the schemaIdentityMatch matching rule
   is:

      ( 1.3.6.1.4.1.21472.5.13.0 NAME 'schemaIdentityMatch'
          SYNTAX 1.3.6.1.4.1.21472.5.5.0 )

   The X.500-style definition for the schemaIdentityMatch matching rule
   is:

      schemaIdentityMatch MATCHING-RULE ::= {
          SYNTAX  SchemaIdentity
          ID      { iso(1) identified-organization(3) dod(6)
                    internet(1) private(4) enterprise(1)



Legg & Prager              Expires 16 May 2007                  [Page 5]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


                    xmled(21472) ds(5) matchingRule(13) 0 } }

3.4.  The definitions Attribute

   User defined schema documents are imported into a XED server as
   values of the definitions attribute in the subschema subentry
   [MODELS].  A particular schema document potentially appears in more
   than one subschema subentry, in which case the same identifier MUST
   be used for the schema document throughout the Directory Information
   Tree (DIT) [MODELS].

   The LDAP-style definition for the definitions attribute is:

      ( 1.3.6.1.4.1.21472.5.21.0 NAME 'definitions'
          EQUALITY schemaIdentityMatch
          SYNTAX 1.3.6.1.4.1.21472.5.5.1
          USAGE directoryOperation )

   The X.500-style definition for the definitions attribute is:

      definitions ATTRIBUTE ::= {
          WITH SYNTAX             IdentifiedSchema
          EQUALITY MATCHING RULE  schemaIdentityMatch
          USAGE                   directoryOperation
          ID   { iso(1) identified-organization(3) dod(6)
                 internet(1) private(4) enterprise(1)
                 xmled(21472) ds(5) schemaOperationalAttribute(21) 0 } }

4.  Referencing Imported Schemas

   Since the second edition of X.500, users have theoretically been able
   to import their own attribute syntax definitions into subschema in
   the form of ASN.1 type definitions.  The attributeSyntax component of
   the AttributeTypeDescription ASN.1 type [X.501] (the associated ASN.1
   type for the Attribute Type Description syntax [SYNTAX]) is a
   character string permitted to contain the text of an ASN.1 type
   definition.  However, the LDAP-specific encoding of the
   AttributeTypeDescription ASN.1 type replaces the character string
   with an OBJECT IDENTIFIER [X.680], effectively allowing only
   predefined syntaxes in LDAP.

   This specification extends the LDAP-specific encoding of the
   Attribute Type Description syntax to include a field to render the
   character string content of the attributeSyntax component, and
   additionally permits the syntax to be described using ASN.X, which is
   more easily parsed than ASN.1 type notation.  Encoding instructions
   [X.680-1] for RXER [RXEREI] enable XML Schema, RELAX NG and DTD
   definitions to be simply referenced from an ASN.1 type definition,



Legg & Prager              Expires 16 May 2007                  [Page 6]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   thus providing the means to define an attribute syntax in terms of
   these other languages.

   The <AttributeTypeDescription> [MODELS] Augmented Backus-Naur Form
   (ABNF) [ABNF] rule is extended by the inclusion of the following ABNF
   placed immediately following the ABNF for the optional SYNTAX field:

      [ SP "SYNTAX-DEFINITION" SP qdstring ]

   The content corresponding to the <qdstring> rule is the character
   string content of the attributeSyntax component of an instance of the
   AttributeTypeDescription ASN.1 type.

   The attributeSyntax component is permitted to contain any character
   string which is a valid ASN.X type definition (i.e., an ASN.X <type>
   element), in addition to the content already prescribed by X.501
   [X.501].  When the attributeSyntax component contains an ASN.X type
   definition, the TagDefault [X.680] is assumed to be AUTOMATIC TAGS
   and the ExtensionDefault [X.680] is assumed to be empty.

   If an attribute type is a subtype and an attribute syntax is
   specified, then that syntax MUST be compatible with the syntax of the
   supertype, i.e., every possible abstract value of the subtype's
   syntax must be an abstract value of the supertype's syntax.

      Aside: In the case where the syntax of the supertype is a
      reference to an XML Schema type, then this requirement is
      satisfied if the syntax of the subtype is the same XML Schema
      type, or a type derived from it by restriction.

   An attribute syntax defined through a SYNTAX-DEFINITION field is not
   required to have an associated syntax object identifier [SYNTAX]
   (thus an attribute definition with a SYNTAX-DEFINITION field is not
   required to also have a SYNTAX field).

   If the SYNTAX-DEFINITION string contains an ASN.X <type> element and
   the SYNTAX field is absent, then the LDAP-specific encoding for
   values of the attribute is assumed to be the same as the
   "transfer-rxer" encoding [TRANSFER].

5.  Example

   Suppose a directory administrator wishes to define two new attributes
   to hold data conforming to the Address data type from the Addresses
   for International Purchase Order schema (address.xsd) [XSD0] and the
   <purchaseOrder> element from the International Purchase Order Schema
   (ipo.xsd) [XSD0].




Legg & Prager              Expires 16 May 2007                  [Page 7]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   The first step is to install the schema definitions into the
   subschema subentry.  Using LDAP, this is done by adding the two
   following (much abbreviated) values to the definitions attribute in
   the subschema subentry:

   <?xml version="1.0"?>
   <value>
    <identifier>http://www.example.com/schemas/ipo.xsd</identifier>
    <document>
     <schema targetNamespace="http://www.example.com/IPO"
             xmlns="http://www.w3.org/2001/XMLSchema"
             xmlns:ipo="http://www.example.com/IPO">

      <annotation>
        <documentation xml:lang="en">
          International Purchase order schema for Example.com
          Copyright 2000 Example.com. All rights reserved.
        </documentation>
      </annotation>

      etc.

     </schema>
    </document>
   </value>

   <?xml version="1.0"?>
   <value>
    <identifier>http://www.example.com/schemas/address.xsd</identifier>
    <document>
     <schema targetNamespace="http://www.example.com/IPO"
             xmlns="http://www.w3.org/2001/XMLSchema"
             xmlns:ipo="http://www.example.com/IPO">

       <annotation>
         <documentation xml:lang="en">
           Addresses for International Purchase order schema
           Copyright 2000 Example.com. All rights reserved.
         </documentation>
       </annotation>

      etc.

     </schema>
    </document>
   </value>

   Note that the LDAP-specific encoding for values of the definitions



Legg & Prager              Expires 16 May 2007                  [Page 8]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   attribute is exactly the same as the "transfer-rxer" encoding.

   The value could also be added using XLDAP [XLDAP], using exactly the
   same markup for the <value> elements.

   An attribute with the Address data type as its syntax is defined for
   LDAP like so:

      ( 1.3.6.1.4.1.21472.5.4.0.0 NAME 'ipo-address'
         SYNTAX-DEFINITION '
         <type xmlns:ipo="http://www.example.com/IPO"
               ref="ipo:Address" embedded="true"/>')

   which is also the LDAP-specific encoding of the value of the
   Attribute Type Description syntax that must be added to the
   attributeTypes attribute in the subschema subentry to publish the
   definition of the ipo-address attribute.

   The "transfer-rxer" encoding for the definition of the ipo-address
   attribute is:

      <?xml version="1.0"?>
      <value>
       <identifier>1.3.6.1.4.1.21472.5.4.0.0</identifier>
       <name>
        <item>ipo-address</item>
       </name>
       <information>
        <attributeSyntax><![CDATA[
         <type xmlns:ipo="http://www.example.com/IPO"
               ref="ipo:Address" embedded="true"/>]]></attributeSyntax>
       </information>
      </value>

   The attributeSyntax component is a DirectoryString [X.501] hence
   markup embedded in it must be escaped (in this case using a CDATA
   section).

   The definition of the ipo-address attribute could also be added to a
   subschema subentry using XLDAP, using exactly the same markup for the
   <value> element.

   An attribute whose values each contain a single <purchaseOrder>
   element can be defined for LDAP like so:

      ( 1.3.6.1.4.1.21472.5.4.0.1 NAME 'purchaseOrder'
         SYNTAX-DEFINITION '
         <type xmlns:ipo="http://www.example.com/IPO">



Legg & Prager              Expires 16 May 2007                  [Page 9]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


          <choice>
           <element ref="ipo:purchaseOrder" embedded="true"/>
          </choice>
         </type>' )

   The "transfer-rxer" encoding for the definition of the purchaseOrder
   attribute is:

      <?xml version="1.0"?>
      <value>
       <identifier>1.3.6.1.4.1.21472.5.4.0.1</identifier>
       <name>
        <item>purchaseOrder</item>
       </name>
       <information>
        <attributeSyntax><![CDATA[
         <type xmlns:ipo="http://www.example.com/IPO">
          <choice>
           <element ref="ipo:purchaseOrder" embedded="true"/>
          </choice>
         </type>]]></attributeSyntax>
       </information>
      </value>

   The format for the contents of the attributeSyntax component has been
   chosen for consistency with the ASN.X representation of attribute
   type definitions in X.500.  Consider the X.500-style definitions for
   the ipo-address and purchaseOrder attributes.

      ipo-address ATTRIBUTE ::= {
          WITH SYNTAX  [RXER:TYPE-REF {
                           namespace-name "http://www.example.com/IPO",
                           local-name     "Address" }]
                       Markup
          ID  { iso(1) identified-organization(3) dod(6)
                internet(1) private(4) enterprise(1)
                xmled(21472) ds(5) attributeType(4) example(0) 0 } }

      purchaseOrder ATTRIBUTE ::= {
          WITH SYNTAX
              CHOICE {
                  purchaseOrder
                      [RXER:ELEMENT-REF {
                          namespace-name "http://www.example.com/IPO",
                          local-name     "purchaseOrder" }]
                      Markup
              }
          ID  { iso(1) identified-organization(3) dod(6)



Legg & Prager              Expires 16 May 2007                 [Page 10]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


                internet(1) private(4) enterprise(1)
                xmled(21472) ds(5) attributeType(4) example(0) 1 } }

   An ASN.X representation for these two ATTRIBUTE information objects
   is (where the namespace prefix "inf:" stands for the namespace name
   "http://xmled.info/ns/X.500/5/InformationFramework"):

      <namedObject name="ipo-address" class="inf:ATTRIBUTE">
       <object>
        <field name="Type">
         <type xmlns:ipo="http://www.example.com/IPO"
               ref="ipo:Address" embedded="true"/>
        </field>
        <field name="id" literalValue="1.3.6.1.4.1.21472.5.4.0.0"/>
       </object>
      </namedObject>

      <namedObject name="purchaseOrder" class="inf:ATTRIBUTE">
       <object>
        <field name="Type">
          <type xmlns:ipo="http://www.example.com/IPO">
           <choice>
            <element ref="ipo:purchaseOrder" embedded="true"/>
           </choice>
          </type>
        </field>
        <field name="id" literalValue="1.3.6.1.4.1.21472.5.4.0.1"/>
       </object>
      </namedObject>

   Note the correspondence between the content of the "Type" fields in
   the ASN.X representation of the information objects, the
   SYNTAX-DEFINITION fields in the LDAP attribute definitions, and the
   <attributeSyntax> components in the "transfer-rxer" encodings of
   AttributeTypeDescription.

6.  Security Considerations

   Attributes of directory entries are used to provide descriptive
   information about the real-world objects they represent, which can be
   people, organizations and devices, among other things.  Most
   countries have privacy laws regarding the publication of information
   about people.

7.  Acknowledgements

   The technology described in this document is the product of a
   research project begun jointly by Adacel Technologies Limited and



Legg & Prager              Expires 16 May 2007                 [Page 11]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   Deakin University, and subsequently refined and completed by eB2Bcom.

8.  IANA Considerations

   The Internet Assigned Numbers Authority (IANA) is requested to update
   the LDAP descriptors registry [BCP64] as indicated by the following
   templates:

      Subject: Request for LDAP Descriptor Registration
      Descriptor (short name): schemaIdentityMatch
      Object Identifier: 1.3.6.1.4.1.21472.5.13.0
      Person & email address to contact for further information:
        Steven Legg <steven.legg@eb2bcom.com>
      Usage: other (matching rule)
      Specification: RFC XXXX
      Author/Change Controller: IESG

      Subject: Request for LDAP Descriptor Registration
      Descriptor (short name): definitions
      Object Identifier: 1.3.6.1.4.1.21472.5.21.0
      Person & email address to contact for further information:
        Steven Legg <steven.legg@eb2bcom.com>
      Usage: attribute type
      Specification: RFC XXXX
      Author/Change Controller: IESG

   The IANA is requested to register a new XML namespace in accordance
   with RFC 3688 [XMLREG].

   URI:  urn:ietf:params:xml:ns:xed-soa

   Registrant Contact:  Steven Legg <steven.legg@eb2bcom.com>

   XML:  None

   The object identifiers have been assigned for use in this
   specification by xmled.org, under an arc assigned to xmled.org by
   IANA.

9.  References

9.1.  Normative References

   [BCP14]    Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3688]  Mealling, M., "The IETF XML Registry", RFC 3688, January
              2004.



Legg & Prager              Expires 16 May 2007                 [Page 12]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


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

   [ABNF]     Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 4234, October 2005.

   [BCP64]    Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
              Considerations for the Lightweight Directory Access
              Protocol (LDAP)", BCP 64, RFC 4520, June 2006.

   [MODELS]   Zeilenga, K., "Lightweight Directory Access Protocol
              (LDAP): Directory Information Models", RFC 4512, June
              2006.

   [SYNTAX]   Legg, S., Ed., "Lightweight Directory Access Protocol
              (LDAP): Syntaxes and Matching Rules", RFC 4517, June 2006.

   [TRANSFER] Legg, S., "Lightweight Directory Access Protocol (LDAP):
              Transfer Encoding Options",
              draft-legg-ldap-transfer-xx.txt, a work in progress,
              August 2006.

   [ASN.X]    Legg, S., "Abstract Syntax Notation X (ASN.X)",
              draft-legg-xed-asd-xx.txt, a work in progress, October
              2006.

   [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, October
              2006.

   [RXEREI]   Legg, S., "Encoding Instructions for the Robust XML
              Encoding Rules (RXER)", draft-legg-xed-rxer-ei-xx.txt, a
              work in progress, October 2006.

   [X.501]    ITU-T Recommendation X.501 (08/05) | ISO/IEC 9594-2:2005,
              Information technology - Open Systems Interconnection -
              The Directory: Models

   [X.680]    ITU-T Recommendation X.680 (07/02) | ISO/IEC 8824-1,
              Information technology - Abstract Syntax Notation One
              (ASN.1): Specification of basic notation.

   [X.680-1]  ITU-T Recommendation X.680 (2002) Amendment 1 (10/03) |
              ISO/IEC 8824-1:2002/Amd 1:2004, Support for EXTENDED-XER.

   [XML10]    Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and



Legg & Prager              Expires 16 May 2007                 [Page 13]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


              F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth
              Edition)", W3C Recommendation,
              http://www.w3.org/TR/2006/REC-xml-20060816, August 2006.

   [XML11]    Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E.,
              Yergeau, F., and J. Cowan, "Extensible Markup Language
              (XML) 1.1 (Second Edition)", W3C Recommendation,
              http://www.w3.org/TR/2006/REC-xml11-20060816, August 2006.

   [ISET]     Cowan, J. and R. Tobin, "XML Information Set (Second
              Edition)", W3C Recommendation,
              http://www.w3.org/TR/2004/REC-xml-infoset-20040204,
              February 2004.

   [XSD1]     Thompson, H., Beech, D., Maloney, M. and N. Mendelsohn,
              "XML Schema Part 1: Structures Second Edition", W3C
              Recommendation,
              http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/,
              October 2004.

   [RNG]      Clark, J. and M. Makoto, "RELAX NG Tutorial", OASIS
              Committee Specification, http://www.oasis-
              open.org/committees/relax-ng/tutorial-20011203.html,
              December 2001.

9.2.  Informative References

   [XED]      Legg, S. and D. Prager, "The XML Enabled Directory",
              draft-legg-xed-roadmap-xx.txt, a work in progress, October
              2006.

   [XLDAP]    Legg, S. and D. Prager, "The XML Enabled Directory:
              Protocols", draft-legg-xed-protocols-xx.txt, a work in
              progress, November 2006.

   [XSD0]     Fallside, D., and P. Walmsley, "XML Schema Part 0: Primer
              Second Edition", W3C Recommendation,
              http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/,
              October 2004.

Appendix A. ASN.1 for XED Schema

   This appendix is normative.

   XED-SchemaOperationalAttributes
       { iso(1) identified-organization(3) dod(6)
         internet(1) private(4) enterprise(1)
         xmled(21472) ds(5) module(1) schema(0) }



Legg & Prager              Expires 16 May 2007                 [Page 14]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   -- Copyright (C) The IETF Trust (2006). 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

   IMPORTS
       Markup,
       AnyURI
           FROM AdditionalBasicDefinitions
               { iso(1) identified-organization(3) dod(6)
                 internet(1) private(4) enterprise(1)
                 xmled(21472) asnx(1) module(0) basic(0) }
       ATTRIBUTE,
       MATCHING-RULE
           FROM InformationFramework
               { joint-iso-itu-t ds(5) module(1)
                 informationFramework(1) 5 }
       DirectoryString{}
           FROM SelectedAttributeTypes
               { joint-iso-itu-t ds(5) module(1)
                 selectedAttributeTypes(5) 5 }
       ub-schema
           FROM UpperBounds
               { joint-iso-itu-t ds(5) module(1)
                 upperBounds(10) 5 }
       ;

   SchemaIdentity ::= AnyURI

   IdentifiedSchema ::= SEQUENCE {
       identifier   SchemaIdentity,
       description  DirectoryString { ub-schema } OPTIONAL,
       obsolete     BOOLEAN DEFAULT FALSE,
       document     SchemaDocument }

   SchemaDocument ::= CHOICE {
       module   [RXER:ELEMENT-REF {
                    namespace-name "urn:ietf:params:xml:ns:asnx",
                    local-name "module" }] Markup,
       schema   [RXER:ELEMENT-REF {
                    namespace-name
                        "http://www.w3.org/2001/XMLSchema",
                    local-name "schema" }] Markup,
       grammar  [RXER:ELEMENT-REF {



Legg & Prager              Expires 16 May 2007                 [Page 15]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


                    namespace-name
                        "http://relaxng.org/ns/structure/1.0",
                    local-name "grammar" }] Markup,
       dtd      ExternalSubset }

   ExternalSubset ::= UTF8String (CONSTRAINED BY {
                          -- contains an external DTD subset,
                          -- i.e., text conforming to
                          -- the extSubset production of XML -- })

   schemaIdentityMatch MATCHING-RULE ::= {
       SYNTAX  SchemaIdentity
       ID      { iso(1) identified-organization(3) dod(6)
                 internet(1) private(4) enterprise(1)
                 xmled(21472) ds(5) matchingRule(13) 0 } }

   definitions ATTRIBUTE ::= {
       WITH SYNTAX             IdentifiedSchema
       EQUALITY MATCHING RULE  schemaIdentityMatch
       USAGE                   directoryOperation
       ID   { iso(1) identified-organization(3) dod(6)
              internet(1) private(4) enterprise(1)
              xmled(21472) ds(5) schemaOperationalAttribute(21) 0 } }

   ENCODING-CONTROL RXER

       SCHEMA-IDENTITY "urn:oid:1.3.6.1.4.1.21472.5.1.0"
       TARGET-NAMESPACE "urn:ietf:params:xml:ns:xed-soa" PREFIX "soa"

   END

Appendix B. ASN.X for XED Schema

   This appendix contains the ASN.X [ASN.X] translation of the
   XED-SchemaOperationalAttributes module.

   This appendix is non-normative.

   <?xml version="1.0"?>
   <asnx:module
       xmlns:asnx="urn:ietf:params:xml:ns:asnx"
       xmlns:soa="urn:ietf:params:xml:ns:xed-soa"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:rng="http://relaxng.org/ns/structure/1.0"
       xmlns:if="http://xmled.info/ns/X.500/5/InformationFramework"
       name="XED-SchemaOperationalAttributes"
       identifier="1.3.6.1.4.1.21472.5.1.0"
       schemaIdentity="urn:oid:1.3.6.1.4.1.21472.5.1.0"



Legg & Prager              Expires 16 May 2007                 [Page 16]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


       targetNamespace="urn:ietf:params:xml:ns:xed-soa"
       targetPrefix="soa"
       extensibilityImplied="true">

    <annotation>
     Copyright (C) The IETF Trust (2006). This version of
     this ASN.X module is part of RFC XXXX; see the RFC itself
     for full legal notices.
    </annotation>

    <import name="UpperBounds"
            identifier="5.1.10.5"/>

    <import name="InformationFramework"
            identifier="2.5.1.1.5"
            schemaIdentity=
                "http://xmled.info/id/X.500/5/InformationFramework"
            namespace=
                "http://xmled.info/ns/X.500/5/InformationFramework"/>

    <namedType name="SchemaIdentity" type="asnx:AnyURI"/>

    <namedType name="IdentifiedSchema">
     <type>
      <sequence>
       <element name="identifier" type="soa:SchemaIdentity"/>
       <optional>
        <element name="description">
         <type>
          <expanded name="DirectoryString">
           <module name="SelectedAttributeTypes" identifier="5.1.5.5"
               schemaIdentity=
                 "http://xmled.info/id/X.500/5/SelectedAttributeTypes"/>
           <type>
            <prefixed>
             <GSER>
              <choiceOfStrings precedence="printableString uTF8String"/>
             </GSER>
             <type>
              <union precedence="printableString uTF8String">
               <member name="teletexString">
                <type>
                 <constrained type="asnx:TeletexString">
                  <size>
                   <range>
                    <minInclusive literalValue="1"/>
                    <maxInclusive value="ub-schema"/>
                   </range>



Legg & Prager              Expires 16 May 2007                 [Page 17]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


                  </size>
                 </constrained>
                </type>
               </member>
               <member name="printableString">
                <type>
                 <constrained type="asnx:PrintableString">
                  <size>
                   <range>
                    <minInclusive literalValue="1"/>
                    <maxInclusive value="ub-schema"/>
                   </range>
                  </size>
                 </constrained>
                </type>
               </member>
               <member name="bmpString">
                <type>
                 <constrained type="asnx:BMPString">
                  <size>
                   <range>
                    <minInclusive literalValue="1"/>
                    <maxInclusive value="ub-schema"/>
                   </range>
                  </size>
                 </constrained>
                </type>
               </member>
               <member name="universalString">
                <type>
                 <constrained type="asnx:UniversalString">
                  <size>
                   <range>
                    <minInclusive literalValue="1"/>
                    <maxInclusive value="ub-schema"/>
                   </range>
                  </size>
                 </constrained>
                </type>
               </member>
               <member name="uTF8String">
                <type>
                 <constrained type="asnx:UTF8String">
                  <size>
                   <range>
                    <minInclusive literalValue="1"/>
                    <maxInclusive value="ub-schema"/>
                   </range>



Legg & Prager              Expires 16 May 2007                 [Page 18]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


                  </size>
                 </constrained>
                </type>
               </member>
              </union>
             </type>
            </prefixed>
           </type>
          </expanded>
         </type>
        </element>
       </optional>
       <optional>
        <element name="obsolete" type="asnx:BOOLEAN"/>
        <default literalValue="false"/>
       </optional>
       <element name="document" type="soa:SchemaDocument"/>
      </sequence>
     </type>
    </namedType>

    <namedType name="SchemaDocument">
     <type>
      <choice>
       <element ref="asnx:module" embedded="true"/>
       <element ref="xsd:schema" embedded="true"/>
       <element ref="rng:grammar" embedded="true"/>
       <element name="dtd" type="soa:ExternalSubset"/>
      </choice>
     </type>
    </namedType>

    <namedType name="ExternalSubset">
     <type>
      <constrained type="asnx:UTF8String">
       <constrainedBy>
        contains an external DTD subset,
        i.e., text conforming to
        the extSubset production of XML
       </constrainedBy>
      </constrained>
     </type>
    </namedType>

    <namedObject name="schemaIdentityMatch" class="if:MATCHING-RULE">
     <object>
      <field name="AssertionType" type="soa:SchemaIdentity"/>
      <field name="id" literalValue="1.3.6.1.4.1.21472.5.13.0"/>



Legg & Prager              Expires 16 May 2007                 [Page 19]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


     </object>
    </namedObject>

    <namedObject name="definitions" class="if:ATTRIBUTE">
     <object>
      <field name="Type" type="soa:IdentifiedSchema"/>
      <field name="equality-match" object="soa:schemaIdentityMatch"/>
      <field name="usage" literalValue="directoryOperation"/>
      <field name="id" literalValue="1.3.6.1.4.1.21472.5.21.0"/>
     </object>
    </namedObject>

   </asnx:module>

Authors' Addresses

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

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

   Dr. Daniel Prager

   EMail: dap@austhink.com

Full Copyright Statement

   Copyright (C) The IETF Trust (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property



Legg & Prager              Expires 16 May 2007                 [Page 20]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   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.

Note to the RFC Editor: the remainder of this document is to be removed
before final publication.

Changes in Draft 01

   An LDAP-specific encoding for the Identified DTD syntax has been
   nominated.

   The Directory XML Encoding Rules (DXER) have been renamed to the
   Robust XML Encoding Rules (RXER).

Changes in Draft 02

   The content of the definitions component of the IdentifiedDTD ASN.1
   type has been changed from an XML prolog to an XML external DTD
   subset.  An external DTD subset is more general than the internal DTD
   subset in an XML prolog, and is also more likely to be the form of a
   DTD from which directory attribute syntaxes might be defined.

   In examples, the root element in "transfer-rxer" encoded LDAP
   attribute values has been changed from <item> to <value> in line with
   the NamedType definitions in the latest draft for the LDAP protocol
   (draft-ietf-ldapbis-protocol-24.txt).

Changes in Draft 03




Legg & Prager              Expires 16 May 2007                 [Page 21]

INTERNET-DRAFT     XED: Schema Operational Attributes  November 16, 2006


   The declarations and doctypedecls attributes have been replaced by
   the definitions attribute.

   The Identified DTD syntax has been removed.  The Identified Schema
   syntax has been revised and now covers DTDs.

   The OBJECT IDENTIFIERs assigned throughout this document have been
   replaced.

   ASN.1 Schema has been renamed to Abstract Syntax Notation X (ASN.X)
   and the <asnx:schema> element has been renamed to <asnx:module>.

Changes in Draft 04

   The AnyType ASN.1 type has been renamed to Markup.

   A description field and an obsolete field have been added to the
   IdentifiedSchema type.

































Legg & Prager              Expires 16 May 2007                 [Page 22]


PAFTECH AB 2003-20262026-04-24 05:47:01