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

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







INTERNET-DRAFT                                                   S. Legg
draft-legg-xed-schema-05.txt                                     eB2Bcom
Intended Category: Experimental                                D. Prager
                                                         August 30, 2007


        The XML-Enabled Directory: Schema Operational Attributes

                  Copyright (C) The IETF Trust (2007).

   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 29 February 2008.


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



Legg & Prager           Expires 29 February 2008                [Page 1]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   definition (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 ..................................5
   4. Referencing Imported Schemas ....................................6
   5. Example .........................................................7
   6. Security Considerations ........................................12
   7. Acknowledgements ...............................................12
   8. IANA Considerations ............................................12
   9. References .....................................................13
      9.1. Normative References ......................................13
      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]), 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.

   The term "attribute" shall be taken to mean a directory attribute,
   not an XML attribute.

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



Legg & Prager           Expires 29 February 2008                [Page 2]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   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
   Abstract Syntax Notation X (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 module, 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' )

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

      IdentifiedSchema ::= SEQUENCE {



Legg & Prager           Expires 29 February 2008                [Page 3]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


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



Legg & Prager           Expires 29 February 2008                [Page 4]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   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)
                    xmled(21472) ds(5) matchingRule(13) 0 } }

3.4.  The definitions Attribute




Legg & Prager           Expires 29 February 2008                [Page 5]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   User-defined schema documents are imported into a XED server as
   values of the definitions attribute in a 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 defines an extension field for the LDAP-specific
   encoding of the Attribute Type Description syntax so that the
   character string content of the attributeSyntax component can be
   rendered.  In addition, the syntax is permitted 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
   or ASN.X type definition, thus providing the means to define an
   attribute syntax in terms of these other languages.

   The identifier of the extension field is X-SYNTAX-DEFINITION.  The



Legg & Prager           Expires 29 February 2008                [Page 6]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   <qdstrings> [MODELS] for the extension field SHALL be a single
   <qdstring>.  The content corresponding to the <qdstring> 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 an X-SYNTAX-DEFINITION field is
   not required to have an associated syntax object identifier [SYNTAX]
   (thus an attribute definition with an X-SYNTAX-DEFINITION field is
   not required to also have a SYNTAX field).  If an object identifier
   has not been defined for a syntax, then the X-SYNTAX-DEFINITION field
   MUST appear, otherwise it MAY appear.

   If the X-SYNTAX-DEFINITION <qdstring> 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 VertexID data type and the <graph>
   element definition from the following XML Schema:

      <schema targetNamespace="http://www.example.com/directed-graph"
              xmlns="http://www.w3.org/2001/XMLSchema"
              xmlns:dg="http://www.example.com/directed-graph">

       <complexType name="VertexID" type="NCName"/>

       <element name="graph">
        <complexType>



Legg & Prager           Expires 29 February 2008                [Page 7]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


         <sequence>
          <element name="vertex" minOccurs="0" maxOccurs="unbounded">
           <complexType>
            <attribute name="id" type="dg:VertexID" use="required"/>
           </complexType>
          </element>
          <element name="arc" minOccurs="0" maxOccurs="unbounded">
           <complexType>
            <attribute name="head" type="dg:VertexID" use="required"/>
            <attribute name="tail" type="dg:VertexID" use="required"/>
            <attribute name="weight" type="integer"/>
           </complexType>
          </element>
         </sequence>
        </complexType>
       </element>

      </schema>

   Assume that this schema document can be uniquely identified by the
   URI "http://www.example.com/digraph.xsd".

   The first step is to install the schema definitions into the
   subschema subentry.  Using LDAP, this is done by adding the following
   value to the definitions attribute in the subschema subentry:

      <?xml version="1.0"?>
      <value>
       <identifier>http://www.example.com/digraph.xsd</identifier>
       <document>
        <schema targetNamespace="http://www.example.com/directed-graph"
                xmlns="http://www.w3.org/2001/XMLSchema"
                xmlns:dg="http://www.example.com/directed-graph">

         <complexType name="VertexID" type="NCName"/>

         <element name="graph">
          <complexType>
           <sequence>
            <element name="vertex" minOccurs="0" maxOccurs="unbounded">
             <complexType>
              <attribute name="id" type="dg:VertexID" use="required"/>
             </complexType>
            </element>
            <element name="arc" minOccurs="0" maxOccurs="unbounded">
             <complexType>
              <attribute name="head" type="dg:VertexID" use="required"/>
              <attribute name="tail" type="dg:VertexID" use="required"/>



