13250

First

September 21, 1998

E

ISO/IEC 13250

Topic Navigation Maps

Document Processing and Relating Communication

Document Description and Processing Languages

`Because the U.S. Department of Energy has supported the development of SC34's standards (under contract DE-AC05-84OR21400), it makes the following assertion: The U.S. Government retains a paid-up, nonexclusive, irrevocable, world-wide license to publish or reproduce the published form of this document, prepare derivative works, distribute copies to the public, and perform publicly and display publicly, or to allow others to do so, for U.S. Government purposes.'

1

34

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the system for worldwide participatory standardization of computer-related information interchange representations such as this International Standard. National bodies that are members of ISO or IEC participate in the development of International Standards through Technical Committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work.

In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75% of the national bodies casting a vote.

International Standard ISO/IEC 13250 was prepared by Joint Technical Committee 1 (JTC1), Information Technology.

Introduction

This International Standard provides a standardized notation for interchangeably representing information about the structure of information resources used to define topics, and the relationships between topics. A set of one or more interrelated documents that employs the notation defined by this Standard is called a Topic Navigation Map (TNM). In general, the structural information conveyed by TNMs includes:

  • groupings of addressable information objects. Objects so grouped are said to form a topic (or, are said to share the semantics of the topic).

  • relationships between topics ( associations ).

In TNMs, a topic consists of locations where information relevant to a particular concept can be found. A TNM defines a multidimensional topic space - a space in which the only locations are topics, and in which the distances between topics are measurable in terms of the number of intervening topics which must be visited in order to get from one topic to another, and the kinds of relationships that define the path from one topic to another, if any, through the intervening topics, if any.

For example, two topics may be connected through an association and they can be connected by virtue of sharing a single occurrence.

In addition, information objects can have properties, as well as values for those properties, assigned to them externally. These properties are called facet types .

The word facet means at the same time one side of a many-sided, polished object, and one segment of a compound eye (e.g. an insect's). Its use here captures the idea that a facet is a property of a set of information objects that can be used to create a view of them.

Several topic navigation maps can provide topical structure information about the same information resources. The TNM architecture is designed to facilitate merging TNMs without requiring the merged TNMs to be copied or modified. Because of their extrinsic character, TNMs can be thought of as overlays on, or extensions to, sets of information objects. The base notation of TNMs is SGML; an interchangeable Topic Navigation Map always consists of at least one SGML document, and it may include and/or refer to other kinds information resources.

As the Extensible Markup Language (XML), a World Wide Web Consortium recommendation, is a subset of SGML, as explained in annex K of SGML (1997), also known as WebSGML. XML can be also used as a base notation for TNMs.

The TNM notation is defined as an SGML Architecture , and this Standard takes the form of an architecture definition document expressed in conformance with Normative Annex A.3 of ISO/IEC 10744:1997, the SGML Architectural Form Definition Requirements (AFDR). The formal definition of the TNM notation is expressed as a meta-DTD.

Scope

Topic navigation maps enable multiple, concurrent views of information objects. These views may be object oriented, relational, hierarchical, a combination of these, and/or other views. An unlimited number of topic navigation maps may be overlaid on a given bounded object set.

Topic navigation maps may assign properties to information objects for the following applications, among others:

  • Qualifying the content and/or data contained in information objects as topics to enable navigational tools like indexes, cross-references, citation systems, or glossaries.

  • Linking topics to enable navigation between them, which might result in virtual document assembly, thesaurus-like interfaces to corpora, knowledge bases, etc.

  • Filtering an information set to create views adapted to specific users or purposes, for example, management of multilingual documents, management of access modes depending on security criteria, delivery of partial views depending on user profiles, semantic domains, etc.

  • Structuring unstructured information objects, or merging unstructured information bases with structured ones. The overlay mechanism of topic navigation maps can be considered as an external markup mechanism , in the sense that an arbitrary structure is imposed on the information without altering its original form.

This standard does not require or disallow the use of any addressing scheme for locating information objects, or any notation used to express information.

Normative references

8879

10744

Definitions

Added scoping topics

Topics specified as being implicitly present in all the scopes within which topic characteristics are assigned, throughout a TNM document. Added scoping topics can be specified in two ways:

  1. Within the TNM document whose scopes are affected, by means of the added scoping topics ( addscopt ) attribute of the document element, or

  2. Outside the TNM document whose scopes are affected, by means of the added scoping topics ( addscopt ) data attribute of the entity declaration of the affected TNM document's document entity.

Association

User-defined relationship between two or more topics.

Association link

A hyperlink element conforming to the association link architectural form defined by this International Standard. See clause Association link .

Association role

The role played by an anchor of an association.

Association type

Class of an association. It can be specified by means of the type attribute.

Bounded object set

A set of one or more documents and other information objects, all of which are known to the processing application. (See ISO/IEC 10744:1997 for details.)

Facet

A facet is the subset of information objects that share an externally-applied property. The notion of facet also includes the values given to a particular property externally applied to a set of information objects.

Facet link

A hyperlink that applies values for a given property to one or more information objects.

Facet type

Property applied by one or more facet links to one or more objects.

Facet value

One member of the set of all values of a particular facet type.

Hub document

The HyTime document used to define the set of information resources (the bounded object set (BOS) ) that comprise a HyTime hyperdocument. By convention, the document used as the entry point for a browsing session within a hyperdocument is regarded as the hub document. See ISO/IEC 10744:1997 for details. (By definition, a topic navigation map is a HyTime [hyper]document.)

Occurrence role

A sense in which some set of occurrences is relevant to a topic. Occurrence roles can be described by topics.

Public topic

A topic or concept which is authoritatively defined. Both the topic and the defining authority are unambiguously referenced by means of a formal public identifier that appears in an entity declaration. The name of the entity can be specified via the public attribute of a topic link element. All topic link elements within the BOS that specify a given public topic contribute their characteristics to that topic. One of the full names of a public topic is always its formal public identifier; the scope within which it has that name has the PUBLICTOPIC public topic as one of its scoping topics.

An authority may or may not provide the authoritative definition of a public topic in the form of a topic link in a TNM document. The authority may not even be aware of the fact that it is being used as the source of a public topic. It is only necessary that the authority be unambiguously specified, and that the authority provide a unique name for the topic in some unambiguously specifiable namespace.

Scope

A scope describes the limit of the validity of a topic characteristic assignment. A scope can be used to describe the context in which a name or an occurrence is assigned to a given topic, and the context in which other topics are associated with a given topic. This Standard does not require that scopes be specified explicitly. If the scope of a topic characteristic assignment is not specified, the scope within which the topic characteristic applies to the topic is regarded as unconstrained (the scope is `the unconstrained scope' ). If a scope is specified, it consists of a set of topics (the `scoping topics' ). Because sets of topics define the scopes within which topics have their characteristics, complex topic maps can describe themselves in an immediate and powerful fashion.

Therefore, topic maps can be used to document themselves.

