[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 >