Very Extensible Linking Language Unafraid of Markup (VELLUM)

VELLUM provides developers with a verbose but powerful set of tools for describing connections between resources, representations, and fragments of representations. Using VELLUM, developers can take full advantage of features like content negotiation to provide readers with a rich set of possibilities while still retaining support for cases where a more meagre set of options is available. VELLUM is designed to let developers use either long element-based forms or short URI and URI reference-based forms to identify resources and then define connections between them.

Available Specifications:


VELLUM derives from my long-standing disappointment in and discontent with the XLink and XPointer families of specifications. While I've always been fascinated by the capabilities these tools have promised, the implementation approaches chosen by the working group have grown steadily less appealing over time. VELLUM focuses exclusively on linkbase issues, in the hopes that a more open approach will prove more appropriate to these tasks than the XLink/XPointer combination.

XLink and XPointer have been sources of controversy for a while now. XLink proved so unappetizing to the HTML working that they produced an alternative, HLink. HLink appears to have annoyed the many XLink supporters on the W3C Technical Architecture Group, and they stated that "XLink should be used for hypertext references in user-interface oriented applications." In my opinion, that is the worst thing the W3C has done for its traditional browser home in the organization's existence, and VELLUM is quite definitely an attempt to circumvent such foolishness.

XPointer has its own set of problems, and has grown more and more bizarrely overgrown with namespaces and schemes over time. I've objected to its latest incarnation, but XPointer may have more fundamental problems. I've also published a number of additional XPointer schemes, exploring which aspects of linking that XPointer addresses or doesn't address. VELLUM emerged from a growing sense that while the capabilities defined by the XPointer specification are quite useful, the syntactic mechanism of URI references wasn't up to the task of hosting them.

Fortunately, there hasn't been much adoption of either XLink or XPointer, so there's plenty of time to consider alternatives. Comments, suggestions, and criticism are welcome.

Implementation Plans

I'll be implementing an object model for VELLUM along the lines of my old (and long defunct) XLinkFilter tool. I'm hoping to build support for the fragment schemes into my Markup Object Events (MOE) project. If you have an interest in implementing VELLUM or have implemented VELLUM, please let me know.

VELLUM briefly stood for Verbose Expressions for Local Linking Using Markup. Thanks to Elliotte Rusty Harold for the much-improved name.

Last updated 15 January 2003.