[topicmapmail] A somewhat new topic maps format

Lars Marius Garshol larsga@garshol.priv.no
11 Aug 2003 14:51:13 +0200


* Alexander Johannesen
| 
| No, this isn't anything fancy or official, but I've made a
| compromising format of the XTM 1.0 format; Compacted and Simplified
| XTM (CSXTM) that is a compact and simple version of XTM 1.0, and
| that is optimized for speed and ease of use.

I can understand why people who mainly use TMs via XSLT would want
something like this, but it would be good if you posted a converter
from CSXTM to XTM, so that people who use it are not trapped in a
non-standard format.

However, if you want something simpler than XTM I would strongly
recommend using HyTM. It does pretty much everything you want, except
subject identity, which can easily be added. See

  <URL: http://www.ontopia.net/download/tmstrict.dtd >

for Ontopia's version of the HyTM DTD. (It's an architectural form,
which is why different vendors have different versions of it.)

The benefit of using this is that it's near-standard, pretty well
designed, more compact than CSXTM in several ways, and already in
use. Note that you do *not* want to use the <facet> element.

The only downside is that the structure of names is messed up, but
this can be fixed.

|    CSXTM : http://shelter.nu/csxtm.html

Some quick comments on this follow. I just read through it quickly
once to see what it was like, and jotted down ideas as I went.

Your examples have -id-s which begin with numbers; that's not allowed
in XML.

There's no point in trying to preserve the -id- of a <scope> element.
The data model does not preserve these, and so they are not really
part of the topic map.

A scope is a *set* of topics, but it doesn't seem that your -scope-
attribute can handle this. If so, that's a problem you really ought to
fix. 

Variants are required to have a scope, but your syntax does not seem
to enforce that, though it should. If this is what -refid- is supposed
to do I'd replace it by a -scope- attribute (and sub-element), since
this is what the data model maps it to, and it would be easier for
people to understand.

There's no such thing as a "published subject identity", I'm afraid,
and from your description it's not clear how the <psi/> element is
meant to be used. It would be good if you could clear that up.

As regards associations you've left out -scope- there.

Members, on the other hand, only exist in the XTM syntax. Elsewhere
they are called association roles, and I would strongly recommend
using that term instead. Also, each role only has a single player in
the data model, so I'd do the same in the syntax, rather than use the
<also> element.

Finally, association roles (or members, if you like) do not have
scope.  It's the associations that have scope.

Oh, and one more thing: it would be good to have a DTD for this. Prose
just cannot compete with a DTD for conciseness and precision, and you
can't validate an XML document against prose.

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