One document matched: draft-ietf-schema-whoispp-00.txt
Internet-Draft Leslie L. Daigle
draft-ietf-schema-whoispp-00.txt Bunyip Information Systems Inc.
Expires in six months April 21, 1998
MIME Directory Profiles for Listing Whois++ Schema
<draft-ietf-schema-whoispp-00.txt>
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 view the entire list of current Internet-Drafts, please check
the "1id-abstracts.txt" listing contained in the Internet-Drafts
Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
(Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au
(Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu
(US West Coast).
1. Abstract
This document defines two MIME directory profiles [HOWE1] necessary
for supporting the definition of Whois++ [FALT1] templates (schemas).
It is intended for communication with the Internet schema listing
service ([APPL1], [APPL2], [APPL3], [APPL4]).
The profiles defined are:
schema-whoispp-0
whoispp-attr-0
Also, 5 MIME directory types are defined:
wpp-template-name
wpp-template-desc
wpp-attr-ptr
wpp-attr-name
wpp-attr-desc
2. Overview
Whois++ [FALT1] makes use of typed information templates, which are analogous
to schemas as defined by the Internet schema listing service. At its simplest,
a Whois++ template definition is the listing and description of attributes
that are useful or expected for the template. In use, some attributes may be
omitted and others (local additions) may be included in data presented in a
particular template.
One of the original philosophies of supporting the Whois++ protocol was
that there should be as few template and attribute types as possible;
standard types can and should be used wherever applicable. This key
collection of templates and attributes have been defined elsewhere
(see [FALT2]). That document defines the concept of attribute "clusters"
-- a construct used solely for the purpose of template definition, and not
reflected in the structure of templates as they are transmitted in the
Whois++ protocol. In order to preserve some kind of order in the universe
of Whois++ templates, these MIME directory profile definitions attempt to
capture some of those constructs to maximize the possibility of reuse of
attribute definitions.
This document therefore defines a MIME directory profile [HOWE1] and the
necessary types to express a Whois++ template (schema) definition, in
terms of the (expected) attributes it uses (schema-whoispp-0). Also,
attribute (collections) are defined in a separate MIME directory profile
(whoispp-attr-0). For the purposes of the Internet schema listing
service, any listing is constructed of a multipart/related MIME object,
where the start object is the text/directory MIME type for the
schema-whoispp-0 profile, and related attribute definitions are included in
separate text/directory MIME message parts with the whoispp-attr-0
profile. This approach is directly inspired by that laid out for
RWhois 1.5 in [MEAL1].
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 [BRAD1].
3. Using the Internet Schema Listing Service for Whois++ Templates
The format of the message must be multipart/related, where
'boundary' has its standard RFC2046 specified value
'start' is the CID of the text/directory 'schema-whoispp-0' profile
'type' MUST be 'text/directory'
'start-info' MUST be 'schema-whoispp-0'
For example, borrowing from the example in [MEAL1]:
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-whoispp-0"
Content-ID: top@foo.com
--boundary
Content-Type: text/directory; profile="schema-whoispp-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 3@foo.com
(schema-whoispp-0 types and values as specified in Section 4
which includes a reference to an attribute whose CID is 4@foo.com)
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 4@foo.com
(a Whois++ attribute definition)
--boundary
4. schema-whoispp-0 Profile Registration
The schema-whoispp-0 profile is generally as simple as a template name,
a template description, and one or more attribute names with pointers
to their definitions. (Attribute definitions are either expected to
be included in an attached whoispp-attr-0 text/directory profile,
or in a referenced schema listing).
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME profile schema-whoispp-0
Profile name: schema-whoispp-0
Profile purpose: To represent templates defined for use within the Whois++
protocol
Profile types: wpp-template-name, wpp-template-desc, wpp-attr-ptr
Profile special notes: The profile MUST include exactly one wpp-template-name
and associated wpp-template-desc. If the purpose of
the registration is to define a collection of generically
useful Whois++ attributes, a generic basename may be
constructed as follows:
generic-template-name = "generic-" numericid
numericid = YYYY MM DD digitstring
YYYY = <4-digit year identifier of listing date>
MM = <2-digit month identifier of listing date>
DD = <2-digit day identifier of listing date>
numericid = 1*DIGIT
DIGIT = "0" / "1" / "2" / "3" / "4" / "5"
"6" / "7" / "8" / "9"
For example:
generic-199804210
Intended usage: COMMON
5. whoispp-attr-0 Profile Registration
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME profile whoispp-attr-0
Profile name: whoispp-attr-0
Profile purpose: To represent attributes defined for use within the Whois++
protocol
Profile types: wpp-attr-name, wpp-attr-ptr, wpp-attr-desc
Profile special notes: There MUST be exactly one of wpp-attr-name and
wpp-attr-ptr, and there MUST be exactly one
wpp-attr-desc in the whoispp-attr-0 profile. If
the wpp-attr-ptr type is used, the wpp-attr-desc
is taken to override or refine the description of the
attribute that is referenced by pointer (e.g., to
specify the attributes role in this template, etc).
Intended usage: COMMON
6. MIME Directory type registrations
This document also defines the MIME directory types used by the
schema-whoispp-0 and whoispp-attr-0 profiles.
6.1 The wpp-template-name MIME directory type
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type wpp-template-name
Type name: wpp-template-name
Type purpose: to represent a Whois++ template name
Type encoding: 8bit
Type valuetype: text, with additional syntax constraints as defined in
"type special notes".
Type special notes: The syntax of this type MUST conform to the following
grammar, expressed using the ABNF defined in [CROC1].
wpp-template-name = 0*restrictedbyte
restrictedbyte = <%d33-%d255 except specialbyte>
specialbyte = %d58 / %d09/ %d13 %d10
; That is, ":" / <tab> / <CR><LF> in ascii
For example,
FREd is a valid template name, although
Fred's template is not (the space character, %d32)
Intended usage: COMMON
6.2 The wpp-template-desc MIME directory type
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type wpp-template-desc
Type name: wpp-template-desc
Type purpose: to contain the textual description of a Whois++ template
Type encoding: 8bit
Type valuetype: text
Type special notes: NONE
Intended usage: COMMON
6.3 The wpp-attr-ptr MIME directory type
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type wpp-attr-ptr
Type name: wpp-attr-ptr
Type purpose: to contain the pointer to an attribute used in a Whois++
template; the pointer must indicate a part of the current
template defininition listing, or some other
previously-listed template
Type encoding: 8bit
Type valuetype: text, with the syntax restrictions as defined in "Type
special notes"
Type special notes: The syntax for this type is as follows:
wpp-attr-ptr = attr-name attr-def
attr-def = "." attr-cid / template-defn-uri attr-name [attr-cid]
; "." means this template definition
template-defn-uri = <URI to retrieve a template definition
that includes the necessary attribute def'n>
attr-cid = <CID of MIME object defining the attribute;
Content-ID as defined as used in [LEVI1]; required if
the attribute is defined locally>
attr-name = 0*veryrestrictedbyte
veryrestrictedbyte = <%d33-%d127 except specialbyte>
specialbyte = %d58 / %d09/ %d13 %d10
; That is, ":" / <tab> / <CR><LF> in ascii
where the semantics are as follows:
wpp-attr-ptr = <attribute name as used in this template> +
<id of template where the attribute is defined> +
<attribute name as it appears in defining template> +
<optional CID of portion of MIME object defining
the attribute in that template definition. Required
if the definition is contained in this template's
registration>
For example,
wpp-attr-ptr:colourscheme . 4@foo.com
or
wpp-attr-ptr:kolorskeam ftp://ftp.someorg.com/somefile colourdef
(which uses the "colourdef" attribute from the specified template
definition).
6.4 The wpp-attr-name MIME directory type
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type wpp-attr-name
Type name: wpp-attr-name
Type purpose: to represent a Whois++ attribute name
Type encoding: 8bit
Type valuetype: text, with additional syntax constraints as defined in
"type special notes".
Type special notes: The syntax of this type MUST conform to the following
grammar, expressed using the ABNF defined in [CROC1].
wpp-attr-name = 0*veryrestrictedbyte
veryrestrictedbyte = <%d33-%d127 except specialbyte>
specialbyte = %d58 / %d09/ %d13 %d10
; That is, ":" / <tab> / <CR><LF> in ascii
Intended usage: COMMON
6.5 The wpp-attr-desc MIME directory type
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type wpp-attr-desc
Type name: wpp-attr-desc
Type purpose: to contain the free-text description description of an
attribute, along with any expected uses, restrictions, etc.
Type encoding: 8bit
Type valuetype: text
Type special notes: NONE
Intended usage: COMMON
7. Examples
The following example defines the "address cluster" as defined in
[FALT2].
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-whoispp-0"
Content-ID: top@foo.com
--boundary
Content-Type: text/directory; profile="schema-whoispp-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 3@foo.com
wpp-template-name:generic-199804210
wpp-template-desc: Generic collection of useful address attributes.
wpp-attr-ptr:address . 4@foo.com
wpp-attr-ptr:address-type . 5@foo.com
wpp-attr-ptr:address-city . 6@foo.com
wpp-attr-ptr:address-country . 7@foo.com
wpp-attr-ptr:address-room . 8@foo.com
wpp-attr-ptr:address-state . 9@foo.com
wpp-attr-ptr:address-street . 10@foo.com
wpp-attr-ptr:address-zip-code . 11@foo.com
wpp-attr-ptr:address-locality . 12@foo.com
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 4@foo.com
wpp-attr-name:Address
wpp-attr-desc:Full address
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 5@foo.com
wpp-attr-name:Address-Type
wpp-attr-desc:Type of address, e.g., work or home
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 6@foo.com
wpp-attr-name:Address-City
wpp-attr-desc:City
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 7@foo.com
wpp-attr-name:Address-Country
wpp-attr-desc:Country
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 8@foo.com
wpp-attr-name:Address-Room
wpp-attr-desc:Room
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 9@foo.com
wpp-attr-name:Address-State
wpp-attr-desc:State, county or province
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 10@foo.com
wpp-attr-name:Address-Street
wpp-attr-desc:Street address
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 11@foo.com
wpp-attr-name:Address-Zip-Code
wpp-attr-desc:Zip or Postal code
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 12@foo.com
wpp-attr-name:Address-Locality
wpp-attr-desc:Geographic region
--boundary
Then, the following template definition can make use of the address
definitions, assuming the above definition can be found at:
ftp://ftp.somewhere.com/addr-defns
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-whoispp-0"
Content-ID: top@foo.com
--boundary
Content-Type: text/directory; profile="schema-whoispp-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 3@foo.com
wpp-template-name:simple-home-user
wpp-template-desc: A simplified user template.
wpp-attr-ptr:mailing-address . 4@foo.com
wpp-attr-ptr:mailing-address-locality ftp://ftp.somewhere.com/addr-defns
address-locality
wpp-attr-ptr:cust-number . 5@foo.com
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 4@foo.com
wpp-attr-ptr:mailing-address ftp://ftp.somewhere.com/addr-defns address
wpp-attr-desc:This is for the home mailing address of the user
--boundary
Content-Type: text/directory; profile="whoispp-attr-0"
Content-Transfer-Encoding: Quoted-Printable
Content-ID: 5@foo.com
wpp-attr-name:cust-number
wpp-attr-desc:User's customer number; syntax is "any 7 digits"
--boundary
Note that the address-locality attribute is used as described remotely,
but an overriding description is provided for the address attribute.
8. Security Considerations
This document introduces no new security considerations to those
already discussed in the Internet directory schema listing service
documentation ([APPL1], [APPL2], [APPL3], [APPL4]).
9. Acknowledgements
Thanks to Chris Apple for politely poking me into producing this
document -- and my apologies for being the last kid on the block to
submit a sensible draft. That tardiness also provokes a word of
acknowledgement to the authors of the other profile definitions for the
Schema listing services, whose documents I read for inspiration in
structuring this one -- Micheal Mealling and Ryan Moats in particular will
perhaps recognize where I've borrowed structure from their RWhois 1.5 and Whois
documents, respectively :-)
10. Author's Contact Address
Leslie L. Daigle
Bunyip Information Systems Inc.
310 Ste. Catherine St. West
Suite 300
Montreal, Quebec, CANADA
H2X 2A1
email: leslie@bunyip.com
11. References:
[APPL1] Apple, C. "Requirements for the Initial Release of a Directory
Schema Listing Service", (work in progress) January 1998,
<draft-ietf-schema-rqmts-list-00.txt>.
[APPL2] Apple, C. "Directory Schema Listing File Names", (work
in progress) January 1998, <draft-ietf-schema-file-list-00.txt>.
[APPL3] Apple, C. "Directory Schema Listing Procedures", (work
in progress) January 1998, <draft-ietf-schema-proc-list-00.txt>.
[APPL4] Apple, C. "Directory Schema Listing Meta Data", (work in progress)
January 1998, <draft-ietf-schema-mime-metadata-00.txt>.
[BRAD1] Bradner, S. "Key words for use in RFCs to Indicate Requirement
Levels", RFC2119, March 1997.
[CROC1] Crocker, D., P. Overell. "Augmented BNF for Syntax
Specifications: ABNF", RFC2234, November 1997.
[DEUT1] Deutsch, P., R. Schoultz, P. Faltstrom, C. Weider. "Architecture
of the WHOIS++ service", RFC1835, August 1995.
[FALT1] Faltstrom, Patrik, Leslie L. Daigle, Sima Newell. "Architecture
of the Whois++ service", (work in progress) March 1998,
<draft-ietf-asid-whoispp-02.txt> This document is a refinement
of the protocol specified in [DEUT95].
[FALT2] Faltstrom, Patrik, Martin Hamilton, Leslie L. Daigle, Jon
Knight. "WHOIS++ templates" (work in progress) March 1998,
<draft-ietf-asid-whois-schema-03.txt>.
[HOWE1] Howes, Tim, Mark Smith, Frank Dawson. "A MIME Content-Type for
Directory Information", (work in progress) March 1998,
<draft-ietf-asid-mime-direct-06.txt>.
[LEVI1] Levinson, E. "Message/External-Body Content-ID Access Type",
RFC1873, December 1995.
[MEAL1] Mealling, Micheal. "A MIME Directory Profile for RWhois 1.5
Schema", (work in progress) March 1998,
<draft-ietf-schema-rwhois-00.txt>.
| PAFTECH AB 2003-2026 | 2026-04-19 15:28:44 |