[sc34wg3] How to process <mergeMap> and added scopes?

Geir Ove Grønmo sc34wg3@isotopicmaps.org
Mon, 16 Jan 2006 16:28:02 +0100


The current XTM specification document does not include <mergeMap>
anymore, but I suspect that the previous definition of <mergeMap> was
severely underspecified. That is definitely true for the original XTM
1.0 document.

Here are a few XTM documents that one should consider the result of
having processed:

1. Does added scope apply to nested <mergeMap>s? Example: what is the
result of processing document A? How many scoping topics does the base
name with id="bn" have?

  A:
  <topicMap>
    <mergeMap xlink:href="B"/>
      <topicRef xlink:href="#theme1"/>
    </mergeMap>
  </topicMap>

  B:
  <topicMap>
    <mergeMap xlink:href="C">
      <topicRef xlink:href="#theme2"/>
    </mergeMap>
  </topicMap>

  C:
  <topicMap>
    <topic>
      <baseName id="bn1"><baseNameString>My topic</baseNameString></baseName
    </topic>
  </topicMap>

2. What happens if nested <mergeMap>s are recursive and added scopes
are used? Example: what is the result of processing document D?

  D:
  <topicMap>
    <mergeMap xlink:href="E"/>
      <topicRef xlink:href="#theme2"/>
    </mergeMap>
  </topicMap>

  E:
  <topicMap>
    <mergeMap xlink:href="D">
      <topicRef xlink:href="#theme1"/>
    </mergeMap>
  </topicMap>

3. What happens if multiple <mergeMap>s reference the same document
with different added scopes? Example: what is the result of processing
document F?

  F:
  <topicMap>
    <mergeMap xlink:href="G"/>
      <topicRef xlink:href="#theme1"/>
    </mergeMap>
    <mergeMap xlink:href="G"/>
      <topicRef xlink:href="#theme2"/>
    </mergeMap>
  </topicMap>

  G:
  <topicMap>
    <topic>
      <baseName id="bn2"><baseNameString>My topic</baseNameString></baseName
    </topic>
  </topicMap>


4. What happens if a <mergeMap>s reference the current document with
added scopes? Example: what is the result of processing document H?

  H:
  <topicMap>
    <mergeMap xlink:href="H"/>
    <mergeMap xlink:href="H"/>
      <topicRef xlink:href="#theme1"/>
    </mergeMap>
    <mergeMap xlink:href="H"/>
      <topicRef xlink:href="#theme2"/>
    </mergeMap>
  </topicMap>

--
Geir O.