Resource Directory Description Language (RDDL) HTTP Extension Framework

Introduction

This document describes the Resource Directory Description Language (RDDL) HTTP Extension Framework. [see RFC 2774] A Resource Directory Description is designed to be suitable for service as the body of a resource returned by dereferencing a URI serving as an XML Namespace name. In some cases it may be desirable to return the representation of a related resource as the HTTP rendering of the URI itself. By specifying a desired RDDL nature and/or purpose in an HTTP request header this can be accomplished.

HTTP Extension Namespace

The HTTP Extension Namespace for RDDL is: http://www.rddl.org/httpext.

Nature Extension Header

This header has the value of the requested resource nature xlink:role.

Purpose Extension Header

This header has the value of the requested resource purpose xlink:arcrole.

Lang Extension Header

This header has the value of the requested resource language xml:lang.

Id Extension Header

This header has the value of the requested resource id.

URI Resolution

A RDDL HTTP Extension processor will dereference the document located at the URI which MUST be a conformant RDDL document. The processor will subset the set of resources defined in the document by the nature, purpose, id and/or lang as provided by optional headers. The result of such processing SHOULD contain a set consisting of a single resource. The processor SHOULD return the document obtained be dereferencing the href of the first resource in the defined subset.

Man and Opt Headers

The client application may choose the appropriate header. When Opt (optional) a processor which does not understand the extension will return the RDDL document itself to the client. When Man (mandatory), a client is stating that the processor MUST return the entity represented by the specified sub resource else return an error.

An example HTTP request:

GET / HTTP/1.1
Host: www.rddl.org
Opt: "http://www.rddl.org/httpext"; ns=11
11-Nature: http://www.w3.org/2001/XMLSchema
11-Purpose: http://www.rddl.org/purposes#schema-validation

The XML Schema or the RDDL document itself may be returned in a success response message body by a conformant processor.

M-GET / HTTP/1.1
Host: www.rddl.org
Man: "http://www.rddl.org/httpext"; ns=11
11-Nature: http://www.w3.org/2001/XMLSchema
11-Purpose: http://www.rddl.org/purposes#schema-validation

The XML Schema used for schema validation MUST be returned in a success response message body by a conformant processor.

M-GET / HTTP/1.1
Host: www.rddl.org
Man: "http://www.rddl.org/httpext"; ns=11
11-Nature: http://www.w3.org/2001/XMLSchema

The body of a success response message MUST contain a XML Schema referenced in the RDDL document. In the case where there are more than one XML Schema modules referenced in the RDDL document, the response may contain any of the modules (typically the first encountered or first in alphanumeric order).

Normative References