<!DOCTYPE standard SYSTEM "c:\Docs\Fmapps\standard\app\standard.dtd" [
<!-- Begin Document Specific Declarations -->
<!ENTITY lt "<">
<!ENTITY gt ">">
<!-- End Document Specific Declarations -->
]>
<standard status = "cd"><frontm><titlep><docnum><number>13250</number>
<edition>First</edition>
<date>September 21, 1998</date>
<language>E</language></docnum>
<title><tline>ISO/IEC 13250</tline>
<tline>Topic Navigation Maps</tline></title>
<ptitle><ptline>Document Processing and Relating Communication</ptline></ptitle>
<stitle><stline>Document Description and Processing
Languages</stline>
	<stline>"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."</stline>
</stitle>
</titlep>
<foreword>
<stdsrc><jtc>1</jtc>
<jtcsc>34</jtcsc></stdsrc>
<p>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.</p>
<p>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.</p>
<p>International Standard ISO/IEC 13250 was prepared by Joint
Technical Committee 1 (JTC1), Information Technology.</p>
</foreword>
<intro><ht>Introduction</ht>
<p>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 <hp0>Topic
Navigation Map</hp0> (TNM).  In general, the structural information
conveyed by TNMs includes:</p>
<ul><li>
<p>groupings of addressable information objects. Objects so grouped
are said to form a <hp0>topic</hp0> (or, are said to share the
semantics of the topic).</p>
</li>
<li>
<p>relationships between topics (<hp0>associations</hp0>).</p>
</li></ul>

<p>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.</p>
<note>
<p>For example, two topics may be connected through an association and
they can be connected by virtue of sharing a single occurrence.</p>
</note>
<p>In addition, information objects can have properties, as well as
values for those properties, assigned to them externally. These
properties are called <hp0>facet types</hp0>.</p>
<note>
<p>The word <hp0>facet</hp0> 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.</p>
</note>
<p>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 <hp0>overlays</hp0> 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.</p>
<p>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.</p>
<p>The TNM notation is defined as an <hp0>SGML Architecture</hp0>, and
this Standard takes the form of an <hp0>architecture definition
document</hp0> expressed in conformance with Normative Annex A.3 of
ISO/IEC 10744:1997, the <hp0>SGML Architectural Form Definition
Requirements</hp0> (AFDR). The formal definition of the TNM notation
is expressed as a meta-DTD.</p> </intro></frontm>
<body><scope><ht>Scope</ht>
<p>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.</p>
<p>Topic navigation maps may assign properties to information objects
for the following applications, among others:</p>
<ul><li>
<p>Qualifying the content and/or data contained in information objects
as topics to enable navigational tools like indexes, cross-references,
citation systems, or glossaries.</p>
</li>
<li>
<p>Linking topics to enable navigation between them, which might
result in virtual document assembly, thesaurus-like interfaces to
corpora, knowledge bases, etc.</p>
</li>
<li>
<p>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.</p>
</li>
<li>
<p>Structuring unstructured information objects, or merging
unstructured information bases with structured ones. The overlay
mechanism of topic navigation maps can be considered as an
<hp0>external markup mechanism</hp0>, in the sense that an arbitrary
structure is imposed on the information without altering its original
form.</p> </li></ul>
<note>
<p>This standard does not require or disallow the use of any
addressing scheme for locating information objects, or any notation
used to express information.</p> </note></scope> <refs><ht>Normative
references</ht> <reflist><refref>8879</refref>
<refref>10744</refref></reflist></refs> <defs><ht>Definitions</ht>
<dl>
<dt>Added scoping topics</dt>
<dd>
<p>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:</p>
<ol>
<li><p>Within the TNM document whose scopes are affected, by means of
the <hp0>added scoping topics</hp0> (<code>addscopt</code>) attribute
of the document element, or</p></li>
<li><p>Outside the TNM document whose scopes are affected, by means of
the <hp0>added scoping topics</hp0> (<code>addscopt</code>) data
attribute of the entity declaration of the affected TNM document's
document entity.</p></li>
</ol>
</dd>
<dt>Association</dt>
<dd>
<p>User-defined relationship between two or more topics.</p>
</dd>
<dt>Association link</dt>
<dd>
<p>A hyperlink element conforming to the <hp0>association link</hp0>
architectural form defined by this International Standard.  See clause
<hdref refid = "Associationlink" format = "sectref">.</p>
</dd>
<dt>Association role</dt>
<dd>
<p>The role played by an anchor of an association.</p>
</dd>
<dt>Association type</dt>
<dd>
<p>Class of an association.  It can be specified by means of the type
attribute.</p>
</dd>
<dt>Bounded object set</dt>
<dd>
<p>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.)</p>
</dd>
<dt>Facet</dt>
<dd>
<p>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.</p>
</dd>
<dt>Facet link</dt>
<dd>
<p>A hyperlink that applies values for a given property to one or more
information objects.</p>
</dd>
<dt>Facet type</dt>
<dd>
<p>Property applied by one or more facet links to one or more
objects.</p>
</dd>
<dt>Facet value</dt>
<dd>
<p>One member of the set of all values of a particular facet type.</p>
</dd>
<dt>Hub document</dt>
<dd>
<p>The HyTime document used to define the set of information resources
(the <hp0>bounded object set (BOS)</hp0>) 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.)</p>
</dd>
<dt>Occurrence role</dt>
<dd>
<p>A sense in which some set of occurrences is relevant to a topic.
Occurrence roles can be described by topics.</p>
</dd>
<dt>Public topic</dt>
<dd>

