This document describes some useful changes that could be incorporated into an XLink 1.1 Specification.
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.
This WG Note is being published for information purposes only. The Working Group does not plan to issue updates and therefore has no current plans or process by which to handle feedback.
Publication as a Working Group Note does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
Since its introduction as a Recommendation, [XLink] has been adopted by several markup vocabularies. However, the current trend to migrate from DTD-based validation to schema-based validation poses additional challenges that could hamper its continued adoption.
A few small changes could:
Make XLink easier to use.
Reduce its dependence on annotations provided by external grammars (XML DTDs or XML Schema, for example)
Increase interoperability by reducing the risk of markup errors or misinterpretations.
Make simple XLinks an application-level default.
In XLink 1.0, all simple links must be identified explicitly with
xlink:type attribute. When XLink 1.0 was developed, it
seemed reasonable to depend on DTD validation to provide this default
value when it was a burden to authors to enter it by hand. As XML use
has spread and new validation technologies have been developed, this
is no longer the case.
Rather than relying on an annotation to provide the simple link
type, it seems prudent to make this an application-level default. In
other words, any element with an
xlink:href attribute that
does not specify a link type should be treated as a simple link.
Reserve all attributes in the XLink namespace.
The current XLink 1.0 Recommendation defines several attributes in the XLink namespace. It seems prudent to explicitly reserve all other such attributes for future use. By a strict interpretation of the current specification, authors and other end-users have free latitude to use new attributes in the XLink namespace and this was never intended. Such use would create interoperability problems and should be prohibited.
The current specification requires that URIs be used to identify some XLink properties, such as role and arc types. In the interest of forward compatibility, these requirements should be amended so that IRIs are also allowed.
Provide Sample XML Schema and RELAX NG Grammars.
The current specification provides a non-normative sample DTD. Given that XML Schema and RELAX NG are now widely deployed, it makes sense to provide equivalent, non-normative XML Schema and RELAX NG Grammars.
XLink is not without its critics and it's clearly the case that these changes do not address all of the criticisms that have been leveled at XLink. But these changes would make XLink more useful in the places where it is already being used and would make XLink practical in a variety of similar vocabularies.