Sunday 21 November 2010

Syntax Documentation of Topic Maps

The following is a complete list of element types in the order in which they are documented:
<topicRef>: Reference to a Topic element
<subjectIndicatorRef>: Reference to a Subject Indicator
<scope>: Reference to Topic(s) that comprise the Scope
<instanceOf>: Points to a Topic representing a class
<topicMap>: Topic Map document element
<topic>: Topic element
<subjectIdentity>: Subject reified by Topic
<baseName>: Base Name of a Topic
<baseNameString>: Base Name String container
<variant>: Alternate forms of Base Name
<variantName>: Container for Variant Name
<parameters>: Processing context for Variant
<association>: Topic Association
<member>: Member in Topic Association
<roleSpec>: Points to a Topic serving as an Association Role
<occurrence>: Resources regarded as an Occurrence
<resourceRef>: Reference to a Resource
<resourceData>: Container for Resource data
<mergeMap>: Merge with another Topic Map 



The <scope> element
  • Define a scope consisting of the subject English using a published subject:
          
            <scope>
                 <subjectIndicatorRef
            xlink:href="http://www.topicmaps.org/xtm/1.0/language.xtm#en"/>
</scope>
  •  Define a scope consisting of the topics tragedy andtheatrein the current document:
<scope>
                   <topicRef xlink:href="#tragedy"/>
                   <topicRef xlink:href="#theatre"/>
            </scope>


It specifies the name and occurrence characteristics of a single topic. It has a single unique identifier, and the ability to state the class(es) of which it is an instance and the identity of the subject that it reifies.
Every topic is intended to be organized around exactly one subject, even if that subject is only implicitly defined.
A topic map document may contain multiple topic elements that reify the same subject.
The class(es) of which the topic is an instance are indicated via the <instanceOf> child element(s).
Names are declared by means of <baseName> child elements.

  <!ELEMENT topic
     ( instanceOf*, subjectIdentity?, ( baseName | occurrence )* )
  >
where 
  • <instanceOf> Each optional and repeatable <instanceOf> child element specifies a class of which this topic is an instance.
  •  <subjectIdentity> The optional <subjectIdentity> child element specifies the subject identity of this topic.
  •  <baseName> Each optional and repeatable <baseName> child element specifies a name characteristic of this topic.
  •  <occurrence> Each optional and repeatable <occurrence> child element specifies information resources that are relevant to this topic.

The <baseName> Element

It  specifies a topic name. A topic name is represented by one string: the content of the <baseNameString> child of <baseName>. Natural language discrimination between base names may be specified by a child <scope> element.

  <!ELEMENT baseName  ( scope?, baseNameString, variant* ) >
 
where
  •  <scope> The optional <scope> child element specifies the context in which this base name is valid.
  •  <baseNameString> The single mandatory <baseNameString> child element provides the string that is the base name of the topic.
  •  <variant>  The optional and repeatable <variant> child element provides alternate forms of the base nam
Example:
  <topic id="shakespeare">     
     <baseName>       
        <baseNameString>William Shakespeare</baseNameString>   
    </baseName> 
  </topic>
 
Topic with multiple names in different languages, differentiated by scope
(assumes the existence of topics with the IDs “en” and “da” that reify the subjects 
“English” and “Danish” respectively):
 
<topic id="denmark">    
 <!-- baseName for English -->   
 <baseName>      
 <scope><topicRef xlink:href="#en"/>
</scope>     
 <baseNameString>Denmark</baseNameString>    
 </baseName>    
 <!-- baseName for Danish -->    
 <baseName>      
 <scope><topicRef xlink:href="#da"/></scope>       
<baseNameString>Danmark</baseNameString>     
</baseName>  
 </topic>  
 
The <topicMap> Element
It  is the parent of all <topic>, <association and <mergeMap> elements in the topic map document.
The <topicMap> element is the root element from which topic map syntactical recognition is performed.

  <!ELEMENT topicMap
     ( topic | association | mergeMap )*
  >
 where
  •  <topic> Each optional and repeatable <topic> child element reifies a single subject.
  •  <association> Each optional and repeatable <association> child element specifies a relationship among topics.
  •  <mergeMap>  Each optional and repeatable <mergeMap> child element causes its parent topic map to be merged with another topic map. 

The <instanceOf> Element

It specifies the class to which its parent belongs, via a <topicRef> or <subjectIndicatorRef> child element.
 
   <!ELEMENT instanceOf  ( topicRef | subjectIndicatorRef ) >
 
where
  •  <topicRef> The <topicRef> child element references a <topic> element that reifies a class of subject.
  •  <subjectIndicatorRef> The <subjectIndicatorRef> child element references a resource that indicates the identity of a class of subject.

Example

Declare that the topic with the ID “hamlet” is an instance of the topic type whose ID is “play”:
  <topic id="play">
    ...
  </topic>
 
  <topic id="hamlet">
    <instanceOf>
      <topicRef xlink:href="#play"/>
    </instanceOf>
  </topic>

 

No comments:

Post a Comment