A scope is a set of topics (called the `scoping topics' ) that collectively describe limits of the validity of the connection between a characteristic (a name, an occurrence, or a role played in a topic association) of a topic, and that same topic.

Sort key

String that is an alternative representation of a topic name, used for alphabetic or other ordering.

TNM

See Topic Navigation Map.

Topic

A concept that is expressed as a set of zero or more names and zero or more `occurrences' (relevant information objects).

Topic characteristic assignment

Name or occurrence characterizing a topic, or topic related to a given topic.

Topic link

A hyperlink element conforming to the topic link architectural form defined by this International Standard. See clause The Topic Link Architectural Form .

Topic Map

See Topic Navigation Map.

Topic Name

A string of characters specified as a name of a topic. A topic may have zero or more name elements. Each topic name element can contain three variants: the full name, the display name, and the name used as a sort key.

Topic Navigation Map

A topic navigation map (or topic map ) is a set of topic links, association links, and facet links, expressed in conformance with the SGML-based interchange syntax defined by this International Standard.

Topic Occurrence

An information object specified as relevant to a given topic.

Topic Type

A class of topic.

Topic Navigation Map Architecture

The TNM syntax is a model for the interchange of information relevant to topics, associations, and facets; it uses SGML architectural forms based on HyTime hyperlinks. The Topic Navigation Map (TNM) syntax is defined according to the Architectural Form Definition Requirements of ISO/IEC 10744:1997 annex A.3. The notational conventions used herein are the same as those used in ISO/IEC 10744:1997 and described in clause Topic Navigation Map Architecture of that Standard. The TNM syntax makes use of the base, location address, and hyperlinking modules of the HyTime architecture as defined in the same Standard.

The formal definition of the TNM syntax, the TNM meta-DTD, is found in normative Annex A of this Standard.

When interchanged, topic navigation maps are HyTime bounded object sets. The hub document of a bounded object set used as a topic navigation map must contain a TNM architectural support declaration.

An example of a TNM architectural support declaration is given in clause HyTime architectural support declarations

Only one of the hyperlink syntaxes defined by HyTime is used in the TNM syntax: variable link ( varlink ). However, the TNM syntax imposes no limitation on the addressing mechanisms that can be used to express the locations of the objects serving as the anchors of the links. In addition to the specific addressing facilities formally defined by HyTime, any addressing scheme can be used, including proprietary mechanisms defined in any notation.

Topic Navigation Map Document Element Architectural Form

The topic map ( topicmap ) element form is used as the document element of all documents that conform to the Topic Map Architecture.

The added scoping topics ( addscopt ) attribute is used to acknowledge and document the fact that the document contains only topics that are within the scope that it specifies. The effect of a added scoping topics attribute is equivalent to the addition of scoping topics to scopes.

After a topic map document is merged with other topic maps, the contributions that it made to the resulting merged topic map can be distinguished from the contributions of all others by virtue of the fact that everything it contributed continues to appear within the scope of the topic specified by the added scoping topics attribute.

This same facility is also provided for external TNM document entities. See clause Added scoping topics for additional information.

 
<!entity %
   TNMCFC         -- TNM context-free content --
   "topic|assoc|facet"
>
<!element
   topicmap       -- TNM document element --
                  -- Clause: 5.1 --
   - O
   (%TNMCFC;)*
>
<!attlist
  topicmap
   HyTime
      NAME
      HyDoc
   addscopt       -- added scoping topics --
                  -- Scoping topics to add to all scopes that govern
                     the assignments of names, occurrences, and roles played in
                     associations, in this TNM
                     document. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: no added scopes --
   -- bos --      -- HyTime bounded object set --
                  -- HyTime Clause: 6.5.1 --
   maxbos         -- Maximum bounded object set level --
                  -- Bounding level of HyTime bounded object set when
                     document is a hub or subhub. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=hub only) --
      0
   boslevel       -- Bounded object set level --
                  -- Default BOS level used by data entities declared
                     in hub document. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=this entity only) --
      #IMPLIED    -- Default: No HyTime BOS --
-- bosspcat --    -- BOS exception specification attributes --
                  -- HyTime Clause: 6.5.3 --
   bosspec        -- Bounded object set exception specification --
                  -- Adjustments to be made to the bounded object
                     set. --
      IDREFS      -- Reference --
                  -- Reftype: bosspec+ --
                  -- Constraint: must be internal reference --
      #IMPLIED    -- Default: no BOS exception specification --
-- dgrvplan --    -- HyTime document grove plan --
                  -- HyTime Clause: 7.1.4.1 --
   grovplan       -- Grove plan --
                  -- Grove plan for HyTime extended SGML document
                     grove --
      CDATA       -- Reference --
                  -- Reftype: grovplan --
      #IMPLIED    -- Default: HyTime default grove plan --
>

Topic link

The Topic Link Architectural Form

The topic link ( topic ) element form is used to declare a topic. A topic is a concept that is expressed as a set of zero or more names and zero or more relevant pieces of information ( occurrences ). The anchor roles of the link are used to specify the scope of the group of occurrences forming an anchor.

The type ( type ) attribute can be used to reference topics which describe the classes of topic of which the topic specified by the topic link is an instance. Topic map applications must consider the generic identifier of the element conforming to the topic link architectural form to be a name attached to the topics specified by the type attribute within the TOPICTYPE scope (see clause TOPICTYPE ). If there is no topic which explicitly has as one of its full name s the generic identifier of the topic element within the scope of the TOPICTYPE public topic, topic map applications shall consider that such a topic exists implicitly.

The public ( public ) attribute optionally refers to a public topic (see clause Public Topics ). The referenced public topic is said to be the same concept that the topic link element further describes.

The formal public identifier of the referenced public topic is regarded as a full name of the topic within the scope of the PUBLICTOPIC public topic.

A topic may have zero or more occurrences. If a topic has no occurrences, it must have at least one name. If a topic has one occurrence or more, it may have no name. See clause Topic Occurrence .

 
<!element
  topic           -- Topic link --
                  -- Clause: 5.2.1 --
  - O
  ( (name+, occur*) | occur+ )
                  -- Must be at least one name or occurrence --
>
<!attlist
  topic
   HyTime
     (varlink|HyBrid)
     varlink      -- Constraint: varlink must be used when occurrences
                     exist. If topic has no occurrences, it must be declared as
                     a HyTime bridge element. --
   id             -- Unique identifier --
      ID
      #REQUIRED
   public         -- Reference to an existing public topic. --
      ENTITY
      #IMPLIED    -- Default: topic does not reference a
                     public topic. --
   type           -- The classes of topics of which this
                     topic is an instance. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: The generic identifier is considered the
                     name (within the TOPICTYPE scope) of the topic
                     that defines the topic type. If no such topic
                     exists, it is considered to exist by virtue of
                     this defaulting mechanism. --
>

Topic Name

A topic may have zero or more names.

Each topic name element has up to three forms: full name, display name, and sort key, corresponding to the three element types that it can contain:

  • The full name ( fullname ) is the usual name used to designate a topic. It can be a word or a phrase and should be explicit enough to help users differentiate the topic from others.

  • The display name ( dispname ) is the name expected to be displayed by an application to a user. If it is not specified, applications are intended to display the full name.

    For example, the display name can be used to specify an abbreviated name.

  • The name to be used as sort key ( sortname ) may be used when sorting a list of topics. If it is not specified, applications are intended to use the full name as the sort key.

The display name and sort key are regarded as additional names of the topic, implicitly within the additional scopes of DISPNAME and SORTKEY public topics declared in this Standard, respectively. The full name has no additional implicit scope.