Legg & Prager           Expires 29 February 2008                [Page 8]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


              <attribute name="weight" type="integer"/>
             </complexType>
            </element>
           </sequence>
          </complexType>
         </element>

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

   Note that the LDAP-specific encoding for values of the definitions
   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 VertexID data type as its syntax is defined for
   LDAP like so:

      ( 1.3.6.1.4.1.21472.5.4.0.0 NAME 'startVertex'
         X-SYNTAX-DEFINITION '
         <type xmlns:dg="http://www.example.com/directed-graph"
               ref="dg:VertexID" embedded="true"/>')

   which (minus the first line break) 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 startVertex attribute.

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

      <?xml version="1.0"?>
      <value>
       <identifier>1.3.6.1.4.1.21472.5.4.0.0</identifier>
       <name>
        <item>startVertex</item>
       </name>
       <information>
        <attributeSyntax><![CDATA[
         <type xmlns:dg="http://www.example.com/directed-graph"
               ref="dg:VertexID" 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



Legg & Prager           Expires 29 February 2008                [Page 9]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   section).

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

   A single-valued attribute where the value contains a <graph> element
   can be defined for LDAP like so:

      ( 1.3.6.1.4.1.21472.5.4.0.1 NAME 'transportNetwork'
         SINGLE-VALUE
         X-SYNTAX-DEFINITION '
         <type xmlns:dg="http://www.example.com/directed-graph">
          <choice>
           <element ref="dg:graph" embedded="true"/>
          </choice>
         </type>' )

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

      <?xml version="1.0"?>
      <value>
       <identifier>1.3.6.1.4.1.21472.5.4.0.1</identifier>
       <name>
        <item>transportNetwork</item>
       </name>
       <information>
        <attributeSyntax><![CDATA[
         <type xmlns:dg="http://www.example.com/directed-graph">
          <choice>
           <element ref="dg:graph" embedded="true"/>
          </choice>
         </type>]]></attributeSyntax>
        <multi-valued>false</multi-valued>
       </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 startVertex and transportNetwork attributes.

      startVertex ATTRIBUTE ::= {
         WITH SYNTAX
            [RXER:TYPE-REF {
               namespace-name "http://www.example.com/directed-graph",
               local-name     "VertexID" }] Markup



Legg & Prager           Expires 29 February 2008               [Page 10]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


         ID  { iso(1) identified-organization(3) dod(6)
               internet(1) private(4) enterprise(1)
               xmled(21472) ds(5) attributeType(4) example(0) 0 } }

      transportNetwork ATTRIBUTE ::= {
         WITH SYNTAX
            CHOICE {
               graph  [RXER:ELEMENT-REF {
                         namespace-name
                            "http://www.example.com/directed-graph",
                         local-name "graph" }] Markup
            }
         SINGLE-VALUE TRUE
         ID  { iso(1) identified-organization(3) dod(6)
               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="startVertex" class="inf:ATTRIBUTE">
       <object>
        <field name="Type">
         <type xmlns:dg="http://www.example.com/directed-graph"
               ref="dg:VertexID" embedded="true"/>
        </field>
        <field name="id" literalValue="1.3.6.1.4.1.21472.5.4.0.0"/>
       </object>
      </namedObject>

      <namedObject name="transportNetwork" class="inf:ATTRIBUTE">
       <object>
        <field name="Type">
         <type xmlns:dg="http://www.example.com/directed-graph">
          <choice>
           <element ref="dg:graph" embedded="true"/>
          </choice>
         </type>
        </field>
        <field name="single-valued" literalValue="true"/>
        <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
   X-SYNTAX-DEFINITION fields in the LDAP attribute definitions, and the



Legg & Prager           Expires 29 February 2008               [Page 11]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


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




Legg & Prager           Expires 29 February 2008               [Page 12]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   XML:  None

   The object identifiers have been assigned for use in this
   specification by xmled.org, under an arc assigned to xmled.org by the
   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.

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

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

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

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

   [RXER]     Legg, S. and D. Prager, "Robust XML Encoding Rules (RXER)
              for Abstract Syntax Notation One (ASN.1)", RFC 4910, July
              2007.

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

   [ASN.X]    Legg, S., "Abstract Syntax Notation X (ASN.X)", RFC 4912,
              July 2007.

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



Legg & Prager           Expires 29 February 2008               [Page 13]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


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

   [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, August
              2007.

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

Appendix A. ASN.1 for XED Schema

   This appendix is normative.

   XED-SchemaOperationalAttributes
       { iso(1) identified-organization(3) dod(6)



Legg & Prager           Expires 29 February 2008               [Page 14]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


         internet(1) private(4) enterprise(1)
         xmled(21472) ds(5) module(1) schema(0) }

   -- Copyright (C) The IETF Trust (2007). This version of
   -- this ASN.1 module is part of RFC XXXX; see the RFC itself
   -- for full legal notices.
   --
   -- Regarding this ASN.1 module or any portion of it, the authors
   -- make no guarantees and are not responsible for any damage
   -- resulting from its use.  The authors grant irrevocable permission
   -- to anyone to use, modify, and distribute it in any way that does
   -- not diminish the rights of anyone else to use, modify, and
   -- distribute it, provided that redistributed derivative works do
   -- not contain misleading author or version information.
   -- Derivative works need not be licensed under similar terms.

   DEFINITIONS
   RXER INSTRUCTIONS
   AUTOMATIC TAGS
   EXTENSIBILITY IMPLIED ::= BEGIN

   IMPORTS
       Markup,
       AnyURI
           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,



Legg & Prager           Expires 29 February 2008               [Page 15]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


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

   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 is non-normative.

   This appendix contains the ASN.X [ASN.X] translation of the



Legg & Prager           Expires 29 February 2008               [Page 16]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   XED-SchemaOperationalAttributes module.  Target namespaces are
   assigned to the X.500 modules by the XED protocols specification
   [XLDAP] to faciliate references to them from an ASN.X module.

   <?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"
       targetNamespace="urn:ietf:params:xml:ns:xed-soa"
       targetPrefix="soa"
       extensibilityImplied="true">

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

     Regarding this ASN.X module or any portion of it, the authors
     make no guarantees and are not responsible for any damage
     resulting from its use.  The authors grant irrevocable permission
     to anyone to use, modify, and distribute it in any way that does
     not diminish the rights of anyone else to use, modify, and
     distribute it, provided that redistributed derivative works do
     not contain misleading author or version information.
     Derivative works need not be licensed under similar terms.
    </annotation>

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



Legg & Prager           Expires 29 February 2008               [Page 17]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


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



Legg & Prager           Expires 29 February 2008               [Page 18]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


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



Legg & Prager           Expires 29 February 2008               [Page 19]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


       <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"/>
     </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 1, 85-87 Charles Street
   Kew, Victoria 3103
   AUSTRALIA

   Phone: +61 3 9851 8630
     Fax: +61 3 9851 8601
   EMail: steven.legg@eb2bcom.com



Legg & Prager           Expires 29 February 2008               [Page 20]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   Dr. Daniel Prager

   EMail: dap@austhink.com

Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

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

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

   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



Legg & Prager           Expires 29 February 2008               [Page 21]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   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

   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.

Changes in Draft 05

   This specification has been downgraded from an intended category of
   Proposed Standard to Experimental because the RXER and ASN.X
   specifications on which it depends are in the Experimental category.

   The SYNTAX-DEFINITION field has been changed to the
   X-SYNTAX-DEFINITION field because this specification will now be



Legg & Prager           Expires 29 February 2008               [Page 22]

INTERNET-DRAFT     XED: Schema Operational Attributes    August 30, 2007


   classed as experimental.

   A shorter, self-contained example has replaced the previous example
   in Section 5.















































Legg & Prager           Expires 29 February 2008               [Page 23]


PAFTECH AB 2003-20262026-04-24 05:46:55