<?xml version="1.0" encoding="ASCII"?>
<!-- 

#####################################################################
#####################################################################
## Copyright 2005 Steven R. Newcomb                                ##
##                                                                 ##
## This software is licensed under the Apache License, Version 2.0 ##
## (the "License"); you may not use this file except in compliance ##
## with the License.  Copies of the License are available at       ##
##        http://www.apache.org/licenses/LICENSE-2.0               ##
##                                                                 ##
## Unless required by applicable law or agreed to in writing,      ##
## software distributed under the License is distributed on an "AS ##
## IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either ##
## express or implied.  See the License for the specific language  ##
## governing permissions and limitations under the License.        ##
##                                                                 ##
## Copies of the source code and the license are available at      ##
##        http://www.versavant.org                                 ##
#####################################################################
#####################################################################

Simple little TMA for providing r-proxies with SIPs called "role name", whose
values are strings.

-->
<!-- <!DOCTYPE VersavantTMA SYSTEM "http://www.versavant.org/dtds/TMAConfigFile.dtd">-->
<!DOCTYPE VersavantTMA SYSTEM "../versavantTMA.dtd">
<VersavantTMA
VersavantTMADTDVersion="1"

  ><Desc>Simple demo TMA for Jack Park.</Desc

  ><ValueType ValueTypeName="string"
    ><Desc>General-purpose string value type.</Desc
    ><ValueIsNotOfType__
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTstring.py"
      functionName="ValueIsNotOfType_string_"
    /><InstanceOf__ValueTypeToXMLContentString
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTstring.py"
      functionName="InstanceOf_string_ValueTypeToXMLContentString"
    /><XMLContentStringToInstanceOf__ValueType
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTstring.py"
      functionName="XMLContentStringToInstanceOf_string_ValueType"
  /></ValueType

  ><PropertyClass PropertyClassName="Name" ValueType="string"
    ><Desc>Subject is a name, represented by a string.</Desc
    ><Add__PropToOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Add_string_PropToOverheadDict"
    /><Remove__PropFromOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Remove_string_PropFromOverheadDict"
    /><Merge__PropertyValues
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Merge_string_PropertyValues"
    /><ValuesOf__PropertyInstancesAreSignificantlyDifferent
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ValuesOf_string_PropertyInstancesAreSignificantlyDifferent"
    /><MergeProxiesBecause__PropertyInstancesSpecifySameSubject
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="MergeProxiesBecause_string_PropertyInstancesSpecifySameSubject"
    /><ProxiesWith__ValueNotSignificantlyDifferentFrom
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ProxiesOfSubjectIdentifiedBy_string_Value"
  /></PropertyClass

  ><ValueType ValueTypeName="proxyIdSet"
    ><Desc>General-purpose set-of-subject-proxies value type.  (Same valuetype implementation as proxyIdList.)</Desc
    ><ValueIsNotOfType__
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTproxyIdList.py"
      functionName="ValueIsNotOfType_proxyIdList_"
      functionExtraArgsString="propertyClassName = propertyClass.propertyClassName"
    /><InstanceOf__ValueTypeToXMLContentString
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTproxyIdList.py"
      functionName="InstanceOf_proxyIdList_ValueTypeToXMLContentString"
    /><XMLContentStringToInstanceOf__ValueType
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTproxyIdList.py"
      functionName="XMLContentStringToInstanceOf_proxyIdList_ValueType"
  /></ValueType

  ><PropertyClass PropertyClassName="Person Name Proxy" ValueType="proxyIdSet"
    ><Desc>Subject is the human being whose name is reified by the referenced proxy.</Desc
    ><Add__PropToOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="Add_proxyIdSet_PropToOverheadDict"
    /><Remove__PropFromOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="Remove_proxyIdSet_PropFromOverheadDict"
    /><ValueIsInvalidFor__Property
      functionModuleFilePath="propertyClasses.py"
      functionName="ValueIsInvalidFor_Person_Name_Proxy_Property"
    /><Merge__PropertyValues
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="Merge_proxyIdSet_PropertyValues"
    /><ValuesOf__PropertyInstancesAreSignificantlyDifferent
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="ValuesOf_proxyIdSet_PropertyInstancesAreSignificantlyDifferent"
    /><MergeProxiesBecause__PropertyInstancesSpecifySameSubject
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="MergeProxiesBecause_proxyIdSet_PropertyInstancesSpecifySameSubject"
    /><ProxiesWith__ValueNotSignificantlyDifferentFrom
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="ProxiesOfSubjectIdentifiedBy_proxyIdSet_Value"
    /><UpdateProxyReferencesIn__Value
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdSet.py"
      functionName="UpdateProxyReferencesIn_proxyIdSet_Value"
  /></PropertyClass


  ><PropertyClass PropertyClassName="Shoe Size" ValueType="string"
    ><Desc>Subject is a shoe size, represented by a string.</Desc
    ><Add__PropToOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Add_string_PropToOverheadDict"
    /><Remove__PropFromOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Remove_string_PropFromOverheadDict"
    /><Merge__PropertyValues
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Merge_string_PropertyValues"
    /><ValuesOf__PropertyInstancesAreSignificantlyDifferent
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ValuesOf_string_PropertyInstancesAreSignificantlyDifferent"
    /><MergeProxiesBecause__PropertyInstancesSpecifySameSubject
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="MergeProxiesBecause_string_PropertyInstancesSpecifySameSubject"
    /><ProxiesWith__ValueNotSignificantlyDifferentFrom
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ProxiesOfSubjectIdentifiedBy_string_Value"
  /></PropertyClass

  ><PropertyClass PropertyClassName="Age" ValueType="string"
    ><Desc>Subject is an age in years, represented by a string.</Desc
    ><Add__PropToOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Add_string_PropToOverheadDict"
    /><Remove__PropFromOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Remove_string_PropFromOverheadDict"
    /><Merge__PropertyValues
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="Merge_string_PropertyValues"
    /><ValuesOf__PropertyInstancesAreSignificantlyDifferent
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ValuesOf_string_PropertyInstancesAreSignificantlyDifferent"
    /><MergeProxiesBecause__PropertyInstancesSpecifySameSubject
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="MergeProxiesBecause_string_PropertyInstancesSpecifySameSubject"
    /><ProxiesWith__ValueNotSignificantlyDifferentFrom
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCstring.py"
      functionName="ProxiesOfSubjectIdentifiedBy_string_Value"
  /></PropertyClass

  ><ValueType ValueTypeName="proxyIdList"
    ><Desc>General-purpose proxyIdList value type.</Desc
    ><ValueIsNotOfType__
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTproxyIdList.py"
      functionName="ValueIsNotOfType_proxyIdList_"
    /><InstanceOf__ValueTypeToXMLContentString
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTproxyIdList.py"
      functionName="InstanceOf_proxyIdList_ValueTypeToXMLContentString"
    /><XMLContentStringToInstanceOf__ValueType
      functionModuleFilePath="${VSVEXECDIR}/Lib/VTproxyIdList.py"
      functionName="XMLContentStringToInstanceOf_proxyIdList_ValueType"
  /></ValueType

  ><PropertyClass PropertyClassName="shoeSizeObservation" ValueType="proxyIdList"
    ><Desc>Subject is the human being whose name is reified by the referenced proxy.</Desc
    ><Add__PropToOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="Add_proxyIdList_PropToOverheadDict"
    /><Remove__PropFromOverheadDict
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="Remove_proxyIdList_PropFromOverheadDict"
    /><ValueIsInvalidFor__Property
      functionModuleFilePath="propertyClasses.py"
      functionName="ValueIsInvalidFor_shoeSizeObservation_Property"
    /><Merge__PropertyValues
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="Merge_proxyIdList_PropertyValues"
    /><ValuesOf__PropertyInstancesAreSignificantlyDifferent
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="ValuesOf_proxyIdList_PropertyInstancesAreSignificantlyDifferent"
    /><MergeProxiesBecause__PropertyInstancesSpecifySameSubject
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="MergeProxiesBecause_proxyIdList_PropertyInstancesSpecifySameSubject"
    /><ProxiesWith__ValueNotSignificantlyDifferentFrom
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="ProxiesOfSubjectIdentifiedBy_proxyIdList_Value"
    /><UpdateProxyReferencesIn__Value
      functionModuleFilePath="${VSVEXECDIR}/Lib/PCproxyIdList.py"
      functionName="UpdateProxyReferencesIn_proxyIdList_Value"
  /></PropertyClass



></VersavantTMA>