The scope ( scope ) attribute of the name element is used to limit the context in which a name is attached to a topic. The scope attribute references the `scoping topics' that collectively define that limited context.

Since this context can be described by the intersection of several criteria, there can be more than one `scoping topic' that defines that limited context.

 
<!element
  name            -- A name of a topic. --
  - O
  (fullname, dispname*, sortname* )
                  -- If dispname or sortname are not specified,
                     applications use fullname.--
>
<!attlist
  name
   scope          -- List of references to scoping topics that
                     collectively define the limited contexts within
                     which the name is applicable to the topic. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: scope is unconstrained. --
>
<!element
  (fullname | dispname | sortname)
   - O
  (#PCDATA)
>

Topic Occurrence

A topic occurrence is any information object that is specified as relevant to the topic. This standard imposes no constraints on the information objects that can be specified as topic occurrences.

Applications may impose such constraints.

Topic occurrences must be categorized by grouping them into sets which share common characteristics, called their occurrence role s. These groupings are specified by topic occurrence ( occur ) elements; these elements conform to the HyTime anchspec architectural form.

One example of an occurrence role is definition. The names used to designate occurrence roles are left open to the topic map designer.

Any given information object can play zero or more occurrence roles in a single topic.

The occurrence role name of an occur element (or, when its occurrence role name is not specified, the generic identifier of this occur element) declares the limited contexts within which a topic has the occurrences referenced by this occur element.

The optional scope ( scope ) attribute specifies the limited contexts within which a topic has the occurrences referenced by the element's content, by referencing one or more scoping topics. If the scope attribute is specified, the scope that it specifies is regarded as the specification of the occurrence role declared by the occur element. If the scope attribute is specified, the value of the occrole attribute, if any, is ignored.

Applications may regard each scoping topic specified via the scope attribute as describing a class of occurrence, and each of the occurrences whose locations are specified in the content of the element as an instance conforming to those classes.

If the scope attribute is not specified, the value of the occurrence role name ( occrole ) attribute specifies the limited contexts within which the information objects referenced in the content of the occur element are regarded as occurrences of the topic. If the occrole attribute is not specified, the generic identifier is regarded as the occurrence role name. The topic link that has the occurrence role name as a full name within the scope of the OCCROLE public topic describes the occurrence role declared by the occur element. If no such topic link exists, such a topic will be automatically created by the TNM application as an implicit topic.

 
<!element
  occur           -- topic occurrence --
                  -- Clause: 5.2.3 --
  - O
  (%loc;)*
>
<!attlist
  occur
   HyTime
      NAME
      #FIXED
      anchspec
   occrole        -- Occurrence role name. --
      NAME
      #IMPLIED    
                  -- Default: occurrence role name is GI of
                     element. --
   scope          -- List of references to scoping topics that
                     collectively define the limited contexts within
                     which the occurrences are applicable to the
                     topic.  Each referenced topic may be regarded as
                     describing a class of occurrence.  --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: The topic which has a name (within the
                     scope of the OCCTYPE public topic) which is the
                     same as the value of the occrole attribute, or,
                     if no value is specified for the occrole
                     attribute, the generic identifier.  Even if no
                     such topic exists in the topic map document(s),
                     it is considered to exist by virtue of this
                     defaulting mechanism. --
   linktrav
      (A|EI|ER|ED|EN|EP|ERD|I|ID|D|N|P|R|RD)
      A
   listtrav
      (A|AW|L|LW|N|R|RW)
      N           -- Default: show the whole list --
   multmem
      (single|list|corlist)
      list
   emptyanc
      (error|noterror)
      error
   HyNames
      CDATA
      "anchrole occrole"
>

Association link

Association link architectural form

The association link ( assoc ) element form is used to express arbitrary relationships between topics. The anchor roles of association links are user-defined.

The scope ( scope ) attribute optionally references topics that define the scopes within which the association is applicable to the topics that serve as anchors of the association link .

The type ( type ) attribute can be used to reference topics which describe the classes of association of which the association specified by the association link is an instance. In addition, topic map applications must consider the generic identifier of the element conforming to the association link architectural form to be a name attached to a topic within the ASSOCTYPE scope (see clause ASSOCTYPE ). If there is no topic which explicitly has as one of its full name s the generic identifier of the assoc element) within the scope of the ASSOCTYPE public topic, topic map applications shall consider that such a topic exists implicitly.

The public ( public ) attribute optionally refers to a public association type. The assoc element is considered to be an instance of the class of association defined by an authority (see clause Public Association Types ).

 
 
<!element assoc   -- association link -- 
                  -- Clause: 5.3.1 -- 
                - O (assocrl)+ >
<!attlist assoc
   HyTime
      NAME
      #FIXED
      varlink
   scope          -- List of references to scoping topics that
                     collectively define the limited contexts within
                     which the association is applicable. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: scope is unconstrained. --
   type           -- The classes of association
                     of which this association is an instance. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: generic identifier. The generic
                     identifier is considered the name (within the
                     ASSOCTYPE scope) of a topic that defines the
                     association type. If no such topic exists, it is
                     considered to exist by virtue of this defaulting
                     mechanism. --
   public         -- Reference to an existing public association
                     type. --
      ENTITY
      #IMPLIED    -- Default: association link does not reference a
                     public association type. --
>

Association role

The association role ( assocrl ) element form specifies a user-defined role played by one or more specific topics in the association specified by the containing association link element. The topics that play the role, if any, are referenced by means of the location addresses specified in the content of the association role element.

The type ( type ) attribute can be used to reference topics which describe the role classes of which the role specified by the association role is an instance. Topic map applications must consider the value of the anchrole attribute (or, if the anchrole attribute is not specified, the generic identifier of the association role element) to be a name attached to a topic within the ASSOCRLTYPE scope (see clause ASSOCRLTYPE ). If there is no topic which explicitly has as one of its full name s the value of the anchrole attribute (or, by default, the generic identifier) of the assocrl element) within the scope of the ASSOCRLTYPE public topic, topic map applications shall consider that such a topic exists implicitly.

 
<!element
  assocrl         -- association role --
                  -- Clause: 5.3.2 --
  - O
  (%loc;)+
>
<!attlist
  assocrl
   HyTime
      NAME
      #FIXED
      anchspec
   anchrole       -- association role name --
      NAME
      #IMPLIED    -- Default: anchor role name is GI of element. --
   type           -- The classes of association role
                     of which this association role is an
                     instance. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED
                  -- Default: The topic which has a name (within the
                     ASSOCRLTYPE scope) which is the same as the value
                     of the anchrole attribute, or, if no value is
                     specified for the anchrole attribute, the generic
                     identifier.  Even if no such topic exists in the
                     topic map document(s), it is considered to exist
                     by virtue of this defaulting mechanism. --
   linktrav
      (A|EI|ER|ED|EN|EP|ERD|I|ID|D|N|P|R|RD)
      A
   listtrav
      (A|AW|L|LW|N|R|RW)
      N           -- Default: show the whole list --
   multmem
      (single|list|corlist)
      list
   emptyanc
      (error|noterror)
      error
>

Facet link

By means of the facet link facility, property/value pairs can be added to information objects. The properties are called facet types , and the values are called facet values .

The property/value pairs applied by facet links can be used, for example, as selection criteria to create partial views of the information within a topic map bounded object set. However, this International Standard does not constrain applications of facet links.

Facet types and facet values can be described by topics.

