<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE topicMap SYSTEM "xtm1.dtd"> <topicMap id="itm" xmlns="http://www.topicmaps.org/xtm/1.0/" xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- The InterOperabillity Topic Map This file (itm.xtm) contains all topic, association, occurrence and role types necessary to define a Business Map Author: Marc de Graauw, marc@marcdegraauw.com Copyright Marc de Graauw 2002 TODO: - Add subject identity where possible --> <!-- ================================================================ Topic types document: a business document, i.e. "Order" item: an item in a document, i.e. "order date" domain: a data type, i.e. "date" ================================================================= --> <topic id="document"> <baseName> <baseNameString>Document</baseNameString> </baseName> </topic> <topic id="item"> <baseName> <baseNameString>Item</baseNameString> </baseName> </topic> <topic id="domain"> <baseName> <baseNameString>Domain</baseNameString> </baseName> </topic> <!-- ================================================================ Occurrence types definition: a data definition as stored in a vocabulary datatype: a definition of a data type as stored in a vocabulary ================================================================= --> <topic id="definition"> <baseName> <baseNameString>Data definition</baseNameString> </baseName> </topic> <topic id="datatype"> <baseName> <baseNameString>Datatype</baseNameString> </baseName> </topic> <!-- ================================================================ Association types composition: a document is composed of items, i.e. "Order" is composed of "order date", "adress" et cetera document_mapping: a document maps onto another, i.e. "Order" maps onto "Purchase Order" item_mapping: an item maps onto another item, i.e. "order date" maps onto "purchase order date" item_mapping is an association type type, the following association types are instances unidirectional_mapping: one-way item mapping, the reverse mapping is not allowed bidirectional_mapping: two-way mapping (equivalence) transformation: some tranformation is needed chop: a mapping where trailing characters may be removed, i.e. "string" to "AN24" pad: item is padded with spaces, i.e. "AN4" to "AN6" to_yyyymmdd: date conversion to YYYYMMDD format ================================================================= --> <topic id="composition"> <baseName> <baseNameString>Document composition</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#containing-document"/> </scope> <baseNameString>is composed of</baseNameString> </baseName> </topic> <topic id="document_mapping"> <baseName> <baseNameString>maps onto</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_document"/> </scope> <baseNameString>is mapped onto</baseNameString> </baseName> </topic> <!-- item_mapping is a superclass for association types which are Item Mappings --> <topic id="item_mapping"> <baseName> <baseNameString>Item-to-item mapping</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_item"/> </scope> <baseNameString>is mapped onto</baseNameString> </baseName> </topic> <topic id="unidirectional_mapping"> <instanceOf> <topicRef xlink:href="#item_mapping"/> </instanceOf> <baseName> <baseNameString>is subset of</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_item"/> </scope> <baseNameString>is superset of</baseNameString> </baseName> </topic> <topic id="bidirectional_mapping"> <instanceOf> <topicRef xlink:href="#item_mapping"/> </instanceOf> <baseName> <baseNameString>is equivalent to</baseNameString> </baseName> </topic> <topic id="transformation"> <instanceOf> <topicRef xlink:href="#item_mapping"/> </instanceOf> <baseName> <baseNameString>can be transformed to</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_item"/> </scope> <baseNameString>can be transformed from</baseNameString> </baseName> </topic> <topic id="chop"> <instanceOf> <topicRef xlink:href="#item_mapping"/> </instanceOf> <baseName> <baseNameString>maps onto (after removing trailing characters)</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_item"/> </scope> <baseNameString>is mapped from (after removing trailing characters)</baseNameString> </baseName> </topic> <topic id="pad"> <instanceOf> <topicRef xlink:href="#item_mapping"/> </instanceOf> <baseName> <baseNameString>maps onto (after padding with spaces)</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_item"/> </scope> <baseNameString>is mapped from (after padding with spaces)</baseNameString> </baseName> </topic> <topic id="to_yyyymmdd"> <instanceOf> <topicRef xlink:href="#item_mapping"/> </instanceOf> <baseName> <baseNameString>maps onto (after transformation to YYYYMMDD)</baseNameString> </baseName> <baseName> <scope> <topicRef xlink:href="#destination_item"/> </scope> <baseNameString>is mapped from (after transformation to YYYYMMDD)</baseNameString> </baseName> </topic> <!-- ================================================================ Role types A composition has roles: - containing-document - optional-item - required-item An item_mapping has roles: - source_item - destination_item An document_mapping has roles: - source_document - destination_document ================================================================= --> <!-- Roles in association: composition --> <topic id="containing-document"> <baseName> <baseNameString>Containing Document</baseNameString> </baseName> </topic> <topic id="optional-item"> <baseName> <baseNameString>Message Item (optional)</baseNameString> </baseName> </topic> <topic id="required-item"> <baseName> <baseNameString>Message Item (required)</baseNameString> </baseName> </topic> <!-- Roles in (subclasses of) association: item_mapping --> <topic id="source_item"> <baseName> <baseNameString>Source item</baseNameString> </baseName> </topic> <topic id="destination_item"> <baseName> <baseNameString>Destination item</baseNameString> </baseName> </topic> <!-- Roles in association: document_mapping --> <topic id="source_document"> <baseName> <baseNameString>Source document</baseNameString> </baseName> </topic> <topic id="destination_document"> <baseName> <baseNameString>Destination document</baseNameString> </baseName> </topic> </topicMap>