draft-ietf-asid-whois-schema-00.txt   draft-ietf-asid-whois-schema-01.txt 
ASID Working Group Patrik Faltstrom ASID Working Group Patrik Faltstrom
INTERNET-DRAFT Tele2/Swipnet INTERNET-DRAFT Tele2/Swipnet
Expires May 1997 Martin Hamilton Expires January 1998 Martin Hamilton
Loughborough University Loughborough University
Leslie L. Daigle Leslie L. Daigle
Bunyip Information Systems, Inc. Bunyip Information Systems, Inc.
Jon Knight Jon Knight
Loughborough University Loughborough University
November 1996
WHOIS++ templates WHOIS++ templates
Filename: draft-ietf-asid-whois-schema-00.txt Filename: draft-ietf-asid-whois-schema-01.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts. distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other months and may be updated, replaced, or obsoleted by other
skipping to change at page 2, line 52 skipping to change at page 2, line 52
We looked at IETF drafts, the content of deployed WHOIS++ servers, We looked at IETF drafts, the content of deployed WHOIS++ servers,
other White and Yellow Pages servers, and at the work of the Dublin other White and Yellow Pages servers, and at the work of the Dublin
Core group [2] on cataloguing on-line document-like objects. Core group [2] on cataloguing on-line document-like objects.
The proposed templates are a mix of all these things but are most The proposed templates are a mix of all these things but are most
strongly influenced by the templates defined by the IAFA working strongly influenced by the templates defined by the IAFA working
group of the IETF [3]. In fact some of the text in this document is group of the IETF [3]. In fact some of the text in this document is
taken verbatim from IAFA documents. taken verbatim from IAFA documents.
We should also mention that wherever we though it was necessary we We should also mention that wherever we thought it was necessary we
tried improving on existing ways of doing things, in particular we tried improving on existing ways of doing things, in particular we
tried to improve on the consistency of attribute naming and of the tried to improve on the consistency of attribute naming and of the
general nomenclature. general nomenclature.
4. Templates and clusters 4. Templates and clusters
To ease the understanding of how the templates are defined, consider To ease the understanding of how the templates are defined, consider
that each template is defined by attributes and clusters. Each that each template is defined by attributes and clusters. Each
cluster is in turn also defined by attributes and clusters. This cluster is in turn also defined by attributes and clusters. This
clustering principle is only used in this specification to make it clustering principle is only used in this specification to make it
skipping to change at page 3, line 33 skipping to change at page 3, line 33
Name: Name:
Color: Color:
Weight: Weight:
Volume: Volume:
If the template definition then is If the template definition then is
Template DESSERT Template DESSERT
Desert: Dessert:
Ingredients-(INGREDIENTS*): Ingredients-(INGREDIENTS*):
Then the following record is legal: Then the following record is legal:
Dessert: Chocolate Mousse Dessert: Chocolate Mousse
Ingredients-Name: Chocolate Ingredients-Name: Chocolate
Ingredients-Color: Brown Ingredients-Color: Brown
Ingredients-Weight: 150g Ingredients-Weight: 150g
Ingredients-Name: Cream Ingredients-Name: Cream
Ingredients-Color: White Ingredients-Color: White
Ingredients-Weight: 2.5dl Ingredients-Weight: 2.5dl
Each attribute may be repeated within one record (as you can see Each attribute may be repeated within one record (as you can see
above). above).
It is important to note that the WHOIS++ protocol imposes ordering on It is important to note that the WHOIS++ protocol imposes ordering on
the attributes within the templates. For example - if there were two the attributes within the templates. For example - if there were two
ADDRESS clusters included in an ORGANIZATION template, the attributes INGREDIENTS clusters included in a DESSERT template, the attributes
from each ADDRESS cluster would be grouped together. from each INGREDIENTS cluster would be grouped together.
In the tables of attributes which follow, the "Rec. ?" heading is In the tables of attributes which follow, the "Rec. ?" heading is
used to indicate whether an attribute is recommended. used to indicate whether an attribute is recommended. All attributes
are essentially optional, e.g. the Volume attribute in the
INGREDIENTS cluster above, but templates will typically need to
contain at least the recommended attributes in order to be useful.
5. Cluster definitions 5. Cluster definitions
ADDRESS cluster ADDRESS cluster
This cluster describes the physical address of an object. This cluster describes the physical address of an object.
If any of the more detailed Address-* attributes are specified, they If any of the more detailed Address-* attributes are specified, they
should mirror the content of the Address attribute which should should mirror the content of the Address attribute which should
always be specified. always be specified.
+------------------+--------+--------------------------------+ +------------------+--------+-------------------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+------------------+--------+--------------------------------+ +------------------+--------+-------------------------------+
|Address: | R | Full address | |Address: | R | Full address |
|Address-Type: | | Type of address, e.g. Work or | |Address-Type: | | Type of address, e.g. Work or |
| | | Home | | | | Home |
|Address-City: | R | City | |Address-City: | R | City |
|Address-Country: | R | Country | |Address-Country: | R | Country |
|Address-Room: | | Room | |Address-Room: | | Room |
|Address-State: | | State, departement or province | |Address-State: | | State, county or province |
|Address-Street: | | Street | |Address-Street: | | Street |
|Address-Zip-Code: | | Zip code | |Address-Zip-Code: | | Zip code |
+------------------+--------+--------------------------------+ +------------------+--------+-------------------------------+
CERTNAME cluster CERTNAME cluster
This cluster is used to describe the name of an organization issuing This cluster is used to describe the name of an organization issuing
a certificate, Certificate Revocation List (CRL) or the name of a a certificate, Certificate Revocation List (CRL) or the name of a
certificate holder. certificate holder.
+------------+--------+---------------------+ +------------+--------+---------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+------------+--------+---------------------+ +------------+--------+---------------------+
skipping to change at page 6, line 37 skipping to change at page 6, line 38
|(EMAIL*) | | Electronic mail address(es) of | |(EMAIL*) | | Electronic mail address(es) of |
| | | organization | | | | organization |
|Name: | R | Name of organization | |Name: | R | Name of organization |
|(PHONE*) | | Telephone number(s) of organization | |(PHONE*) | | Telephone number(s) of organization |
|Type: | | Type of organization (University, | |Type: | | Type of organization (University, |
| | | commercial, etc.) | | | | commercial, etc.) |
|URI: | | Uniform Resource Identifier of | |URI: | | Uniform Resource Identifier of |
| | | organization | | | | organization |
+-----------+--------+-------------------------------------+ +-----------+--------+-------------------------------------+
PERSON cluster ORG-PERSON cluster
This cluster is used to describe Homo Sapiens. This adds information about the organization the person is associated
with, for use with the PERSON cluster.
+-----------------------------+--------+-------------------------------+ +-----------------------------+--------+-----------------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+-----------------------------+--------+-------------------------------+ +-----------------------------+--------+-----------------------------+
|Appointment-Time: | | Appointment time |
|Department: | R | Department to which person | |Department: | R | Department to which person |
| | | belongs in organization | | | | belongs in organization |
|Organization-(ORGANIZATION*) | R | Information about the |
| | | organization where person |
| | | works |
|Title: | | Title of person within |
| | | organization |
+-----------------------------+--------+-----------------------------+
PERSON cluster
This cluster is used to describe Homo Sapiens.
+--------------+--------+-------------------------------+
|Name | Rec. ? | Description |
+--------------+--------+-------------------------------+
|(EMAIL*) | | Electronic mail address(es) | |(EMAIL*) | | Electronic mail address(es) |
| | | of person | | | | of person |
|(ADDRESS*) | | Address of person | |(ADDRESS*) | | Address of person |
|(PHONE*) | | Telephone contact information | |(PHONE*) | | Telephone contact information |
| | | of person | | | | of person |
|(NAME*) | R | Name of person | |(NAME*) | R | Name of person |
|Organization-(ORGANIZATION*) | R | Information | |(ORG-PERSON*) | R | Organization related |
| | | about organization where | | | | personal contact |
| | | person works | | | | information |
|Title: | | Title of person within |
| | | organization |
|Homepage-URI: | | Uniform Resource | |Homepage-URI: | | Uniform Resource |
| | | Identifier of person's | | | | Identifier of person's |
| | | home page | | | | home page |
|Picture-URI: | | Uniform Resource | |Picture-URI: | | Uniform Resource |
| | | Identifier of person's | | | | Identifier of person's |
| | | picture | | | | picture |
+-----------------------------+--------+-------------------------------+ +--------------+--------+-------------------------------+
PHONE cluster PHONE cluster
This cluster is used to hold telephone contact details for an object. This cluster is used to hold telephone contact details for an object.
+------------+--------+----------------------------------+ +------------+--------+----------------------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+------------+--------+----------------------------------+ +------------+--------+----------------------------------+
|Phone-Type: | | Type of phone, e.g. Work or Home | |Phone-Type: | | Type of phone, e.g. Work or Home |
|Cellular: | | Cellular telephone number | |Cellular: | | Cellular telephone number |
|Fax: | | Fax telephone number | |Fax: | | Fax telephone number |
|Pager: | | Pager telephone number | |Pager: | | Pager telephone number |
|Phone: | | Telephone number | |Phone: | | Telephone number |
+------------+--------+----------------------------------+ +------------+--------+----------------------------------+
Note that we recommend that full international format be used for
telephone numbers for portability - e.g. +44 1509 228237. See
Appendix A for more information.
PGP-PUBLIC-KEY cluster PGP-PUBLIC-KEY cluster
This cluster is used to include or refer to a PGP [4] public key. This cluster is used to include or refer to a PGP [4] public key.
If included directly, the PGP public key should be base64 encoded If included directly, the PGP public key should be base64 encoded
("ASCII armored") for portability. ("ASCII armored") for portability.
+--------------------+--------+----------------------------+ +--------------------+--------+----------------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+--------------------+--------+----------------------------+ +--------------------+--------+----------------------------+
|PGP-Version: | R | PGP version, e.g. 2.6.3i | |PGP-Version: | | PGP version, e.g. 2.6.3i |
|PGP-Key-ID: | | Public key ID | |PGP-Key-Length: | R | Public key length, |
|PGP-Key-Name: | | Name associated with PGP | | | | e.g. 1024 |
| | | public key | |PGP-Key-ID: | R | Public key ID, |
|PGP-Public-Key: | R | base64 encoded PGP | | | | e.g. FB5E1519 |
| | | public key | |PGP-Key-Name: | R | Name associated with key |
| | | e.g. Patrik Faltstrom |
| | | <paf@swip.net> |
|PGP-Fingerprint: | | Public key checksum, |
| | | e.g. 2C E2 6F... |
|PGP-Public-Key: | R | PGP key in "ASCII Armour" |
|PGP-Public-Key-URI: | | Uniform Resource | |PGP-Public-Key-URI: | | Uniform Resource |
| | | Identifier of public key | | | | Identifier of public key |
+--------------------+--------+----------------------------+ +--------------------+--------+----------------------------+
RECORD cluster RECORD cluster
This cluster is used to hold administrative information about a This cluster is used to hold administrative information about a
record. record.
+---------------------------------------+--------+-------------------+ +---------------------------------------+--------+-------------------+
skipping to change at page 8, line 39 skipping to change at page 9, line 21
| | | created this | | | | created this |
| | | record | | | | record |
|Record-Creation-Date: | | The date this | |Record-Creation-Date: | | The date this |
| | | record was | | | | record was |
| | | created | | | | created |
|Record-Last-Modified-Contact-(PERSON*) | | Contact | |Record-Last-Modified-Contact-(PERSON*) | | Contact |
| | | information for | | | | information for |
| | | person who last | | | | person who last |
| | | modified this | | | | modified this |
| | | record | | | | record |
|Record-Last-Modified-Date: | R | The date this | |Record-Last-Modified-Date: | | The date this |
| | | record was last | | | | record was last |
| | | modified | | | | modified |
|Record-Last-Verified-Contact-(PERSON*) | | Contact | |Record-Last-Verified-Contact-(PERSON*) | | Contact |
| | | information for | | | | information for |
| | | person who last | | | | person who last |
| | | verified this | | | | verified this |
| | | record | | | | record |
|Record-Last-Verified-Date: | | The date this | |Record-Last-Verified-Date: | | The date this |
| | | record was last | | | | record was last |
| | | verified | | | | verified |
skipping to change at page 10, line 5 skipping to change at page 10, line 5
DOCUMENT template DOCUMENT template
This template is used to hold information about document-like This template is used to hold information about document-like
objects. objects.
Note that an expanded set of attributes may be used to fully repre- Note that an expanded set of attributes may be used to fully repre-
sent Dublin Core objects, as per Appendix B. At the time of writing sent Dublin Core objects, as per Appendix B. At the time of writing
these were still under development. these were still under development.
+--------------------------+--------+------------------------------------+ +--------------------------+--------+-------------------------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+--------------------------+--------+------------------------------------+ +--------------------------+--------+-------------------------------------+
|Subject: | | The topic addressed by the work | |Title: | | The name of the resource |
|Title: | | The name of the object | |Creator: | | The person(s) primarily |
|Author: | | The person(s) primarily |
| | | responsible for the intellectual | | | | responsible for the intellectual |
| | | content of the object | | | | content of the resource |
|Author-(PERSON*) | | See Author: | |Creator-(PERSON*) | | See Creator: |
|Publisher: | | The agent or agency | |Subject: | | The topic addressed by the resource |
| | | responsible for | | | | or a set of appropriate keywords |
| | | making the object available | |Description: | | A plain text description or |
| | | abstract about the resource |
|Publisher: | | The agent or agency responsible for |
| | | making the resource available |
|Publisher-(ORGANIZATION*) | | See Publisher: | |Publisher-(ORGANIZATION*) | | See Publisher: |
|Other-Agent | | The person(s), such as editors | |Contributors: | | The person(s), such as editors |
| | | and transcribers, who have made | | | | and transcribers, who have made |
| | | other significant intellectual | | | | other significant intellectual |
| | | contributions to the work | | | | contributions to the work |
|Other-Agent-(PERSON*) | | See Other-Agent: | |Contributors-(PERSON*) | | See Contributors: |
|Date: | | The date of publication | |Date: | | The date of publication |
|Object-Type: | | The genre of the object, such as | |Type: | | The genre of the resource, such as |
| | | novel, poem, or dictionary | | | | novel, poem, or dictionary |
|Form: | | The physical manifestation of the | |Format: | | The physical manifestation of the |
| | | object, such as Postscript file | | | | resource, such as Postscript file |
| | | or Windows executable file | | | | or Windows executable file |
|Identifier: | | String or number used to uniquely | |Identifier: | | String or number used to uniquely |
| | | identify the object | | | | identify the resource |
|Relation: | | Relationship to other objects | |Source: | | Resources, either print or |
|Source: | | Objects, either print or |
| | | electronic, from which this | | | | electronic, from which this |
| | | object is derived, if | | | | resource is derived, if |
| | | applicable | | | | applicable |
|Language: | | Language of the intellectual | |Language: | | Language of the intellectual |
| | | content | | | | content |
|Relation: | | Relationship to other resources |
|Coverage: | | The spatial locations and temporal | |Coverage: | | The spatial locations and temporal |
| | | durations characteristic of the | | | | durations characteristic of the |
| | | object | | | | resource |
|Rights: | | Information concerning the |
| | | intellectual property rights that |
| | | are being exercised over the |
| | | resource (including access terms) |
|(RECORD*) | | Record information | |(RECORD*) | | Record information |
+--------------------------+--------+------------------------------------+ +--------------------------+--------+-------------------------------------+
ORGANIZATION template ORGANIZATION template
This template is used to hold details about an organization. In
This template is used to hold details about an organisation. practice both spellings - "ORGANISATION" and "ORGANIZATION" - may be
in use. We recommend that ORGANIZATION be given preference to avoid
confusion.
+--------------------------+--------+---------------------------------+ +--------------------------+--------+---------------------------------+
|Name | Rec. ? | Description | |Name | Rec. ? | Description |
+--------------------------+--------+---------------------------------+ +--------------------------+--------+---------------------------------+
|Keywords: | | Any keywords which might | |Keywords: | | Any keywords which might |
| | | facilitate finding this | | | | facilitate finding this |
| | | record | | | | record |
|Internet-Domain: | | Organization's Internet | |Internet-Domain: | | Organization's Internet |
| | | domain name | | | | domain name |
|Domain-Contact-(PERSON*): | | Admin contact for this | |Domain-Contact-(PERSON*): | | Admin contact for this |
skipping to change at page 12, line 25 skipping to change at page 12, line 25
|Discussion: | | Appropriate discussion forums | |Discussion: | | Appropriate discussion forums |
|Language: | | The language of the object | |Language: | | The language of the object |
|ISSN: | | International Standard Serial | |ISSN: | | International Standard Serial |
| | | Number if appropriate | | | | Number if appropriate |
|URI: | R | Uniform Resource Identifier | |URI: | R | Uniform Resource Identifier |
|Admin-(USER*) | | Admin contact information | |Admin-(USER*) | | Admin contact information |
|Owner-(ORGANIZATION*) | | The organization | |Owner-(ORGANIZATION*) | | The organization |
| | | sponsoring the service | | | | sponsoring the service |
|Sponsoring-(ORGANIZATION*) | | The | |Sponsoring-(ORGANIZATION*) | | The |
| | | sponsoring organization | | | | sponsoring organization |
|Publisher-(ORGANIZATION*) | | The organisation | |Publisher-(ORGANIZATION*) | | The organization |
| | | publishing the service | | | | publishing the service |
|Description: | R | Free text description | |Description: | R | Free text description |
|Authentication: | | Authentication information | |Authentication: | | Authentication information |
|Registration: | | How to register for this | |Registration: | | How to register for this |
| | | service | | | | service |
|Charging-Policy: | | Description of any | |Charging-Policy: | | Description of any |
| | | charging mechanism in place | | | | charging mechanism in place |
|Access-Policy: | | Policies and restrictions | |Access-Policy: | | Policies and restrictions |
| | | for using this service | | | | for using this service |
|Access-Times: | | Time ranges for mandatory | |Access-Times: | | Time ranges for mandatory |
skipping to change at page 15, line 24 skipping to change at page 15, line 24
|City: | | City where the server resides | |City: | | City where the server resides |
|Country: | | Country where the server | |Country: | | Country where the server |
| | | resides | | | | resides |
|Description: | | Human readable information | |Description: | | Human readable information |
| | | about the server | | | | about the server |
|Host-Name: | R | Host name | |Host-Name: | R | Host name |
|Host-Port: | R | Port name used by server | |Host-Port: | R | Port name used by server |
|Organization-(ORGANIZATION*) | | Organization responsible for | |Organization-(ORGANIZATION*) | | Organization responsible for |
| | | the server | | | | the server |
|Server-Handle: | R | Registered server handle | |Server-Handle: | R | Registered server handle |
|State: | | State, departement or | |State: | | State, or province |
| | | province where the server | | | | where the server resides |
| | | resides |
|(PGP-PUBLIC-KEY*) | | Server's PGP key | |(PGP-PUBLIC-KEY*) | | Server's PGP key |
|(RECORD*) | | Record information | |(RECORD*) | | Record information |
+-----------------------------+--------+-------------------------------+ +-----------------------------+--------+-------------------------------+
VERSION template VERSION template
This template is used by the "version" command to obtain the current This template is used by the "version" command to obtain the current
version of the WHOIS++ protocol supported by the server. version of the WHOIS++ protocol supported by the server.
+-------------------------+--------+---------------------------------+ +-------------------------+--------+---------------------------------+
skipping to change at page 16, line 22 skipping to change at page 16, line 7
|Program-Author-(PERSON*) | | Information about the server | |Program-Author-(PERSON*) | | Information about the server |
| | | programmer | | | | programmer |
|Program-Name: | | Name of the server program | |Program-Name: | | Name of the server program |
|Program-Version: | | Version of the server program | |Program-Version: | | Version of the server program |
|Version: | R | Version of the WHOIS++ protocol | |Version: | R | Version of the WHOIS++ protocol |
|(RECORD*) | | Record information | |(RECORD*) | | Record information |
+-------------------------+--------+---------------------------------+ +-------------------------+--------+---------------------------------+
8. Security considerations 8. Security considerations
The proposed common set of WHOIS++ templates does not introduce any A WHOIS++ server is only serving the data that is stored in the
new security related issues. server itself. Neither the storage, the movement into the server nor
the fetching of the data can be seen as secure operations. Because of
that, data that is stored in a WHOIS++ server have to be controlled
for correctness by an out of band mechanism. For example, public
keys stored in a WHOIS++ server have to be signed when stored there.
A key checksum of a public key when stored in a WHOIS++ server cannot
be treated as correct because of this. It is just there for informa-
tion.
One of the main uses to which the WHOIS++ templates are expected to A directory service hands out information, but does not guarantee the
be put is in the cataloguing of on-line information. Implementations correctness of any information.
which manipulate externally produced cataloguing data should treat it
with caution - for example, to avoid buffer overrun problems and One of the main uses to which WHOIS++ templates are expected to be
unexpected evaluation of metacharacters. put is in the cataloguing of externally produced information. Imple-
mentations which manipulate this should treat it with caution - for
example, to avoid buffer overrun problems and unexpected evaluation
of metacharacters.
9. Conclusions 9. Conclusions
This document has outlined a number of template definitions which it This document has outlined a number of template definitions which it
is appropriate to use within a WHOIS++ based system. Whilst it is is appropriate to use within a WHOIS++ based system. Whilst it is
not going to be possible to satisfy everyone's requirements in a sin- not going to be possible to satisfy everyone's requirements in a sin-
gle schema, we believe that the above templates cater for the major- gle schema, we believe that the above templates cater for the major-
ity of cases. ity of cases.
Further discussion of this work is directed to the WHOIS++ schema Further discussion of this work is directed to the WHOIS++ schema
mailing list - whoispp-schema@bunyip.com. Send mail to major- mailing list - whoispp-schema@bunyip.com. Send mail to major-
domo@bunyip.com with the message body "subscribe whoispp-schema" to domo@bunyip.com with the message body "subscribe whoispp-schema" to
join the list. join the list.
10. Acknowledgements 10. Acknowledgements
Thanks to Lorcan Dempsey and Rachel Heery for their comments on draft Thanks to Lorcan Dempsey and Rachel Heery for their comments on draft
versions of this document. versions of this document, and to Francois Perrault for initial work
on WHOIS++ template usage.
This work was supported by UK Electronic Libraries Programme (eLib) This work was supported by UK Electronic Libraries Programme (eLib)
grant 12/39/01, the European Commission's Telematics for Research grant 12/39/01, the European Commission's Telematics for Research
Programme grant RE 1004, and National Science Foundation grant Programme, grant RE 1004, and National Science Foundation grant
NCR-9521074. NCR-9521074.
11. References 11. References
Request for Comments (RFC) documents and Internet Drafts are available Request for Comments (RFC) documents and Internet Drafts are available
from <URL:ftp://ftp.internic.net/rfc/>, and numerous mirror sites. from <URL:ftp://ftp.internic.net/rfc/>, and numerous mirror sites.
[1] P. Deutsch, R. Schoultz, P. Faltstrom and C. Weider. "Archi- [1] P. Deutsch, R. Schoultz, P. Faltstrom and C. Weider. "Archi-
tecture of the WHOIS++ service", RFC 1835. August 1995. tecture of the WHOIS++ service", RFC 1835. August 1995.
skipping to change at page 21, line 20 skipping to change at page 21, line 20
APPENDIX B: Representing Dublin Core in WHOIS++ APPENDIX B: Representing Dublin Core in WHOIS++
The Dublin Core is a simple resource description format which arose The Dublin Core is a simple resource description format which arose
out of a loose grouping of "librarians, archivists, humanities schol- out of a loose grouping of "librarians, archivists, humanities schol-
ars and geographers, as well as standards makers in the Internet, ars and geographers, as well as standards makers in the Internet,
Z39.50 and Standard Generalized Markup Language (SGML) communities" Z39.50 and Standard Generalized Markup Language (SGML) communities"
[2]. [2].
This document proposes a mapping from the abstract model of the This document proposes a mapping from the abstract model of the
Dublin Core to WHOIS++. We suggest that the Dublin Core element set Dublin Core to WHOIS++. We suggest that the Dublin Core element set
[9] (with the above punctuation) be used as WHOIS++ attributes, and [9] (with the concrete syntax given in the DOCUMENT template above)
that the template type "DOCUMENT" be used to represent a WHOIS++ tem- be used as WHOIS++ attributes, and that the template type "DOCUMENT"
plate which uses the Dublin Core element set. For example, a "Title" be used to represent a WHOIS++ template which uses the Dublin Core
element which had the value "Cities of The Red Night" would be repre- element set. For example, a "Title" element which had the value
sented within WHOIS++ as the attribute/value pair: "Cities of The Red Night" would be represented within WHOIS++ as the
attribute/value pair:
Title: Cities of The Red Night Title: Cities of The Red Night
One aspect of the Dublin Core does not translate directly to WHOIS++ One aspect of the Dublin Core does not translate directly to WHOIS++
- each element may have additional qualifying sub-elements, such as - each element may have additional qualifiers such as "scheme" asso-
"scheme" and "type" associated with it. This provides the creator of ciated with it. This provides the creator of the record with a way
the record with a way of indicating additional semantics, e.g. the of indicating additional semantics, e.g. the classification scheme
classification scheme being used in the "Subject" element. being used in the "Subject" element.
Since WHOIS++, like most Internet based search and retrieval proto- Since WHOIS++, like most Internet based search and retrieval proto-
cols, is attribute/value oriented, it is necessary to find a place to cols, is attribute/value oriented, it is necessary to find a place to
put this extra information. We propose that it be placed in an addi- put this extra information. We propose that it be placed in an addi-
tional attribute/value pair which precedes the main information about tional attribute/value pair which precedes the main information about
the element. For example, if the subject classification for the the element. For example, if the subject classification for the
above book were 813 in the Dewey Decimal system, the resulting Dublin above book were 813 in the Dewey Decimal system, the resulting Dublin
Core elements expressed via WHOIS++ might look like this: Core elements expressed via WHOIS++ might look like this:
Subject-Scheme: DDC Subject-Scheme: DDC
skipping to change at page 22, line 4 skipping to change at page 22, line 5
Subject-Scheme: DDC Subject-Scheme: DDC
Subject: 813 Subject: 813
Since the order of the attribute/value pairs in a WHOIS++ record is Since the order of the attribute/value pairs in a WHOIS++ record is
significant, this provides a simple and easily implemented mechanism significant, this provides a simple and easily implemented mechanism
for grouping together elements and their qualifying information. for grouping together elements and their qualifying information.
Needless to say, scheme information should only appear in the WHOIS++ Needless to say, scheme information should only appear in the WHOIS++
record if the attribute it qualifies also appears! record if the attribute it qualifies also appears!
It is important to note that the Dublin Core element set is intended It is important to note that the Dublin Core element set is intended
for use in describing document-like objects, and not as a means of for use in describing document-like objects, and not as a means of
describing arbitrary objects. Furthermore, the number of elements is describing arbitrary objects. Furthermore, the number of elements is
strictly limited in the interests of interoperability. strictly limited in the interests of interoperability.
Work is ongoing on the Warwick Framework [10], which attempts to pro- Work is ongoing on the Warwick Framework [10], which attempts to pro-
vide a mechanism for packaging together collections of descriptive vide a mechanism for packaging together collections of descriptive
information. It is envisaged that this would be used in cases where information. It is envisaged that this would be used in cases where
the Dublin Core element set did not provide enough descriptive capa- the Dublin Core element set did not provide enough descriptive capa-
bility. This is a subject for further study. bility. This is a subject for further study and is beyond the scope
of this specification.
 End of changes. 44 change blocks. 
76 lines changed or deleted 118 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/