Facet link architectural form

The facet link ( facet ) element form is used to apply a property/value pair to an object. Facet link types ( type ) and values ( fvalue ) are user-defined.

The type ( type ) attribute can be used to reference a topic which describes the property specified by the facet link . Topic map applications must consider the generic identifier of the element conforming to the facet link architectural form to be a name attached to the topic specified by the type attribute within the FACETTYPE scope (see clause FACETTYPE ). If the type attribute is not specified, and if there is no topic which explicitly has as one of its full name s the generic identifier of the facet element within the scope of the FACETTYPE public topic, topic map applications shall consider that such a topic exists implicitly.

 
<!element
  facet           -- Facet link --
                  -- Clause: 5.4.1 --
  - O
  (fvalue)+
>
<!attlist facet
   HyTime
      NAME
      #FIXED
      varlink
   type           -- The property (expressed as a topic) being
                     assigned to the anchor. --
      CDATA       -- Reference --
                  -- Reftype: topic --
      #IMPLIED    -- Default: The generic identifier is considered the
                     name (within the FACETTYPE scope) of the topic
                     that defines the facet type. If no such topic
                     exists, it is considered to exist by virtue of
                     this defaulting mechanism. --
>

Facet value

The facet value ( fvalue ) element form is used to specify the value of a property being applied to an information object by means of a facet link. The facet value is the string specified by the value of the facet value name ( facetval ) attribute.

The type ( type ) attribute can be used to reference a topic which describes the facet value. Topic map applications must consider the value of the facetval attribute (or, by default, the generic identifier of the element conforming to the facet value architectural form) to be a name attached to the topic specified by the type attribute within the FACETVALDESC scope (see clause FACETVALDESC ). If the type attribute is not specified, and there is no topic which explicitly has as one of its full name s the value of the facetval attribute (or, by default, the generic identifier of the fvalue element) within the scope of the facetvaldesc public topic, topic map applications shall consider that such a topic exists implicitly.

Unlike other type attributes, this type attribute can reference only one topic.

 
<!element
  fvalue          -- facet value --
                  -- Clause: 5.4.2 --
  - O
  (%loc;)*
>
<!attlist
  fvalue
   HyTime
      NAME
      #FIXED
      anchspec
   facetval       -- facet value --
      NAME
      #IMPLIED    -- Default: facet value is GI of element. --
   type           -- Refers to a topic that describes the facet
                     value. --
      CDATA       -- Reference --
                  -- Reftype: topic --
      #IMPLIED
                  -- Default: The topic which has a name (within the
                     FACETVALDESC scope) which is the same as the value
                     of the facetval attribute, or, if no value is
                     specified for the facetval attribute, the generic
                     identifier.  Even if no such topic exists in the
                     topic map document(s), it is considered to exist
                     by virtue of this defaulting mechanism. --
   linktrav
      (A|EI|ER|ED|EN|EP|ERD|I|ID|D|N|P|R|RD)
      P           -- Default: traversal is prohibited. --
   listtrav
      (A|AW|L|LW|N|R|RW)
      N           -- Default: show the whole list --
   multmem
      (single|list|corlist)
      list
   emptyanc
      (error|noterror)
      noterror
   HyNames
      CDATA
      "anchrole facetval"
>

Common data attributes

Added scoping topics

The added scoping topics ( addscopt ) common data attribute allows scopes to be added throughout a TNM document entity. If specified, the attribute appears on an entity declaration of a TNM document entity. Its value is a reference to one or more topic link elements. The referenced topic link elements must be regarded by topic map applications as additional implicit scopes on all names of topics, occurrences of topics, and topic association links throughout the referenced TNM document. However, regardless of any applicable addscopt data attribute, no implicit scopes are added to topic names for which no explicit scopes are already directly specified; each such name remains in its own namespace.

When topic maps have been merged, this facility can be used to distinguish between the characteristics of topics in terms of the different topic maps that contributed those characteristics. For example, a topic can be created that represents the rhetorical position or purpose of a given topic map, and then, by means of the addscopt data attribute, that topic can be used as an additional scope within which everything specified by the topic map is implicitly said to exist. After the topic map is merged with other topic maps, the contributions that it made to the resulting merged topic map can be distinguished from all others by virtue of the fact that everything it contributed continues to appear within the scope of the topic representing the document or hyperdocument that contributed it.

This facility extends to external documents the added scoping capability afforded by the addscopt attribute of the topicmap TNM document element architectural form; see clause Topic Navigation Map Document Element Architectural Form .

At the time of adoption of this International Standard, XML did not support data attributes. This feature for facilitating the automatic merging of topics maps is not, therefore, available to XML applications, which will be required to merge topic maps manually.

 
<!attlist #NOTATION
--  addscopt --   -- TNM added scoping topics data attributes --
                  -- Clause: 5.5.1 --
   #ALL
   addscopt       -- added scoping topics --
                  -- Scopes to add to all connections between topics
                     and their names and occurrences, and to add to
                     all associations between topics, in the TNM
                     document whose document element appears in the
                     entity declared by the entity declaration on
                     which this attribute appears. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: no added scopes --
>
>

TNM Resources

Public Topics

A public topic is a concept identified by means of a formal public identifier, and referenced by means of the public attribute on a topic element. The concept is defined by the authority specified in the formal public identifier; the authority controls the namespace in which the topic has the name which also appears in the formal public identifier.

Public topics can be unambiguously used in many contexts, wherever the authority is recognized.

There are two reasons why public topics are needed:

  1. to allow authors of topic navigation maps to indicate that certain topics are defined authoritatively.

    This ability can facilitate the merging of topic maps that share certain concepts.

  2. to qualify, using the public identifiers defined in Public Topics defined by this Standard those topics which play a specific role in the TNM architecture.

When a topic specifies a value for its public attribute, and also has names and/or occurrences, the names and/or occurrences are considered to further elucidate the concept referenced by the public attribute; they do not alter or override any aspect of the concept as defined by the authority.

This Standard can be used as the authority for certain public topics. See clause Public Topics defined by this Standard .

Public Topic References

Formal public identifiers used to reference public topics have the following format:

 
registration indicator, "//", topic authority, "//", public text
class, "TOPIC", namespace of topic names, ":", topic name, "//",
language

In the above format specification, the registration indicator, public text class and language fields are as specified for formal public identifiers in ISO/IEC 8879:1986. The `topic authority' is the owner of the information resource that defines the concept. The `TOPIC' keyword indicates that the formal public identifier specifies a public topic. The `namespace of topic names' identifies the resource in which the `topic name' is the unique name given to the concept.

When a value is specified for the `public' attribute of a topic element, it is the name of a public topic entity.

For example, a topic which is a product of an unregistered company might be referenced as follows:

 
<!ENTITY gadget1 PUBLIC "-//XYZ Corporation//NONSGML TOPIC 1998
Product Catalog Number : 43X2432//EN">
...
<topic id=id1 public=gadget1>

The public identifier can also be expressed in terms of the Internet Domain Name (IDN) identifier of the topic authority, as the following example shows:

 
<!ENTITY gadget2 PUBLIC "IDN//www.xyz.co//NONSGML TOPIC 1998 Product
Catalogue Number: 43X2433//EN">
...
<topic id="id2" public="gadget2">

Public Topics defined by this Standard

DISPNAME

