One document matched: draft-ietf-schema-rwhois-00.txt


 
Network Working Group                                   Michael Mealling
Request for Comments: DRAFT                      Network Solutions, Inc.
                                                          March 13, 1998
 
 
                A MIME Directory Profile for RWhois 1.5 Schema
                      <draft-ietf-schema-rwhois-00.txt>
 
1. Status of this Memo
 
   This document is an Internet-Draft.  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.''
 
   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).
 
2. Abstract
 
   This document defines two MIME directory profiles [1] for holding a
   RWhois 1.5 [2] schema.  It is intended for communication with the 
   Internet schema listing service [3]. One profile defines an attribute
   and the other defines a class.
 
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
   this document are to be interpreted as described in RFC 2119 [4].

3. Overview

   RWhois 1.5 has the concepts of attributes and classes. A schema in 
   the sense used by Internet schema listing service is analogous to 
   an RWhois class. A class definition in RWhois is simply the listing 
   of attributes that are well understood for that class. There is a 
   desire in many directory services to encourage attribute definition 
   re-use. Therefore, this schema description service will separate 
   the attribute descriptions from the class descriptions.

   The MIME-DIR specification describes how relationships between 
   objects included in a multipart/related MIME type can be specified. 
   This is used by the class profile to include by reference all of 
   the attribute definitions included within one multipart/related 
   MIME object.





Mealling                                                        [Page 1]

draft-ietf-schema-rwhois-00.txt                               March 1998

   Due to the requirements of the schema listing service, there must be
   one 'top' profile, which is called 'schema-rwhois-0'. Since the 'top'
   of the RWhois schema definition is the class, the class definition's
   profile name will be 'schema-rwhois-0'. The attribute definition will
   use the profile name 'rwhois-attribute-0'.


4. Multipart/related header values

   The schema listing service's infrastructure depends on an easily
   parsed and easily navigated structure of filenames in a directory. In 
   some cases the definition of a schema is contained in one MIME-DIR 
   profile. This makes for a simple correlation to one file and also 
   makes it easy to find that file's profile and schema name. 

   In the case of RWhois' class and attribute objects this is not so 
   simple as the actual schema name would be in the 
   multipart/related's start object. Luckily the multipart/related 
   standard gives us the "Start-Info" parameter. For the purposes of 
   the schema-listing application's use of RWhois schema this parameter
   is used to denote the profile of the start object.

   All other attributes have standard values. This leaves us with 
   the following specification:

   'boundary' has its standard RFC2046 specified value
   'start' is the CID of the 'schema-rwhois-0' or class object
   'type' MUST be 'text/directory'
   'start-info' MUST be 'schema-rwhois-0'



























Mealling                                                        [Page 2]

draft-ietf-schema-rwhois-00.txt                               March 1998

   An example:

   To: ietf-schema-review@TBD
   Subject: schema unit listing request
   MIME-Version: 1.0
   Message-Id: <ids1@wherever.com>
   Content-Type: multipart/related; boundary="boundary";
         start=3@foo.com; type="text/directory"; 
         start-info="schema-rwhois-0"
   Content-ID: top@foo.com
 
   --boundary
   Content-Type: text/directory; profile="schema-rwhois-0"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 3@foo.com
 
   (class description elements and values as specified in Section 5,
   which includes a reference to an attribute whose CID is 4@foo.com)
 
   --boundary
   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 4@foo.com
 
   (an RWhois attribute definition)
 
   --boundary


5. schema-rwhois-0 definition

   The schema-rwhois-0 definition is extremely straightforward. It 
   is a combination of the '-schema' and '-class' directives defined 
   in RFC2167.  The class directive defines the description and version 
   of the class.  The schema directive defines the attributes that are 
   valid for that class but also lists the description of the values 
   themselves. For ease of parsing, this class definition will include 
   the attribute name. Therefore, the attribute definition object will not 
   have to be parsed in order to allow for the most basic function of 
   showing the user the attribute and plain text value.

   Therefore, the well understood attributes for the schema-rwhois-0 
   profile are as follows:

   'name' contains the class' name
   'description' contains a plain text description of the class
   'version' contains the version as specified by RFC2167 
   'attribute' contains the attribute name and the CID of its definition








Mealling                                                        [Page 3]

draft-ietf-schema-rwhois-00.txt                               March 1998

   The syntax of the 'attribute' value is as follows:
   
   attribute-value = name " " CID
   name=1*id-char
   CID = Content-ID as defined as used in RFC1873 [5]
   id-char = alpha / digit / "_" / "-"
   alpha = "a".."z" / "A".."Z"
   digit = "0".."9"

   Example:

   Content-Type: text/directory; profile="schema-rwhois-0"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 3@foo.com

   Name: Referral
   Description: Required class for specifying a referral
   Version: 19961101
   Attribute: Referred-Auth-Area 4@foo.com
   Attribute: Referral 5@foo.com

   This example in its entirety would be included as the start object of
   a multipart/related object that included the 4@foo.com and 5@foo.com 
   objects.

   The MIME-DIR profile registration template is included in Section 8.