<p>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 <hp0>public</hp0>
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.</p>

<note><p>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.</p></note>

</dd>
<dt>Scope</dt>
<dd>
<p> 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 <q>the
unconstrained scope</q>).  If a scope is specified, it consists of a
set of topics (the <q>scoping topics</q>).  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.</p>
<note>
<p>Therefore, topic maps can be used to document themselves.</p>
</note>
<p>A scope is a set of topics (called the <q>scoping topics</q>) 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.</p>
</dd>
<dt>Sort key</dt>
<dd>
<p>String that is an alternative representation of a topic name, used
for alphabetic or other ordering.</p>
</dd>
<dt>TNM</dt>
<dd>
<p>See Topic Navigation Map.</p>
</dd>
<dt>Topic</dt>
<dd>
<p>A concept that is expressed as a set of zero or more names and zero
or more <q>occurrences</q> (relevant information objects).</p>
</dd>
<dt>Topic characteristic assignment</dt>
<dd><p>Name or occurrence characterizing a topic, or topic related to a given topic.</p></dd>

<dt>Topic link</dt>
<dd>
<p>A hyperlink element conforming to the <hp0>topic link</hp0>
architectural form defined by this International Standard.  See clause
<hdref refid = "Topiclinkarchitecturalform" format = "sectref">.</p>
</dd>
<dt>Topic Map</dt>
<dd>
<p>See Topic Navigation Map.</p>
</dd>
<dt>Topic Name</dt>
<dd>
<p>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.</p>
</dd>
<dt>Topic Navigation Map</dt>
<dd>
<p>A <hp0>topic navigation map</hp0> (or <hp0>topic map</hp0>) 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.</p>
</dd>
<dt>Topic Occurrence</dt>
<dd>
<p>An information object specified as relevant to a given topic.</p>
</dd>
<dt>Topic Type</dt>
<dd>
<p>A class of topic.</p> </dd></dl></defs> <h1 id =
"Topicnavigationmaparchitecture"><h1t>Topic Navigation Map
Architecture</h1t>
<p>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 <hdref refid =
"Topicnavigationmaparchitecture" format = "sectref"> 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.</p>
<note>
<p>The formal definition of the TNM syntax, the TNM meta-DTD, is found
in normative Annex A of this Standard.</p>
</note>
<p>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.</p>
<note>
<p>An example of a TNM architectural support declaration is given in
clause <hdref refid = "Mdtdhytarchsupportdecls" format =
"sectref"></p>
</note>
<p>Only one of the hyperlink syntaxes defined by HyTime is used in the
TNM syntax: <hp0>variable link</hp0> (<code>varlink</code>).  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.</p>
<h2 id = "Tnmdocelemaf"><h2t>Topic Navigation Map Document Element Architectural
Form</h2t>
<p>The <hp0>topic map</hp0> (<code>topicmap</code>) element form is
used as the document element of all documents that conform to the
Topic Map Architecture.</p>
<p>The <hp0>added scoping topics</hp0> (<code>addscopt</code>)
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.</p>
<note>
<p>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 <hp0>added scoping topics</hp0>
attribute.</p>
</note>
<note>
<p>This same facility is also provided for external TNM document
entities.  See clause <hdref refid = "Addedscopingtopics" format =
"sectref"> for additional information.</p>
</note>
<cptr><![RCDATA[
<!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 --
>
]]></cptr></h2>
<h2 id = "Topiclink"><h2t>Topic link</h2t>
<h3 id = "Topiclinkarchitecturalform"><h3t>The Topic Link Architectural
Form</h3t>
<p>The <hp0>topic link</hp0> (<code>topic</code>) 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
(<hp0>occurrences</hp0>).  The anchor roles of the link are used to
specify the scope of the group of occurrences forming an anchor.</p>
<p>The <hp0>type</hp0> (<code>type</code>) attribute can be used to
reference topics which describe the classes of topic of which the topic
specified by the <hp0>topic link</hp0> is an instance.  
Topic map applications must consider the generic identifier of the
element conforming to the <hp0>topic link</hp0> architectural form to
be a name attached to the topics specified by the <hp0>type</hp0>
attribute within the <hp0>TOPICTYPE</hp0> scope (see clause <hdref
refid = "Topictype" format = "sectref">).  If there is no topic which
explicitly has as one of its <hp0>full name</hp0>s the generic
identifier of the <code>topic</code> element within the scope of the
<hp0>TOPICTYPE</hp0> public topic, topic map applications shall
consider that such a topic exists implicitly.</p>
<p>The <hp0>public</hp0> (<code>public</code>) attribute optionally
refers to a public topic (see clause <hdref refid = "Publictopics"
format = "sectref">).  The referenced public topic is said to be the
same concept that the topic link element further describes.</p>
<p>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.</p>