The DISPNAME public topic defines the additional and implicit scope in which the names specified in display name elements are attached to their respective topics. Names attached to topics within this scope are expected by topic map authors to be displayed by applications to users.

References to the DISPNAME public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.1 : DISPNAME//EN

SORTKEY

The SORTKEY public topic defines the additional and implicit scope in which the names specified in name to be used as sort key elements are attached to their respective topics. Names attached to topics within this scope are expected by topic map authors to be used in sorting lists of topic.

References to the SORTKEY public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.2 : SORTKEY//EN

TOPICTYPE

The TOPICTYPE public topic is defined by this Standard in order to make explicit the scope in which the generic identifiers of topic link elements are assigned as names to the topics that define classes of topics.

References to the TOPICTYPE public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.3 : TOPICTYPE//EN

OCCTYPE

The OCCTYPE public topic is defined by this Standard in order to make explicit the scope in which occurrence role names are assigned to the topics that define their meanings.

References to the OCCTYPE public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.4 : OCCTYPE//EN

PUBLICTOPIC

The PUBLICTOPIC public topic is defined by this Standard in order to to be used as a scoping topic in the scope in which the formal public identifiers of public topics are assigned as names to those topics.

References to the OCCTYPE public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.5 : PUBLICTOPIC//EN

ASSOCTYPE

The ASSOCTYPE public topic is defined by this Standard in order to make explicit the scope in which the generic identifiers of association links are assigned as names to the topics that define their meanings.

References to the ASSOCTYPE public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.6 : ASSOCTYPE//EN

ASSOCRLTYPE

The ASSOCRLTYPE public topic is defined by this Standard in order to make explicit the scope in which association role names (specified via the anchrole attribute of assocrl elements, or, by default, via their generic identifiers) are assigned as names to the topics that define their meanings.

References to the ASSOCRLTYPE public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.7 : ASSOCRLTYPE//EN

FACETTYPE

The FACETTYPE public topic is defined by this Standard in order to make explicit the scope within which the generic identifiers of facet links are assigned as names to the topics that define their meanings.

References to the FACETTYPE public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.8 : FACETTYPE//EN

FACETVALDESC

The FACETVALDESC public topic is defined by this Standard in order to make explicit the scope within which facet values (specified via the facetval attribute of fvalue elements, or, by default, via their generic identifiers) are assigned as names to the topics that define their meanings.

References to the FACETVALDESC public topic can be made in entity declarations using the following formal public identifier:

 
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.9 : FACETVALDESC//EN

Public Association Types

A public association type is a class of association identified by means of a formal public identifier, and referenced by means of the public attribute on an association link element. The public association type is defined by the authority specified in the formal public identifier; the authority controls the namespace in which the association type has the name which also appears in the formal public identifier.

Public association types can be unambiguously used in many contexts, wherever the authority is recognized. Public association types are needed to allow authors of topic maps to indicate that certain associations are defined authoritatively by others.

The use of public association types can facilitate the merging of topic maps.

When an association link specifies a value for its public attribute, the anchrole names of enclosed occurrence roles that are the same as those that appear in the formal public identifier of the public association attribute correspond to the anchroles authoritatively defined by the public association type. Other anchroles, if present, do not alter or override any aspect of the public relationship type as defined by the authority. Similarly, if an association link also specifies a type attribute, the topic(s) referenced by the type attribute further elucidate, but do not alter or override, the character of the association type as defined by the authority.

Public Association Type References

Formal public identifiers used to reference public association types have the following format:

 
registration indicator, "//", association type authority, "//", public
text class, "ASSOCTYPE", namespace of association type names, ":",
association type name, ":", association role name, ":", association
role name, (":", association role name)*, "//", language

In the above format specification, the registration indicator, public text class and language fields are as specified for formal public identifiers in ISO/IEC 8879:1986. The `association type authority' is the owner of the information resource that defines the concept. The `ASSOCTYPE' keyword indicates that the formal public identifier specifies a public association type. The `namespace of association type names' identifies the resource in which the `association name' is the unique name given to the concept. There must be two or more colon-delimited `association role names' . These are the names that will be used as association role names in the topic map document, and they are not necessarily the association role names given to the association roles by the association type authority. However, there must be the same number of them as the authority defines in its canonical definition of the association type, and the order in which they appear in the formal public identifier will be regarded by topic map applications as corresponding to the order in which the authority specifies them in its canonical definition.

The topic map designer has complete freedom in naming both associations and association roles, even if the association is said to conform to a public association type.

When a value is specified for the `public' attribute of an association link element, it is the name of a public association type entity.

For example, an association type defined by an unregistered company might be referenced as follows:

 
<!ENTITY precedent PUBLIC "-//Legal Beagle Corp.//NONSGML ASSOCTYPE
1998 Lawyer's Topic Mapping Manual : PRECEDENT : CASE : PRECEDING-CASE
: DOCTRINE : SCHOLARDOC //EN">
...
<assoc id="id2" public="precedent">
  <assocrl anchrole="preceding-case">...</assocrl>
  <assocrl anchrole="case">...</assocrl>
</assoc>

As a practical matter, it is vital that the authority's definition of the public association type declare the order in which the anchroles will appear in any formal public identifier used to refer to that public association type, and that it clearly define the meaning of the association type and the significance of each of its anchroles. This can be done in many ways, and the representation need not be machine-processable. The following example, an excerpt from the imaginary Lawyer's Topic Mapping Manual referenced in the above formal public identifier, demonstrates one way to do it:

 
...
Precedent

A topic association link that is an instance of the "precedent" type
always specifies a relationship between two different court cases, one
of which is regarded as establishing a precedent on which the decision
reached in the other case was based.  When referring to it as a public
association type according to ISO/IEC 13250:1999, the first anchrole
("THISCASE") named in the formal public identifier is always the case
that has the legal precedent, and the second anchrole ("PRECEDENT") is
always the case that serves as the legal precedent of the case serving
as the first anchrole.  The third anchrole ("THEORY") refers to a
single legal doctrine that was established by the precedent-setting
case, and that also served as a basis for the decision reached in the
case specified by the first anchrole.  The fourth anchrole
("OPINION-SOURCE"), if present, refers to the scholarly authority, if
any, which is the source of the opinion that the legal doctrine
referenced by the third anchrole did in fact serve as the basis for
the decision reached in the case referenced by the first anchrole.  If
no such source is referenced, the source is assumed to be the ruling
opinion in that case.
Example FPI:
-//Legal Beagle Corp.//NONSGML ASSOCTYPE 1998 Lawyer's Topic Mapping
Manual : PRECEDENT : THISCASE : PRECEDENT : THEORY : OPINION-SOURCE
//EN
...

It is worth noting that the above exemplary definition of an association type suggests different names for the association roles than were used in the previous example, which shows this imaginary public association type in actual use. They are still exactly the same roles, and there is no possibility of confusion because they still occur in the same order. This flexibility allows public association types that are defined in one natural language to be used conveniently in topic maps maintained by authors whose primary language is another. Similarly, while it is true that the name of the association type ( `PRECEDENT' ) must appear verbatim in the formal public identifier, this, too, need have no effect on the topic map; the local entity name given to the public association type can be any name in any language.

Public association types defined by this Standard

(No public association types are defined by this Standard.)

Commercial interests, knowledge management experts, and domain experts are encouraged to develop useful sets of public association types.

