<!-- ............................................................. -->
<!-- XML Topic Map DTD  .......................................... -->
<!-- file: xtm1.dtd
-->
<!-- XML Topic Map (XTM) DTD, Version 1.0

     This is XTM, an XML interchange syntax for ISO 13250 Topic Maps.

     XML Topic Map (XTM)
       Copyright 2000-2001 TopicMaps.Org, All Rights Reserved.

     Permission to use, copy, modify and distribute the XTM DTD and its
     accompanying materials for any purpose and without fee is hereby
     granted in perpetuity, provided that the above copyright notice and
     this paragraph appear in all copies. The copyright holders make no
     representation about the suitability of the DTD for any purpose. It
     is provided "as is" without expressed or implied warranty.

        Editors:    Steve Pepper      <pepper@ontopia.net>
                    Graham Moore      <gdm@empolis.co.uk>
        Authors:    Murray Altheim    <altheim@eng.sun.com>
                    Michel Biezunski  <mb@infoloom.com>
                    Sam Hunting       <shunting@etopicality.com>
                    Steven R. Newcomb <srn@coolheads.com>
        Status:     Release
        Version:    v1.0.1
        Revision:   $Id: xtm1.dtd,v 1.2 2001/02/08 16:03:12 pepper Exp $
        PublicId:   "-//TopicMaps.Org//DTD XML Topic Map (XTM) 1.0//EN"

        Revisions:
#2001-01-21: removed baseName from occurrence
#2001-02-02: made variantName optional in variant
#2001-02-02: changed ID to #IMPLIED on association
#2001-02-02: changed ID to #IMPLIED on resourceData
#2001-02-02: changed PLUS to REP on member

-->
<!-- Use this URI to identify the default XTM namespace:

         "http://www.topicMaps.org/xtm/1.0/"

     Used to identify the XLink namespace:

         "http://www.w3.org/1999/xlink"
-->

<!-- topicMap: Topic Map document element ........................ -->

<!ELEMENT topicMap
   ( topic | association | mergeMap )*
>
<!ATTLIST topicMap
   id              ID        #IMPLIED
   xmlns           CDATA     #FIXED 'http://www.topicmaps.org/xtm/1.0/'
   xmlns:xlink     CDATA     #FIXED 'http://www.w3.org/1999/xlink'
   xml:base        CDATA     #IMPLIED
>

<!-- topic: Topic element ........................................ -->

<!ELEMENT topic
   ( instanceOf*, subjectIdentity?, ( baseName | occurrence )* )
>
<!ATTLIST topic
   id              ID        #REQUIRED
>

<!-- instanceOf: Points To a Topic representing a class .......... -->

<!ELEMENT instanceOf  ( topicRef | subjectIndicatorRef ) >
<!ATTLIST instanceOf
   id              ID        #IMPLIED
>

<!-- subjectIdentity: Subject reified by Topic ................... -->

<!ELEMENT subjectIdentity
   ( resourceRef?, ( topicRef | subjectIndicatorRef )* )
>
<!ATTLIST subjectIdentity
   id              ID        #IMPLIED
>

<!-- topicRef: Reference to a Topic element ...................... -->

<!ELEMENT topicRef  EMPTY >
<!ATTLIST topicRef
   id              ID        #IMPLIED
   xlink:type      NMTOKEN   #FIXED 'simple'
   xlink:href      CDATA     #REQUIRED
>

<!-- subjectIndicatorRef: Reference to a Subject Indicator ....... -->

<!ELEMENT subjectIndicatorRef  EMPTY >
<!ATTLIST subjectIndicatorRef
   id              ID        #IMPLIED
   xlink:type      NMTOKEN   #FIXED 'simple'
   xlink:href      CDATA     #REQUIRED
>

<!-- baseName: Base Name of a Topic .............................. -->

<!ELEMENT baseName  ( scope?, baseNameString, variant* ) >
<!ATTLIST baseName
   id              ID        #IMPLIED
>

<!-- baseNameString: Base Name String container .................. -->

<!ELEMENT baseNameString  ( #PCDATA ) >
<!ATTLIST baseNameString
   id              ID        #IMPLIED
>

<!-- variant: Alternate forms of Base Name ....................... -->

<!ELEMENT variant  ( parameters, variantName?, variant* ) >
<!ATTLIST variant
   id              ID        #IMPLIED
>

<!-- variantName: Container for Variant Name ..................... -->

<!ELEMENT variantName  ( resourceRef | resourceData ) >
<!ATTLIST variantName
   id              ID        #IMPLIED
>

<!-- parameters: Processing context for Variant .................. -->

<!ELEMENT parameters  ( topicRef | subjectIndicatorRef )+ >
<!ATTLIST parameters
   id              ID        #IMPLIED
>

<!-- occurrence: Resources regarded as an Occurrence ............. -->

<!ELEMENT occurrence
   ( instanceOf?, scope?, ( resourceRef | resourceData ) )
>
<!ATTLIST occurrence
   id              ID        #IMPLIED
>

<!-- resourceRef: Reference to a Resource ........................ -->

<!ELEMENT resourceRef  EMPTY >
<!ATTLIST resourceRef
   id              ID        #IMPLIED
   xlink:type      NMTOKEN   #FIXED 'simple'
   xlink:href      CDATA     #REQUIRED
>

<!-- resourceData: Container for Resource Data ................... -->

<!ELEMENT resourceData  ( #PCDATA ) >
<!ATTLIST resourceData
   id              ID        #IMPLIED
>

<!-- association: Topic Association  ............................. -->

<!ELEMENT association
   ( instanceOf?, scope?, member+ )
>
<!ATTLIST association
   id              ID        #IMPLIED
>

<!-- member: Member in Topic Association ......................... -->

<!ELEMENT member
   ( roleSpec?, ( topicRef | resourceRef | subjectIndicatorRef )* )
>
<!ATTLIST member
   id              ID        #IMPLIED
>

<!-- roleSpec: Points to a Topic serving as an Association Role .. -->

<!ELEMENT roleSpec  ( topicRef | subjectIndicatorRef ) >
<!ATTLIST roleSpec
   id              ID        #IMPLIED
>

<!-- scope: Reference to Topic(s) that comprise the Scope ........ -->

<!ELEMENT scope  ( topicRef  | resourceRef | subjectIndicatorRef )+ >
<!ATTLIST scope
   id              ID        #IMPLIED
>

<!-- mergeMap: Merge with another Topic Map ...................... -->

<!ELEMENT mergeMap  ( topicRef | resourceRef | subjectIndicatorRef )* >
<!ATTLIST mergeMap
   id              ID        #IMPLIED
   xlink:type      NMTOKEN   #FIXED 'simple'
   xlink:href      CDATA     #REQUIRED
>

<!-- end of XML Topic Map (XTM) 1.0 DTD -->