6. rwhois-attribute-0 definition

   The rwhois attribute definition profile is also fairly 
   straightforward since it follows the '-schema' directive very closely.
   The RFC2167 defined attribute properties are:

    Attribute    This is the name of the attribute.
 
    Description  This is a natural language description of the
                 attribute.
 
    Type         This is a parameter that broadly indicates the use
                 of the attribute to the protocol. There are three
                 standard types:  TEXT, ID, and SEE-ALSO. 
 
    Format       This is an interpretable string that describes the
                 acceptance format of the value. 
 
    Indexed      This is a true or false flag indicating that this
                 attribute should be indexed (and therefore able to be
                 searched).

    Required     This is a true or false flag indicating that this
                 attribute must have a value in an instance of the
                 class.




Mealling                                                        [Page 4]

draft-ietf-schema-rwhois-00.txt                               March 1998

    Multi-Line   This is a true or false flag indicating that this
                 attribute may have multiple instances in a class, but
                 all of the instances are to be considered as multiple
                 lines of the same attribute instance. This allows
                 normal line terminators to terminate values.
 
    Repeatable   This is a true or false flag indicating that there may
                 be multiple instances of this attribute in a class and
                 each instance is to be interpreted as a separate
                 instance (in contrast to Multi-Line). 
 
    Primary      This is a true or false flag that indicates that this
                 attribute is a primary key. 
 
    Hierarchical This is a true or false flag that indicates that this
                 attribute is lexically hierarchical.
 
    Private      This is a true or false flag that indicates whether or
                 not this attribute is private (that is, publicly not
                 viewable).  


   Each of these properties corresponds exactly to an attribute in the 
   'rwhois-attribute-0' profile except that 'rwhoisAttrDef' is 
   prepended to the attribute name. The values follow the ABNF specified
    in RFC2167.

   Example:

   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 4@foo.com
 
   rwhoisAttrDefAttribute: Referral
   rwhoisAttrDefFormat: none
   rwhoisAttrDefDescription: Referral to an RWhois server
   rwhoisAttrDefIndexed: OFF
   rwhoisAttrDefRequired: ON
   rwhoisAttrDefMulti-line: OFF
   rwhoisAttrDefRepeatable: ON
   rwhoisAttrDefHierarchical: OFF
   rwhoisAttrDefPrivate: OFF
   rwhoisAttrDefType: Text
   rwhoisAttrDefPrimary: OFF












Mealling                                                        [Page 5]

draft-ietf-schema-rwhois-00.txt                               March 1998

7. Full example
   
   This is a full example of a schema object that is intended to be 
   registered with the schema listing service. It represents the Base 
   class which every RWhois class must include.

   To: ietf-schema-review@TBD
   Subject: schema unit listing request
   MIME-Version: 1.0
   Message-Id: <ids1@wherever.com>
   Content-Type: multipart/related; boundary="boundary";
         start=3@foo.com; type="text/directory"; 
         start-info="schema-rwhois-0"
   Content-ID: top@foo.com
 
   --boundary
   Content-Type: text/directory; profile="schema-rwhois-0"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 3@foo.com
 
   Name: Base
   Description: The RWhois 1.5 Base class from which all classes inherit
   Version: 19961101
   Attribute: Class-Name 4@foo.com
   Attribute: Auth-Area 5@foo.com
   Attribute: ID 6@foo.com
   Attribute: Updated 7@foo.com
   Attribute: Guardian 8@foo.com
   Attribute: Private 9@foo.com
   Attribute: TTL 10@foo.com

   --boundary
   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 4@foo.com
 
   rwhoisAttrDefAttribute: Class-Name
   rwhoisAttrDefFormat: none
   rwhoisAttrDefDescription: Type of the object.
   rwhoisAttrDefIndexed: OFF
   rwhoisAttrDefRequired: ON
   rwhoisAttrDefMulti-line: OFF
   rwhoisAttrDefRepeatable: OFF
   rwhoisAttrDefHierarchical: OFF
   rwhoisAttrDefPrivate: OFF
   rwhoisAttrDefType: Text
   rwhoisAttrDefPrimary: OFF

   --boundary







Mealling                                                        [Page 6]