Conformance

If a TNM document complies with all provisions of this International Standard, is a conforming SGML document as defined in ISO 8879, and is a conforming HyTime document as defined in ISO/IEC 10744, it is a conforming TNM document.

A conforming application intended to use existing topic maps must be able to:

  • parse the interchange syntax,

  • identify the TNM constructs defined by this Standard, and

  • apply whatever processing the application designers considered appropriate, in light of the requirements to be fulfilled by the application, and the semantics of those constructs as defined by this Standard.

A conforming application intended to create topic maps must be able to export the information expressible using the constructs defined by this International Standard in conformance with the syntax of those constructs.

A conforming application intended to read and write topic maps must meet both of the above sets of requirements. If an application can import topic maps, has features to edit them, but cannot export altered topic maps in the interchange syntax defined by this International standard, then it is not a conforming application.

This Standard constrains neither the uses to which topic maps can be put, nor the character of the processing that may be applied by a conforming application. This conformance clause is intended to guarantee that conforming topic maps can be understood to whatever degree conforming read-only applications are intended to understand them, and that the topic mapping information expressed using the topic map syntax will be preserved by conforming read/write applications (except to the extent that the users of read/write applications deliberately alter that information).

Annexes

Annex A. Topic Navigation Map meta-DTD (Normative)

HyTime architectural support declarations

 
 
<?IS10744 ArcBase HyTime>
<!NOTATION HyTime 
   PUBLIC "ISO/IEC 10744:1997//NOTATION AFDR ARCBASE
           Hypermedia/Time-based Structuring Language (HyTime)//EN" 
>
<!ATTLIST #NOTATION HyTime 
   ArcFormA NAME     HyTime
   ArcNamrA NAME     HyNames 
   ArcSuprA NAME     sHyTime
   ArcIgnDA NAME     HyIgnD
   ArcDocF  NAME     #FIXED HyDoc
   ArcDTD   CDATA    "HyTime"
   ArcQuant CDATA    #FIXED "NAMELEN 12"
   ArcDataF NAME     #FIXED HyBridN
   ArcBridF NAME     #FIXED HyBrid
   ArcAuto  (ArcAuto|nArcAuto) nArcAuto 
   ArcOptSA NAMES    "base links locs"
   hyqcnt   NUMBER   32
   base     CDATA    "bos bosspec"
   locs     CDATA    "agrovdef bibloc dataloc datatok grovplan listloc
                      mixedloc multloc nameloc nmsploc pathloc 
                      pgrovdef proploc queryloc referatt refloc
                      reftype relloc spanloc treecom treeloc treetype"
   links    CDATA    "varlink"
   exrefs   NAME     exrefs
   manyanch NUMBER   #IMPLIED 
>
<!NOTATION AFDRMeta 
   PUBLIC "ISO/IEC 10744//NOTATION AFDR Meta-DTD Notation//EN" 
> 
<!ENTITY HyTime
   PUBLIC "ISO/IEC 10744//DTD AFDR Meta-DTD
           Hypermedia/Time-based Structuring Language (HyTime)//EN"
   CDATA AFDRMeta
>

HyTime common attributes

The attribute form HyTime common attributes ( common ) declares the HyTime attributes shared by all topic map forms.

 
<!attlist
 -- Common --
 -- HyTime common attributes --
 -- HyTime Clause A.5.2, 7.8 --
   #ALL
   id             -- Unique identifier --
      ID
      #IMPLIED    -- Default: none --
-- refloc --      -- Reference Location Address --
                  -- HyTime Clause: 7.8 --
   #ALL
   loctype        -- Reference location addresses type --
                  -- Each named attribute treated as if it were an
                     IDREF to a location address element. --
                  -- Constraint: The declared values of named
                     attributes must be lexically compatible with
                     their specified interpretation. --
                  -- Note: The declared value CDATA always meets this
                     requirement. --
      CDATA       -- Lextype: (ATTORCON,("IDLOC"|"TREELOC"|
                                         "PATHLOC"|"RELLOC"|
                                         ("QUERYLOC",NOTATION)))+ --
      #IMPLIED    -- Constant --
                  -- Default: all references use SGML IDREFs, and each
                     IDREF in an IDREFS attribute is considered
                     separately --
   rflocsrc       -- Reference location source --
                  -- Associates referential attributes with their
                     location sources. --
      CDATA       -- Lextype: (ATTORCON,ATTORCON)+ --
                  -- Constraint: attributes named must be referential
                     attributes. --
      #IMPLIED    -- Constant --
                  -- Default: all referential attributes have this
                     element as their location source. --
-- rflocspn --    -- Reference location span --
                  -- HyTime Clause: 7.8 --
   #ALL
   rflocspn       -- Reference location span --
                  -- Names pairs of referential attributes that
                     address spans when both attributes are
                     specified. --
      CDATA       -- Lextype: (ATTORCON,ATTORCON)+ --
                  -- Constraint: attributes named must be referential
                     attributes. --
      #IMPLIED    -- Constant --
>

HyTime meta-DTD content model parameter entities

 
<!entity %
   HyCFC          -- HyTime context-free content --
                  -- Note: %loc, %link, %resorce qualify but are used
                     as meta-inclusions rather than meta-proper-
                     subelements --
   "HyBrid|fcs"
>
<!entity %
   loc            -- Location address forms --
   "anchloc|bibloc|dataloc|fcsloc|linkloc|listloc|mixedloc|nameloc|
    nmsploc|pathloc|proploc|queryloc|relloc|treeloc"
>
<!entity %
   link           -- Hyperlink forms --
   "varlink"
>
<!entity %
   resbase        -- Base module resource forms --
   "bosspec"
>
<!entity %
   resloc         -- Location address module resource forms --
   "agrovdef|datatok|grovplan|pgrovdef"
>
<!entity %
   resorce        -- All resource architectural forms --
   "%resbase;|%resloc;"
>

HyTime document element form

 
<!element
   HyDoc          -- HyTime document element --
                  -- HyTime Clause: 6.4 --
   - O
   (%HyCFC;)*
   +(%link;|%loc;|%resorce;)
-- OptionalAttributes [base]: bos, bosspcat --
-- OptionalAttributes [locs]: dgrvplan --
-- CommonAttributes [locs]: refloc, reftype, rflocspn --
>
<!attlist
   -- bos --      -- HyTime bounded object set --
                  -- HyTime Clause: 6.5.1 --
  (HyDoc)
   maxbos         -- Maximum bounded object set level --
                  -- Bounding level of HyTime bounded object set when
                     document is a hub or subhub. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=hub only) --
      0
   boslevel       -- Bounded object set level --
                  -- Default BOS level used by data entities declared
                     in hub document. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=this entity only) --
      #IMPLIED    -- Default: No HyTime BOS --
-- bosspcat --    -- BOS except specification attributes --
                  -- HyTime Clause: 6.5.3 --
   bosspec        -- Bounded object set exception specification --
                  -- Adjustments to be made to the bounded object
                     set. --
      IDREFS      -- Reference --
                  -- Reftype: bosspec+ --
                  -- Constraint: must be internal reference --
      #IMPLIED    -- Default: no BOS exception specification --
