Author: lgiessmann Date: Fri Nov 12 16:57:51 2010 New Revision: 338
Log: added the new textgrid-TMCL as XTM 2.0 file
Added: trunk/src/unit_tests/textgrid.xtm trunk/src/unit_tests/textgrid_old.xtm Modified: trunk/src/isidorus.asd trunk/src/model/trivial-queries.lisp
Modified: trunk/src/isidorus.asd ============================================================================== --- trunk/src/isidorus.asd (original) +++ trunk/src/isidorus.asd Fri Nov 12 16:57:51 2010 @@ -107,7 +107,9 @@ "json" "threading")) (:module "unit_tests" - :components ((:static-file "dangling_topicref.xtm") + :components ((:static-file "textgrid.xtm") + (:static-file "textgrid_old.xtm") + (:static-file "dangling_topicref.xtm") (:static-file "inconsistent.xtm") (:static-file "notificationbase.xtm") (:static-file "notification_merge1.xtm")
Modified: trunk/src/model/trivial-queries.lisp ============================================================================== --- trunk/src/model/trivial-queries.lisp (original) +++ trunk/src/model/trivial-queries.lisp Fri Nov 12 16:57:51 2010 @@ -338,4 +338,4 @@ (declare (integer revision)) (let ((all-supertypes (supertypes construct :revision revision))) (when (find supertype all-supertypes) - all-supertypes)))) \ No newline at end of file + all-supertypes))))
Added: trunk/src/unit_tests/textgrid.xtm ============================================================================== --- (empty file) +++ trunk/src/unit_tests/textgrid.xtm Fri Nov 12 16:57:51 2010 @@ -0,0 +1,4826 @@ +<?xml version="1.0" encoding="utf-8"?> +<tm:topicMap version="2.0" xmlns:tm="http://www.topicmaps.org/xtm/%22%3E + <!-- ===================================================================== --> + <!-- === TMCL meta-model topics ========================================== --> + <!-- ===================================================================== --> + <tm:topic id="topictype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-type%22/%3E + <!-- naming of psis: Prague, March 25-27, 2008, page 12 --> + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="occurrencetype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="associationtype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="roletype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-type%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="nametype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="scopetype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/scope-type%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- role types used to include the topictype metatypes in associations --> + <tm:topic id="topictype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="occurrencetype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="associationtype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="roletype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="otherroletype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/other-role-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="othertopictype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/other-topic-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="nametype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="scopetype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/scope-type-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <!-- the constraint roletype --> + <tm:topic id="constraint-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/constraint-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <!-- ===================================================================== --> + <!-- === TMCL model topics =============================================== --> + <!-- ===================================================================== --> + + <!-- the constraint topic is the common supertype of all constraint types + defined by TMCL. --> + <tm:topic id="constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- this occurrence type is used to type a single occurrence on each + constraint type. This occurrence holds the TMQL value used to + evaluate constraint instances for validity. --> + <tm:topic id="validation-expression"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/validation-expression%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <!-- the association type used to bind different components into a + constraint --> + <tm:topic id="applies-to"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/applies-to%22/%3E + tm:instanceOf + <tm:topicRef href="#associationtype"/> + </tm:instanceOf> + </tm:topic> + + <!-- the card min facet is used on many constraint types --> + <tm:topic id="card-min"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/card-min%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <!-- the card max facet is used on many constraint types --> + <tm:topic id="card-max"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/card-max%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <!-- the reg exp facet is used on many constraint types --> + <tm:topic id="regexp"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/reg-exp%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <!-- the datatype facet is used on many constraint types --> + <tm:topic id="datatype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/datatype%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <!-- ===================================================================== --> + <!-- === topics for super-subtype-associations (ako) ===================== --> + <!-- ===================================================================== --> + + <tm:topic id="supertype-subtype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/iso13250/model/supertype-subtype%22/%3E + </tm:topic> + + <tm:topic id="supertype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/iso13250/model/supertype%22/%3E + </tm:topic> + + <tm:topic id="subtype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/iso13250/model/subtype%22/%3E + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === schema type and ?schema definitions ============================= --> + <!-- ===================================================================== --> + + <!-- constraints can be bound to a schema --> + <tm:topic id="schema"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/schema%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- ===================================================================== --> + <!-- === TMCL constraint types =========================================== --> + <!-- ===================================================================== --> + + <!-- topictype-constraint --> + <tm:topic id="topictype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-type-constraint%22/%3E + </tm:topic> + <!-- standard constraints doesn't own a validation-expression-occurrence: Prague, March 25-27, 2008, page 34-36 --> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#topictype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- associationtype-constraint --> + <tm:topic id="associationtype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#associationtype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- roletype-constraint --> + <tm:topic id="roletype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#roletype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- occurrencetype-constraint --> + <tm:topic id="occurrencetype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#occurrencetype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- nametype-constraint --> + <tm:topic id="nametype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#nametype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- abstract-topictype-constraint --> + <tm:topic id="abstract-topictype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/abstract-topic-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#abstract-topictype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + + <!-- exclusive-instance --> + <tm:topic id="exclusive-instance"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/exclusive-instance%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#exclusive-instance"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + <!-- ===================================================================== --> + <!-- === subjectidentifier/locator constraints =========================== --> + <!-- ===================================================================== --> + + <!-- subjectlocator-constraint --> + <tm:topic id="subjectlocator-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/subject-locator-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#subjectlocator-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier-constraint --> + <tm:topic id="subjectidentifier-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/subject-identifier-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#subjectidentifier-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === names/occurrences/associations/association roles ================ --> + <!-- ===================================================================== --> + + <!-- topicname-constraint --> + <tm:topic id="topicname-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-name-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#topicname-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- topicoccurrence-constraint --> + <tm:topic id="topicoccurrence-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-occurrence-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- occurrencedatatype-constraint --> + <tm:topic id="occurrencedatatype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-datatype-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#occurrencedatatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- uniqueoccurrence-constraint --> + <tm:topic id="uniqueoccurrence-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/unique-occurrence-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#uniqueoccurrence-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- associationrole-constraint --> + <tm:topic id="associationrole-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-role-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#associationrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- roleplayer-constraint --> + <tm:topic id="roleplayer-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-player-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#roleplayer-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- otherrole-constraint --> + <tm:topic id="otherrole-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/other-role-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === scopes ========================================================== --> + <!-- ===================================================================== --> + + <!-- nametypescope-constraint --> + <tm:topic id="nametypescope-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type-scope-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#nametypescope-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- occurrencetypescope-constraint --> + <tm:topic id="occurrencetypescope-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type-scope-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#occurrencetypescope-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- associationtypescope-constraint --> + <tm:topic id="associationtypescope-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type-scope-constraint%22/%3E + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#supertype-subtype"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#subtype"/> + </tm:type> + <tm:topicRef href="#associationtypescope-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#supertype"/> + </tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === own datamodel: type handling ==================================== --> + <!-- ===================================================================== --> + + <!-- only topics that are instances of topictype are allowed as topic + types --> + <tm:topic id="ttc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/ttc%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype-constraint"/> + </tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of associationtype are allowed as + association types --> + <tm:topic id="atc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/atc%22/%3E + tm:instanceOf + <tm:topicRef href="#associationtype-constraint"/> + </tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of roletype are allowed as + association role types --> + <tm:topic id="rtc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/rtc%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype-constraint"/> + </tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of occurrencetype are allowed as + occurrence types --> + <tm:topic id="otc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/otc%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype-constraint"/> + </tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of nametype are allowed as + name types --> + <tm:topic id="ntc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/ntc%22/%3E + tm:instanceOf + <tm:topicRef href="#nametype-constraint"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === own datamodel: base types ======================================= --> + <!-- ===================================================================== --> + + <!-- ===================================================================== --> + <!-- === topictype service =============================================== --> + <!-- ===================================================================== --> + <tm:topic id="service"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- name types for the topictype service --> + <tm:topic id="service-name"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Name%22/%3E + tm:instanceOf + <tm:topicRef href="#nametype"/> + </tm:instanceOf> + </tm:topic> + + <!-- occurrence types for the topictype service--> + <tm:topic id="service-operation"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Operation%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="service-type"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Type%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="service-description"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Description%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="service-keywords"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Keywords%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="description-location-uri"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Description-Location-URI%22/%3... + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="inline-description-location"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Inline-Description-Location%22... + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="description-location-body"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Description-Location-Body%22/%... + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="target-namespace"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Target-Namespace%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="use-target-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Use-Target-NS%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="service-owner"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Owner%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="service-identifier"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Identifier%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="textgrid-url"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Textgrid-URL%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="tg-approved"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/TG-Approved%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === topictype hash-object =========================================== --> + <!-- ===================================================================== --> + <tm:topic id="hash-object"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Hash-Object%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- occurrence types for the topic type hash-object --> + <tm:topic id="hash-type"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Hash-Type%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="hash-key"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Hash-Key%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="hash-value"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Hash-Value%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="hash-environment"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Hash-Environment%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === topictype parameter ============================================ --> + <!-- ===================================================================== --> + <tm:topic id="parameter"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- name types for the topic type parameter --> + <tm:topic id="parameter-name"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Name%22/%3E + tm:instanceOf + <tm:topicRef href="#nametype"/> + </tm:instanceOf> + </tm:topic> + + <!-- occurrence types for the topic type parameter --> + <tm:topic id="parameter-type"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Type%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-id"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-ID%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-param"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Param%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-mime-type"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Mime-Type%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-multiple"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Multiple%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-crud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Crud%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-needs-b64-encoding"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Needs-B64-Encoding%2... + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === topictype parameter-config ====================================== --> + <!-- ===================================================================== --> + <tm:topic id="parameter-config"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Config%22/%3E + tm:instanceOf + <tm:topicRef href="#topictype"/> + </tm:instanceOf> + </tm:topic> + + <!-- name types for the topic type parameter --> + <tm:topic id="parameter-config-name"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Config-Name%22/%3E + tm:instanceOf + <tm:topicRef href="#nametype"/> + </tm:instanceOf> + </tm:topic> + + <!-- occurrence types for the topic type parameter --> + <tm:topic id="parameter-config-id"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Config-ID%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-config-default"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Config-Default%22/%3... + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-config-form"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Config-Form%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-config-data"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Config-Data%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencetype"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === association type has-hash ======================================= --> + <!-- ===================================================================== --> + + <!-- association has-hash --> + <tm:topic id="has-hash"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Has-Hash%22/%3E + tm:instanceOf + <tm:topicRef href="#associationtype"/> + </tm:instanceOf> + </tm:topic> + + <!-- roles --> + <tm:topic id="service-role"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Service-Role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + <tm:topic id="hash-role"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Hash-Role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === association type has-parameter ================================== --> + <!-- ===================================================================== --> + + <!-- association has-parameter --> + <tm:topic id="has-parameter"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Has-parameter%22/%3E + tm:instanceOf + <tm:topicRef href="#associationtype"/> + </tm:instanceOf> + </tm:topic> + + <!-- roles --> + <!-- service role as in has-hash--> + + <tm:topic id="parameter-role"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Parameter-Role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + + + <!-- ===================================================================== --> + <!-- === association type has-config ===================================== --> + <!-- ===================================================================== --> + + <!-- association has-config --> + <tm:topic id="has-config"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Has-config%22/%3E + tm:instanceOf + <tm:topicRef href="#associationtype"/> + </tm:instanceOf> + </tm:topic> + + <!-- roles --> + <!-- parameter role as in has-parameter--> + + <tm:topic id="config-role"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/Config-role%22/%3E + tm:instanceOf + <tm:topicRef href="#roletype"/> + </tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === own datamodel: exclusive type constraint ======================== --> + <!-- ===================================================================== --> + + <!-- instances composed of the types service, hash-object, parameter, + parameter-config are not allowed--> + <tm:topic id="exc"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/exc%22/%3E + tm:instanceOf + <tm:topicRef href="#exclusive-instance"/> + </tm:instanceOf> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === own datamodel: subjectIdentifier constraints ==================== --> + <!-- ===================================================================== --> + <!-- a topic of the type service has to have a psi of the form + "^http://textgrid.org/serviceregistry/service/.+$", + a topic of the type parameter has to have a psi of the form + "^http://textgrid.org/serviceregistry/parameter/.+$", + a topic of the type hash-object has to have a psi of the form + "^http://textgrid.org/serviceregistry/hash/.+$", + and a topic of the parameter-config poem has to have a psi of the form + "^http://some.where/psis/parameter-config/.+$". + further all topics can have mor psis of the form "^.+$" --> + + <!-- subjectidentifier of service --> + <tm:topic id="sic-service"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/sic-service%22/%3E + tm:instanceOf + <tm:topicRef href="#subjectidentifier-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#sic-service"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier of hash-object --> + <tm:topic id="sic-hash-object"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/sic-hash-object%22/%3E + tm:instanceOf + <tm:topicRef href="#subjectidentifier-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#sic-hash-object"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier of parameter --> + <tm:topic id="sic-parameter"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/sic-parameter%22/%3E + tm:instanceOf + <tm:topicRef href="#subjectidentifier-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#sic-parameter"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier of parameter-config --> + <tm:topic id="sic-parameter-config"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/sic-parameter-config%22/%3E + tm:instanceOf + <tm:topicRef href="#subjectidentifier-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#sic-parameter-config"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === own datamodel: subjectLocator constraints ======================= --> + <!-- ===================================================================== --> + <!-- all instances of service, parameter, hash-object and parameter-config + are not allowed to own a subjectLocator --> + + <tm:topic id="slc-all"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/slc-all%22/%3E + tm:instanceOf + <tm:topicRef href="#subjectlocator-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.*</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#slc-all"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#slc-all"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#slc-all"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#slc-all"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === own datamodel: name constraints ================================= --> + <!-- ===================================================================== --> + <!-- instances of the type service has to own a name of the type service-name. + it must be valid to the regular expression ".+". + instances of the type parameter has one name of the type parameter-name + with the regular expression ".+" --> + + <!-- service service name --> + <tm:topic id="service-name-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-name-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicname-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-name-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-name-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#nametype-role"/> + </tm:type> + <tm:topicRef href="#service-name"/> + </tm:role> + </tm:association> + + <!-- parameter parameter name --> + <tm:topic id="parameter-name-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-name-constraint%22/%... + tm:instanceOf + <tm:topicRef href="#topicname-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-name-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-name-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#nametype-role"/> + </tm:type> + <tm:topicRef href="#parameter-name"/> + </tm:role> + </tm:association> + + <!-- parameter-config parameter-config name --> + <tm:topic id="parameter-config-name-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-config-name-constrai... + tm:instanceOf + <tm:topicRef href="#topicname-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-name-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-name-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#nametype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-name"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === own datamodel: occurence constraints ============================ --> + <!-- ===================================================================== --> + <!-- the topictype service owns the foolowing occurrences: + *service-operation => xml:string => ".+" => {1} + *sericve-type => xml:string => ".+" => {1} + *service-description => xml:string => ".+" => {1} + *service-keywords => xml:string => ".+" => {0,1} + *description-location-uri => xml:anyUri => ".+" => {0,1} + *inline-description-location => xml:string => ".+" => {0,1} + *description-loction-body => xml:string => ".+" => {0,1} + *target-namespace => xml:string => ".+" => {0,1} + *use-target-ns => xml:Boolean => "(true)|(false)" => {0,1} + *service-owner => xml:string => ".+" => {1} + *service-identifier => xml:string => ".+" => {1} => unique-constraint + *textgrid-url => xml:anyUri => ".+" => {1} + *tg-approved => xml:Boolean => "(true)|(false)" => {1} + + the topictype hash-object owns the following occurrences: + *hash-type => xml:string => ".+" => {1} + *hash-key => xml:string => ".+" => {1} + *hash-value => xml:string => ".+" => {1} + *hash-environment => xml:string => ".+" => {1} + + the topictype parameter owns the following occurrences: + *parameter-type => xml:string => ".+" => {1} + *parameter-id => xml:string => ".+" => {1} => unique-constraint + *parameter-param => xml:string => ".+" => {1} + *parameter-mime-type => xml:string => ".+" => {1} + *parameter-multiple => xml:Boolean => "(true)|(false)" => {0,1} + *parameter-crud => xml:Boolean => "(true)|(false)" => {0,1} + *parameter-needs-b64-encoding => xml:Boolean => "(true)|(false)" => {1} + + the topictype parameter-config owns the following occurrences: + *parameter-config-id => xml:string => ".+" => {1} => unique-constraint + *parameter-config-default => xml:string => "(true)|(false)" => {0,1} + *parameter-config-form => xml:string => ".+" => {1} + *parameter-config-data => xml:string => ".+" => {0,1}--> + + <!-- unique occurence constraint --> + <tm:topic id="unique-id-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/unique-id-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#uniqueoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.*</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <!-- occurrence datatypes --> + <tm:topic id="string-datatype-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/string-datatype-constraint%22/... + tm:instanceOf + <tm:topicRef href="#occurrencedatatype-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#datatype"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ehttp://www.w3.org/2001/XMLSchem...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="uri-datatype-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/uri-datatype-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#occurrencedatatype-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#datatype"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ehttp://www.w3.org/2001/XMLSchem...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="boolean-datatype-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/boolean-datatype-constraint%22... + tm:instanceOf + <tm:topicRef href="#occurrencedatatype-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#datatype"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ehttp://www.w3.org/2001/XMLSchem...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <!-- service operation occurrence --> + <tm:topic id="service-operation-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-operation-constraint%2... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-operation-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-operation-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-operation"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-operation"/> + </tm:role> + </tm:association> + + <!-- service type occurrence --> + <tm:topic id="service-type-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-type-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-type"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-type"/> + </tm:role> + </tm:association> + + <!-- service description occurrence --> + <tm:topic id="service-description-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-description-constraint... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-description-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-description-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-description"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-description"/> + </tm:role> + </tm:association> + + <!-- service keywords occurrence --> + <tm:topic id="service-keywords-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-keywords-constraint%22... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-keywords-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-keywords-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-keywords"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-keywords"/> + </tm:role> + </tm:association> + + <!-- service description location uri occurrence --> + <tm:topic id="description-location-uri-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/description-location-uri-const... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#description-location-uri-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#description-location-uri-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#description-location-uri"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#uri-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#description-location-uri"/> + </tm:role> + </tm:association> + + <!-- service inline description location occurrence --> + <tm:topic id="inline-description-location-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/inline-description-location-co... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(true)%7C(false)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#inline-description-location-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#inline-description-location-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#inline-description-location"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#inline-description-location"/> + </tm:role> + </tm:association> + + <!-- service description location body occurrence --> + <tm:topic id="description-location-body-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/description-location-body-cons... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#description-location-body-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#description-location-body-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#description-location-body"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#description-location-body"/> + </tm:role> + </tm:association> + + <!-- service target namespace occurrence --> + <tm:topic id="target-namespace-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/target-namespace-constraint%22... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#target-namespace-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#target-namespace-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#target-namespace"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#target-namespace"/> + </tm:role> + </tm:association> + + <!-- service use target ns occurrence --> + <tm:topic id="use-target-ns-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/use-target-ns-constraint%22/%3... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(true)%7C(false)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#use-target-ns-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#use-target-ns-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#use-target-ns"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#use-target-ns"/> + </tm:role> + </tm:association> + + <!-- service owner occurrence --> + <tm:topic id="service-owner-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-owner-constraint%22/%3... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-owner-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-owner-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-owner"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-owner"/> + </tm:role> + </tm:association> + + <!-- service identifier occurrence --> + <tm:topic id="service-identifier-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/service-identifier-constraint%... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-identifier-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#service-identifier-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-identifier"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-identifier"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#unique-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#unique-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#service-identifier"/> + </tm:role> + </tm:association> + + <!-- service textgrid url occurrence --> + <tm:topic id="textgrid-url-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/textgrid-url-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#textgrid-url-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#textgrid-url-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#textgrid-url"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#uri-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#textgrid-url"/> + </tm:role> + </tm:association> + + <!-- service tg-approved occurrence --> + <tm:topic id="tg-approved-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/tg-approved-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(true)%7C(false)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#tg-approved-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#tg-approved-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#tg-approved"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#tg-approved"/> + </tm:role> + </tm:association> + + <!-- hash-object type occurrence --> + <tm:topic id="hash-type-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/hash-type-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-type"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-type"/> + </tm:role> + </tm:association> + + <!-- hash-object key occurrence --> + <tm:topic id="hash-key-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/hash-key-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-key-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-key-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-key"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-key"/> + </tm:role> + </tm:association> + + <!-- hash-object value occurrence --> + <tm:topic id="hash-value-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/hash-value-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-value-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-value-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-value"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-value"/> + </tm:role> + </tm:association> + + <!-- hash-object environment occurrence --> + <tm:topic id="hash-environment-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/hash-environment-constraint%22... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-environment-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-environment-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-environment"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#hash-environment"/> + </tm:role> + </tm:association> + + <!-- parameter type occurrence --> + <tm:topic id="parameter-type-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-type-constraint%22/%... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-type"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-type"/> + </tm:role> + </tm:association> + + <!-- parameter id occurrence --> + <tm:topic id="parameter-id-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-id-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-id"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-id"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#unique-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#unique-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-id"/> + </tm:role> + </tm:association> + + <!-- parameter param occurrence --> + <tm:topic id="parameter-param-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-param-constraint%22/... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-param-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-param-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-param"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-param"/> + </tm:role> + </tm:association> + + <!-- parameter mime type occurrence --> + <tm:topic id="parameter-mime-type-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-mime-type-constraint... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-mime-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-mime-type-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-mime-type"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-mime-type"/> + </tm:role> + </tm:association> + + <!-- parameter multiple occurrence --> + <tm:topic id="parameter-multiple-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-multiple-constraint%... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(true)%7C(false)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-multiple-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-multiple-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-multiple"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-multiple"/> + </tm:role> + </tm:association> + + <!-- parameter crud occurrence --> + <tm:topic id="parameter-crud-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-crud-constraint%22/%... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(true)%7C(false)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-crud-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-crud-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-crud"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-crud"/> + </tm:role> + </tm:association> + + <!-- parameter needs b64 encoding occurrence --> + <tm:topic id="parameter-needs-b64-encoding-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-needs-b64-encoding-c... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(false)%7C(true)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-needs-b64-encoding-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-needs-b64-encoding-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-needs-b64-encoding"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-needs-b64-encoding"/> + </tm:role> + </tm:association> + + <!-- parameter-config id occurrence --> + <tm:topic id="parameter-config-id-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-config-id-constraint... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-id"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-id"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#unique-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#unique-id-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-id"/> + </tm:role> + </tm:association> + + <!-- parameter-config default occurrence --> + <tm:topic id="parameter-config-default-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-config-default-const... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E(false)%7C(true)</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-default-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-default-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-default"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#boolean-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-default"/> + </tm:role> + </tm:association> + + <!-- parameter-config form occurrence --> + <tm:topic id="parameter-config-form-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-config-form-constrai... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-form-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-form-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-form"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-form"/> + </tm:role> + </tm:association> + + <!-- parameter-config data occurrence --> + <tm:topic id="parameter-config-data-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-config-data-constrai... + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.+</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-data-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-data-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-data"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config-data"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === own datamodel: association (-role) constraints ================== --> + <!-- ===================================================================== --> + <!-- the topictype service is related with the topictype hash-object via an + association of the type has-hash with the roles service-role|service and + hash-role|hash-object --> + + <!-- the hash role has to appear exactly once in an association of type + has-hash --> + <tm:topic id="hash-role-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/hash-role-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#associationrole-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-role-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-hash"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-role-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#hash-role"/> + </tm:role> + </tm:association> + + <!-- the hash role owns a player of the type hash-object --> + <tm:topic id="hash-role-player-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/hash-role-player-constraint%22... + tm:instanceOf + <tm:topicRef href="#roleplayer-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-hash"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#hash-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#hash-role"/> + </tm:role> + </tm:association> + + <!-- otherrole-constraint: + If there is a role of the type hash-role with a player of the type + hash-object there must be another role of the type service-role with + a player of the type service. --> + <tm:topic id="has-hash-otherrole-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/has-hash-otherrole-constraint%... + tm:instanceOf + <tm:topicRef href="#otherrole-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-hash-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-hash"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-hash-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#hash-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-hash-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#hash-object"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-hash-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#otherroletype-role"/> + </tm:type> + <tm:topicRef href="#service-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-hash-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#othertopictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + <!-- the parameter role has to appear exactly once in an association of type + has-parameter --> + <tm:topic id="parameter-role-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-role-constraint%22/%... + tm:instanceOf + <tm:topicRef href="#associationrole-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-role-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-role-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#parameter-role"/> + </tm:role> + </tm:association> + + <!-- the parameter role owns a player of the type hash-object --> + <tm:topic id="parameter-role-player-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/parameter-role-player-constrai... + tm:instanceOf + <tm:topicRef href="#roleplayer-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#parameter-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#parameter-role"/> + </tm:role> + </tm:association> + + <!-- otherrole-constraint: + If there is a role of the type parameter-role with a player of the type + parameter there must be another role of the type service-role with + a player of the type service. --> + <tm:topic id="has-parameter-otherrole-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/has-parameter-otherrole-constr... + tm:instanceOf + <tm:topicRef href="#otherrole-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#parameter-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#otherroletype-role"/> + </tm:type> + <tm:topicRef href="#service-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#othertopictype-role"/> + </tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + + <!-- the config role has to appear exactly once in an association of type + has-config --> + <tm:topic id="config-role-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/config-role-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#associationrole-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#config-role-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#config-role-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#config-role"/> + </tm:role> + </tm:association> + + <!-- the config role owns a player of the type parameter-config --> + <tm:topic id="config-role-player-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/config-role-player-constraint%... + tm:instanceOf + <tm:topicRef href="#roleplayer-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#config-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#config-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#config-role-player-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#config-role"/> + </tm:role> + </tm:association> + + <!-- otherrole-constraint: + If there is a role of the type config-role with a player of the type + parameter-config there must be another role of the type parameter-role + with a player of the type parameter. --> + <tm:topic id="has-config-otherrole-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/metamodel/has-config-otherrole-constrain... + tm:instanceOf + <tm:topicRef href="#otherrole-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-config-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#associationtype-role"/> + </tm:type> + <tm:topicRef href="#has-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-config-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#roletype-role"/> + </tm:type> + <tm:topicRef href="#config-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-config-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter-config"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-config-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#otherroletype-role"/> + </tm:type> + <tm:topicRef href="#parameter-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#has-config-otherrole-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#othertopictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> +</tm:topicMap> \ No newline at end of file
Added: trunk/src/unit_tests/textgrid_old.xtm ============================================================================== --- (empty file) +++ trunk/src/unit_tests/textgrid_old.xtm Fri Nov 12 16:57:51 2010 @@ -0,0 +1,3282 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tm:topicMap version="2.0" xmlns:tm="http://www.topicmaps.org/xtm/%22%3E + <!-- ======================================================================= --> + <!-- Isidorus --> + <!-- (c) 2008-2010 Marc Kuester, Christoph Ludwig, Lukas Georgieff --> + <!-- --> + <!-- Isidorus is freely distributable under the LLGPL license. --> + <!-- This ajax module uses the frameworks PrototypeJs and Scriptaculous, --> + <!-- both are distributed under the MIT license. --> + <!-- You can find a detailed description in trunk/docs/LLGPL-LICENSE.txt, --> + <!-- trunk/docs/LGPL-LICENSE.txt and in --> + <!-- trunk/src/ajax/javascripts/external/MIT-LICENSE.txt. --> + <!-- ======================================================================= --> + + + <!-- ===================================================================== --> + <!-- === TMCL meta-model topics ========================================== --> + <!-- ===================================================================== --> + <tm:topic id="topictype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-type%22/%3E <!-- naming of psis: Prague, March 25-27, 2008, page 12 --> + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="occurrencetype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="associationtype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="roletype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-type%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="nametype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="scopetype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/scope-type%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <!-- role types used to include the topictype metatypes in associations --> + <tm:topic id="topictype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="occurrencetype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="associationtype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="roletype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="otherroletype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/other-role-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="othertopictype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/other-topic-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="nametype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="scopetype-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/scope-type-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <!-- the constraint roletype --> + <tm:topic id="constraint-role"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/constraint-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <!-- ===================================================================== --> + <!-- === TMCL model topics =============================================== --> + <!-- ===================================================================== --> + + <!-- the constraint topic is the common supertype of all constraint types + defined by TMCL. --> + <tm:topic id="constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <!-- this occurrence type is used to type a single occurrence on each + constraint type. This occurrence holds the TMQL value used to + evaluate constraint instances for validity. --> + <tm:topic id="validation-expression"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/validation-expression%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- the association type used to bind different components into a + constraint --> + <tm:topic id="applies-to"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/applies-to%22/%3E + tm:instanceOf<tm:topicRef href="#associationtype"/></tm:instanceOf> + </tm:topic> + + <!-- the card min facet is used on many constraint types --> + <tm:topic id="card-min"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/card-min%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- the card max facet is used on many constraint types --> + <tm:topic id="card-max"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/card-max%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- the reg exp facet is used on many constraint types --> + <tm:topic id="regexp"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/reg-exp%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- the datatype facet is used on many constraint types --> + <tm:topic id="datatype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/datatype%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- ===================================================================== --> + <!-- === topics for super-subtype-associations (ako) ===================== --> + <!-- ===================================================================== --> + + <tm:topic id="supertype-subtype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/iso13250/model/supertype-subtype%22/%3E + </tm:topic> + + <tm:topic id="supertype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/iso13250/model/supertype%22/%3E + </tm:topic> + + <tm:topic id="subtype"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/iso13250/model/subtype%22/%3E + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === schema type and schema definitions ============================== --> + <!-- ===================================================================== --> + + <!-- constraints can be bound to a schema --> + <tm:topic id="schema"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/schema%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === TMCL constraint types =========================================== --> + <!-- ===================================================================== --> + + <!-- topictype-constraint --> + <tm:topic id="topictype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-type-constraint%22/%3E + </tm:topic> <!-- standard constraints doesn't own a valiadtion-expression-occurrence: Prague, March 25-27, 2008, page 34-36 --> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#topictype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- associationtype-constraint --> + <tm:topic id="associationtype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#associationtype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- roletype-constraint --> + <tm:topic id="roletype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#roletype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- occurrencetype-constraint --> + <tm:topic id="occurrencetype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#occurrencetype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- nametype-constraint --> + <tm:topic id="nametype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#nametype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- abstract-topictype-constraint --> + <tm:topic id="abstract-topictype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/abstract-topic-type-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#abstract-topictype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + + <!-- exclusive-instance --> + <tm:topic id="exclusive-instance"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/exclusive-instance%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#exclusive-instance"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === subjectidentifier/locator constraints =========================== --> + <!-- ===================================================================== --> + + <!-- subjectlocator-constraint --> + <tm:topic id="subjectlocator-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/subject-locator-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#subjectlocator-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier-constraint --> + <tm:topic id="subjectidentifier-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/subject-identifier-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#subjectidentifier-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === names/occurrences/associations/association roles ================ --> + <!-- ===================================================================== --> + + <!-- topicname-constraint --> + <tm:topic id="topicname-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-name-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#topicname-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- topicoccurrence-constraint --> + <tm:topic id="topicoccurrence-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/topic-occurrence-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- occurrencedatatype-constraint --> + <tm:topic id="occurrencedatatype-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-datatype-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#occurrencedatatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- uniqueoccurrence-constraint --> + <tm:topic id="uniqueoccurrence-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/unique-occurrence-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#uniqueoccurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- associationrole-constraint --> + <tm:topic id="associationrole-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-role-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#associationrole-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- roleplayer-constraint --> + <tm:topic id="roleplayer-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/role-player-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#roleplayer-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- otherrole-constraint --> + <tm:topic id="otherrole-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/other-role-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#otherrole-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === scopes ========================================================== --> + <!-- ===================================================================== --> + + <!-- nametypescope-constraint --> + <tm:topic id="nametypescope-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/name-type-scope-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#nametypescope-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- occurrencetypescope-constraint --> + <tm:topic id="occurrencetypescope-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/occurrence-type-scope-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#occurrencetypescope-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + <!-- associationtypescope-constraint --> + <tm:topic id="associationtypescope-constraint"> + <tm:subjectIdentifier href="http://psi.topicmaps.org/tmcl/association-type-scope-constraint%22/%3E + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#supertype-subtype"/></tm:type> + tm:role + tm:type<tm:topicRef href="#subtype"/></tm:type> + <tm:topicRef href="#associationtypescope-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#supertype"/></tm:type> + <tm:topicRef href="#constraint"/> + </tm:role> + </tm:association> + + + <!-- ===================================================================== --> + <!-- === own datamodel: type handling ==================================== --> + <!-- ===================================================================== --> + + <!-- only topics that are instances of topictype are allowed as topic + types --> + <tm:topic id="ttc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/ttc%22/%3E + tm:instanceOf<tm:topicRef href="#topictype-constraint"/></tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of associationtype are allowed as + association types --> + <tm:topic id="atc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/atc%22/%3E + tm:instanceOf<tm:topicRef href="#associationtype-constraint"/></tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of roletype are allowed as + association role types --> + <tm:topic id="rtc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/rtc%22/%3E + tm:instanceOf<tm:topicRef href="#roletype-constraint"/></tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of occurrencetype are allowed as + occurrence types --> + <tm:topic id="otc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/otc%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype-constraint"/></tm:instanceOf> + </tm:topic> + + <!-- only topics that are instances of nametype are allowed as + name types --> + <tm:topic id="ntc"> + <tm:subjectIdentifier href="http://some.where/constraint-psis/ntc%22/%3E + tm:instanceOf<tm:topicRef href="#nametype-constraint"/></tm:instanceOf> + </tm:topic> + + + <!-- ===================================================================== --> + <!-- === own datamodel: base types ======================================= --> + <!-- ===================================================================== --> + + <!-- service --> + <tm:topic id="service"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="service-name"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-name%22/%3E + tm:instanceOf<tm:topicRef href="#nametype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="description"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/description%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="service-type"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-type%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="service-environment"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-environment%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="service-key"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-key%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- url --> + <tm:topic id="url"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/url%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="url-content"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/url-content%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- parameter --> + <tm:topic id="parameter"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/parameter%22/%3E + tm:instanceOf<tm:topicRef href="#topictype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="parameter-name"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/parameter-name%22/%3E + tm:instanceOf<tm:topicRef href="#nametype"/></tm:instanceOf> + </tm:topic> + + <!-- description is already defined for the topic-type "service" --> + + <tm:topic id="default-value"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/default-value%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="necessary"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/necessary%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencetype"/></tm:instanceOf> + </tm:topic> + + <!-- association service - url --> + <tm:topic id="has-url"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/has-url%22/%3E + tm:instanceOf<tm:topicRef href="#associationtype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="service-role"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <tm:topic id="url-role"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/url-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <!-- association url - parameter --> + <tm:topic id="has-parameter"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/has-parameter%22/%3E + tm:instanceOf<tm:topicRef href="#associationtype"/></tm:instanceOf> + </tm:topic> + + <!-- url-role is already defined for has-url associations --> + <tm:topic id="parameter-role"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/parameter-role%22/%3E + tm:instanceOf<tm:topicRef href="#roletype"/></tm:instanceOf> + </tm:topic> + + <!-- ===================================================================== --> + <!-- === own datamodel: exclusive type constraint ======================== --> + <!-- ===================================================================== --> + <!-- same instances of the type service, url and parameter are not allowed --> + <tm:topic id="exc"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/exc%22/%3E + tm:instanceOf<tm:topicRef href="#exclusive-instance"/></tm:instanceOf> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#exc"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#description"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === own datamodel: subjectIdentifier constraints ==================== --> + <!-- ===================================================================== --> + <!-- topictype "service": + *psis: 1:1:"^http://textgrid.org/isidorus/.+/.+$" + topictype "url": + *psis: 1:1:"^http://textgrid.org/isidorus/url/.+$" + topictype "parameter" + *psis: 1:1:"^http://textgrid.org/isidorus/parameter/.+$" --> + + <!-- subjectidentifier of service --> + <tm:topic id="sic-service"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/sic-service%22/%3E + tm:instanceOf<tm:topicRef href="#subjectidentifier-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#sic-service"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier of url --> + <tm:topic id="sic-url"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/sic-url%22/%3E + tm:instanceOf<tm:topicRef href="#subjectidentifier-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#sic-url"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + <!-- subjectidentifier of parameter --> + <tm:topic id="sic-parameter"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/sic-parameter%22/%3E + tm:instanceOf<tm:topicRef href="#subjectidentifier-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5Ehttp://textgrid.org/servicer...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#sic-parameter"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === own datamodel: subjectLocator constraints ======================= --> + <!-- ===================================================================== --> + <!-- topictype "service": + *locators: 0 + topictype "url": + *locators: 0 + topictype "parameter" + *locators: 0 --> + + <tm:topic id="slc-service-url-parameter"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/slc-service-url-parameter%22/%3E + tm:instanceOf<tm:topicRef href="#subjectlocator-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.*$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#slc-service-url-parameter"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#slc-service-url-parameter"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#slc-service-url-parameter"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === own datamodel: name constraints ================================= --> + <!-- ===================================================================== --> + <!-- topictype "service": + *names: service-name:1:1:"^.+$" + topictype "param": + *names: param-name:1:1:"^.+$" --> + + <!-- service-name --> + <tm:topic id="service-name-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-name-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicname-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.+$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-name-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-name-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#nametype-role"/></tm:type> + <tm:topicRef href="#service-name"/> + </tm:role> + </tm:association> + + <!-- parameter-name --> + <tm:topic id="parameter-name-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/parameter-name-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicname-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.+$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#parameter-name-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#parameter-name-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#nametype-role"/></tm:type> + <tm:topicRef href="#parameter-name"/> + </tm:role> + </tm:association> + + <!-- ===================================================================== --> + <!-- === own datamodel: occurence constraints ============================ --> + <!-- ===================================================================== --> + <!-- topictype "service": + *occurrences: service-key:1:1:"^.+$":xml:string + *occurrences: description:0:1:".*":xml:string + *occurrences: service-type:0:1:".*":xml:string + *occurrences: service-environment:1:1:"^.+$":xml:string + topictype "url": + *occurrences: url-content:1:1:"^.+$" + topictype "param": + *occurrences: description:0:1:".*" + *occurrences: default-value:0:1:".*" + *occurrences: necessary:0:1"(true|TRUE|false|FALSE)":xml:boolean --> + + <!-- service-key occurrence --> + <tm:topic id="service-key-occurrence-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-key-occurrence-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicoccurrence-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.+$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-key-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#service-key"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-key-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + <!-- description occurrence --> + <tm:topic id="description-occurrence-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/description-occurrence-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicoccurrence-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.*</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#description-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#description"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#description-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#description-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + + <!-- string datatype --> + <tm:topic id="string-datatype-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/string-datatype-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencedatatype-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#datatype"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ehttp://www.w3.org/2001/XMLSchem...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#description"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#service-type"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#service-environment"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#default-value"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#string-datatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#service-key"/> + </tm:role> + </tm:association> + + + <!-- anyUri datatype --> + <tm:topic id="anyUri-datatype-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/anyUri-datatype-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#occurrencedatatype-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#datatype"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ehttp://www.w3.org/2001/XMLSchem...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#anyUri-datatype-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#url-content"/> + </tm:role> + </tm:association> + + + <!-- service-type occurrence --> + <tm:topic id="service-type-occurrence-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-type-occurrence-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicoccurrence-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.*$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-type-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#service-type"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-type-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + + <!-- service-environment occurrence --> + <tm:topic id="service-environment-occurrence-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-environment-occurrence-constraint%... + tm:instanceOf<tm:topicRef href="#topicoccurrence-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.+$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-environment-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#service-environment"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-environment-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + + <!-- url-content occurrence --> + <tm:topic id="url-content-occurrence-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/url-content-occurrence-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicoccurrence-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E.+$</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-content-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#url-content"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-content-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + + <!-- default-value occurrence --> + <tm:topic id="default-value-occurrence-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/default-value-occurrence-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#topicoccurrence-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#regexp"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E.*</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#default-value-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#occurrencetype-role"/></tm:type> + <tm:topicRef href="#default-value"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#default-value-occurrence-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + <tm:topic id="paraeter-necessary-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/paraeter-necessary-constraint%22/%3E + tm:instanceOf + <tm:topicRef href="#topicoccurrence-constraint"/> + </tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E0</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#regexp"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3E%5E(true)%7C(TRUE)%7C(false)%7C...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#paraeter-necessary-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#topictype-role"/> + </tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type + <tm:topicRef href="#applies-to"/> + </tm:type> + tm:role + tm:type + <tm:topicRef href="#constraint-role"/> + </tm:type> + <tm:topicRef href="#paraeter-necessary-constraint"/> + </tm:role> + tm:role + tm:type + <tm:topicRef href="#occurrencetype-role"/> + </tm:type> + <tm:topicRef href="#necessary"/> + </tm:role> + </tm:association> + +<!-- Don't know what the following lines do --> + +<tm:topic id="boolean-datatype-constraint"> +<tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/boolean-datatype-constraint%22/%3E +tm:instanceOf +<tm:topicRef href="#occurrencedatatype-constraint"/> +</tm:instanceOf> +tm:occurrence +tm:type +<tm:topicRef href="#datatype"/> +</tm:type> +<tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ehttp://www.w3.org/2001/XMLSchem...</tm:resourceData> +</tm:occurrence> +</tm:topic> +tm:association +tm:type +<tm:topicRef href="#applies-to"/> +</tm:type> +tm:role +tm:type +<tm:topicRef href="#constraint-role"/> +</tm:type> +<tm:topicRef href="#boolean-datatype-constraint"/> +</tm:role> +tm:role +tm:type +<tm:topicRef href="#occurrencetype-role"/> +</tm:type> +<tm:topicRef href="#necessary"/> +</tm:role> +</tm:association> + + + <!-- ===================================================================== --> + <!-- === own datamodel: association (-role) constraints ================== --> + <!-- ===================================================================== --> + <!-- association "has-url": + *roles: service-role:service:1:1 + *roles: url-role:url:1:1 + association "has-param" + *roles: url-role:url:1:1 + *roles: parameter-role:parameter:1:1 --> + + <!-- the service-role has to appear exactly once in an association of type + has-url --> + <tm:topic id="service-role-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-role-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#associationrole-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-role-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#associationtype-role"/></tm:type> + <tm:topicRef href="#has-url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-role-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#roletype-role"/></tm:type> + <tm:topicRef href="#service-role"/> + </tm:role> + </tm:association> + + + <!-- the service-role owns a player of the type servie --> + <tm:topic id="service-role-player-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/service-role-player-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#roleplayer-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-role-player-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-role-player-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#associationtype-role"/></tm:type> + <tm:topicRef href="#has-url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#service-role-player-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#roletype-role"/></tm:type> + <tm:topicRef href="#service-role"/> + </tm:role> + </tm:association> + + + <!-- otherrole-constraint: + If there is a role of the type service-role with a player of the type + service there must be another role of the type url-role with a player + of the type url. --> + <tm:topic id="has-url-otherrole-constraint-for-service"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/has-url-otherrole-constraint-for-service%2... + tm:instanceOf<tm:topicRef href="#otherrole-constraint"/></tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-url-otherrole-constraint-for-service"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#associationtype-role"/></tm:type> + <tm:topicRef href="#has-url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-url-otherrole-constraint-for-service"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#roletype-role"/></tm:type> + <tm:topicRef href="#service-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-url-otherrole-constraint-for-service"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#service"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-url-otherrole-constraint-for-service"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#otherroletype-role"/></tm:type> + <tm:topicRef href="#url-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-url-otherrole-constraint-for-service"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#othertopictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + + <!-- the url-role has to appear exactly once in an association of type + has-parameter --> + <tm:topic id="url-role-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/url-role-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#associationrole-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-role-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#associationtype-role"/></tm:type> + <tm:topicRef href="#has-parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-role-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#roletype-role"/></tm:type> + <tm:topicRef href="#url-role"/> + </tm:role> + </tm:association> + + + <!-- the service-role owns a player of the type servie --> + <tm:topic id="url-role-player-constraint"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/url-role-player-constraint%22/%3E + tm:instanceOf<tm:topicRef href="#roleplayer-constraint"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#card-min"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#card-max"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-role-player-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-role-player-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#associationtype-role"/></tm:type> + <tm:topicRef href="#has-parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#url-role-player-constraint"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#roletype-role"/></tm:type> + <tm:topicRef href="#url-role"/> + </tm:role> + </tm:association> + + + <!-- otherrole-constraint: + If there is a role of the type url-role with a player of the type + url there must be another role of the type parameter-role with a player + of the type parameter. --> + <tm:topic id="has-parameter-otherrole-constraint-for-url"> + <tm:subjectIdentifier href="http://textgrid.org/isidorus/tmcl/has-parameter-otherrole-constraint-for-url... + tm:instanceOf<tm:topicRef href="#otherrole-constraint"/></tm:instanceOf> + tm:occurrence + tm:type + <tm:topicRef href="#card-min"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type + <tm:topicRef href="#card-max"/> + </tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#unsignedInt%22%3E1</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint-for-url"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#associationtype-role"/></tm:type> + <tm:topicRef href="#has-parameter"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint-for-url"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#roletype-role"/></tm:type> + <tm:topicRef href="#url-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint-for-url"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#topictype-role"/></tm:type> + <tm:topicRef href="#url"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint-for-url"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#otherroletype-role"/></tm:type> + <tm:topicRef href="#parameter-role"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#applies-to"/></tm:type> + tm:role + tm:type<tm:topicRef href="#constraint-role"/></tm:type> + <tm:topicRef href="#has-parameter-otherrole-constraint-for-url"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#othertopictype-role"/></tm:type> + <tm:topicRef href="#parameter"/> + </tm:role> + </tm:association> + +<!--=========================================================--> +<!--Confserver Services--> +<!--=========================================================--> + +<!--=========================================================--> +<!--Production--> +<!--schema--> + <tm:topic id="service-schema"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/schema%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueschema-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eschema</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-schema"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/schema%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ewww.textgrid.info/schemas/textg...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-schema"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-schema"/> + </tm:role> + </tm:association> + +<!--ns--> + <tm:topic id="service-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/ns%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuens-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ens</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/ns%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://textgrid.info/namespaces...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-ns"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-ns"/> + </tm:role> + </tm:association> + +<!--workflow--> + <tm:topic id="service-workflow"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/workflow%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueworkflow-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eworkflow</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-workflow"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/workflow%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-workflow"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-workflow"/> + </tm:role> + </tm:association> + +<!--authz--> + <tm:topic id="service-authz"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/authz%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueauthz-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eauthz</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-authz"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/authz%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/WebAuth...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="param-authZinstance"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/parameter/production/authZinstance%22/%3... + tm:instanceOf<tm:topicRef href="#parameter"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#parameter-name"/></tm:type> + tm:valueauthZinstance</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#default-value"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etextgridlab.org</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#necessary"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#boolean%22%3Etrue</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-authz"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-authz"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#has-parameter"/></tm:type> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-authz"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#parameter-role"/></tm:type> + <tm:topicRef href="#param-authZinstance"/> + </tm:role> + </tm:association> + +<!--tgauth--> + <tm:topic id="service-tgauth"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/tgauth%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgauth-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgauth</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-tgauth"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/tgauth%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/tgauth/...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-tgauth"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-tgauth"/> + </tm:role> + </tm:association> + +<!--tgsearch--> + <tm:topic id="service-tgsearch"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/tgsearch%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgsearch-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgsearch</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-tgsearch"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/tgsearch%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/axis2/s...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-tgsearch"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-tgsearch"/> + </tm:role> + </tm:association> + +<!--tgcrud--> + <tm:topic id="service-tgcrud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/tgcrud%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgcrud-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgcrud</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-tgcrud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/tgcrud%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/axis2/s...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-tgcrud"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-tgcrud"/> + </tm:role> + </tm:association> + +<!--logservice--> + <tm:topic id="service-logservice"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/logservice%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuelogservice-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Elogservice</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-logservice"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/logservice%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/axis2/s...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-logservice"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-logservice"/> + </tm:role> + </tm:association> + +<!--exist--> + <tm:topic id="service-exist"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/exist%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueexist-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eexist</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-exist"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/exist%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/exist/s...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-exist"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-exist"/> + </tm:role> + </tm:association> + +<!--rdf-repository--> + <tm:topic id="service-rdf-repository"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/rdf-repository%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuerdf-repository-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Erdf-repository</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-rdf-repository"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/rdf-repository%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/openrdf...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-rdf-repository"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-rdf-repository"/> + </tm:role> + </tm:association> + +<!--last-api-change--> + <tm:topic id="service-last-api-change"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/last-api-change%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuelast-api-change-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Elast-api-change</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-last-api-change"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/last-api-change%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3E2009-01-21</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-last-api-change"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-last-api-change"/> + </tm:role> + </tm:association> + +<!--webpublish--> + <tm:topic id="service-webpublish"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/production/webpublish%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuewebpublish-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eproduction</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ewebpublish</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="url-webpublish"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/production/webpublish%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://textgrid-ws2.gwdg.de/tei...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#service-webpublish"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#url-webpublish"/> + </tm:role> + </tm:association> + +<!--=========================================================--> +<!--Testing--> +<!--schema--> + <tm:topic id="testing-service-schema"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/schema%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueschema-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eschema</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-schema"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/schema%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ewww.textgrid.info/schemas/textg...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-schema"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-schema"/> + </tm:role> + </tm:association> + +<!--ns--> + <tm:topic id="testing-service-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/ns%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuens-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ens</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/ns%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://textgrid.info/namespaces...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-ns"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-ns"/> + </tm:role> + </tm:association> + +<!--workflow--> + <tm:topic id="testing-service-workflow"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/workflow%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueworkflow-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eworkflow</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-workflow"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/workflow%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-workflow"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-workflow"/> + </tm:role> + </tm:association> + +<!--authz--> + <tm:topic id="testing-service-authz"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/authz%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueauthz-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eauthz</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-authz"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/authz%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/WebAuth...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-param-authZinstance"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/parameter/testing/authZinstance%22/%3E + tm:instanceOf<tm:topicRef href="#parameter"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#parameter-name"/></tm:type> + tm:valueauthZinstance</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#default-value"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eingrid-8081</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#necessary"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#boolean%22%3Etrue</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-authz"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-authz"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#has-parameter"/></tm:type> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-authz"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#parameter-role"/></tm:type> + <tm:topicRef href="#testing-param-authZinstance"/> + </tm:role> + </tm:association> + +<!--tgauth--> + <tm:topic id="testing-service-tgauth"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/tgauth%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgauth-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgauth</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-tgauth"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/tgauth%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-tgauth"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-tgauth"/> + </tm:role> + </tm:association> + +<!--tgsearch--> + <tm:topic id="testing-service-tgsearch"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/tgsearch%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgsearch-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgsearch</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-tgsearch"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/tgsearch%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-tgsearch"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-tgsearch"/> + </tm:role> + </tm:association> + +<!--tgcrud--> + <tm:topic id="testing-service-tgcrud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/tgcrud%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgcrud-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgcrud</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-tgcrud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/tgcrud%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-tgcrud"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-tgcrud"/> + </tm:role> + </tm:association> + +<!--logservice--> + <tm:topic id="testing-service-logservice"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/logservice%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuelogservice-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Elogservice</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-logservice"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/logservice%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-logservice"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-logservice"/> + </tm:role> + </tm:association> + +<!--exist--> + <tm:topic id="testing-service-exist"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/exist%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueexist-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eexist</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-exist"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/exist%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-exist"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-exist"/> + </tm:role> + </tm:association> + +<!--rdf-repository--> + <tm:topic id="testing-service-rdf-repository"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/rdf-repository%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuerdf-repository-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Erdf-repository</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-rdf-repository"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/rdf-repository%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-rdf-repository"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-rdf-repository"/> + </tm:role> + </tm:association> + +<!--last-api-change--> + <tm:topic id="testing-service-last-api-change"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/last-api-change%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuelast-api-change-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Elast-api-change</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-last-api-change"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/last-api-change%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3E2009-01-21</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-last-api-change"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-last-api-change"/> + </tm:role> + </tm:association> + +<!--webpublish--> + <tm:topic id="testing-service-webpublish"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/testing/webpublish%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuewebpublish-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etesting</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ewebpublish</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="testing-url-webpublish"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/testing/webpublish%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://textgrid-ws2.gwdg.de/tei...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#testing-service-webpublish"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#testing-url-webpublish"/> + </tm:role> + </tm:association> + +<!--=========================================================--> +<!--Development--> +<!--schema--> + <tm:topic id="dev-service-schema"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/schema%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueschema-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eschema</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-schema"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/schema%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ewww.textgrid.info/schemas/textg...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-schema"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-schema"/> + </tm:role> + </tm:association> + +<!--ns--> + <tm:topic id="dev-service-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/ns%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuens-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ens</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-ns"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/ns%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://textgrid.info/namespaces...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-ns"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-ns"/> + </tm:role> + </tm:association> + +<!--workflow--> + <tm:topic id="dev-service-workflow"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/workflow%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueworkflow-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eworkflow</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-workflow"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/workflow%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-workflow"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-workflow"/> + </tm:role> + </tm:association> + +<!--authz--> + <tm:topic id="dev-service-authz"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/authz%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueauthz-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eauthz</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-authz"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/authz%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttps://textgridlab.org/Portal/...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-param-authZinstance"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/parameter/development/authZinstance%22/%... + tm:instanceOf<tm:topicRef href="#parameter"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#parameter-name"/></tm:type> + tm:valueauthZinstance</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#default-value"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eingrid-8082</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#necessary"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#boolean%22%3Etrue</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-authz"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-authz"/> + </tm:role> + </tm:association> + + tm:association + tm:type<tm:topicRef href="#has-parameter"/></tm:type> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-authz"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#parameter-role"/></tm:type> + <tm:topicRef href="#dev-param-authZinstance"/> + </tm:role> + </tm:association> + +<!--tgauth--> + <tm:topic id="dev-service-tgauth"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/tgauth%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgauth-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgauth</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-tgauth"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/tgauth%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-tgauth"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-tgauth"/> + </tm:role> + </tm:association> + +<!--tgsearch--> + <tm:topic id="dev-service-tgsearch"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/tgsearch%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgsearch-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgsearch</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-tgsearch"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/tgsearch%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-tgsearch"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-tgsearch"/> + </tm:role> + </tm:association> + +<!--tgcrud--> + <tm:topic id="dev-service-tgcrud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/tgcrud%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuetgcrud-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Etgcrud</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-tgcrud"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/tgcrud%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-tgcrud"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-tgcrud"/> + </tm:role> + </tm:association> + +<!--logservice--> + <tm:topic id="dev-service-logservice"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/logservice%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuelogservice-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Elogservice</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-logservice"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/logservice%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-logservice"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-logservice"/> + </tm:role> + </tm:association> + +<!--exist--> + <tm:topic id="dev-service-exist"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/exist%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valueexist-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Eexist</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-exist"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/exist%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-exist"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-exist"/> + </tm:role> + </tm:association> + +<!--rdf-repository--> + <tm:topic id="dev-service-rdf-repository"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/rdf-repository%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuerdf-repository-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Erdf-repository</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-rdf-repository"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/rdf-repository%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://ingrid.sub.uni-goettinge...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-rdf-repository"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-rdf-repository"/> + </tm:role> + </tm:association> + +<!--last-api-change--> + <tm:topic id="dev-service-last-api-change"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/last-api-change%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuelast-api-change-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Elast-api-change</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-last-api-change"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/last-api-change%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3E2009-01-21</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-last-api-change"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-last-api-change"/> + </tm:role> + </tm:association> + +<!--webpublish--> + <tm:topic id="dev-service-webpublish"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/development/webpublish%22/%3E + tm:instanceOf<tm:topicRef href="#service"/></tm:instanceOf> + tm:name + tm:type<tm:topicRef href="#service-name"/></tm:type> + tm:valuewebpublish-name</tm:value> + </tm:name> + tm:occurrence + tm:type<tm:topicRef href="#service-environment"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Edevelopment</tm:resourceData> + </tm:occurrence> + tm:occurrence + tm:type<tm:topicRef href="#service-key"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#string%22%3Ewebpublish</tm:resourceData> + </tm:occurrence> + </tm:topic> + + <tm:topic id="dev-url-webpublish"> + <tm:subjectIdentifier href="http://textgrid.org/serviceregistry/url/development/webpublish%22/%3E + tm:instanceOf<tm:topicRef href="#url"/></tm:instanceOf> + tm:occurrence + tm:type<tm:topicRef href="#url-content"/></tm:type> + <tm:resourceData datatype="http://www.w3.org/2001/XMLSchema#anyUri%22%3Ehttp://textgrid-ws2.gwdg.de/tei...</tm:resourceData> + </tm:occurrence> + </tm:topic> + + tm:association + tm:type<tm:topicRef href="#has-url"/></tm:type> + tm:role + tm:type<tm:topicRef href="#service-role"/></tm:type> + <tm:topicRef href="#dev-service-webpublish"/> + </tm:role> + tm:role + tm:type<tm:topicRef href="#url-role"/></tm:type> + <tm:topicRef href="#dev-url-webpublish"/> + </tm:role> + </tm:association> + +</tm:topicMap> +