ITworld.com
  Search  
 Home  Newsletter Archive  XML IN PRACTICE
XLink: A Hyperspace Oddity
Sign up for XML IN PRACTICE
More Newsletters
 

XML IN PRACTICE --- 09/12/2002



In the Halcyon days of the early XML effort, just three TLAs sufficed to map out the territory. XML itself, of course, was first born. From there, the idea was that birth would be given to XLL (XML Linking Language) and then XSL (eXtensible Style Language).

The theory was that just as XML resulted from subsetting SGML (ISO 8879), an XML linking language and an XML styling language would follow from the subsetting of the HyTime (ISO/IEC 10744:1992) and DSSSL standards (ISO/IEC 10179:1996) respectively.

Somewhere along the line -- I cannot recall where or why -- XLL changed its name to XLink. Anyway, I wrote an article about it back in 1998 for Dr Dobbs Journal: "XLink: The XML Linking Language". Looking back at the article now, I would give myself ten out of ten for enthusiasm and zero out of ten for foresight.

The introduction to the article says, "(XLink) is a draft proposal from the World Wide Web consortium that addresses the shortcomings of HTML's simple hypertext model and allows the rich structure of XML documents to be fully utilized in hypertext creation and management."

Although Version 1.0 of XLink became a W3C Recommendation in June of 2001[1], it has not exactly taken the world by storm. One reason for this is that users are remarkable tolerant of the shortcomings in the hypertext model of HTML. Although the functionality enshrined in Xlink looks very appealing (multi-node links, link metadata, out-of-line linking, two way link traversal and so on.) it seems that users -- and thus developers -- have voted with their feet and walked away.

I have a theory as to why this is so. The problem of linking things together on the Web takes an almost vertical ascent into complexity which layer of abstraction piling on layer of abstraction very quickly.

All you need to do is move slightly beyond the "link this to this" model of HTML and you are in deeply complex philosophical territory. If you doubt that this is the case, I would suggest you take a look at the HyTime standard. The sheer size and complexity of it amply demonstrates the enormity of problem hidden behind the simple term "linking".

Adding to the woes of XLink is the fact that there are other fields of XML endeavor that overlap in scope with the linking problem. Perhaps first out of the blocks was the XML namespace recommendation, which, after much debate, eschewed the fundamental HyTime lore known as Architectural Forms[2]. Then DTDs -- on which XLink is based -- began to fall out of favor. Somewhere along the line the Opera web browser shipped with a mechanism for creating links that used CSS syntax to create links instead of XLink. Topic Maps, RDF, and the Semantic Web addressed the linking problem from different perspectives. All over the map, efforts that required smart linking capabilities have sprung up that do their own thing rather than adopt or extend XLink.

It is now about five years since I thought XML linking would be an established part of the Web infrastructure right after XML. So much for that plan. Is XLink dead in the water? I don't think so. But, as in so many other areas of technology, the killer application will not be in the space originally envisaged.

Simply put, I believe that clever linking technology will be an important part of Web Services technology -- not browser technology.

Think of it this way. You are using a web browser. You click a link, you get back a HTTP error 404 -- big deal. As I said earlier, users have shown themselves to be incredibly forgiving of broken links.

Now switch from being a user to being a business process. You invoke a web service by "following a link" in code. You get back a 404. Do you care? Darned right you do! This is process-to-process communications -- not human to process. Humans are tolerant of duff links -- processes are not. Bad things will likely happen if a link goes south in the middle of a Web Service choreography.

Enterprise class Web Services, Service Oriented Architectures, call it what you will -- this is where there is the biggest need for robust, flexibly linking on the Web. I look forward to seeing what solutions emerge. Regardless of the answer proposed, I'm pretty sure it is already in the HyTime standard somewhere!

NOTES

[1] http://www.w3.org/2001/06/link-base-pressrelease [2] http://www.jclark.com/sp/archform.htm

 



www.itworld.com    open.itworld.com     security.itworld.com     smallbusiness.itworld.com
storage.itworld.com     utilitycomputing.itworld.com     wireless.itworld.com

 
Contact Us   About Us   Privacy Policy    Terms of Service   Reprints  

CIO   Computerworld   CSO   GamePro   Games.net   Industry Standard   Infoworld   ITworld  
JavaWorld   LinuxWorld  MacUser   Macworld   Network World   PC World   Playlist  

DEMO   IDG Connect   IDG Knowledge Hub   IDG TechNetwork   IDG World Expo  

Copyright © Computerworld, Inc. All rights reserved

Reproduction in whole or in part in any form or medium without express written permission of Computerworld Inc. is prohibited. Computerworld and Computerworld.com and the respective logos are trademarks of International Data Group Inc.