Overview

The Definition of "Topic Map"

Subject Proxies

Property Classes, Property Instances, and Property Values

The Three Ways A Property Instance Can Get Its Value

1. Original Population

2. Merging of Property Values

3. Conferral

Topic Map Applications (TMAs)

The Versavant Object; an overview of Versavant services

Inspecting and Auditing Versavant Topic Maps

Creating Versavant Topic Maps

Interchanging Versavant Topic Maps in XML

versavant-A.dtd

implementing other topic map interchange formats

Rendering Versavant Topic Maps

The TopicMap Class

The ProxyObject Class

The PropertyInstance Class

The PropertyClass Class

The ValueType Class

The TMA Class

Disclosing Versavant TMAs

Overview

Disclosing a TMA in General: ISO/IEC 13250-5

Disclosing a TMA in Versavant: TMA configuration files

Writing a TMA configuration file - versavantTMA.dtd

<ValueType> elements

ValueTypeName attribute

<ValueIsNotOfType__> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a value type?

<InstanceOf__ValueTypeToXMLContentString> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a value type?

<XMLContentStringToInstanceOf__ValueType> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a value type?

<PropertyClass> elements

PropertyClassName attribute

ValueType attribute

<Add__PropToOverheadDict> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<Remove__PropFromOverheadDict> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<ValueIsInvalidFor__Property> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<Merge__PropertyValues> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<ValuesOf__PropertyInstancesAreSignificantlyDifferent> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<ContextOf__PropertyIsInvalid> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<MergeProxiesBecause__PropertyInstancesSpecifySameSubject> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<ProxiesOfSubjectIdentifiedBy__Value> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<UpdateProxyReferencesIn__Value> function declaration elements

What does this kind of function do?
What happens if I don't specify one of these functions for a property class?

<ConferralRule> function declaration elements

What does this kind of function do?

What happens if I don't specify any of these functions?

Attributes of all function declaration elements

functionModuleFilePath attribute

functionName attribute

functionExtraArgsString attribute

<Desc> elements

Versavant TMA Implementation Functions

Introduction

Function classes and suggested naming conventions

Implementing the support functions for a specialized value type

instance of ValueIsNotOfType__ function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of InstanceOf__ValueTypeToXMLContentString function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of XMLContentStringToInstanceOf__ValueType function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

Implementing the support functions for a specialized property class

instance of Add__PropToOverheadDict function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of Remove__PropFromOverheadDict function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of ValueIsInvalidFor__Property function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of Merge__PropertyValues function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of ValuesOf__PropertyInstancesAreSignificantlyDifferent function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of ContextOf__PropertyIsInvalid function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of MergeProxiesBecause__PropertyInstancesSpecifySameSubject function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of ProxiesOfSubjectIdentifiedBy__Value function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

instance of UpdateProxyReferencesIn__Value function class

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

Implementing a conferral rule function

Purpose: When and Why does Versavant call this kind of function?

Arguments always passed by Versavant

Requirements for all implementations

Values available for extra arguments in Versavant's calling environment(s)

Examples of TMA implementation functions

Discussions of TMA design philosophies

"Bridging" TMAs

Annex: The Vsys TMA (Versavant's built-in "system TMA" for TMA subjects)


Steven R. Newcomb
Last modified: Tue May 24 12:37:05 EDT 2005