This document defines Resource Directory Description Language (RDDL). A Resource Directory provides a text description of some class of resources and of other resources related to that class. It also contains a directory of links to these related resources. An example of a class of resources is that defined by an XML Namespace. Examples of such related resources include schemas, stylesheets, and executable code. A Resource Directory Description is designed to be suitable for service as the body of a resource returned by deferencing a URI serving as an XML Namespace name.
The Resource Directory Description Language is an extension of XHTML Basic
1.0 with a new element named resource
.
This element serves as an
XLink to the referenced resource.
This document defines the syntax and semantics of the Resource Directory Description Language,
and also serves as a Resource Directory Description for the namespace
http://www.rddl.org/
.
The Resource Directory Description 1.0 DTD is an extension of XHTML Basic 1.0 [5], according to Modularization for XHTML.
The Resource Directory Description Language was initially proposed and specified after discussion on the XML-DEV mailing list.
This document has no official standing and has not been considered nor approved by any organization.
The background behind and initial history of RDDL has been described on the XML Coverpages and xmlhack. Many people have contributed to RDDL.
rddl:resource
ElementThe resource
element is in a namespace whose name
is http://www.rddl.org/
.
In this discussion, we assume the use of the namespace prefix
rddl
for this name, and refer to this element as rddl:resource
.
The rddl:resource
element represents a simple xlink, using the
attributes defined in the XLink namespace.
The rddl:resource
element is placed within the html
body
. The XHTML %Flow.mix entity has been
redefined to contain rddl:resource
so it roughly may be placed anywhere a p
tag may be placed.
The rddl:resource
element itself uses the %Flow.mix content model, and should have content
which describes the associated resource.
<!ELEMENT rddl:resource (#PCDATA | %Flow.mix;)*> <!ATTLIST rddl:resource id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xmlns:rddl CDATA #FIXED 'http://www.rddl.org/' xlink:type (simple|extended|arc|locator|resource) #FIXED "simple" xlink:arcrole CDATA #REQUIRED xlink:href CDATA #IMPLIED xlink:role CDATA #FIXED 'http://www.rddl.org/#resource' xlink:title CDATA #IMPLIED xlink:embed CDATA #FIXED "none" xlink:actuate CDATA #FIXED "none" > |
The definition above has been edited for clarity.
The value of this attribute must be supplied and must a URI reference. It provides a machine-readable identifier for the type of the related resource. Software perfoming resource resolution may dispatch on the this value.
When the related resource is an XML namespace compliant document and when the resource can be
distinguished by the namespace of the root element, this namespace URI can be used as the value of the
xlink:arcrole
attribute.
It is anticipated that many related-resource types will be well known. A list of well-known resource types may be found at http://www.rddl.org/arcrole.htm (which itself is an RDDL directory).
The well known names defined in arcrole.htm are
specifications
which they name.
Arcroles.htm
contains a mapping of the well known URI to the namespace of the root element of a document
conforming to the particular specification.
The value of this attribute must be a URI reference.
In this version of RDDL the only legal value is
http://www.rddl.org/#resource
. This URI reference corresponds to the qualified name rddl:resource
.
This XLink locator attribute's value is a URI reference to the target related resource
A human readable short descriptive title. This should be specified but not be seen as a replacement for descriptive content.
Not used. The only legal value is "none".
A CSS stylesheet used to provide the "look-and-feel" of this document, suitable in general for RDDL documents.
A DTD for RDDL, defined as an extension of XHTML Basic 1.0 using Modularization for XHTML
An RDF Schema for RDDL.
The OASIS Open Catalog Format catalog for RDDL. This catalog defines PUBLIC and SYSTEM identifiers related to the DTD.
The RDDL spec, DTDs and other contents of the directory, zipped for download.
An example of a Java API for RDDL, code to implement it based on SAX is here here. This code is shown as an example and is not-normative to the specification.
The above code packaged as a java archive.
An example of how it might be used in the case where an XML Schema for the namespace is desired:
RDDLURL rurl = new RDDLURL( "http://www.rddl.org/", "http://www.w3.org/2000/10/XMLSchema" ); // a namespace URI, the root namespace InputStream is = rurl.getInputStream(); // and you get the XSD ...
The content-type
of a JAR archive is application/java-archive
An example of an XSLT for RDDL, which accepts a param "arcrole". The transform inserts the document referenced by xlink:href in the output. This code is shown as an example and is not-normative to the specification.