<p>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 <hdref
refid="Topicoccurrence" format ="sectref">.</p>
<cptr><![RCDATA[
<!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. --
>
]]></cptr></h3>
<h3 id = "Topicname"><h3t>Topic Name</h3t>
<p>A topic may have zero or more names.</p>
<p>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:</p>
<ul><li>
<p>The <hp0>full name</hp0> (<code>fullname</code>) 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.</p>
</li>
<li>
<p>The <hp0>display name</hp0> (<code>dispname</code>) 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.</p>
<note>
<p>For example, the display name can be used to specify an abbreviated
name.</p> </note></li>
<li>
<p>The <hp0>name to be used as sort key</hp0> (<code>sortname</code>)
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.</p>
</li></ul> 

<p>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.</p>

<p>The <hp0>scope</hp0> (<code>scope</code>) 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 <q>scoping topics</q> that
collectively define that limited context.</p>
<note>
<p>Since this context can be described by the intersection of several
criteria, there can be more than one <q>scoping topic</q> that defines
that limited context.</p>
</note>
<cptr><![RCDATA[
<!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)
>
]]></cptr></h3>
<h3 id = "Topicoccurrence"><h3t>Topic Occurrence</h3t>
<p>A <hp0>topic occurrence</hp0> 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.</p>
<note>
<p>Applications may impose such constraints.</p>
</note>
<p>Topic occurrences must be categorized by grouping them into sets
which share common characteristics, called their <hp0>occurrence
role</hp0>s.  These groupings are specified by <hp0>topic occurrence
</hp0> (<code>occur</code>) elements; these elements conform to
the HyTime <code>anchspec</code> architectural form.</p>
<note>
<p>One example of an occurrence role is definition.  The names used to
designate occurrence roles are left open to the topic map
designer.</p>
</note>
<p>Any given information object can play zero or more occurrence roles
in a single topic.</p>
<p>The occurrence role name of an <hp0>occur</hp0> element (or, when
its occurrence role name is not specified, the generic identifier of
this <hp0>occur</hp0> element) declares the limited contexts within
which a topic has the occurrences referenced by this occur
element. 
<p>The optional <hp0>scope</hp0> (<code>scope</code>) 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 <code>occur</code> element.  If the scope attribute is
specified, the value of the <code>occrole</code> attribute, if any, is
ignored.</p>