draft-ietf-schema-rwhois-00.txt                               March 1998

   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 5@foo.com
 
   rwhoisAttrDefAttribute: Auth-Area
   rwhoisAttrDefFormat: none
   rwhoisAttrDefDescription: Authority area to which the object belongs
   rwhoisAttrDefIndexed: OFF
   rwhoisAttrDefRequired: ON
   rwhoisAttrDefMulti-line: OFF
   rwhoisAttrDefRepeatable: OFF
   rwhoisAttrDefHierarchical: ON
   rwhoisAttrDefPrivate: OFF
   rwhoisAttrDefType: Text
   rwhoisAttrDefPrimary: OFF

   --boundary
   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 6@foo.com
 
   rwhoisAttrDefAttribute: ID
   rwhoisAttrDefFormat: none
   rwhoisAttrDefDescription: Globally unique object identifier
   rwhoisAttrDefIndexed: ON
   rwhoisAttrDefRequired: OFF
   rwhoisAttrDefMulti-line: OFF
   rwhoisAttrDefRepeatable: OFF
   rwhoisAttrDefHierarchical: ON
   rwhoisAttrDefPrivate: OFF
   rwhoisAttrDefType: Text
   rwhoisAttrDefPrimary: OFF

   --boundary
   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 7@foo.com
 
   rwhoisAttrDefAttribute: Updated
   rwhoisAttrDefFormat: none
   rwhoisAttrDefDescription: Last modification time/serial number
   rwhoisAttrDefIndexed: OFF
   rwhoisAttrDefRequired: OFF
   rwhoisAttrDefMulti-line: OFF
   rwhoisAttrDefRepeatable: OFF
   rwhoisAttrDefHierarchical: OFF
   rwhoisAttrDefPrivate: OFF
   rwhoisAttrDefType: Text
   rwhoisAttrDefPrimary: OFF

   --boundary





Mealling                                                        [Page 7]

draft-ietf-schema-rwhois-00.txt                               March 1998

   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 8@foo.com
 
   rwhoisAttrDefAttribute: Guardian
   rwhoisAttrDefFormat: none
   rwhoisAttrDefDescription: Guardian object
   rwhoisAttrDefIndexed: OFF
   rwhoisAttrDefRequired: OFF
   rwhoisAttrDefMulti-line: OFF
   rwhoisAttrDefRepeatable: ON
   rwhoisAttrDefHierarchical: OFF
   rwhoisAttrDefPrivate: OFF
   rwhoisAttrDefType: ID
   rwhoisAttrDefPrimary: OFF

   --boundary
   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 9@foo.com
 
   rwhoisAttrDefAttribute:Private
   rwhoisAttrDefFormat:none
   rwhoisAttrDefDescription:object is private
   rwhoisAttrDefIndexed:OFF
   rwhoisAttrDefRequired:OFF
   rwhoisAttrDefMulti-line:OFF
   rwhoisAttrDefRepeatable:OFF
   rwhoisAttrDefHierarchical:OFF
   rwhoisAttrDefPrivate:ON
   rwhoisAttrDefType:Text
   rwhoisAttrDefPrimary:OFF

   --boundary
   Content-Type: text/directory; profile="rwhois-attribute-0>"
   Content-Transfer-Encoding: Quoted-Printable
   Content-ID: 10@foo.com
 
   rwhoisAttrDefAttribute:TTL
   rwhoisAttrDefFormat:none
   rwhoisAttrDefDescription:Time to live
   rwhoisAttrDefIndexed:OFF
   rwhoisAttrDefRequired:OFF
   rwhoisAttrDefMulti-line:OFF
   rwhoisAttrDefRepeatable:OFF
   rwhoisAttrDefHierarchical:OFF
   rwhoisAttrDefPrivate:OFF
   rwhoisAttrDefType:Text
   rwhoisAttrDefPrimary:OFF

   --boundary





Mealling                                                        [Page 8]

draft-ietf-schema-rwhois-00.txt                               March 1998

8. Registration Templates 

 8.1 'schema-rwhois-0' profile registration template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory profile "schema-rwhois-0"
 
   Profile name: schema-rwhois-0
 
   Profile purpose: To represent the RWhois 1.5 class definition as 
                    defined in RFC2167.

   Profile types: name, description, version, attribute

   Profile special notes:

   Neither the "BEGIN" and "END" types nor type grouping are used
   in contents of this profile.

   The only type which is allowed to be multi-valued is 'attribute'.

   The SOURCE type is optional, and if values are present it is 
   suggested that they be a rwhois URI as RWhois schema definitions 
   from other sources have not been investigated.
 
   Intended usage: COMMON

 8.2 'schema-rwhois-0' 'rwhoisAttrDefAttribute' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefAttribute
 
   Type name: rwhoisAttrDefAttribute
 
   Type purpose: This is the name of the attribute.
 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.3 'schema-rwhois-0' 'rwhoisAttrDefDescription' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefDescription
 
   Type name: rwhoisAttrDefDescription
 
   Type purpose: This is a natural language description of the
                 attribute.
 

Mealling                                                        [Page 9]

