topicMap
|
|--- topic *
|    |
|    |--- instanceOf *
|    |       ( topicRef | subjectIndicatorRef )
|    |--- subjectIdentity ?
|    |       ( topicRef | subjectIndicatorRef ) *
|    |       resourceRef ?
|    |--- baseName *
|    |    |
|    |    |--- baseNameString
|    |    |--- scope ?
|    |    |       ( topicRef | subjectIndicatorRef | resourceRef ) +
|    |    +--- variant *
|    |         |
|    |         |--- parameters
|    |         |       ( topicRef | subjectIndicatorRef ) +
|    |         |--- variantName ?
|    |         |       ( resourceRef | resourceData )
|    |         +--- variant *
|    |                 -> recursive
|    +--- occurrence *
|         |
|         |--- ( resourceRef | resourceData )
|         |--- instanceOf ?
|         |       ( topicRef | subjectIndicatorRef )
|         +--- scope ?
|                 ( topicRef | subjectIndicatorRef | resourceRef ) +
|
|--- association *
|    |
|    |--- instanceOf ?
|    |       ( topicRef | subjectIndicatorRef )
|    |--- scope ?
|    |       ( topicRef | subjectIndicatorRef | resourceRef ) +
|    +--- member +
|         |
|         |--- ( topicRef | subjectIndicatorRef | resourceRef ) *
|         +--- roleSpec ?
|                 ( topicRef | subjectIndicatorRef )
|
+--- mergeMap *
        ( topicRef | subjectIndicatorRef | resourceRef ) *

Legend

  Mandatory Single
+ Mandatory Repeatable
? Optional  Single
* Optional  Repeatable

topicRef            -> xlink:href (Reference to a Topic element)
subjectIndicatorRef -> xlink:href (Reference to a Subject Indicator)
resourceRef         -> xlink:href (Reference to a Resource)
baseNameString      -> #PCDATA
resourceData        -> #PCDATA