<note><p>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.</p></note>

<p>If the scope attribute is not specified, the value of the
<hp0>occurrence role name</hp0> (<code>occrole</code>) attribute
specifies the limited contexts within which the information objects
referenced in the content of the <code>occur</code> element are
regarded as occurrences of the topic.  If the <code>occrole</code>
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 <code>occur</code>
element.  If no such topic link exists, such a topic will be
automatically created by the TNM application as an implicit topic.</p>

<cptr><![RCDATA[
<!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"
>
]]></cptr></h3></h2>
<h2 id = "Associationlink"><h2t>Association link</h2t>
<h3 id = "Associationlinkarchitecturalform"><h3t>Association link architectural
form</h3t>
<p>The <hp0>association link</hp0> (<code>assoc</code>) element form
is used to express arbitrary relationships between topics.  The anchor
roles of association links are user-defined.</p>
<p>The <hp0>scope</hp0> (<code>scope</code>) attribute optionally
references topics that define the scopes within which the association
is applicable to the topics that serve as anchors of the
<hp0>association link</hp0>.</p>
<p>The <hp0>type</hp0> (<code>type</code>) attribute can be used to
reference topics which describe the classes of association of which the
association specified by the <hp0>association link</hp0> is an
instance. 
In addition, topic map applications must consider the
generic identifier of the element conforming to the <hp0>association
link</hp0> architectural form to be a name attached to a topic within
the <hp0>ASSOCTYPE</hp0> scope (see clause <hdref refid = "Assoctype"
format = "sectref">).  If there is no topic which explicitly has as
one of its <hp0>full name</hp0>s the generic identifier of the
<code>assoc</code> element) within the scope of the
<hp0>ASSOCTYPE</hp0> public topic, topic map applications shall
consider that such a topic exists implicitly.</p>
<p>The <hp0>public</hp0> (<code>public</code>) attribute optionally
refers to a public association type.  The <code>assoc</code> element
is considered to be an instance of the class of association defined by
an authority (see clause <hdref refid = "Publicassociationtypes"
format = "sectref">).  <cptr><![RCDATA[ 
<!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. --
>
]]></cptr></p>
</h3>
<h3 id = "Associationrole"><h3t>Association role</h3t>
<p>The <hp0>association role</hp0> (<code>assocrl</code>) element form
specifies a user-defined role played by one or more specific topics in
the association specified by the containing <hp0>association
link</hp0> element.  The topics that play the role, if any, are
referenced by means of the location addresses specified in the content
of the <hp0>association role</hp0> element.</p>
<p>The <hp0>type</hp0> (<code>type</code>) attribute can be used to
reference topics which describe the role classes of which the role
specified by the <hp0>association role</hp0> is an instance.  Topic
map applications must consider the value of the <hp0>anchrole</hp0>
attribute (or, if the <hp0>anchrole</hp0> attribute is not specified,
the generic identifier of the <hp0>association role</hp0> element) to
be a name attached to a topic within the <hp0>ASSOCRLTYPE</hp0> scope
(see clause <hdref refid = "Assocrltype" format = "sectref">).  If
there is no topic which explicitly has as one of its <hp0>full
name</hp0>s the value of the <hp0>anchrole</hp0> attribute (or, by
default, the generic identifier) of the <code>assocrl</code> element)
within the scope of the <hp0>ASSOCRLTYPE</hp0> public topic, topic map
applications shall consider that such a topic exists implicitly.</p>
<cptr><![RCDATA[
<!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
>
]]></cptr></h3></h2>
<h2 id = "Facetlink"><h2t>Facet link</h2t>
<p>By means of the <hp0>facet link</hp0> facility, property/value
pairs can be added to information objects.  The properties are called
<hp0>facet types</hp0>, and the values are called <hp0>facet
values</hp0>.</p>
<note>
<p>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.</p>
</note>
<p>Facet types and facet values can be described by topics.</p>
<h3 id = "Facetlinkarchitecturalform"><h3t>Facet link architectural form</h3t>
<p>The <hp0>facet link</hp0> (<code>facet</code>) element form is used
to apply a property/value pair to an object.  Facet link types
(<code>type</code>) and values (<code>fvalue</code>) are
user-defined.</p>
<p>The <hp0>type</hp0> (<code>type</code>) attribute can be used to
reference a topic which describes the property specified by the
<hp0>facet link</hp0>.  Topic map applications must consider the
generic identifier of the element conforming to the <hp0>facet
link</hp0> architectural form to be a name attached to the topic
specified by the <hp0>type</hp0> attribute within the
<hp0>FACETTYPE</hp0> scope (see clause <hdref refid = "Facettype"
format = "sectref">).  If the <hp0>type</hp0> attribute is not
specified, and if there is no topic which explicitly has as one of its
<hp0>full name</hp0>s the generic identifier of the <code>facet</code>
element within the scope of the <hp0>FACETTYPE</hp0> public topic,
topic map applications shall consider that such a topic exists
implicitly.</p>
<cptr><![RCDATA[
<!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. --
>
]]></cptr></h3>
<h3 id = "Facetvalue"><h3t>Facet value</h3t>
<p>The <hp0>facet value</hp0> (<code>fvalue</code>) 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 <hp0>facet value name</hp0>
(<code>facetval</code>) attribute.</p>
<p>The <hp0>type</hp0> (<code>type</code>) attribute can be used to
reference a topic which describes the facet value.  Topic map
applications must consider the value of the <hp0>facetval</hp0>
attribute (or, by default, the generic identifier of the element
conforming to the <hp0>facet value</hp0> architectural form) to be a
name attached to the topic specified by the <hp0>type</hp0> attribute
within the <hp0>FACETVALDESC</hp0> scope (see clause <hdref refid =
"Facetvaldesc" format = "sectref">).  If the <hp0>type</hp0> attribute
is not specified, and there is no topic which explicitly has as one of
its <hp0>full name</hp0>s the value of the <hp0>facetval</hp0>
attribute (or, by default, the generic identifier of the
<code>fvalue</code> element) within the scope of the
<hp0>facetvaldesc</hp0> public topic, topic map applications shall
consider that such a topic exists implicitly.</p>
<note>
<p>Unlike other type attributes, this type attribute can reference
only one topic.</p>
</note>
<cptr><![RCDATA[
<!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"
>
]]></cptr></h3></h2>
<h2 id = "Commondataattributes"><h2t>Common data attributes</h2t>
<h3 id = "Addedscopingtopics"><h3t>Added scoping topics</h3t>
<p>The <hp0>added scoping topics</hp0> (<code>addscopt</code>) 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 <code>addscopt</code> 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.</p>
<note>
<p>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
<code>addscopt</code> 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.</p>
</note>
<note>
<p>This facility extends to external documents the added scoping
capability afforded by the <code>addscopt</code> attribute of the
<code>topicmap</code> TNM document element architectural form; see
clause <hdref refid = "Tnmdocelemaf" format = "sectref">.</p>
</note>
<note>
<p>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.</p>
</note>
<cptr><![RCDATA[
<!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 --
>
>
]]></cptr></h3></h2></h1>
<h1 id = "Tnmresources"><h1t>TNM Resources</h1t>
<h2 id = "Publictopics"><h2t>Public Topics</h2t>
<p>A <hp0>public topic</hp0> is a concept identified by means of a
formal public identifier, and referenced by means of the
<hp0>public</hp0> 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.</p>
<p>Public topics can be unambiguously used in many contexts, wherever
the authority is recognized.</p>
<p>There are two reasons why public topics are needed: <ol>
<li><p>to allow authors of topic navigation maps to indicate that certain topics are
defined authoritatively.</p>
<note><p>This ability can facilitate the merging of topic maps that share
certain concepts.</p> </note></li>
<li><p>to qualify, using the public identifiers defined in <hdref
refid="Publictopicsdefined"> those topics which play a specific role
in the TNM architecture.</p></li>
</ol>
<p>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.</p>
<note>
<p>This Standard can be used as the authority for certain public
topics.  See clause <hdref refid = "Publictopicsdefined" format ="sectref">.</p>
</note>
<h3 id = "Publictopicreferences"><h3t>Public Topic References</h3t>
<p>Formal public identifiers used to reference public topics have the
following format:</p>
<cptr><![RCDATA[
registration indicator, "//", topic authority, "//", public text
class, "TOPIC", namespace of topic names, ":", topic name, "//",
language
]]></cptr>
<p>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 <q>topic authority</q>
is the owner of the information resource that defines the concept.
The <q>TOPIC</q> keyword indicates that the formal public identifier
specifies a public topic.  The <q>namespace of topic names</q>
identifies the resource in which the <q>topic name</q> is the unique
name given to the concept.</p>
<p>When a value is specified for the <q>public</q> attribute of a
topic element, it is the name of a public topic entity.</p>
<note>
<p>For example, a topic which is a product of an unregistered company
might be referenced as follows:</p>
<cptr><![RCDATA[
<!ENTITY gadget1 PUBLIC "-//XYZ Corporation//NONSGML TOPIC 1998
Product Catalog Number : 43X2432//EN">
...
<topic id=id1 public=gadget1>

]]></cptr>
<p>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:</p>
<cptr><![RCDATA[
<!ENTITY gadget2 PUBLIC "IDN//www.xyz.co//NONSGML TOPIC 1998 Product
Catalogue Number: 43X2433//EN">
...
<topic id="id2" public="gadget2">
]]></cptr>
</note></h3>
<h3 id = "Publictopicsdefined"><h3t>Public Topics defined by this Standard</h3t>
<h4 id = "Dispname"><h4t>DISPNAME</h4t>
<p>The DISPNAME public topic defines the additional and implicit scope
in which the names specified in <hp0>display name</hp0> 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.</p>
<p>References to the DISPNAME public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.1 : DISPNAME//EN
]]></cptr></h4>
<h4 id = "Sortkey"><h4t>SORTKEY</h4t>
<p>The SORTKEY public topic defines the additional and implicit scope
in which the names specified in <hp0>name to be used as sort key</hp0>
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.</p>
<p>References to the SORTKEY public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.2 : SORTKEY//EN
]]></cptr></h4>
<h4 id = "Topictype"><h4t>TOPICTYPE</h4t>
<p>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.</p>
<p>References to the TOPICTYPE public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.3 : TOPICTYPE//EN
]]></cptr></h4>
<h4 id = "Occtype"><h4t>OCCTYPE</h4t>
<p>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.</p>
<p>References to the OCCTYPE public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.4 : OCCTYPE//EN
]]></cptr></h4>
<h4 id = "Publictopic"><h4t>PUBLICTOPIC</h4t>
<p>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.</p>
<p>References to the OCCTYPE public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.5 : PUBLICTOPIC//EN
]]></cptr></h4>
<h4 id = "Assoctype"><h4t>ASSOCTYPE</h4t>
<p>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.</p>
<p>References to the ASSOCTYPE public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.6 : ASSOCTYPE//EN
]]></cptr></h4>
<h4 id = "Assocrltype"><h4t>ASSOCRLTYPE</h4t>
<p>The ASSOCRLTYPE public topic is defined by this Standard in order
to make explicit the scope in which association role names (specified
via the <hp0>anchrole</hp0> attribute of <code>assocrl</code>
elements, or, by default, via their generic identifiers) are assigned
as names to the topics that define their meanings.</p>
<p>References to the ASSOCRLTYPE public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.7 : ASSOCRLTYPE//EN
]]></cptr></h4>
<h4 id = "Facettype"><h4t>FACETTYPE</h4t>
<p>The FACETTYPE public topic is defined by this Standard in order to
make explicit the scope within which the generic identifiers of
<hp0>facet links</hp0> are assigned as names to the topics that define
their meanings.</p>
<p>References to the FACETTYPE public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.8 : FACETTYPE//EN
]]></cptr></h4>
<h4 id = "Facetvaldesc"><h4t>FACETVALDESC</h4t>
<p>The FACETVALDESC public topic is defined by this Standard in order
to make explicit the scope within which facet values (specified via
the <hp0>facetval</hp0> attribute of <code>fvalue</code> elements, or,
by default, via their generic identifiers) are assigned as names to
the topics that define their meanings.</p>
<p>References to the FACETVALDESC public topic can be made in entity
declarations using the following formal public identifier:</p>
<cptr><![RCDATA[
ISO/IEC 13250:1999//NONSGML TOPIC Clause 6.1.2.9 : FACETVALDESC//EN
]]></cptr></h4></h3></h2>
<h2 id = "Publicassociationtypes"><h2t>Public Association Types</h2t>
<p>A <hp0>public association type</hp0> is a class of association
identified by means of a formal public identifier, and referenced by
means of the <hp0>public</hp0> 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.</p>
<p>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.</p>
<note>
<p>The use of public association types can facilitate the merging of
topic maps.</p>
</note>
<p>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.</p>
<h3 id = "Publicassociationtypereferences"><h3t>Public Association Type
References</h3t>
<p>Formal public identifiers used to reference public association
types have the following format:</p>
<cptr><![RCDATA[
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
]]></cptr>
<p>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 <q>association type
authority</q> is the owner of the information resource that defines
the concept.  The <q>ASSOCTYPE</q> keyword indicates that the formal
public identifier specifies a public association type.  The
<q>namespace of association type names</q> identifies the resource in
which the <q>association name</q> is the unique name given to the
concept.  There must be two or more colon-delimited <q>association
role names</q>.  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.</p>
<note>
<p>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.</p>
</note>
<p>When a value is specified for the <q>public</q> attribute of an
association link element, it is the name of a public association type
entity.</p>
<note>
<p>For example, an association type defined by an unregistered company
might be referenced as follows:</p>
<cptr><![RCDATA[
<!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>
]]></cptr>
<p>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 <hp0>Lawyer's Topic Mapping Manual</hp0> referenced in
the above formal public identifier, demonstrates one way to do it:</p>
<cptr><![RCDATA[
...
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
...
]]></cptr>
<p>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 (<q>PRECEDENT</q>) 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.</p> </note></h3> <h3 id =
"Publicassoctypesdefined"><h3t>Public association types defined by
this Standard</h3t>
<p>(No public association types are defined by this Standard.)</p>
<note>
<p>Commercial interests, knowledge management experts, and domain
experts are encouraged to develop useful sets of public association
types.</p> </note></h3></h2></h1> <h1 id =
"Conformance"><h1t>Conformance</h1t>
<p>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.</p>
<p>A conforming application intended to use existing topic maps must
be able to: <ul><li>
<p>parse the interchange syntax,</p>
</li>
<li>
<p>identify the TNM constructs defined by this Standard, and</p>
</li>
<li>
<p>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.</p> </li></ul></p>
<p>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.</p>
<p>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.</p>
<note>
<p>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).</p></note></h1>
</body>

