Technologies used
topic map logo
xSiteable logo

CSXTM 0.3

This is a super-quick spec-sheet for the format of CSXTM 0.3, which is a compact, simplified and not complete version of XTM 1.0. If you want Topic maps with all the wierdest whistles and bells, choose XTM instead.

Topics

A topic has the same basic node as XTM 1.0, but has one additional attribute called 'type', which in essence is the 'instanceOf/topicRef/@xlink:href[1]', the primary and quick-searchable topic type :

<topic id="12447" type="#someType" typeid="378908">

...

</topic>

Types

More types can be attached to topics through the additional and optional 'type' element;

<type refid="#someOtherType" />

Names

Names are handled purely simplified from 'baseName/baseNameString' down to a simple 'name', with an 'id' attribute if it applies. 'id's for baseNameString are not supported. We add scope attributes to it if applicable, and if the scope had an id, it is added as 'scopeid' :

<name>Topic Maps</name>

<name scope="#norwegian" id="12452">Emnekart</name>

<name scope="#german" scopeid="#ref453">Emnenkarten</name>

Variants

Variants are simplified and becomes a sub-node of the 'name' attribute, and nested variants are currently not supported.

<name>Topic Maps

<variant refid="#someTopic">Some variant name</variant>

<variant refid="#somOtherTopic" href="http://some.url"/>

</name>

Occurrences

Occurrences have been compacted into a single node, and has either 'resourceData' as the elements CDATA, or if the CDATA is missing, it has a attribute 'href' to store the 'resourceRef/@xlink:href'. Occurrences also add an optional 'scope' attribute :

<occurrence type="#rss" href="http://www.scripting.com/rss.xml" />

<occurrence scope="#alex" type="#rss" href="http://shelter.nu/shelter.rss" />

<occurrence type="#description"> some text </occurrence>

PSI

Published subject identities is controlled through an optional 'psi' element, with the 'subjectIndicatorRef/@xlink:href' in the 'href' attribute :

<psi href="http://www.topicmaps.org/xtm/1.0/language.xtm#en" />

Associations

Associations have been compacted, with the 'type' attribute working as a cameo for 'instanceOf/topicRef/@xlink:href'. Any 'id' attribute gets copied in :

<association type="#11962" id="3489">

...

</association>

Members

Members of an association have a single node, with optional 'also' elements that handle all 'topicRef', 'resourceRef' or 'subjectIndicatorRef' you might throw its way as attributes 'refid', 'href' and 'psi' respectivly. The 'roleSpec/topicRef/@xlink:href' is handled in the 'role' attribute :

<member role="#11955" refid="#12283" />

<member role="#11949" refid="#12284" scope="#someScope">

<also refid="#3467899" />

<also refid="#956873" />

</member>

Notes

Note that this spec is a minimalistic version of XTM 1.0, and will not handle all possible scenarios like it. XTM 1.0 was designed with flexibility and expandability in mind, and CSXTM 1.0 was not; it was done as a fast and general slightly-cut-down version of XTM.

Maintained by
Based on