Infoloom
Semantic Integration Technologies
Michel Biezunski
Brooklyn, New York
mb@infoloom.com

The XTM DTD

See also the annotated, hyperlinked, version of the XTM DTD and simple examples of XTM code.


<!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
>

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

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

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

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

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

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

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

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

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

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

<!ELEMENT occurrence
     ( instanceOf?, scope?, ( resourceRef | resourceData ) )
>

<!ATTLIST occurrence
     id              ID        #IMPLIED
>

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

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

<!ELEMENT association
     ( instanceOf?, scope?, member+ )
>

<!ATTLIST association
     id              ID        #IMPLIED
>

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

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

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

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

Customers
Customers' Products

Partners
Mailing lists
Organizations

Presentations

Bio
Contact me

© 2005, Michel Biezunski