<annexi>
<h0t>Annexes</h0t>
<h1 id = "Tnmmetadtd"><h1t>Annex A. Topic Navigation Map meta-DTD (Normative)</h1t>
<h2 id = "Mdtdhytarchsupportdecls"><h2t>HyTime architectural support
declarations</h2t>
<cptr>
<![RCDATA[ 
<?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
>]]>
</cptr></h2><h2 id ="Mdtdhytimecommonattributes"><h2t>HyTime common attributes</h2t>
<p>The attribute form <hp0>HyTime common attributes</hp0>
(<code>common</code>) declares the HyTime attributes shared by all
topic map forms.</p>
<cptr><![RCDATA[
<!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 --
>
]]></cptr></h2>
<h2 id = "Mdtdhytimeparameterentities"><h2t>HyTime meta-DTD content model
parameter entities</h2t>
<cptr><![RCDATA[
<!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;"
>
]]></cptr></h2>
<h2 id = "Mdtdhytimedocumentelementform"><h2t>HyTime document element form</h2t>
<cptr><![RCDATA[
<!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 --
>
]]></cptr></h2>
<h2 id = "Mdtdhytimeboscontrolforms"><h2t>HyTime bounded object set control
forms</h2t>
<h3 id = "Mdtdhytimebosctrldataatts"><h3t>HyTime BOS control data
attributes</h3t>
<cptr><![RCDATA[
<!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
>
>
]]></cptr></h3>
<h3 id = "Mdtdhytimebosexceptionspec"><h3t>HyTime bounded object set exception
specification</h3t>
<cptr><![RCDATA[
<!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 --
>
]]></cptr></h3></h2>
<h2 id = "Mdtdtnmdocumentelementform"><h2t>TNM document element form</h2t>
<cptr>
<![RCDATA[
<!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 --
>
]]>
</cptr></h2>
<h2 id = "Mdtdtopiclinkarchitecturalform"><h2t>Topic Link Architectural
Form</h2t>
<cptr><![RCDATA[
<!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. --
>
]]></cptr></h2>
<h2 id = "Mdtdtopicname"><h2t>Topic Name</h2t>
<cptr><![RCDATA[
<!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)
>
]]></cptr></h2>
<h2 id = "Mdtdtopicoccurrence"><h2t>Topic Occurrence</h2t>
<cptr><![RCDATA[
<!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"
>
]]></cptr></h2>
<h2 id = "Mdtdassoclinkaf"><h2t>Association Link Architectural Form</h2t>
<cptr><![RCDATA[
<!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. --
>
]]></cptr></h2>
<h2 id = "Mdtdassociationrole"><h2t>Association Role</h2t>
<cptr><![RCDATA[
<!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
>
]]></cptr></h2>
<h2 id = "Mdtdfacetlinkarchitecturalform"><h2t>Facet Link Architectural
Form</h2t>
<cptr><![RCDATA[
<!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. --
>
]]></cptr></h2>
<h2 id = "Mdtdfacetvalue"><h2t>Facet Value</h2t>
<cptr><![RCDATA[
<!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"
>
]]></cptr></h2>
<h2><h2t>Public Topic Declarations</h2t>
<p>The following publicly defined entity set can be used to reference the
public topics defined in Clause <hdref refid="Publictopicsdefined"> of this standard:</p>
<cptr>
<![RCDATA[
<!-- 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">
]]>
</cptr>
</h2>
</h1>
<h1 id = "Mdtdarchsupportdecl"><h1t>Annex B. Architectural support declaration
for the  TNM Architecture (Normative)</h1t>
<p>The following is an example of a TNM architectural support
declaration as it might appear in a TNM document that is expressed
using SGML.</p>
<note>
<p>The following example conforms to Annex A.3 of ISO/IEC
10744:1997.</p>
</note>
<cptr><![RCDATA[
<!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
>]]>
</cptr>
<p>The following is an example of TNM architectural support
declarations as they might appear in a TNM document expressed using
WebSGML or XML.</p>

<note>
<p>The following example conforms to Annex A.3 of ISO/IEC 10744:1997,
as amended via ISO/IEC JTC1/SC34/n1957.</p>
</note>
<cptr>
<![RCDATA[
<?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"
?>
]]></cptr></h1>
</annexi></standard>