-- dgrvplan --    -- HyTime document grove plan --
                  -- HyTime Clause: 7.1.4.1 --
   grovplan       -- Grove plan --
                  -- Grove plan for HyTime extended SGML document
                     grove --
      CDATA       -- Reference --
                  -- Reftype: grovplan --
      #IMPLIED    -- Default: HyTime default grove plan --
>

HyTime bounded object set control forms

HyTime BOS control data attributes

 
<!attlist #NOTATION
-- bosdatt --     -- HyTime BOS control data attributes --
                  -- HyTime Clause: 6.5.2 --
   #ALL
   boslevel       -- BOS level --
                  -- Bounded object set level for the entity --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=this entity only) --
      #IMPLIED    -- Default: value of boslevel attribute of HyDoc
                     element. --
   inbos          -- Include in BOS --
                  -- Unconditional include in, or exclude from, BOS --
      (inbos|notinbos)
      #IMPLIED    -- Default: inclusion controlled by BOS level --
   bosprrty       -- Bounded object set priority --
                  -- Default BOS priority of objects in entity tree
                     rooted at this entity. --
      (foregrnd|backgrnd)
      foregrnd
   subhub         -- Is entity a subhub? --
      (subhub|nosubhub)
      nosubhub
>
>

HyTime bounded object set exception specification

 
<!element
   bosspec        -- Bounded object set exception specification --
                  -- HyTime Clause: 6.5 --
                  -- Used to affect the HyTime BOS by overriding the
                     inclusion or exclusion and priority of the
                     entities identified by the BOS path or paths
                     given as content. --
   - O
   (#PCDATA)      -- Lextype: ((ENTITY,(csname|literal)*)|
                               (GRPO,ENTITY,(csname|literal)*,GRPC)+)
                     --
                  -- Constraint: If parentheses are used, each
                     parenthesized list is a separate BOS path. --
                  -- Constraint: Each word or literal in a BOS path is
                     the name of an entity declared in the entity
                     identified by the previous word, literal, or
                     entity name. --
-- Attributes [base]: bosspec --
-- Referrers [base]: HyDoc:bosspec --
>
<!attlist
   bosspec        -- Bounded object set exception specification --
                  -- HyTime Clause: 6.5 --
   boslevel       -- BOS level --
                  -- The BOS level from the last entity named in
                     each specified BOS path to be affected by this
                     bosspec. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=last entity only) --
      1
   inbos          -- Include in BOS --
                  -- Unconditionally include or exclude objects
                     declared by the last entity named in each BOS
                     path, to the BOS level specified by this
                     bosspec's boslevel attribute. --
      (inbos|notinbos)
      #IMPLIED    -- Default: BOS unaffected --
   bosprrty       -- Bounded object set priority --
                  -- Unconditionally specify the BOS priority of
                     objects declared by the last entity named in each
                     BOS path, to the BOS level specified by this
                     bosspec's boslevel attribute. --
                  -- Note: The semantic of the bosprrty attribute is
                     not affected by the value of the inbos attribute
                     (that is, whether it is explicitly "inbos" or the
                     value is implied). --
      (foregrnd|backgrnd)
      #IMPLIED    -- Default: no priority change --
>

TNM document element form

 
<!entity %
   TNMCFC         -- TNM context-free content --
   "topic|assoc|facet"
>
<!element
   topicmap       -- TNM document element --
                  -- Clause: 5.1 --
   - O
   (%TNMCFC;)*
>
<!attlist
  topicmap
   HyTime
      NAME
      HyDoc
   addscopt       -- added scoping topics --
                  -- Scoping topics to add to all scopes that govern
                     the assignments of names, occurrences, and roles played in
                     associations, in this TNM document. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: no added scopes --
   -- bos --      -- HyTime bounded object set --
                  -- HyTime Clause: 6.5.1 --
   maxbos         -- Maximum bounded object set level --
                  -- Bounding level of HyTime bounded object set when
                     document is a hub or subhub. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=hub only) --
      0
   boslevel       -- Bounded object set level --
                  -- Default BOS level used by data entities declared
                     in hub document. --
      NUMBER      -- Constraint: depth of nested entities to include
                     in BOS (0=no limit, 1=this entity only) --
      #IMPLIED    -- Default: No HyTime BOS --
-- bosspcat --    -- BOS exception specification attributes --
                  -- HyTime Clause: 6.5.3 --
   bosspec        -- Bounded object set exception specification --
                  -- Adjustments to be made to the bounded object
                     set. --
      IDREFS      -- Reference --
                  -- Reftype: bosspec+ --
                  -- Constraint: must be internal reference --
      #IMPLIED    -- Default: no BOS exception specification --
-- dgrvplan --    -- HyTime document grove plan --
                  -- HyTime Clause: 7.1.4.1 --
   grovplan       -- Grove plan --
                  -- Grove plan for HyTime extended SGML document
                     grove --
      CDATA       -- Reference --
                  -- Reftype: grovplan --
      #IMPLIED    -- Default: HyTime default grove plan --
>

Topic Link Architectural Form

 
<!element
  topic           -- Topic link --
                  -- Clause: 5.2.1 --
  - O
  ( (name+, occur*) | occur+ )
                  -- Must be at least one name or occurrence --
>
<!attlist
  topic
   HyTime
     (varlink|HyBrid)
     varlink      -- Constraint: varlink must be used when occurrences
                     exist. If topic has no occurrences, it must be declared as
                     a HyTime bridge element. --
   id             -- Unique identifier --
      ID
      #REQUIRED
   public         -- Reference to an existing public topic. --
      ENTITY
      #IMPLIED    -- Default: topic does not reference a
                     public topic. --
   type           -- The classes of topics of which this
                     topic is an instance. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: The generic identifier is considered the
                     name (within the TOPICTYPE scope) of the topic
                     that defines the topic type. If no such topic
                     exists, it is considered to exist by virtue of
                     this defaulting mechanism. --
>

Topic Name

 
<!element
  name            -- A name of a topic. --
  - O
  (fullname, dispname*, sortname* )
                  -- If dispname or sortname are not specified,
                     applications use fullname.--
>
<!attlist
  name
   scope          -- List of references to scoping topics that
                     collectively define the limited contexts within
                     which the name is applicable to the topic. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: scope is unconstrained. --
