<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : -->
<!-- : : Michael Hausenblas, 2002. : : lexit.at  : : v1.3  : : : : -->
<!-- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : -->
<!-- : :  v1.4 changed subjectIndicatorRef to topicRef in THO  : : -->
<!-- : :  v1.3 added instanceOf(tc) to element and thread  : : : : -->
<!-- : :  v1.2 added thread and participants relation  : : : : : : -->
<!-- : :  v1.1 changed components to relation  : : : : : : : : : : -->
<!-- : :  v1.0 changed the tho base model  : : : : : : : : : : : : -->
<!-- : :  v0.4 added template subjects   : : : : : : : : : : : : : -->
<!-- : :  v0.3 added tho-tc and tho-thread-components  : : : : : : -->
<!-- : :  v0.2 added knowledge descriptors   : : : : : : : : : : : -->
<!-- : :  v0.1 added components  : : : : : : : : : : : : : : : : : -->
<!-- : :  v0.0 initial version   : : : : : : : : : : : : : : : : : -->
<!-- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : -->

<topicMap	id="tho.xtm"
              	    	xmlns="http://www.topicmaps.org/xtm/1.0/"
                  		xmlns:xlink="http://www.w3.org/1999/xlink"
>

<!-- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : -->
<!-- Incorporate XTM core topics.                                  -->

<topic id="super-sub">
  <subjectIdentity>
    <subjectIndicatorRef xlink:href="http://www.topicmaps.org/xtm/1.0/core.xtm#superclass-subclass"/>
  </subjectIdentity>
  <baseName>
    <baseNameString>superclass-subclass relationship</baseNameString>
  </baseName>
</topic>

<topic id="super">
  <subjectIdentity>
    <subjectIndicatorRef xlink:href="http://www.topicmaps.org/xtm/1.0/core.xtm#superclass"/>
  </subjectIdentity>
  <baseName>
    <baseNameString>superclass</baseNameString>
  </baseName>
</topic>

<topic id="sub">
  <subjectIdentity>
    <subjectIndicatorRef xlink:href="http://www.topicmaps.org/xtm/1.0/core.xtm#subclass"/>
  </subjectIdentity>
  <baseName>
    <baseNameString>subclass</baseNameString>
  </baseName>
</topic>


<!-- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : -->
<!-- [THREADBASE] Declaration of THO core topics.                  -->

<!-- The THO element class. Defines the instance of a participant component. -->
<topic id="tho-element">
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
  </instanceOf>
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
  </instanceOf>
  <instanceOf>
    <topicRef xlink:href="#tho-tc-participant"/>
  </instanceOf>
  <baseName>
    <baseNameString>THO Element</baseNameString>
  </baseName>
</topic>

<!-- The THO thread class. Defines the container for components. -->
<topic id="tho-thread">
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
  </instanceOf>
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
    </instanceOf>
  <instanceOf>
    <topicRef xlink:href="#tho-tc-subthread"/>
  </instanceOf>
  <baseName>
    <baseNameString>THO Thread</baseNameString>
  </baseName>
</topic>

<!--  NOTE:
      The following topics describe the relation between a thread
      and its components, i.e. define the container-component relation.
      "tcr" stands for thread components relation.
-->

<!-- The generic THO thread components relation class.  -->
<topic id="tho-thread-components-relation">
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-class"/>
  </instanceOf>
  <baseName>
    <baseNameString>THO Thread Components Relation</baseNameString>
  </baseName>
</topic>

  <!-- The THO thread components participant role. -->
  <topic id="tho-tcr-participant">
    <instanceOf>
      <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
    </instanceOf>
    <baseName>
      <baseNameString>THO Thread Components Relation Participant</baseNameString>
    </baseName>
  </topic>
  <association id="tho-tcr-participant-extends-tho-thread-components-relation">
    <instanceOf><topicRef xlink:href="#super-sub"/></instanceOf>
    <member>
      <roleSpec><topicRef xlink:href="#super"/></roleSpec>
      <topicRef xlink:href="#tho-thread-components-relation"/>
    </member>
    <member>
      <roleSpec><topicRef xlink:href="#sub"/></roleSpec>
      <topicRef xlink:href="#tho-tcr-participant"/>
    </member>
  </association>

  <!-- The THO thread components subthread role. -->
  <topic id="tho-tcr-subthread">
    <instanceOf>
      <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
    </instanceOf>
    <baseName>
      <baseNameString>THO Thread Components Relation Subthread</baseNameString>
    </baseName>
  </topic>
  <association id="tho-tcr-subthread-extends-tho-thread-components-relation">
    <instanceOf><topicRef xlink:href="#super-sub"/></instanceOf>
    <member>
      <roleSpec><topicRef xlink:href="#super"/></roleSpec>
      <topicRef xlink:href="#tho-thread-components-relation"/>
    </member>
    <member>
      <roleSpec><topicRef xlink:href="#sub"/></roleSpec>
      <topicRef xlink:href="#tho-tcr-subthread"/>
    </member>
  </association>