draft-ietf-schema-rwhois-00.txt                               March 1998

   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.4 'schema-rwhois-0' 'rwhoisAttrDefType' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefType
 
   Type name: rwhoisAttrDefType
 
   Type purpose: This is a parameter that broadly indicates the use
                 of the attribute to the protocol. There are three
                 standard types:  TEXT, ID, and SEE-ALSO. 
 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.5 'schema-rwhois-0' 'rwhoisAttrDefFormat' type registration template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory MIME type rwhoisAttrDefFormat

   Type name: rwhoisAttrDefFormat
 
   Type purpose: This is an interpretable string that describes the
                 acceptance format of the value. 

 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.6 'schema-rwhois-0' 'rwhoisAttrDefIndexed' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefIndexed

   Type name: rwhoisAttrDefIndexed
 
Mealling                                                       [Page 10]

draft-ietf-schema-rwhois-00.txt                               March 1998

   Type purpose: This is a true or false flag indicating that this
                 attribute should be indexed (and therefore able to be
                 searched).
 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.7 'schema-rwhois-0' 'rwhoisAttrDefRequired' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefRequired

   Type name: rwhoisAttrDefRequired
 
   Type purpose: This is a true or false flag indicating that this
                 attribute must have a value in an instance of 
                 the class.
 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.8 'schema-rwhois-0' 'rwhoisAttrDefMulti-Line' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefMulti-Line

   Type name: rwhoisAttrDefMulti-Line
 
   Type purpose: This is a true or false flag indicating that this
                 attribute may have multiple instances in a class, but
                 all of the instances are to be considered as multiple
                 lines of the same attribute instance. This allows
                 normal line terminators to terminate values.
 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON


Mealling                                                       [Page 11]

draft-ietf-schema-rwhois-00.txt                               March 1998

 8.9 'schema-rwhois-0' 'rwhoisAttrDefRepeatable' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefRepeatable

   Type name: rwhoisAttrDefRepeatable
 
   Type purpose: This is a true or false flag indicating that there may
                 be multiple instances of this attribute in a class and
                 each instance is to be interpreted as a separate
                 instance (in contrast to Multi-Line). 
 
   Type encoding: 8bit

   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.10 'schema-rwhois-0' 'rwhoisAttrDefPrimary' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory MIME type rwhoisAttrDefPrimary
 
   Type name: rwhoisAttrDefPrimary

   Type purpose: This is a true or false flag that indicates that this
                 attribute is a primary key. 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.11 'schema-rwhois-0' 'rwhoisAttrDefHierarchical' type template

   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory type rwhoisAttrDefHierarchical

   Type name: rwhoisAttrDefHierarchical
 
   Type purpose: This is a true or false flag that indicates that this
                 attribute is lexically hierarchical.

   Type encoding: 8bit
 
   Type valuetype: text
 



Mealling                                                       [Page 12]

draft-ietf-schema-rwhois-00.txt                               March 1998

   Type special notes: This value must follow the rules as specified 
   in RFC2167.
 
   Intended usage: COMMON

 8.12 'schema-rwhois-0' 'rwhoisAttrDefPrivate' type template
 
   To: ietf-mime-direct@imc.org
   Subject: Registration of text/directory MIME type rwhoisAttrDefPrivate
 
   Type name: rwhoisAttrDefPrivate
 
   Type purpose: This is a true or false flag that indicates whether or
                 not this attribute is private (that is, publicly not
                 viewable).  
 
   Type encoding: 8bit
 
   Type valuetype: text
 
   Type special notes: This value must follow the rules as specified
   in RFC2167.
 
   Intended usage: COMMON

9. Author's Contact

   Michael Mealling
   Network Solutions
   505 Huntmar Park Drive
   Herndon, VA  22070
   voice: (703) 742-0400
   fax: (703) 742-9552
   email: michaelm@netsol.com
   URL: http://www.netsol.com/

10. References:

   [1] Howes, Tim, Mark Smith, Frank Dawson. "A MIME Content-Type for 
       Directory Information", 07/24/1997, INTERNET DRAFT 
       <draft-ietf-asid-mime-direct-04.txt>.
 
   [2] Williamson, S., M. Kosters, et al. "Referral Whois (RWhois) 
       Protocol V1.5", 06/01/1997, RFC2167.
 
   [3] Apple, C. "Directory Schema Listing Requirements", 08/28/1997,
       INTERNET DRAFT <draft-ietf-schema-rqmts-list-00.txt>.
 
   [4] Bradner, S. "Key words for use in RFCs to Indicate Requirement
       Levels", 3/01/1997, RFC2119.

   [5] Levinson, E., J. Clark, "Message/External-Body Content-ID Access 
       Type", RFC1872, 12/01/95.



Mealling                                                       [Page 13]


PAFTECH AB 2003-20242024-05-18 12:10:27