>
<!element
  (fullname | dispname | sortname)
   - O
  (#PCDATA)
>

Topic Occurrence

 
<!element
  occur           -- topic occurrence --
                  -- Clause: 5.2.3 --
  - O
  (%loc;)*
>
<!attlist
  occur
   HyTime
      NAME
      #FIXED
      anchspec
   occrole        -- Occurrence role name. --
      NAME
      #IMPLIED    
                  -- Default: occurrence role name is GI of
                     element. --
   scope          -- List of references to scoping topics that
                     collectively define the limited contexts within
                     which the occurrences are applicable to the
                     topic.  Each referenced topic may be regarded as
                     describing a class of occurrence.  --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: The topic which has a name (within the
                     scope of the OCCTYPE public topic) which is the
                     same as the value of the occrole attribute, or,
                     if no value is specified for the occrole
                     attribute, the generic identifier.  Even if no
                     such topic exists in the topic map document(s),
                     it is considered to exist by virtue of this
                     defaulting mechanism. --
   linktrav
      (A|EI|ER|ED|EN|EP|ERD|I|ID|D|N|P|R|RD)
      A
   listtrav
      (A|AW|L|LW|N|R|RW)
      N           -- Default: show the whole list --
   multmem
      (single|list|corlist)
      list
   emptyanc
      (error|noterror)
      error
   HyNames
      CDATA
      "anchrole occrole"
>

Association Link Architectural Form

 
<!element assoc   -- association link -- 
                  -- Clause: 5.3.1 -- 
                - O (assocrl)+ >
<!attlist assoc
   HyTime
      NAME
      #FIXED
      varlink
   scope          -- List of references to scoping topics that
                     collectively define the limited contexts within
                     which the association is applicable. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: scope is unconstrained. --
   type           -- The classes of association
                     of which this association is an instance. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED    -- Default: generic identifier. The generic
                     identifier is considered the name (within the
                     ASSOCTYPE scope) of a topic that defines the
                     association type. If no such topic exists, it is
                     considered to exist by virtue of this defaulting
                     mechanism. --
   public         -- Reference to an existing public association
                     type. --
      ENTITY
      #IMPLIED    -- Default: association link does not reference a
                     public association type. --
>

Association Role

 
<!element
  assocrl         -- association role --
                  -- Clause: 5.3.2 --
  - O
  (%loc;)+
>
<!attlist
  assocrl
   HyTime
      NAME
      #FIXED
      anchspec
   anchrole       -- association role name --
      NAME
      #IMPLIED    -- Default: anchor role name is GI of element. --
   type           -- The classes of association role
                     of which this association role is an
                     instance. --
      CDATA       -- Reference --
                  -- Reftype: topic+ --
      #IMPLIED
                  -- Default: The topic which has a name (within the
                     ASSOCRLTYPE scope) which is the same as the value
                     of the anchrole attribute, or, if no value is
                     specified for the anchrole attribute, the generic
                     identifier.  Even if no such topic exists in the
                     topic map document(s), it is considered to exist
                     by virtue of this defaulting mechanism. --
   linktrav
      (A|EI|ER|ED|EN|EP|ERD|I|ID|D|N|P|R|RD)
      A
   listtrav
      (A|AW|L|LW|N|R|RW)
      N           -- Default: show the whole list --
   multmem
      (single|list|corlist)
      list
   emptyanc
      (error|noterror)
      error
>

Facet Link Architectural Form

 
<!element
  facet           -- Facet link --
                  -- Clause: 5.4.1 --
  - O
  (fvalue)+
>
<!attlist facet
   HyTime
      NAME
      #FIXED
      varlink
   type           -- The property (expressed as a topic) being
                     assigned to the anchor. --
      CDATA       -- Reference --
                  -- Reftype: topic --
      #IMPLIED    -- Default: The generic identifier is considered the
                     name (within the FACETTYPE scope) of the topic
                     that defines the facet type. If no such topic
                     exists, it is considered to exist by virtue of
                     this defaulting mechanism. --
>

Facet Value

 
<!element
  fvalue          -- facet value --
                  -- Clause: 5.4.2 --
  - O
  (%loc;)*
>
<!attlist
  fvalue
   HyTime
      NAME
      #FIXED
      anchspec
   facetval       -- facet value --
      NAME
      #IMPLIED    -- Default: facet value is GI of element. --
   type           -- Refers to a topic that describes the facet
                     value. --
      CDATA       -- Reference --
                  -- Reftype: topic --
      #IMPLIED
                  -- Default: The topic which has a name (within the
                     FACETVALDESC scope) which is the same as the value
                     of the facetval attribute, or, if no value is
                     specified for the facetval attribute, the generic
                     identifier.  Even if no such topic exists in the
                     topic map document(s), it is considered to exist
                     by virtue of this defaulting mechanism. --
   linktrav
      (A|EI|ER|ED|EN|EP|ERD|I|ID|D|N|P|R|RD)
      P           -- Default: traversal is prohibited. --
   listtrav
      (A|AW|L|LW|N|R|RW)
      N           -- Default: show the whole list --
   multmem
      (single|list|corlist)
      list
   emptyanc
      (error|noterror)
      noterror
   HyNames
      CDATA
      "anchrole facetval"
>

Public Topic Declarations

The following publicly defined entity set can be used to reference the public topics defined in Clause Public Topics defined by this Standard of this standard:

 
<!-- Default entity set for identifying the public topics defined in ISO/IEC
     13250 -->
<!-- This entity set shall be referenced using the following public identifier:
       PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.5 :PUBLICTOPIC//EN"
-->

<!ENTITY dispname
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.1 : DISPNAME//EN">
<!ENTITY sortkey
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.2 : SORTKEY//EN">
<!ENTITY topictype
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.3 : TOPICTYPE//EN">
<!ENTITY occtype
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.4 : OCCTYPE//EN">
<!ENTITY assoctype
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.6 : ASSOCTYPE//EN">
<!ENTITY assocrltype
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.7 : ASSOCRLTYPE//EN">
<!ENTITY facettype
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.8 : FACETTYPE//EN">
<!ENTITY facetvaldesc
  PUBLIC "ISO/IEC 13240:1999//NONSGML TOPIC Clause 6.1.2.9 : FACETVALDESC//EN">

Annex B. Architectural support declaration for the TNM Architecture (Normative)

The following is an example of a TNM architectural support declaration as it might appear in a TNM document that is expressed using SGML.

The following example conforms to Annex A.3 of ISO/IEC 10744:1997.

 
<!NOTATION TOPICMAP
   PUBLIC "ISO/IEC 13250:1999//NOTATION AFDR ARCBASE
           Topic Navigation Maps//EN"
>
<!ATTLIST #NOTATION TOPICMAP
   ArcFormA NAME     TNM
   ArcNamrA NAME     TNMNames
   ArcSuprA NAME     sTNM
   ArcIgnDA NAME     TNMIgnD
   ArcDocF  NAME     #FIXED topicmap
   ArcDTD   CDATA    "TNMDTD"
   ArcQuant CDATA    #FIXED "NAMELEN 10"
   ArcDataF NAME     #FIXED TNMBridN
   ArcBridF NAME     #FIXED TNMBrid
   ArcAuto  (ArcAuto|nArcAuto) nArcAuto
>
<!NOTATION AFDRMeta
   PUBLIC "ISO/IEC 10744//NOTATION AFDR Meta-DTD Notation//EN"
>
<!ENTITY TNMDTD
   PUBLIC "ISO/IEC 13250//DTD AFDR Meta-DTD
           Topic Navigation Maps//EN"
   CDATA AFDRMeta
>

The following is an example of TNM architectural support declarations as they might appear in a TNM document expressed using WebSGML or XML.

The following example conforms to Annex A.3 of ISO/IEC 10744:1997, as amended via ISO/IEC JTC1/SC34/n1957.

 
<?IS10744:arch
   name="TNM"
   public-id="ISO/IEC 13250:1999//NOTATION AFDR ARCBASE
              Topic Navigation Maps//EN"
   dtd-public-id="ISO/IEC 13250//DTD AFDR Meta-DTD
                  Topic Navigation Maps//EN"
   dtd-system-id="/etc/architectures/TNM.mtd"
   form-att="TNM"
   renamer-att="TNMNames"
   suppressor-att="sTNM"
   ignore-data-att="TNMIgnD"
   doc-elem-form="topicmap"
   bridge-form="TNMBrid"
   auto="nArcAuto"
?>