[sc34wg3] Editors' drafts of TMDM and XTM 1.1

Lars Marius Garshol sc34wg3@isotopicmaps.org
Fri, 16 Dec 2005 19:10:59 +0100

* Murray Altheim
> If the sole good reason for maintaining that the new markup be
> called "XTM" is a marketing one, I have little else to say on
> the matter. Markup abuse is a form of semantic violence -- if
> it's done in the name of marketing, so be it.

The first question that has to be settled is whether the new XTM  
really is so different from the old. If it's not, then *that* is the  
reason to keep the name. Personally, I think the differences are very  
minor, semantically. The biggest differences are in naming, and in  
that processing is now much simpler than it was.

The list of differences is long, but the differences are all small,  
and most of them are made at the fringes of XTM, to remove features  
much hated by all implementors, and used by no user in the history of  
the syntax. (I'm referring to things like nesting of variants,  
omitting <variantName>, omitting topic references in <member>, having  
multiple topic references in <member>, etc etc etc). It's very  
difficult to argue that these changes make the new version into a  
different language.

> If the W3C were to put out a new version of XHTML that fundamentally
> altered the way that browsers handled the markup, they'd have a bit
> of a tough time selling the idea, marketing or not. The HTML WG had
> a requirement that XHTML be roughly compatible with HTML, and even
> so we changed the name. The changes being proposed for XTM are a lot
> more fundamental than HTML --> XHTML. For example, TM4J would have to
> make fundamental alternations to its processing of XTM documents, far
> more than simply being able to parse the incoming markup.
> [...]
> I think this again is confusing the issue with XML Namespaces. This
> isn't just a namespace change, it's a different underlying model too.

I'm sorry, Murray, but what you are writing here just isn't true.  
Every Topic Maps engine I know need only create a new importer and  
exporter for the new XTM version, and they should be fine. (Except  
for datatypes, but we added support for those more than a year ago,  
and in any case that's just a simple extension and hardly a break  
with previous tradition.)

The new XTM version, in fact, maps to a model that is IDENTICAL to  
the one that the old XTM version mapped to. Compare the 2005-07-20  
and 2005-12-16 drafts, and you'll see. (Thanks to your suggestion a  
few months back, they are both on the web.)

You could argue, of course, that XTM 1.0 had a different model, but  
the truth is that it had no explicit model (much to the disgust of  
many people at the time it was published). But TMDM really was  
created to be that missing model, and in the last 4.5 years we've  
bent over backwards to maintain compatibility with XTM 1.0, even if  
this was actually quite hard.

As for arguing that the markup languages themselves are wildly  
different; well, just look at the example I posted. What's actually  
different there from the same topic map in XTM 1.0? Two new  
attributes, and four elements that have changed name. Of those  
elements, two have reverted to what is effectively their names in ISO  
13250:2000. That leaves <value> which I firmly believe is an  
improvement over <baseNameString>, and which could hardly be said to  
be a major change. The fourth is <subjectIndicatorRef>, which has now  
become <subjectIdentifier>. (Okay, so I skipped that <parameters> has  
been replaced with <scope> and <roleSpec> with <instanceOf>, but  
<scope> and <instanceOf> are XTM 1.0 elements, and this is just a  
simple consistency change.)

So where is the big difference?

Lars Marius Garshol, Ontopian               http://www.ontopia.net
+47 98 21 55 50                             http://www.garshol.priv.no