<!--  NOTE:
      The following topics are the thread components, which are related
			to a thread using the correspondending tho-thread-components-relation
      type association:
                        "tho-tcr-participant" for "tho-tc-participant" and
                        "tho-tcr-subthread" for "tho-tc-subthread"
			"tc" stands for thread component
-->

<!-- The generic THO thread component. -->
<topic id="tho-tc">
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
  </instanceOf>
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
  </instanceOf>
  <baseName>
    <baseNameString>THO Thread Component</baseNameString>
  </baseName>
</topic>

	<!-- The participant component. Every THO Element is a insance of this class. -->
	<topic id="tho-tc-participant">
	  <instanceOf>
      <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
    </instanceOf>
		<instanceOf>
	    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
    </instanceOf>
		<baseName>
			<baseNameString>THO Thread Component Participant</baseNameString>
		</baseName>
	</topic>
	<association id="tho-tc-participant-extends-tho-tc">
		<instanceOf><topicRef xlink:href="#super-sub"/></instanceOf>
		<member>
	    <roleSpec><topicRef xlink:href="#super"/></roleSpec>
      <topicRef xlink:href="#tho-tc"/>
    </member>
    <member>
      <roleSpec><topicRef xlink:href="#sub"/></roleSpec>
      <topicRef xlink:href="#tho-tc-participant"/>
    </member>
	</association>

	<!-- The subthread component. -->
	<topic id="tho-tc-subthread">
		<instanceOf>
      <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
    </instanceOf>
		<instanceOf>
	    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
    </instanceOf>
		<baseName>
		  <baseNameString>THO Thread Component Sub-Thread</baseNameString>
		</baseName>
	</topic>
	<association id="tho-tc-subthread-extends-tho-tc">
		<instanceOf><topicRef xlink:href="#super-sub"/></instanceOf>
    <member>
      <roleSpec><topicRef xlink:href="#super"/></roleSpec>
      <topicRef xlink:href="#tho-tc"/>
    </member>
    <member>
      <roleSpec><topicRef xlink:href="#sub"/></roleSpec>
      <topicRef xlink:href="#tho-tc-subthread"/>
    </member>
	</association>


<!-- : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : -->
<!-- [DOCBASE] Declaration of knowledge descriptors.               -->

<!-- The generic knowledge descriptor. -->
<topic id="tho-knowledge">
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
  </instanceOf>
  <instanceOf>
    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
  </instanceOf>
  <baseName>
    <baseNameString>THO Knowledge</baseNameString>
  </baseName>
</topic>

	<!-- The structural knowledge descriptor. Used for all kind of order information. -->
	<topic id="tho-structural-know">
    <instanceOf>
      <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
    </instanceOf>
		<instanceOf>
	    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
    </instanceOf>
		<baseName>
		  <baseNameString>THO Structural Knowledge</baseNameString>
		</baseName>
	</topic>
	<association id="tho-structural-know-extends-tho-knowledge">
		<instanceOf><topicRef xlink:href="#super-sub"/></instanceOf>
		<member>
      <roleSpec><topicRef xlink:href="#super"/></roleSpec>
      <topicRef xlink:href="#tho-knowledge"/>
    </member>
	  <member>
	    <roleSpec><topicRef xlink:href="#sub"/></roleSpec>
      <topicRef xlink:href="#tho-structural-know"/>
    </member>
	</association>

	<!-- The functional schema descriptor. Used for all kind of inference information. -->
	<topic id="tho-functional-schema">
		<instanceOf>
	    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#topic-class"/>
    </instanceOf>
		<instanceOf>
	    <topicRef xlink:href="http://www.topicmaps.com/xtm/1.0/template.xtm#association-role-class"/>
    </instanceOf>
		<baseName>
		  <baseNameString>THO Functional Schema</baseNameString>
		</baseName>
	</topic>
	<association id="tho-functional-schema-extends-tho-knowledge">
		<instanceOf><topicRef xlink:href="#super-sub"/></instanceOf>
		<member>
      <roleSpec><topicRef xlink:href="#super"/></roleSpec>
      <topicRef xlink:href="#tho-knowledge"/>
    </member>
	  <member>
	    <roleSpec><topicRef xlink:href="#sub"/></roleSpec>
	    <topicRef xlink:href="#tho-functional-schema"/>
    </member>
	</association>

</topicMap>
