The Resource Directory Description Language (RDDL): What goes at the end of a namespace URI? Jonathan Borden Assistant Professor
Tufts University School of Medicine Department of Neurosurgery New England Medical Center #178 750 Washington Street BostonMA 02111 617-636-5859 617-636-7587
Dr. Jonathan Borden is an editor of the RDDL specification. He is the Director of the Open Healthcare Group, and a co-chair of the ASTM E31.25 XML Healthcare DTD subcommittee.
namespace RDDL XLink XHTML ontology A namespace is properly considered a collection of names. Namespaces while partitioned by a unique identifier, are properly the collection of names, not the partition. The XML Namespace recommendation defines a partition mechanism without defining the mechanism by which names are collected. The Resource Directory Description Language (RDDL) was created to answer the question of what ought a namespace URI reference? RDDL uses an XHTML format in which resource elements are embedded. Each resource element contains a simple XLink referencing the related resource. The use of URIs as a mechanism of namespace partitioning has been controversial and confusing for several reasons:
  • For the computer science community: XML namespaces differ from traditional namespaces as traditional namespaces conventionally refer to a set whereas XML namespaces more properly refer to an unbounded partition
  • For the web community: Use of URIs which can be resolved (i.e URLs) suggests that XML namespace identifiers 'point to something' yet no guidance is provided on what they ought reference.
  • RDDL is simple, solves both of these problems, and works with the current Web infrastructure. The Resource Directory Description Language is an extension of W3C XHTML Basic 1.0 with an added element named resource. This element serves as an XLink to the referenced resource, and contains a human-readable description of the resource and machine readable links which describe the purpose of the link and the nature of the resource being linked to. The nature of the resource being linked to is indicated by the xlink:role attribute and the purpose of the link is indicated by the xlink:arcrole attribute. The rddl:resource element is defined as: <!ELEMENT rddl:resource (#PCDATA | %Flow.mix;)*> <!ATTLIST rddl:resource id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:base CDATA #IMPLIED xmlns:rddl CDATA #FIXED "" xlink:type (simple) #FIXED "simple" xlink:arcrole CDATA #IMPLIED xlink:role CDATA "" xlink:href CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:embed CDATA #FIXED "none" xlink:actuate CDATA #FIXED "none" >

    For the computer science community, a proper namespace is created from an XML namespace as the set of fragment identifier qualified URI references contained in the RDDL document describing the XML namespace.

    For the web community, a namespace name references a document which is readable by humans in popular browsers as well as providing machine readable links to resources related to the namespace. For example an "XML browser" would be able to locate code or plugins needed for the display of namespace qualified elements such as embedded SVG, MathML or other formats. The RDDL specification itself serves as a RDDL description of the RDDL namespace URI . RDDL is described a DTD, and various schemata including RELAX, TREX, Schematron and XML Schema. In this context RDDL serves as a case study for the development and comparision of these various schema languages. RDDL is now found at the end of the namespace URI for schema languages such as Schematron, XML Schema, and Examplotron, and for namespaces such as RSS 1.0, and the Comminity XSLT Extension effort. Natures and purposes of namespace related resources are defined to be URI references according to XLink. RDDL defines common natures and purposes. A discussion of the RDDL ontology, use of RDDL to develop ontologies and integration of RDDL with RDF/DAML+OIL ontologies is discussed.