XML Namespace Related-resource Language (XNRL)

Tim Bray, Antarcti.ca Systems
January 1, 2001


XML Namespace Related-resource Language (XNRL) is an HTML-based markup language designed to contain a human-readable description of an XML namespace as well as pointers to multiple resources related to that namespace. Examples of such related resources include schemas, stylesheets, human-readable documentation (beyond that contained in the XNRL package) and executable code.

XNRL is designed to be suitable for service as the body of a resource returned by deferencing a URI serving as an XML Namespace name.

This document defines the syntax and semantics of XNRL, and also serves as an XNRL package for the namespace http://xnrl.org/.

Namespace of XNRL

The namespace name of XNRL is http://xnrl.org/.

XNRL as a Variation of XHTML Basic

XNRL is defined to be a variation of XHTML Basic. The main change is that certain div elements, which must be children of the body element, also serve as XLinks to related resources. These div elements are intended to contain human-readable descriptions of the related resources being linked to.

The changes to XHTML Basic are:

1. Namespace Declarations

To the html element, add a namespace declaration for XLink as in the following DTD fragment:

<!ATTLIST html xmlns:xl CDATA #FIXED "http://www.w3.org/1999/xlink" >

2. The div Element

To the div element, add attribute declarations for simple XLink: xl:type, xl:href, xl:role, xl:arcrole, xl:title, xl:show, and xl:actuate. Sample declarations are provided in the XLink specification.

Related-resource Links

A related-resource link is a div element which:

  1. is a child of the body element,
  2. has an xl:type attribute whose value is simple, and
  3. has an xl:role attribute whose value is http://xnrl.org/.

In a related-resource link conformant to this specification, if the xl:show attribute is present, its value must be none, and if the xl:actuate attribute is present, its value must be none.

A related-resource link should have an xl:arcrole whose value is a URI reference which serves to identify the nature of the related resource being linked to. The XNRL namespace provides certain predefined values which may be used for this purpose; see below.

A related-resource link should contain, as human-readable XHTML-Basic text within its content, a description, in at least two different languages, of the related resource being linked to and its intended usage.

A related-resource link should have an xl:title attribute with a brief human-readable description of its function; however, this should not be seen as a replacement for the more complete description contained in the body of the related-resource link.

The sections below entitled "CSS Stylesheet for XNRL" and "Predefined xl:arcrole values" are examples of related-resource links.


CSS-1 Style-Sheet

Eine nach den W3C Style-Sheets für XNRL abgeänderte CSS 1 Style-Sheet-Datei.

CSS 1 Stylesheet

CSS 1 stylesheet for XNRL, adapted with thanks from W3C recommendation stylesheets.


Predefined xl:arcrole Values

This is a text file, each line of which contains one of the URIs beginning with http://xnrl/, which is a predefined value suitable for use in the xl:arcrole attribute of a related-resource link.

Prädefinierte xl:arcrole Werte

Eine Textdatei, worin jede Zeile eine mit http://xnrl/ beginnender URI-Adresse beinhaltet. Diese URI-Adresse ist ein prädefinierter Wert, der das xl:arcrole Attribut eines ressourceverwandten Links bilden kann.