TITLE: | ISO/IEC FCD 13250:1999 - Topic Maps |
SOURCE: | ISO/IEC FCD 13250 Editors |
PROJECT: | JTC1.18.67 |
PROJECT EDITOR: | Michel Biezunski, Martin Bryan, Steve Newcomb |
STATUS: | Approved text for DIS ballot |
ACTION: | For ballot |
DATE: | 19 April 1999 |
DISTRIBUTION: | SC34 and Liaisons |
REFER TO: | SC34 N44, 57 |
REPLY TO: | Dr. James David Mason (ISO/IEC JTC1/SC34 Chaiman) Lockheed Martin Energy Systems Information Management Services 1060 Commerce Park, M.S. 6480 Oak Ridge, TN 37831-6480 U.S.A. Telephone: +1 423 574-6973 Facsimile: +1 423 574-0004 Network: masonjd@ornl.gov http://www.ornl.gov/sgml/wg4/ ftp://ftp.ornl.gov/pub/sgml/wg4/ |
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. 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 c 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, Subcommittee SC34, Document description and processing languages.
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 International Standard is called a "topic map". In general, the structural information conveyed by topic maps includes:
occurrences), and
associations).
A topic map defines a multidimensional topic space — a space in which the 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.
NOTE 1: Two topics may be connected through an association, and they can also be connected by virtue of sharing an 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".
NOTE 2: The word "facet" can mean one side of a many-sided, polished object, or one segment of a compound eye (e.g. an insect's). Its metaphorical 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 maps can provide topical structure information about the same information resources. The Topic Maps architecture is designed to facilitate merging topic maps without requiring the merged topic maps to be copied or modified. Because of their extrinsic character, topic maps can be thought of as "overlays" on, or extensions to, sets of information objects.
The base notation of Topic Maps is SGML; an interchangeable topic map always
consists of at least one SGML document, and it may include and/or refer to
other kinds information resources. A set of information resources that comprise
a complete interchangeable topic map can be specified using the bounded
object set (BOS)
facility defined by the HyTime architecture in ISO/IEC
10744:1997.
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 Topic Maps.
The topic map notation is defined as an "SGML Architecture", and this International 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 topic map notation is expressed as a meta-DTD.
NOTE 3: This clause defines the scope of this International standard. It should not be confused with the concept of "scope" defined in 3, which only applies in the context of Topic Maps.
Topic maps enable multiple, concurrent views of sets of information objects. The structural nature of these views is unconstrained; they may reflect an object oriented approach, or they may be relational, hierarchical, ordered, unordered, or any combination of the foregoing. Moreover, an unlimited number of topic maps may be overlaid on a given set of information resources.
Topic maps can be used:
This International Standard does not require or disallow the use of any scheme for addressing information objects. Except for the requirement that topic map documents themselves be expressed using SGML (or WebSGML) and HyTime, using the syntax described herein, neither does it require or disallow the use of any notation used to express information.
The following standards contain provisions which, through reference in this text, constitute provisions of this International Standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this International Standard are encouraged to investigate the possibility of applying the most recent editions of the standards indicated below. Members of IEC and ISO maintain registers of currently valid International Standards.
For the purposes of this International Standard the following definitions apply.
The definitions provided in ISO 8879:1986 (including TC1, TC2 and TC3) and ISO/IEC 10744:1997 (including Amendment 1) shall apply to this International Standard.
topic association.
hub document.
subject descriptor) which is used (or, especially, which is designed to be used) as a common referent of the identity attributes of many topic links in many topic maps. The subject described by the subject descriptor is thus easily recognized as the common binding point of all the topic links that reference it, so that they will be merged.
NOTE 4: The definition of scope provided here
should not be confused with 1, entitled Scope
,
which defines the scope of this International Standard.
The extent of the validity of a topic characteristic assignment (see the
definition of topic characteristic assignment
): the context in which a
name or an occurrence is assigned to a given topic, and the context in which
topics are related through associations. This International Standard does not
require that scopes be specified explicitly. If the scope of a topic
characteristic assignment is not explicitly specified via one or more
scope attributes, the scope within which the topic characteristic
applies to the topic includes all the topics in the entire topic map; this
special scope is called the unconstrained scope
. If a scope is
specified, the specification consists of a set of topics, which, in the context
of their role as members of such a set, are called themes
. Each theme
contributes to the extent of the scope that the themes collectively define; a
given scope is the union of the subjects of the set of themes used to specify
that scope.
NOTE 5: If it is desired to specify a scope which is the intersection (rather than the union) of two topics, this can be accomplished by creating a topic whose subject is that intersection, and then by using that topic as a theme.
subjectis anything whatsoever, regardless of whether it exists or has any other specific characteristics, about which anything whatsoever may be asserted by any means whatsoever.
NOTE 8: The invisible heart of every topic link is
the subject that its author had in mind when it was created. In some sense, a
topic link reifies a subject. The identity attribute of a topic link is
provided to allow the author of the topic link to indicate, as unambiguously as
possible, the subject he had in mind as the organizing principle of the topic.
See the definition of subject descriptor
.
public subject descriptor.)
NOTE 6: There is no requirement that a subject descriptor be text, although it can be the text of a definition of the subject. It can also, for example, be a listing in a catalog of subjects, such as an acquisition number of an asset in a museum collection, a catalog number in a sales catalog, or a subject heading in a catalog of library subject headings. The distinction between a subject descriptor that happens to be a definition and an ordinary occurrence of a definition is that, in the case of the subject descriptor, the topic link's author has indicated (by referring to it by means of the value of the identity attribute) that it is to be regarded as the authoritative definition of the organizing principle of the topic link. In the other case, by characterizing a definition as a definitional occurrence, the author is merely acknowledging the existence of the definition and its possible relevance to the subject of the topic link.
NOTE 7: Subject descriptors may be offline resources.
scopeand
topic.
associations) with other topics.
name characteristicof that topic.
NOTE 9: In this International Standard, the foregoing
definition is invoked by the phrase topic link
, or, since the default
SGML name of the topic link architectural form is topic
, by the special
typography used to distinguish SGML names (i.e., topic).
NOTE 10: See also the definition of topic
.
NOTE 11: Topic occurrences may be offline resources.
NOTE 12: In other words, the unconstrained scope is the default scope. Thus, for example, in a given topic map, if no scope attributes are explicitly specified for the name characteristics of any topics, any two topic links that have any of the same names will be merged, due to the effect of the topic naming constraint.
Topic Maps is an enabling document architecture whose definition
(this International Standard) conforms to the Architectural Form Definition
Requirements in Normative Annex A.3 of ISO/IEC 10744:1997, the "SGML
Architectural Form Definition Requirements" (AFDR). The formal definition
of the topic map notation is expressed as a meta-DTD. The specification of the
Topic Maps architecture is accomplished by a combination of narrative text and
formal definitions. Any references in this document to industry and
proprietary standards, products, user groups, and publications are not
normative, and do not imply endorsement by ISO, IEC, or their national member
bodies or affiliates. Any brand names or trademarks mentioned are the property
of their respective owners. The formal SGML
definitions are part of the text of this International Standard and are
protected by copyright. In order to facilitate conformance to the Topic Maps
architecture, the formal SGML definitions may be copied as specified in the
following copyright notice: Copyright (C) 1999 International Organization
for Standardization. Permission to copy in any form is granted for use with
conforming Topic Maps systems and applications as defined in ISO/IEC
13250:1999, provided this notice is included in all copies. The permission
to copy does not apply to any other material in this International Standard.
NOTE 13: This document uses editorial conventions mandated by the ISO with which the reader should be familiar in order to understand the implications of certain words. The text describing each construct emphasizes semantics, while the formal SGML definition provides the rigorous syntactic definitions underlying the text descriptions.
NOTE 14: For this reason, it is recommended that the reader refer to the SGML definitions while reading the textual descriptions. Although the SGML definition always follows the related text, the user may find it helpful to read the SGML first in some cases. The meta-DTD is found in Annex A. When a construct is first introduced, it is described in the text. If the construct occurs in the formal SGML specification, both the formal SGML name and a full name in English are presented, as follows:
The declarations include comments, called "conventional comments", that follow conventions established in the HyTime standard to specify syntactic and semantic constraints and other information that is known to an architecture engine such as a Topic Maps engine. The conventional comments do not extend SGML in any way. They are used in the architecture definitions only, as a notation for the documentation of the architecture. They need not be included in application DTDs and, if they are included, the SGML parser will treat them as it would any other comment.
Every form name is followed by comments giving the full name, a description of the form, and the number of the clause in this International Standard in which the form is defined.
Individual attributes have a full name and description comment.
Comments labeled "Constraints" define additional semantic or syntactic constraints on the constructs they follow. Constraint comments that follow the name of a form define constraints on the use of that form in general. Constraint comments that follow a component of a declaration (for example, the default value prescription of an attribute declaration), define the specific constraints on that component.
Note comments provide additional information not provided by the other comment types and are informational rather than constraining.
This clause defines the syntax of topic maps. The Topic Maps syntax makes use of the base, location address, and hyperlinking modules of the HyTime architecture as defined in clauses 6, 7 and 8 of ISO/IEC 10744:1997.
NOTE 15: The entire formal definition of the Topic Maps syntax, the Topic Maps meta-DTD, is found in normative Annex A of this International Standard.
When interchanged, topic maps are HyTime bounded object sets (BOSs). The hub document of such a BOS must contain a Topic Maps architectural support declaration (see Annex B for examples).
Only one of the hyperlink syntaxes defined by HyTime is used in the topic map syntax: variable link (varlink).
The HyTime architecture provides a comprehensive set of addressing mechanisms and a standard syntax for using them. In addition, it provides means whereby any addressing syntax can be declared and used. The topic map architecture preserves these features of HyTime. Thus, the Topic Maps architecture allows topic map authors to use any addressing scheme, including proprietary addressing mechanisms driven by expressions in any notations, provided each such notation is formally declared as a notation in the manner prescribed by the SGML and HyTime International Standards.
NOTE 16: For example, in an XML environment, location addressing can be accomplished using IETF Uniform Resource Locator (URL) notation.
The topic map (topicmap) element form is used as the document element of all documents that conform to the Topic Maps architecture defined by this International Standard.
The effect of specifying the added themes (addthems) attribute is to add the themes that it references to the scopes of all of the topic characteristic assignments made throughout the document of which the element is the root element.
NOTE 17: See the definition of added themes
.
NOTE 18: The addthems attribute can be used to acknowledge and document the fact that the document specifies only topic characteristic assignments that are within the scope defined by the set of themes that it specifies. It can be used to avoid specifying these common themes explicitly in every scope. After a topic map document is merged with other topic map documents, 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 scopes of the topics specified by the addthems attribute of its document element.
The topicmap element type is derived from the document element type of the HyTime architecture (HyDoc). All of the remaining attributes (maxbos, boslevel and grovplan) are inherited from HyDoc. The optional maxbos and boslevel attributes are used in hub documents in specifying the members of the HyTime bounded object set rooted at the document. The optional grovplan attribute is used in HyTime addressing. (See ISO/IEC 10744:1997.)
NOTE 19: As the use of the TMCFC
parameter entity indicates, valid topic map documents may or may not have any
topic links, association links or facet links in them. Some conforming
applications may support only facet element types, while others may not
support facet element types.
<!entity % TMCFC -- Topic map context-free content -- "topic|assoc|facet|bosspec|addthms|TMBrid" > <!element TMBrid -- Topic map bridge element -- - O ANY > <!element topicmap -- Topic map document element -- -- Clause: 5.1 -- - O (%TMCFC;)* > <!attlist topicmap HyTime -- HyTime architectural form name -- NAME HyDoc -- HyTime document element. (This attribute definition is redundant; it appears here as an aid to understanding.) -- addthems -- Added themes -- -- Themes to add to all scopes that govern the assignments of topic names, occurrences, and roles played in associations in this topic map document. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes added via this attribute. -- -- 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 -- >
The topic link (topic) element form is used to assign topic name characteristics and topic occurrence characteristics to a topic.
Every topic link is intended by its author to be organized around exactly
one subject, regardless of whether that subject is explicitly defined anywhere.
A topic link may declare zero or more names and zero or more pieces of
information (occurrences
) that are relevant to its subject. Names, and
the scopes within which the names are applicable to the subject, are declared
by means of topname subelements. Occurrences are the anchors of the
topic link; these, and the scopes within which the occurrences are applicable
to the subject, are specified by means of occurs subelements.
The required unique identifier (id) attribute facilitates the addressing of topics by association links, by the identity attributes of other topic links, and, in their roles as themes in scopes, by scope and addthems attributes.
The optional subject identity (identity) attribute refers to
one or more indications (subject descriptors
) of the identity of the
subject (the organizing principle) of the topic link. All of the other topic
characteristics specified by the topic link are regarded as elaborating, and in
no way contradicting, the subject described by the subject descriptor(s), if
any. There are no restrictions on the kinds of information that may be
referenced by an identity attribute.
NOTE 20: The information referenced by an identity attribute may or may not take the form of a topic link in a topic map document, may or may not be text, may or may not be machine-interpretable, and may or may not be online.
Any two or more topic links that reference the same subject by means of their identity attributes are equivalent to a single topic link that has the union of the characteristics (the names, occurrences, and associations) of both topic links. The two or more topic links may be merged, and/or applications may process and/or render them as if they have been merged.
NOTE 21: The two or more topic links do not have to
refer to the same subject descriptor in order to be merged under this rule. It
is only necessary that the subject that is somehow indicated by the two
identity attributes be one and the same subject. If two or more topics
refer to exactly the same subject descriptor, the subject descriptor may be
described as a public subject descriptor
, and it becomes possible to
automate the merging of all such topics by making the assumption that, if they
all share the same subject descriptor, they all share the same subject
identity.
Similarly, if the identity attribute references one or more topic links, topic map processing applications must regard the referencing topic link, and all the referenced topic links, as having one and the same subject, and therefore they may all be merged.
The optional topic types (types) attribute references one or more topic links. The subject of each such referenced topic link is a class of subject of which the subject of the referencing topic link is an instance. The class-instance relationship established between the subject of each referenced topic link and the subject of the referencing topic link could alternatively be established by a topic association link whose semantic is the relationship between a class and an instance of that class.
NOTE 22: In other words, the types attribute establishes a relationship between topics (a topic association), rather than being a means whereby the referencing topic becomes an occurrence of each of the referenced topics.
The topic relationships established by the types attribute are not superclass-subclass relationships. They are only class-instance relationships.
NOTE 23: Superclass-subclass relationships between topics can be asserted by topic association links that have been user-defined for that purpose.
The optional scope (scope) attribute references the themes that are added to the scopes within which all names and occurrences specified by the topic link are valid.
NOTE 24: The scope attribute of the topic link architectural form is designed to permit a reduction in syntactic redundancy by providing a means whereby the themes that are common to the scopes within which all the names and occurrences of a topic are valid can be specified once for all. There is no requirement that it be used, however, even if its use would reduce redundancy.
A valid topic link must have at least one of the following: a topic name, a topic occurrence, or a role played in an association with at least one other valid topic.
The topic element type is derived from the varlink element type of the HyTime architecture.
NOTE 25: However, because it is possible to have a topic link without any occurs elements inside it, while (at the time of publication of this International Standard) the HyTime architecture requires that varlink elements always contain at least one anchspec, it is necessary that the value of the HyTime attribute be HyBrid when there are no contained occurs elements, and that it be varlink when there are any such contained occurs elements. It is anticipated that future versions of the HyTime architecture will permit varlink elements that contain no anchspec elements, and if such a change in the HyTime standard is made, it will be possible to fix the value of the HyTime attribute of all topic elements at varlink.
The optional hyperlink type (linktype) attribute is defined by the HyTime architecture in order to allow the link type name to be different from the generic identifier.
NOTE 26: Neither the value of the linktype attribute nor the generic identifier of a topic link has any significance with respect to the topic mapping semantics defined by this International Standard.
<!element topic -- Topic link -- -- Clause: 5.2.1 -- - O ( topname | occurs)* > <!attlist topic HyTime -- HyTime architectural form name -- (varlink|HyBrid) varlink -- Constraint: varlink must be specified when occurrences exist. If topic has no occurrences, it must be declared as a HyTime bridge element (HyBrid). -- id -- Unique identifier -- ID #REQUIRED identity -- Subject identity -- -- Reference to information (one or more subject descriptors) that confers understanding of the identity of the subject of this topic link. -- CDATA -- Reference -- #IMPLIED -- Default: No subject descriptors; the subject must be inferred from the topic's characteristics. -- types -- Topic types -- -- Topics whose subjects are the classes of topics of which this topic is an instance. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No class-instance topic associations are established via this attribute. -- -- Note: Some might still be specified by topic association links, however. -- scope -- Scope -- -- The themes that are added to the scopes of all the names and occurrences specified by this topic link. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added by this attribute. -- linktype -- Hyperlink type -- NAME #IMPLIED -- Default: Generic identifier -- >
A topic may have zero or more name characteristics (topic names). Topic names are specified using topic name (topname) elements; all such names become topic characteristics of the topic whose subject is the subject of the containing topic link.
This International Standard distinguishes three kinds of topic name: base name (basename), display name (dispname), and name used as sort key (sortname), specified by means of the three corresponding element types that a topname element may contain.
The scope (scope) attribute of the topname element specifies the themes that are common to the scopes of all of the topic name characteristics specified by the contained basename, dispname and sortname elements. The scope is the context (or area of validity) in which the name characteristic(s) specified by a topname element is/are assigned to the topic whose subject is the subject of the containing topic link.
The scope attributes of the contained name elements (basename, dispname and sortname) may be used to add more themes on a name-by-name basis, in the same manner as the scope attribute of the containing topname element.
NOTE 27: Thus, the scope attribute of the topname element form is really just a means of avoiding the syntactic redundancy of specifying the themes common to the contained elements separately via the scope attribute of each contained element.
NOTE 28: See also the definitions of theme
and
scope
in 3.
If no scope attribute is specified by a basename, dispname or sortname element and no scope attribute is specified by its containing topname nor by the containing topname's containing topic link, then the scope of the name characteristic specified by that basename, dispname or sortname is unconstrained. If any of the aforementioned scope attributes are specified, then the scope is constrained to the themes specified by those scope attributes, even if the scope attributes specify no themes, plus any themes added via any applicable addthms elements in the bounded object set, plus any themes added via the addthems attribute of the containing topicmap document element.
The content of the optional display name (dispname) element specifies a name that is designed to be displayed by an application to a user, when the name specified by the basename elements within the same containing topname should not be used for display purposes.
NOTE 29: The display name can be used to specify an abbreviated name for use in situations where display resources are limited, or it can be a graphic expressed in some data content notation.
The content of the optional name to be used as sort key (sortname) element specifies a name that is designed to be used to represent the topic in a sorting process that arranges a list of topics in some order, when the name specified by the basename elements within the same containing topname should not be used for that purpose.
NOTE 30: Thus, the basename elements, at least one of which is required, is also, in effect, the default content of the optional dispname and sortname elements. If no dispname elements are specified, the basename elements are to be used as display names. Similarly, if no sortname elements are specified, the basename elements are to be used as sort keys.
The data content of both basename and sortname elements must be text strings, and they may be words or phrases. The data content of a dispname element may be either a text string or notation data; if it is notation data, it may be a displayable graphic or other information intended to identify the subject to one or more of the senses of the user of the topic map. If the content of a dispname is notation data, it must declare the notation via the HyTime-defined notation common attribute (see ISO/IEC 10744:1997).
NOTE 31: There are two reasons why base names, display names, and names used as sort keys may share a single containing topname element:
This International Standard does not permit two distinct subjects to have
the same name characteristic within exactly the same scope (the topic naming
constraint
). When topic maps are processed, each distinct set of themes
that serves as a scope constitutes a namespace in which no two subjects can
have the same name. If a conforming topic map application detects a situation
in which multiple topic links have the same name characteristic within the same
scope, they shall be merged.
NOTE 32: This means that applications that render the topic map will behave as though there was only a single topic link whose characteristics comprise the union of the topic characteristics of all of the topic links that had the same name within the same scope.
NOTE 33: The topic naming constraint is designed to preserve the ability to identify subjects unambiguously in terms of their topic name characteristics. The topic naming constraint is also necessary in order to support the most basic functionality of indexes and glossaries, which must make distinctions between the various meanings of words and phrases in order to support navigation to the relevant occurrences. Topic map authors must use scopes to distinguish between the different meanings of any name that is used for more than one subject. Consequently, if a topic map author does not wish to specify scope attributes explicitly, that author cannot use the same name for any two different subjects, because the default scope is a single scope: the unconstrained scope. Since any two identical names will appear within that single scope, the two subjects of which the two names are topic characteristics will be automatically merged. Such merging is erroneous and extremely undesirable unless the two topic links that have the same name in the same scope also have the same subject identity.
NOTE 34: As an aid to topic map authors, topic map authoring and merging applications may be designed in such a way as to give warning when topic links are being merged on account of the fact that they have the same name in the same scope.
NOTE 35: One of the effects of the topic naming constraint is that the merging of topic maps can be accomplished in such a way as to make the merger maintainable even when the member topic maps are maintained separately, asynchronously, and with no extra, agreed-upon discipline (such as some sort of element naming discipline) designed to permit easy maintenance of references among the component documents of the merged topic map. The topic naming constraint makes the addressing of the subjects covered by topic maps dependent only on their names and the distinguishing criteria of their names (the scopes within which their name characteristics are valid), and not on the organization or tagging of their corresponding topic links. The process of merging topic maps can be accomplished by creating a topic map hub document that specifies other topic maps as being members of its BOS, and that contains topic links whose names are the same as the names of topics in the member topic map documents, within the same scopes. The process of replacing one of the component topic maps with a newer version of itself is a matter of replacing the old version with the new version, and reprocessing the bounded object set in the usual way. There may be name and scope changes in the new version which will necessitate some thought and effort on the part of the operator in order to obtain the best possible merger, but the required effort will be limited to the resolution of issues created by the changes that were made to the component topic maps since the last merger was completed.
NOTE 36: If any two topic maps that are to be merged conflict with one another because they happen to provide the same name within the same scope for two different subjects, the merger of the different subjects can be prevented by applying different added themes to one or both of their containing topic map documents, using one or more addthms elements. The added themes specified by such addthms elements can serve to distinguish the two identical names, because they will no longer appear within exactly the same scope.
<!element topname -- Topic name -- -- Clause 5.2.2-- O O (basename+, dispname*, sortname* ) -- If dispnames or sortnames are not specified, applications use basenames for display and sorting purposes. -- > <!attlist topname scope -- Scope -- -- Reference to a set of themes (topic links) to be added to the scopes of the name characteristics specified by the contained basename, dispname, and sortname elements. Scopes are sets of themes that collectively define the limited context within which characteristics are validly applicable to the topic. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added via this attribute. -- > <!element (basename | sortname) -- Base name -- -- and -- -- Name to be used as sort key -- - O (#PCDATA) -- String to be used as name -- > <!element dispname -- Display name -- - O (#PCDATA|TMBrid)* -- String (or notation data) to be displayed as name -- > <!attlist ( basename | sortname | dispname) scope -- Scope -- -- References to a set of themes (topic links) to be added to the scope of the name characteristic specified in the content. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added via this attribute. -- >
By means of location addresses specified in its content, the topic
occurrence (occurs) element references information (one or more
occurrences
) that is relevant to the subject of the containing topic
link. This International Standard imposes no constraints on the nature of
information objects that can be specified as occurrences of topics, nor on the
addressing notations used to reference such occurrences.
NOTE 37: Applications may impose such constraints.
NOTE 38: Topic occurrences may be offline resources.
All of the occurrences specified by any given occurs element fall
into a single user-defined category of occurrences called an occurrence
role
-- the role played by the occurrences in contributing to the
information that participates in the subject characterized by the containing
topic link. Within a single topic link, more than one occurs element may
reference the same information, in which case the information plays multiple
occurrence roles.
NOTE 39: For example, if the subject of a topic link
is Leonardo Da Vinci, there may be a scientific-biography
occurrence
role, and a separate artistic-biography
occurrence role. Some
information resources may fall into both categories; if so, such resources will
be referenced by both of the occurs elements that correspond to the two
occurrence roles.
The occurrence role is the scope within which the occurrences are relevant to the subject of the containing topic link. The set of themes (topics) that constitute the scope is specified via the optional scope (scope) attribute. If no scope attribute is specified by an occurs element, and no scope attribute is specified by its containing topic link element, then the scope of the occurrence characteristics specified by that occurs element is unconstrained. If either of the aforementioned scope attributes are specified, then the scope is constrained to the themes specified by those scope attributes (even if the scope attributes specify no themes), plus any themes added via any applicable addthms elements in the bounded object set, plus any themes added via the addthems attribute of the containing topicmap document element.
The optional occrl attribute can be used to provide a mnemonic name for the occurrence role. If the occrl attribute is not specified, the generic identifier is regarded as the mnemonic name of the occurrence role.
The optional occurrence role type (type) attribute references a single topic link. The subject of the referenced topic link is a class of occurrence role of which the occurrence role expressed by the occurs element is an instance. The class-instance relationship established between the subject of the referenced topic link and the referencing occurs element could alternatively be established by making the occurs element an occurrence of the referenced topic link, within the scope of an occurrence role whose meaning is that the occurrence role is an instance of the subject of the topic link.
If the occurrence role type (type) attribute is specified, and if the topic referenced by the type attribute has a name characteristic that lies within a scope that is appropriate to the topic map user's context, the referenced topic's name characteristic is used to characterize the occurrence role for the user. Otherwise, the value of the occrl attribute (or, if the occrl attribute is not specified, the generic identifier) is used to characterize the occurrence role for the user.
NOTE 40: The topic referenced via the type attribute can have many names in scopes designed for many different user contexts, including many different natural languages and delivery platforms, while the occrl attribute or generic identifier is just a single token. Therefore, the use of a topic, referenced by the type attribute, to characterize the occurrence role offers far more flexibility and representational power than the simple mnemonic naming facility offered by the occrl attribute or generic identifier.
The occurs element type is derived from the anchspec element type of the HyTime architecture. Most of the remaining attributes (linktrav, listtrav, multmem and emptyanch) are inherited from the anchspec element type defined by the HyTime standard; these have been given default values that are generally appropriate for topic map applications, but they are not necessarily the same as the default values specified by the HyTime architecture (see ISO/IEC 10744:1997). The HyNames architectural control attribute is used here to indicate that for HyTime processing purposes the occrl attribute should be regarded as the HyTime anchrole attribute. (See ISO/IEC 10744:1997.)
<!element occurs -- Topic occurrence -- -- Clause: 5.2.3 -- - O (%loc;)* > <!attlist occurs HyTime -- HyTime architectural form name -- NAME #FIXED anchspec scope -- Scope -- -- Reference to themes that are added to the scope within which the occurrences are applicable to the topic characterized by the containing topic link.-- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added to the scope by means of this attribute. -- occrl -- Occurrence role name -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: GI of element is treated as occurrence role name. -- type -- Occurrence role type -- -- Reference to the topic that names and/or otherwise characterizes the occurrence role. The characteristics of the referenced topic, if appropriate, will be displayed to the user instead of the value of the occrl attribute. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No topic characterizes the occurrence role, unless this element is an occurrence (with an occurrence role whose meaning is instance) of a topic whose subject is the nature of the occurrence role. The value of the occrl attribute will be displayed as the occurrence role name. -- linktrav -- Hyperlink traversal rules -- -- Traversal between anchors of hyperlinks: A any traversal or departure (EID) D departure after internal arrival E traversal after external arrival I traversal after internal arrival N no traversal after internal arrival P no internal arrival R return traversal after internal arrival -- NAMES -- Lextype: ("A"|"EI"|"ER"|"ED"|"EN"|"EP"|"ERD"| "I"|"ID"|"D"|"N"|"P"|"R"|"RD") -- A listtrav -- List traversal rules -- -- Traversal between members of list anchors: A adjacent (both left and right) traversal L left traversal N no traversal R right traversal W wrapping traversal -- NAMES -- Lextype: ("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 occrl" >
The association link (assoc) element form is used to express relationships among topics. Topic Maps applications define the nature of the relationships, and of the roles played by topics in those relationships.
The optional scope (scope) attribute specifies the scope (the set of themes) within which the association is applicable to the topics that serve as anchors of the association link. If the scope attribute is not specified, the scope is unconstrained. If the scope attribute is specified, then the scope is constrained to the themes specified by the scope attribute (even if the scope attribute specifies no themes), plus any themes added via any applicable addthms elements in the bounded object set, plus any themes added via the addthems attribute of the containing topicmap document element.
The optional hyperlink type (linktype) attribute can be used to provide a mnemonic name for the association type. If the linktype attribute is not specified, the generic identifier is regarded as the mnemonic name of the association type.
The optional association type (type) attribute references a single topic link. The subject of the referenced topic link is a class of association of which the association expressed by the association link is an instance. The class-instance relationship established between the subject of the referenced topic link and the referencing association link could alternatively be established by making the association link an occurrence of the referenced topic link, with an occurrence role whose meaning is that the association link is an instance of the subject of the topic link.
NOTE 41: If topic links whose subjects are classes of topic associations specify identity attributes, and if the subject descriptor(s) referenced by the identity attributes describe the same subject, the association links that are instances of those classes can be universally recognized as assertions of equivalent relationships. Depending on the nature of such relationships, the use of public subject descriptors to define association types may significantly facilitate the process of merging topic maps, even when they emanate from disparate sources.
If the association type (type) attribute is specified, and if the topic referenced by the type attribute has a name characteristic that lies within a scope that is appropriate to the topic map user's context, the referenced topic's name characteristic is used to characterize the association type for the user. Otherwise, the value of the linktype attribute (or, if the linktype attribute is not specified, the generic identifier) is used to characterize the association type for the user.
NOTE 42: The topic referenced via the type attribute can have many names in scopes designed for many different user contexts, including many different natural languages and delivery platforms, while the linktype attribute or generic identifier is just a single token. Therefore, the use of a topic, referenced by the type attribute, to characterize the association type offers far more flexibility and representational power than the simple mnemonic naming facility offered by the linktype attribute or generic identifier.
<!element assoc -- Association link -- -- Clause: 5.3.1 -- - O (assocrl)+ > <!attlist assoc HyTime -- HyTime architectural form name -- NAME #FIXED varlink scope -- Scope -- -- Reference to themes that are added to the scope within which the association is applicable. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: Scope is unconstrained. -- linktype -- Hyperlink type. -- -- Mnemonic name for the association type. -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: Generic identifier -- type -- Association type -- -- Topic whose subject is the class of association of which this association is an instance. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No type is specified by this attribute. -- -- Note: A type might exist by virtue of the fact that this association link is an occurrence (where the occurrence role means "instance") of a topic whose subject is the nature of the association, however. -- >
The association role (assocrl) element form specifies a user-defined role played by one or more specific topics in the relationship asserted 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. Within a single association link, more than one assocrl element may reference the same topic, in which case the topic plays multiple roles in the association.
NOTE 43: Thus, the containing assoc element can assert that a topic has one or more specific relationships to itself.
Regardless of the association role(s) they play in the relationship expressed by the containing assoc element, all topics referenced in the content of the contained assocrl elements play their roles in that relationship within the same scope.
NOTE 44: This is the reason why there is no scope attribute on the assocrl element form.
The optional HyTime-defined anchor role (anchrole) attribute can be used to provide a mnemonic name for the association role. If the anchrole attribute is not specified, the generic identifier is regarded as the mnemonic name of the association role.
The optional association role type (type) attribute references a single topic link. The subject of the referenced topic link is a class of association role of which the association role expressed by the assocrl element is an instance. The class-instance relationship thus established between the subject of the referenced topic link and the referencing assocrl element could alternatively be established by making the assocrl element an occurrence of the referenced topic link, within the scope of an occurrence role whose meaning is that the association role is an instance of the subject of the topic link.
NOTE 45: If the topic links whose subjects are association role types specify identity attributes, and if the subject descriptor(s) referenced by those identity attributes describe the same subject, the assocrl elements that are instances of those association role types can be universally recognized as specifications of equivalent association roles. Depending on the nature of such association roles, the use of public subject descriptors to define association role types may significantly facilitate the process of merging topic maps, even when they emanate from disparate sources.
If the association role type (type) attribute is specified, and if the topic referenced by the type attribute has a name characteristic that lies within a scope that is appropriate to the topic map user's context, the referenced topic's name characteristic is used to characterize the association role for the user. Otherwise, the value of the anchrole attribute (or, if the anchrole attribute is not specified, the generic identifier) is used to characterize the association role for the user.
NOTE 46: The topic referenced via the type attribute can have many names in scopes designed for many different user contexts, including many different natural languages and delivery platforms, while the anchrole attribute or generic identifier is just a single token. Therefore, the use of a topic, referenced by the type attribute, to characterize the association role offers far more flexibility and representational power than the simple mnemonic naming facility offered by the anchrole attribute or generic identifier.
The assocrl element type is derived from the anchspec element type of the HyTime architecture. The remaining attributes (linktrav, listtrav, multmem and emptyanch) are inherited from the anchspec element type defined by the HyTime standard; these have been given default values that are generally appropriate for Topic Maps applications, but which are not necessarily the default values specified by the HyTime architecture (see ISO/IEC 10744:1997).
<!element assocrl -- Association role -- -- Clause: 5.3.2 -- - O (%loc;)+ -- Reftype: topic+ -- > <!attlist assocrl HyTime -- HyTime architectural form name -- NAME #FIXED anchspec anchrole -- Anchor role -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: GI of element is treated as anchor role. -- type -- Association role type -- -- Reference to the topic that names and/or otherwise characterizes the association role. The characteristics of the referenced topic, if appropriate, will be displayed to the user instead of the value of the anchrole attribute. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No topic characterizes the association role, unless this element is an occurrence (with an occurrence role whose meaning is instance) of a topic whose subject is the nature of the association role. The value of the anchrole attribute will be displayed as the association role name. -- linktrav -- Hyperlink traversal rules -- -- Traversal between anchors of hyperlinks: A any traversal or departure (EID) D departure after internal arrival E traversal after external arrival I traversal after internal arrival N no traversal after internal arrival P no internal arrival R return traversal after internal arrival -- NAMES -- Lextype: ("A"|"EI"|"ER"|"ED"|"EN"|"EP"|"ERD"| "I"|"ID"|"D"|"N"|"P"|"R"|"RD") -- A listtrav -- List traversal rules -- -- Traversal between members of list anchors: A adjacent (both left and right) traversal L left traversal N no traversal R right traversal W wrapping traversal -- NAMES -- Lextype: ("A"|"AW"|"L"|"LW"|"N"|"R"|"RW") -- N -- Default: Show the whole list -- multmem (single|list|corlist) list emptyanc (error|noterror) error >
The themes to be added (addthms) element allows themes to be added:
The added themes (addthems) attribute's 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 themes in the scopes of the topic characteristics specified via the tmdocs and cassign attributes.
The tmdocs and cassign attributes are independent of one another. If both are specified, the tmdocs attribute does not establish a location source for the addresses specified via the cassign attribute; the cassign attribute must be used in such a way that it establishes its own location source(s).
NOTE 47: When topic maps are to be merged, the tmdocs attribute can be used allow applications 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 an addthms element, that new topic can be used as an additional scope within which all the topic characteristics specified by the topic map is said to be valid. After the topic map document is merged with other topic map documents, 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.
NOTE 48: The addthms element's content is not defined by the Topic Maps architecture.
<!element addthms -- Themes to be added -- -- (To scopes specified by topic map documents and/or by topic links and/or association links.) -- -- Clause: 5.4 -- - O (TMBrid)* -- No content defined by the Topic Maps architecture -- > <!attlist addthms -- Themes to be added -- -- Clause: 5.4 -- addthems -- Added themes -- -- Themes to be added to the scopes specified by the tmdocs and cassign attributes -- CDATA -- Reference -- -- Reftype: topic+ -- #REQUIRED tmdocs -- Topic map document entities -- ENTITIES -- Constraint: Must be one or more document entities of topic map documents. -- #IMPLIED cassign -- Characteristic assigners -- -- Elements that assign characteristics to topics. The themes specified by the addthms attribute are to be added to the scopes within which the characteristics they specify are regarded as valid -- CDATA -- Reference -- -- Reftype: (topic | topname | basename | dispname | sortname | occurs | assoc)+ -- #IMPLIED >
By means of the "facet linking" facility, property/value pairs can be added to read-only information objects. The properties are called "facet types", and the values are called "facet values". This International Standard does not constrain the nature of facet linking applications; they may or may not also use topic links.
NOTE 49: The property/value pairs applied by facet links can be used, for example, as selection criteria to create partial views of a corpus of information.
NOTE 50: Topic links are much more generalized and powerful than facet links.
The facet link (facet) element form is used to apply
property/value pairs to information objects specified by the contained
fvalue elements. Facet link properties (facet types
) and values
(specified by means of the contained fvalue elements) are user-defined.
The optional hyperlink type (linktype) attribute can be used to provide a mnemonic name for the property (facet type). If the linktype attribute is not specified, the generic identifier is regarded as the mnemonic name of the property.
The optional facet type (type) attribute references a single topic link. The subject of the referenced topic link is the property (the facet type) specified in all of the property/value pair assignments made by the facet link. The class-instance relationship established between the subject of the referenced topic link and the referencing facet link could alternatively be established by making the facet link an occurrence of the referenced topic link, with an occurrence role whose meaning is that the facet link is an instance of the subject of the topic link. If the facet type (type) attribute is specified, and if the topic referenced by the type attribute has a name characteristic that lies within a scope that is appropriate to the topic map user's context, the referenced topic's name characteristic is used to characterize the property (the facet type) for the user. Otherwise, the value of the hyperlink type (linktype) attribute (or, if the linktype attribute is not specified, the generic identifier) is used to characterize the property for the user.
NOTE 51: The topic referenced via the type attribute can have many names in scopes designed for many different user contexts, including many different natural languages and delivery platforms, while the linktype attribute or generic identifier is just a single token. Therefore, the use of a topic, referenced by the type attribute, to characterize the property (the facet type) offers far more flexibility and representational power than the simple mnemonic naming facility offered by the linktype attribute or generic identifier.
The facet element type is derived from the varlink element type of the HyTime architecture.
<!element facet -- Facet link -- -- Clause: 5.5.1 -- - O (fvalue)+ > <!attlist facet HyTime -- HyTime architectural form name -- NAME #FIXED varlink linktype -- Hyperlink type. -- -- Mnemonic name for the property (facet type). -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: Generic identifier -- type -- Facet type -- -- Topic whose subject is the property of the property/value pair(s) being assigned to the anchor(s). -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No facet type topic is specified by this attribute. -- -- Note: A facet type topic might exist by virtue of the fact that this facet link is an occurrence (where the occurrence role means "instance") of a topic whose subject is the nature of the property, however. -- >
The facet value (fvalue) element form specifies a user-defined value of the property (facet type) being applied by the containing facet link. The information objects to which the property/value pair is being assigned are referenced by means of the location addresses specified in the content of the fvalue element.
The optional facet value name (facetval) attribute specifies the token which is the value of the property/value pair being assigned. If the facetval attribute is not specified, the generic identifier of the fvalue is the value being assigned.
The optional facet value type (type) attribute references a single topic link. The subject of the referenced topic link is the significance of the facet value. The class-instance relationship established between the subject of the referenced topic link and the referencing fvalue element could alternatively be established by making the fvalue element an occurrence of the referenced topic link, with an occurrence role whose meaning is that the fvalue element is an instance of the subject of the topic link.
The fvalue element type is derived from the anchspec element type of the HyTime architecture. The attributes (linktrav, listtrav, multmem and emptyanch) are inherited from the anchspec element type defined by the HyTime standard; these have been given default values that are generally appropriate for fvalue elements, but which may differ from the default values specified in the HyTime standard (see ISO/IEC 10744:1997). The HyNames architectural control attribute is used here to indicate that for HyTime processing purposes the facetval attribute should be regarded as the HyTime anchrole attribute. (See ISO/IEC 10744:1997.)
<!element fvalue -- Facet value -- -- Clause: 5.5.2 -- - O (%loc;)* > <!attlist fvalue HyTime -- HyTime architectural form name -- NAME #FIXED anchspec facetval -- Facet value name -- -- Token is value of property being assigned. -- NAME #IMPLIED -- Default: Facet value name is GI of element. -- type -- Facet value type -- -- Reference to a topic whose subject is the significance of the facet value name. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No facet value type topic is specified by this attribute. -- -- Note: A facet value type topic might exist by virtue of the fact that this fvalue element is an occurrence (where the occurrence role means "instance") of a topic whose subject is the significance of the facet value name, however. -- linktrav -- Hyperlink traversal rules -- -- Traversal between anchors of hyperlinks: A any traversal or departure (EID) D departure after internal arrival E traversal after external arrival I traversal after internal arrival N no traversal after internal arrival P no internal arrival R return traversal after internal arrival -- NAMES -- Lextype: ("A"|"EI"|"ER"|"ED"|"EN"|"EP"|"ERD"| "I"|"ID"|"D"|"N"|"P"|"R"|"RD") -- A listtrav -- List traversal rules -- -- Traversal between members of list anchors: A adjacent (both left and right) traversal L left traversal N no traversal R right traversal W wrapping traversal -- NAMES -- Lextype: ("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" >
If a topic map 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 topic map document.
A conforming application intended to use existing topic maps must be able to:
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.
NOTE 52:
This International 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).
While the meta-DTD that appears here is normative, it is also possible for conforming applications to use a meta-DTD that is the same in all respects except for differences dictated by the need to use a different SGML declaration.
NOTE 53: For example, the meta-DTD will differ in certain syntactic details when used in XML (WebSGML) applications.
<!-- 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" > <!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 -- > <!-- Topic Map specific architectural forms --> <!entity % TMCFC -- Topic map context-free content -- "topic|assoc|facet|bosspec|addthms|TMBrid" > <!element TMBrid -- Topic map bridge element -- - O ANY > <!element topicmap -- Topic map document element -- -- Clause: 5.1 -- - O (%TMCFC;)* > <!attlist topicmap HyTime -- HyTime architectural form name -- NAME HyDoc -- HyTime document element. (This attribute definition is redundant; it appears here as an aid to understanding.) -- addthems -- Added themes -- -- Themes to add to all scopes that govern the assignments of topic names, occurrences, and roles played in associations in this topic map document. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes added via this attribute. -- -- 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 -- <!element topic -- Topic link -- -- Clause: 5.2.1 -- - O ( topname | occurs)* > <!attlist topic HyTime -- HyTime architectural form name -- (varlink|HyBrid) varlink -- Constraint: varlink must be specified when occurrences exist. If topic has no occurrences, it must be declared as a HyTime bridge element (HyBrid). -- id -- Unique identifier -- ID #REQUIRED identity -- Subject identity -- -- Reference to information (one or more subject descriptors) that confers understanding of the identity of the subject of this topic link. -- CDATA -- Reference -- #IMPLIED -- Default: No subject descriptors; the subject must be inferred from the topic's characteristics. -- types -- Topic types -- -- Topics whose subjects are the classes of topics of which this topic is an instance. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No class-instance topic associations are established via this attribute. -- -- Note: Some might still be specified by topic association links, however. -- scope -- Scope -- -- The themes that are added to the scopes of all the names and occurrences specified by this topic link. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added by this attribute. -- linktype -- Hyperlink type -- NAME #IMPLIED -- Default: Generic identifier -- <!element topname -- Topic name -- -- Clause 5.2.2-- O O (basename+, dispname*, sortname* ) -- If dispnames or sortnames are not specified, applications use basenames for display and sorting purposes. -- > <!attlist topname scope -- Scope -- -- Reference to a set of themes (topic links) to be added to the scopes of the name characteristics specified by the contained basename, dispname, and sortname elements. Scopes are sets of themes that collectively define the limited context within which characteristics are validly applicable to the topic. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added via this attribute. -- > <!element (basename | sortname) -- Base name -- -- and -- -- Name to be used as sort key -- - O (#PCDATA) -- String to be used as name -- > <!element dispname -- Display name -- - O (#PCDATA|TMBrid)* -- String (or notation data) to be displayed as name -- > <!attlist ( basename | sortname | dispname) scope -- Scope -- -- References to a set of themes (topic links) to be added to the scope of the name characteristic specified in the content. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added via this attribute. -- > <!element occurs -- Topic occurrence -- -- Clause: 5.2.3 -- - O (%loc;)* > <!attlist occurs HyTime -- HyTime architectural form name -- NAME #FIXED anchspec scope -- Scope -- -- Reference to themes that are added to the scope within which the occurrences are applicable to the topic characterized by the containing topic link.-- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: No themes are added to the scope by means of this attribute. -- occrl -- Occurrence role name -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: GI of element is treated as occurrence role name. -- type -- Occurrence role type -- -- Reference to the topic that names and/or otherwise characterizes the occurrence role. The characteristics of the referenced topic, if appropriate, will be displayed to the user instead of the value of the occrl attribute. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No topic characterizes the occurrence role, unless this element is an occurrence (with an occurrence role whose meaning is instance) of a topic whose subject is the nature of the occurrence role. The value of the occrl attribute will be displayed as the occurrence role name. -- linktrav -- Hyperlink traversal rules -- -- Traversal between anchors of hyperlinks: A any traversal or departure (EID) D departure after internal arrival E traversal after external arrival I traversal after internal arrival N no traversal after internal arrival P no internal arrival R return traversal after internal arrival -- NAMES -- Lextype: ("A"|"EI"|"ER"|"ED"|"EN"|"EP"|"ERD"| "I"|"ID"|"D"|"N"|"P"|"R"|"RD") -- A listtrav -- List traversal rules -- -- Traversal between members of list anchors: A adjacent (both left and right) traversal L left traversal N no traversal R right traversal W wrapping traversal -- NAMES -- Lextype: ("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 occrl" > <!element assoc -- Association link -- -- Clause: 5.3.1 -- - O (assocrl)+ > <!attlist assoc HyTime -- HyTime architectural form name -- NAME #FIXED varlink scope -- Scope -- -- Reference to themes that are added to the scope within which the association is applicable. -- CDATA -- Reference -- -- Reftype: topic+ -- #IMPLIED -- Default: Scope is unconstrained. -- linktype -- Hyperlink type. -- -- Mnemonic name for the association type. -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: Generic identifier -- type -- Association type -- -- Topic whose subject is the class of association of which this association is an instance. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No type is specified by this attribute. -- -- Note: A type might exist by virtue of the fact that this association link is an occurrence (where the occurrence role means "instance") of a topic whose subject is the nature of the association, however. -- > <!element assocrl -- Association role -- -- Clause: 5.3.2 -- - O (%loc;)+ -- Reftype: topic+ -- > <!attlist assocrl HyTime -- HyTime architectural form name -- NAME #FIXED anchspec anchrole -- Anchor role -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: GI of element is treated as anchor role. -- type -- Association role type -- -- Reference to the topic that names and/or otherwise characterizes the association role. The characteristics of the referenced topic, if appropriate, will be displayed to the user instead of the value of the anchrole attribute. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No topic characterizes the association role, unless this element is an occurrence (with an occurrence role whose meaning is instance) of a topic whose subject is the nature of the association role. The value of the anchrole attribute will be displayed as the association role name. -- linktrav -- Hyperlink traversal rules -- -- Traversal between anchors of hyperlinks: A any traversal or departure (EID) D departure after internal arrival E traversal after external arrival I traversal after internal arrival N no traversal after internal arrival P no internal arrival R return traversal after internal arrival -- NAMES -- Lextype: ("A"|"EI"|"ER"|"ED"|"EN"|"EP"|"ERD"| "I"|"ID"|"D"|"N"|"P"|"R"|"RD") -- A listtrav -- List traversal rules -- -- Traversal between members of list anchors: A adjacent (both left and right) traversal L left traversal N no traversal R right traversal W wrapping traversal -- NAMES -- Lextype: ("A"|"AW"|"L"|"LW"|"N"|"R"|"RW") -- N -- Default: Show the whole list -- multmem (single|list|corlist) list emptyanc (error|noterror) error > <!element addthms -- Themes to be added -- -- (To scopes specified by topic map documents and/or by topic links and/or association links.) -- -- Clause: 5.4 -- - O (TMBrid)* -- No content defined by the Topic Maps architecture -- > <!attlist addthms -- Themes to be added -- -- Clause: 5.4 -- addthems -- Added themes -- -- Themes to be added to the scopes specified by the tmdocs and cassign attributes -- CDATA -- Reference -- -- Reftype: topic+ -- #REQUIRED tmdocs -- Topic map document entities -- ENTITIES -- Constraint: Must be one or more document entities of topic map documents. -- #IMPLIED cassign -- Characteristic assigners -- -- Elements that assign characteristics to topics. The themes specified by the addthms attribute are to be added to the scopes within which the characteristics they specify are regarded as valid -- CDATA -- Reference -- -- Reftype: (topic | topname | basename | dispname | sortname | occurs | assoc)+ -- #IMPLIED > <!element facet -- Facet link -- -- Clause: 5.5.1 -- - O (fvalue)+ > <!attlist facet HyTime -- HyTime architectural form name -- NAME #FIXED varlink linktype -- Hyperlink type. -- -- Mnemonic name for the property (facet type). -- -- Note: Not displayed for the topic map user if the topic referenced by the type attribute has displayable characteristics within the user's scope. -- NAME #IMPLIED -- Default: Generic identifier -- type -- Facet type -- -- Topic whose subject is the property of the property/value pair(s) being assigned to the anchor(s). -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No facet type topic is specified by this attribute. -- -- Note: A facet type topic might exist by virtue of the fact that this facet link is an occurrence (where the occurrence role means "instance") of a topic whose subject is the nature of the property, however. -- > <!element fvalue -- Facet value -- -- Clause: 5.5.2 -- - O (%loc;)* > <!attlist fvalue HyTime -- HyTime architectural form name -- NAME #FIXED anchspec facetval -- Facet value name -- -- Token is value of property being assigned. -- NAME #IMPLIED -- Default: Facet value name is GI of element. -- type -- Facet value type -- -- Reference to a topic whose subject is the significance of the facet value name. -- CDATA -- Reference -- -- Reftype: topic -- #IMPLIED -- Default: No facet value type topic is specified by this attribute. -- -- Note: A facet value type topic might exist by virtue of the fact that this fvalue element is an occurrence (where the occurrence role means "instance") of a topic whose subject is the significance of the facet value name, however. -- linktrav -- Hyperlink traversal rules -- -- Traversal between anchors of hyperlinks: A any traversal or departure (EID) D departure after internal arrival E traversal after external arrival I traversal after internal arrival N no traversal after internal arrival P no internal arrival R return traversal after internal arrival -- NAMES -- Lextype: ("A"|"EI"|"ER"|"ED"|"EN"|"EP"|"ERD"| "I"|"ID"|"D"|"N"|"P"|"R"|"RD") -- A listtrav -- List traversal rules -- -- Traversal between members of list anchors: A adjacent (both left and right) traversal L left traversal N no traversal R right traversal W wrapping traversal -- NAMES -- Lextype: ("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" >
The following is an example of a topic map architectural support declaration as it might appear in a topic map document that is expressed using SGML.
NOTE 54: The following example conforms to Annex A.3 of ISO/IEC 10744:1997.
<!NOTATION TOPICMAP PUBLIC "ISO/IEC 13250:1999//NOTATION AFDR ARCBASE Topic Maps//EN" > <!ATTLIST #NOTATION TOPICMAP ArcFormA NAME TopicMap ArcNamrA NAME TMNames ArcSuprA NAME sTopMap ArcIgnDA NAME TMIgnD ArcDocF NAME #FIXED topicmap ArcDTD CDATA "TMDTD" ArcQuant CDATA #FIXED "NAMELEN 12" ArcDataF NAME #FIXED TMBridN ArcBridF NAME #FIXED TMBrid ArcAuto (ArcAuto|nArcAuto) nArcAuto > <!NOTATION AFDRMeta PUBLIC "ISO/IEC 10744//NOTATION AFDR Meta-DTD Notation//EN" > <!ENTITY TMDTD PUBLIC "ISO/IEC 13250:1999//DTD AFDR Meta-DTD Topic Maps//EN" CDATA AFDRMeta >
The following is an example of topic map architectural support declarations as they might appear in a topic map document expressed using WebSGML or XML.
NOTE 55: The following example conforms to Annex A.3 of ISO/IEC 10744:1997, as amended via Amendment 1 in 1998.
<?IS10744:arch name="TopicMap" public-id="ISO/IEC 13250:1999//NOTATION AFDR ARCBASE Topic Maps//EN" dtd-public-id="ISO/IEC 13250:1999//DTD AFDR Meta-DTD Topic Maps//EN" dtd-system-id="/etc/architectures/TM.mtd" form-att="TopicMap" renamer-att="TMNames" suppressor-att="sTopMap" ignore-data-att="TMIgnD" doc-elem-form="topicmap" bridge-form="TMBrid" auto="nArcAuto" ?>