This Version: November 8, 2002
Latest Version: http://www.rddl.org/
Previous Version: March 5, 2001
This document describes the Resource Directory Description Language (RDDL). A RDDL document, called a Resource Directory, provides a package of information about some target, including:
This version of the specification describes two versions of the Resource Directory syntax; one in XLink and another in RDF. RDF-specific material is visually distinguished like this.
For purposes of this discussion, we assume that the XLink
http://www.w3.org/1999/xlink is bound to
xlink, that the RDF
bound the prefix
rdf, and that the
http://www.rddl.org/ is bound to the prefix
This document describes the syntax and semantics of the Resource Directory Description Language 1.0,
and also serves as a Resource Directory Description for the namespace
This specification is subject to change without notice.
However, each version is associated with a version specific URI.
Version specific RDDL namespace URIs are named as: "http://www.rddl.org/" + YYYYMMDD.
Backwards incompatible changes will be publicly announced and associated with
a new namespace URI.
The Resource Directory Description Language was initially proposed and
specified after discussion on the xml-dev mailing list.
Extending HTML with a
resource element was proposed in 1996 by Tim Berners-Lee and Dave Raggett.
RDDL reflects contributions from many participants in the xml-dev mailing
This document has no official standing and has not been considered nor approved by any organization.
The Resource Directory Description Language is an extension of XHTML Basic 1.0
with an added element named
which RDF Descriptions are inserted.
These assertions are about a
related resource, identified by URI.
An arbitrary number of properties may be asserted concerning each related
resource; several convenient ones are predefined in the RDDL vocabulary.
Only one is required, a property identified as
identifies a human-readable description of that resource.
Of the other predefined properties, the two most important are identified
respectively identify the nature and purpose of the related resource.
For example, suppose that the XML Namespace identified
http://example.com/L has a DTD
http://example.com/schemas/L.dtd, a RelaxNG schema
http://example.com/schemas/L.rng, and user documentation
Here is a RDDL document that could be served as a
<html xmlns:rddl="http://www.rddl.org/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" > <head><title>RDDL Description for http://example.org/L</title></head> <body><h1>RDDL Description for http://example.org/L</h1> <p>This document describes the "L" namespace and provides links to related resources</p> <rddl:resource> <rdf:description about="http://example.org/schemas/L.dtd" rddl:title="DTD"> <rddl:nature rdf:resource= "http://www.isi.edu/in-notes/iana/assignments/media-types/application/xml-dtd" /> <rddl:purpose rdf:resource="http://www.rddl.org/purposes#validation" /> <rddl:prose><p>A DTD for the L language.</p></rddl:prose> </rdf:description> </rddl:resource> <rddl:resource> <p id="rng-prose">A RelaxNG schema for the L language.</p> <rdf:description about="http://example.org/schemas/L.rng" rddl:title="Relax NG Schema"> <rddl:nature rdf:resource="http://relaxng.org/ns/structure/1.0" /> <rddl:purpose rdf:resource="http://www.rddl.org/purposes#validation" /> <rddl:prose rdf:resource="#rng-prose" /> </rdf:description> </rddl:resource> <rddl:resource> <rdf:description about="http://example.org/schemas/L.html" rddl:title="User Documentation"> <rddl:nature rdf:resource="http://www.w3.org/1999/xhtml" /> <rddl:purpose rdf:resource="http://www.rddl.org/purposes#reference"/> <rddl:prose> <p>Reference documentation for L, in XHTML.</p> </rddl:prose> </rdf:description> </rddl:resource> </body> </html>
XML Namespaces are identified by a URI. If the URI can be dereferenced to yield a representation of the namespace, the representation can be referred to as a "namespace document". Resource Directories as defined by RDDL are designed to serve as namespace documents. It should be emphasized, though, that for a large proportion of applications, there is no requirement or expectation that namespace documents be retrieved at run-time, whether the namespace document is in RDDL or any other form.
The RDF specification requires that RDF assertions be packaged in an XML
document whose root element is in the RDF namespace and whose local part is
RDF, conventionally written
The design of RDDL assumes that the embedded RDF assertions about related
resources are an integral part of a RDDL document and are to read and used
according to RDF semantics.
One (roundabout) way to achieve this would be to subject a RDDL document to
a preprocessing step that extracted all RDF assertions and wrapped them in
<rdf:RDF> root element.
Related resources have a nature, a
machine-readable label provided by
the value of the
For example, the nature of an XML Schema designed for use with a namespace
would be given as
In cases where there is only one resource with a particular nature, the purpose of the linked resource may be inferred from this nature. For example, if there is only one related resource for a particular namespace whose nature indicates that it is a schema, processing software might infer that its purpose is to validate elements in that namespace.
Related resources may have a purpose, a
machine-readable label provided by the value of the
The purpose is designed to convey the intended usage of the related resource.
For example, two related resources might have natures that indicate they
are both schemas, but the purposes might indicate that one is designed to
validate the "strict" version of the language, the other the "forgiving" form.
resource element is in a namespace whose name
In this discussion, we assume the use of the namespace prefix
rddl, and refer to this element as
rddl:resource element contains one or
more RDF assertions about the related resource.
rddl:resource must occur in the content of the HTML
In the RDDL DTD, the XHTML %Flow.mix entity has been
redefined to contain
rddl:resource so it roughly may be placed anywhere a
p element may be placed.
rddl:resource element itself uses the %Flow.mix content model, and should have human-readable content
which describes the associated resource.
rdf:ID attribute value may be used to give the resource
description a unique identifier.
The base URI of a RDDL document may be specified according to the W3C XML Base recommendation.
xml:base attribute may be specified on the root
html element or on a
Future versions of XHTML may allow the use of
xml:base on some or all XHTML elements,
and its semantics should apply even when on another XHTML element, for example
that contains a
The language of the text contained by an element is specified by the xml:lang attribute.
This attribute can be specified on
XHTML elements and on the
html element in an XHTML document may specify both
lang attribute is not used by RDDL processors.
The value of this attribute must be a URI reference. It provides a machine-readable identifier for the nature of the related resource. Software may dispatch on this value.
When the related resource is an XML language for which a namespace name has been defined, and for which the namespace name adequately distinguishes the nature of the resource, the namespace name should be used as its nature.
When the related resource is not an XML document but is adequately
distinguished by a MIME type, the value of the
property may reflect this MIME type with values formed by the concatenation
of the prefix
http://www.isi.edu/in-notes/iana/assignments/media-types/ with a MIME type e.g.
It is anticipated that many related-resource natures will be well known. A list of well-known natures may be found in the RDDL directory http://www.rddl.org/natures.
If no nature is provided for a related resource, the default value is
The value of this property must be a URI reference. It provides a machine-readable identifier for the purpose of the link to the related resource. Software may dispatch on this value.
It is anticipated that the purposes of many related resources will be well known. A list of well-known purposes may be found in the RDDL directory http://www.rddl.org/purposes.
A human readable short descriptive title.
This should be specified but not be seen as a replacement for descriptive
content to be provided in