<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE isospec
  SYSTEM "ISOSPEC.DTD">
<isospec version="1.5" date="2003/04/27"><!-- DO NOT CHANGE ANYTHING ABOVE OR BEFORE HERE -->

<!-- Emacs: indented-text-mode, paragraph fill = 70 characters -->

  <changeHistory>

    <par id="parid0000">(First version.)</par>

  </changeHistory>


  <intro secnumber="&#xA;0&#xA;"> 

    <title><par id="parid0001">Introduction</par></title>

    <par id="parid0002">This document provides parts of an example of
    a "TM Application Definition" and a "Syntax Deserialization
    Definition", as those terms are defined in SC34/WG3 N0393.  (It
    does not provide a complete TM Application Definition, nor a
    complete Syntax Deserialization Definition.  However, it does
    provide a complete DTD.)</par>

    <par id="parid0128">The best available introduction to TM
    Application Definitions and Syntax Deserialization Definitions is
    <a href="http://www.isotopicmaps.org/TMMM/TMMM-2.30/N0393.html">ISO/IEC
    JTC1 SC34/WG3 N0393</a>.</par>

    <par id="parid0054">The STM Application and its Syntax
    Deserialization Definition fulfill a commonplace subset of the
    larger set of user requirements that the XTM and HyTM syntaxes of
    IS13250 are designed to fulfill.  The authors' experiences
    indicate that this subset is adequate in a significant number of
    commercial contexts.  STM demonstrates that, because of the
    modularity offered by the TMM approach described in N0393, it is
    unnecessary for all topic map systems to implement all the
    features of the traditional interpretation of XTM or HyTM
    comprehensively.  The modularity offered by the TMM approach
    allows implementers to avoid incurring development and operating
    overheads that are unnecessary in many commercial contexts.
    Similarly, STM also demonstrates that a modular approach to the
    specification of Topic Map Applications can allow the
    implementations of different Topic Map Applications to share
    modules, thus decreasing software development and maintainance
    costs, while increasing overall reliability.</par>

  </intro>

  <sec secnumber="1"> 

    <title> <par id="parid0003">Scope</par> </title>

    <par id="parid0004">This document specifies:

      <ol>

        <li><par id="parid0005">A portion of a TM Application
        Definition for Simple Topic Maps (STM), in conformance with <a href="http://www.isotopicmaps.org/TMMM/TMMM-latest-clean.html">ISO/IEC
        JTC1/SC34/WG3 N0393, the current editors' draft of the TMM
        (the March, 2003 version of the <i>Topic Maps
        Model</i>)</a>.</par>


        <par id="parid0229">At the TM Application level (as opposed to
        the Syntax Deserialization level), the only difference between
        STM and most traditional interpretations of XTM is that, in
        STM, the concept of scoping, in the context of topic naming,
        does not include the concept of establishing a namespace.
        Instead, a distinct <tt>&lt;space&gt;</tt> element type is
        provided in the DTD, whose deserialization involves a distinct
        <tt>IS13250-STM-1.1::AT_namespace</tt> assertion type, which
        is provided in the <term gloss="parid0008">TM Application
        Definition for STM</term>.</par>

        <par id="parid0230">If we compare the SAM model proposed in N0396 with
        the TM Application proposed for STM, there are additional
        differences: STM reifies some subjects that N0396 does not
        reify, including: URIs, the streams that result from resolving
        URIs, the relationships between URIs and their streams (HTTP
        GET operations), and the relationships between streams
        regarded as subject indicators and the subjects that they
        indicate.  The theory behind this is that, while the syntax of
        STM should be very simple, the information expressed in STM
        should be ready to be managed at a very high power level by
        information aggregators, without compromising its integrity,
        and without having to convert it to another TM Application.
        In other words, original authors of STM topic maps should be
        able to keep maintaining them, while their aggregators can
        continue to add value to them, and to aggregate them with
        other STM topic maps, losslessly, in real time.</par></li>

        <li><par id="parid0006">A definition of the STM Document Type
        %%VERSIONNUMBER%%, in the form of an XML DTD.  The STM DTD
        bears an obvious resemblance to the XTM DTD, but some names
        are different, and it is somewhat simpler, except for the
        support it provides for the added distinction between scopes and 
        namespaces.</par>

        <par id="parid0231">A key simplifying feature of STM is that its DTD
        sacrifices some generality in order to avoid always having to
        be syntactically explicit about whether a referenced piece of
        information is a subject constituter or a subject
        indicator.</par></li>

        <li><par id="parid0007">A portion of an STM Syntax
        Deserialization Definition %%VERSIONNUMBER%% for instances of
        the STM document type.</par></li>

      </ol>
    </par>
  </sec>
  <sec secnumber="2">

    <title><par id="parid0143">References</par></title>

    <par id="parid0144"><a href="http://www.isotopicmaps.org/TMMM/TMMM-2.30/N0393.html">ISO/IEC
    JTC1 SC34/WG3 N0393</a></par>

  </sec>
  <sec secnumber="3">

    <title><par id="parid0008">TM Application
    Definition for STM (incomplete)</par></title>

    <sec secnumber="3.1">

      <title><par id="parid0011">Application Name</par></title>

      <par id="parid0012">The name of the TM Application defined in this
      document is <tt>IS13250-STM-%%VERSIONNUMBER%%</tt></par>

    </sec>
    <sec secnumber="3.2">

      <title><par id="parid0042">Included TM Application
      Definitions</par></title>

      <note notenumber="1"><par id="parid0044">The TM Applications listed below are included, by
      this reference, in their entirety, in this
      <tt>IS13250-STM-%%VERSIONNUMBER%%</tt> TM Application.  See <a href="http://www.isotopicmaps.org/TMMM/TMMM-2.30/N0393.html#parid0861">ISO/IEC
      JTC1 SC34/WG3 N0393</a>.</par></note>

      <par id="parid0145"><a href="http://www.isotopicmaps.org/TMMM/TMASD-1.2/TMASD-1.2.html"><tt>IS13250-TMASD-1.2</tt></a></par>

      <par id="parid0009"><a href="http://www.isotopicmaps.org/TMMM/HTTPGET-1.1/HTTPGET-1.1.html"><tt>IS13250-HTTPGET-1.1</tt></a></par>

      <par id="parid0146"><a href="http://www.isotopicmaps.org/TMMM/SETS-1.1/SETS-1.1.html"><tt>IS13250-SETS-1.1</tt></a></par>

      <par id="parid0232"><a href="http://www.isotopicmaps.org/TMMM/CLASS-1.1/CLASS-1.1.html"><tt>IS13250-CLASS-1.1</tt></a></par>

      <par id="parid0233"><a href="http://www.isotopicmaps.org/TMMM/SCOPE-1.1/SCOPE-1.1.html"><tt>IS13250-SCOPE-1.1</tt></a></par>

      <par id="parid0283"><a href="http://www.isotopicmaps.org/TMMM/OCCURRENCE-1.1/OCCURRENCE-1.1.html"><tt>IS13250-OCCURRENCE-1.1</tt></a></par>

    </sec>
    <sec secnumber="3.3">

      <title><par id="parid0015">Property Classes</par></title>

      <sec secnumber="3.3.1">

        <title><par id="parid0058"><tt>IS13250-STM-%%VERSIONNUMBER%%::PR_nameText</tt></par></title>

        <par id="parid0060"><b>Value type: </b>string</par>

        <par id="parid0061"><b>Semantic: </b>If a value has been
        assigned to this property, the subject of the topic is the
        string that is value of the property, considered as a topic
        name.</par>

        <par id="parid0062"><b>Constraints on values: </b>The value
        cannot be less than one character in length.</par>

        <par id="parid0063"><b>Consistency constraints: </b>(None.)</par>

        <par id="parid0059"><b>SIDP or OP? </b>SIDP</par>

        <par id="parid0134"><b>Topic Merging Rule: </b>Whenever two or more
        topics both exhibit values for their
        <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_nameText</tt>
        properties, the topics must be merged if their values are the same.</par>

        <par id="parid0038"><b>Effect of merging on values:
        </b>Whenever two or more topics that exhibit values for their
        <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_nameText</tt> properties
        are merged, one of the two values must become the value of the
        same property of the merged topic.  If one of the two values
        is a built-in value, the built-in value becomes the value of
        the same property of the merged topic.</par>

      </sec>
    </sec>
    <sec secnumber="3.4">

      <title><par id="parid0024">Assertion Types</par></title>

      <sec secnumber="3.4.1">

        <title><par id="parid0082"><tt>IS13250-STM-%%VERSIONNUMBER%%::AT_name</tt></par></title>

        <par id="parid0083"><b>Semantic: </b>Each instance asserts
        that a subject has a name (and, from the other perspective,
        that a name is the name of a subject).</par>

        <sec secnumber="3.4.1.1">

          <title><par id="parid0085"><b>Role: </b><tt>IS13250-STM-%%VERSIONNUMBER%%::RL_name</tt></par></title>

          <par id="parid0086"><b>Semantic: </b>The name that is
          asserted to be the name of the subject that plays the other
          role
          (<tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namedSubject</tt>).</par>

          <par id="parid0087"><b>Constraints on player: </b>Must be a
          name.</par>

          <ednote ednotenumber="1"><par id="parid0234">How can we tell whether it's a name?
          What isn't a name?  Is this constraint bogus?</par></ednote>

          <par id="parid0088"><b>Value conferred on the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_namedThings{ }</tt>
          property of the role player: </b>The topic that plays the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namedSubject</tt>
          role of the assertion is added as a value
          component.</par>

        </sec>
        <sec secnumber="3.4.1.2">

          <title><par id="parid0089"><b>Role: </b><tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namedSubject</tt></par></title>

          <par id="parid0090"><b>Semantic: </b>The subject that is
          being asserted to have the name that plays the other role
          (<tt>IS13250-STM-%%VERSIONNUMBER%%::RL_name</tt>).</par>

          <par id="parid0091"><b>Constraints on player: </b>(None.)</par>

          <par id="parid0092"><b>Value conferred on the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_names{ } property</tt>
          of the role player: </b> The value of the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_httpAddress</tt>
          property of the player of the other role
          (<tt>IS13250-STM-%%VERSIONNUMBER%%::RL_address</tt>) is
          assigned.</par>

        </sec>
      </sec>
      <sec secnumber="3.4.2">

        <title><par id="parid0235"><tt>IS13250-STM-%%VERSIONNUMBER%%::AT_namespace</tt></par></title>

        <par id="parid0236"><b>Semantic: </b>Each instance asserts
        that a subject has one of its names within a specific
        namespace.</par>

        <sec secnumber="3.4.2.1">

          <title><par id="parid0237"><b>Role: </b><tt>IS13250-STM-%%VERSIONNUMBER%%::RL_nameAssertion</tt></par></title>

          <par id="parid0238"><b>Semantic: </b>The name assertion whose
          namespace is being asserted.
          (<tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namedSubject</tt>).</par>

          <par id="parid0239"><b>Constraints on player: </b>Must be an instance of a
          <tt>IS13250-STM-%%VERSIONNUMBER%%::AT_name</tt> assertion.</par>

          <par id="parid0240"><b>Value conferred on the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_namespaces{ }</tt>
          property of the role player: </b>The topic that plays the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namespace</tt>
          role of the assertion is added as a value
          component.</par>

        </sec>
        <sec secnumber="3.4.2.2">

          <title><par id="parid0241"><b>Role: </b><tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namespace</tt></par></title>

          <par id="parid0242"><b>Semantic: </b>The namespace of the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::AT_name</tt> assertion
          that plays the
          <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_nameAssertion</tt>
          role.</par>

          <par id="parid0243"><b>Constraints on player: </b>(None.)</par>

          <par id="parid0244">(No property values are conferred.)</par>

        </sec>
      </sec>
    </sec>
    <sec secnumber="3.5">

      <title><par id="parid0032">Built-in Topics and Assertions</par></title>

      <note notenumber="2"><par id="parid0043">This section is not
      written yet.</par></note>

    </sec>
  </sec>
  <sec secnumber="4">

    <title><par id="parid0045">Document Type</par></title>

    <sec secnumber="4.1">

      <title><par id="parid0172">Comparison with of STM DTD with XTM DTD</par></title>

      <par id="parid0147">The following is a list of differences between
      the STM DTD and the XTM DTD:

        <ol>

          <li><par id="parid0148">STM has no name variants, and no parameters for
          name variations.</par></li>

          <li><par id="parid0149">STM uses <tt>&lt;name&gt;</tt> instead of <tt>&lt;baseName&gt;</tt>, and
          <tt>&lt;text&gt;</tt> instead of <tt>&lt;baseNameString&gt;</tt>.  (In the absence of the
          notion of variant names, the notion of base names is not very
          meaningful.)</par></li>

          <li><par id="parid0150">STM does not use <tt>&lt;xlink&gt;</tt> to refer to pieces of
          information.  Instead, it uses <tt>&lt;a&gt;</tt>, on the theory that more
          people are comfortable with <tt>&lt;a href=""...&gt;</tt> syntax than are
          comfortable with <tt>&lt;xlink&gt;</tt>.</par></li>

          <li><par id="parid0151">STM has neither
          <tt>&lt;subjectIndicatorRef&gt;</tt> nor
          <tt>&lt;resourceRef&gt;</tt>.  The vital distinction between
          subject indicators and subject constituters is preserved,
          however; the interpretation of the <tt>&lt;a&gt;</tt>
          elements, as to whether their referents are to be understood
          as subject constituters or subject indicators, is determined
          by the contexts of the <tt>&lt;a&gt;</tt> elements, as
          follows:

            <ul>

              <li><par id="parid0152">An <tt>&lt;a&gt;</tt> always references a subject indicator
              when it appears in the context of:

                <ul>

                  <li><par id="parid0153">an <tt>&lt;instanceOf&gt;</tt>,</par></li>

                  <li><par id="parid0154">a <tt>&lt;subjectIdentity&gt;</tt>, </par></li>

                  <li><par id="parid0155">a <tt>&lt;member&gt;</tt>,</par></li>

                  <li><par id="parid0156">a <tt>&lt;roleSpec&gt;</tt>,</par></li>

                  <li><par id="parid0157">a <tt>&lt;scope&gt;</tt>, or</par></li>

                  <li><par id="parid0158">a <tt>&lt;space&gt;</tt>.</par></li>

                </ul>
              </par></li>

              <li><par id="parid0159">An <tt>&lt;a&gt;</tt> always references a subject constituter
              when it appears in the context of:

                <ul>

                  <li><par id="parid0160">an <tt>&lt;occurrence&gt;</tt> or</par></li>

                  <li><par id="parid0161">a <tt>&lt;mergeMap&gt;</tt>.</par></li>

                </ul>
              </par></li>

            </ul>

          </par></li>

          <li><par id="parid0162">STM has no <tt>&lt;topicRef&gt;</tt>.  If an <tt>&lt;a&gt;</tt> refers to a
          <tt>&lt;topic&gt;</tt>, and the context of the <tt>&lt;a&gt;</tt> requires it to be
          understood as referencing a subject indicator, then the
          referent is the subject of the referenced <tt>&lt;topic&gt;</tt>.  Otherwise,
          the <tt>&lt;topic&gt;</tt> is understood as a piece of information -- a
          subject constituter.</par></li>

          <li><par id="parid0163">STM provides a <tt>&lt;space&gt;</tt> element, in addition to
          a <tt>&lt;scope&gt;</tt> element, for qualifying the relationships between
          named subjects and their names (see <paridRef parid="parid0003"/>).</par></li>

          <li><par id="parid0166">STM does not provide as many element types with
          <tt>id</tt> attributes as XTM does.  There are two explanations for this:

            <ol>

              <li><par id="parid0165">It may be true that some of the
              <tt>id</tt> attributes provided by the XTM DTD were
              added in order to support "lazy" reification via
              references to the syntactic instance.  However, in order
              to preserve the integrity of topic maps when they are
              merged with other topic maps, the TMM requires
              pre-emptive reification, so this requirement is
              considered moot.</par></li>

              <li><par id="parid0167">STM is not proposed as a
              full-featured syntax for Topic Maps.  Instead, it is
              proposed as a lightweight, easily implementable
              alternative to XTM.  As such, its SDD declares very few
              "topic demanders" (see the <a href="http://www.isotopicmaps.org/TMMM/TMMM-latest-clean.html#parid0850">TMM</a>
              for more information).</par></li>

            </ol></par></li>

          <li><par id="parid0168">STM does not provide a <tt>&lt;resourceData&gt;</tt> element
          type.  All occurrences must be external to STM topic
          maps.</par></li>

          <li><par id="parid0169">STM requires that topics that have the same
          names in the same namespaces (declared via <tt>&lt;space&gt;</tt>) are always
          merged.  (In other words, the name-based merging rule is
          always "on", but, on the other hand, in STM, namespacing and
          scoping are different things, whereas in XTM, they are the
          same.)</par></li>

          <li><par id="parid0170">STM requires that <tt>&lt;association&gt;</tt>s declare at
          least two roles.  This makes the deserialization of STM syntax
          considerably simpler than the deserialization of XTM syntax,
          since one-role <tt>&lt;association&gt;</tt>s in XTM syntax must be
          deserialized in a special way that creates a class-instance
          assertion.</par></li>

          <li><par id="parid0171">STM requires all <tt>&lt;association&gt;</tt> roles to be
          explicitly invoked; this obviates the need for special
          defaulting rules in the Syntax Deserialization Definition,
          and/or special default assertion types and/or roles to be
          supplied by the governing TM Application.</par></li>

        </ol>

      </par>

    </sec>
    <sec secnumber="4.2">
      <title><par id="parid0173">STM Document Type Definition</par></title>

      <par id="parid0046"><pre>
  &lt;!-- topicMap: root element --&gt;
  &lt;!ELEMENT topicMap ( topic | association | mergeMap )* &gt;
  &lt;!ATTLIST topicMap
     id              ID        #IMPLIED
     xmlns           CDATA     #FIXED 'http://www.isotopicmaps.org/TMMM/STM-%%VERSIONNUMBER%%/'
  &gt;

  &lt;!-- topic: referenceable syntactic surrogate of a subject --&gt;
  &lt;!ELEMENT topic 
     ( instanceOf*, subjectIdentity?, ( name | occurrence )* )
  &gt;
  &lt;!ATTLIST topic
     id              ID        #REQUIRED
  &gt;

  &lt;!-- instanceOf: points to a &lt;topic&gt; representing a class --&gt;
  &lt;!ELEMENT instanceOf  (a) &gt;

  &lt;!-- subjectIdentity: pointers to subject indicators --&gt;
  &lt;!ELEMENT subjectIdentity ( a* ) &gt;

  &lt;!-- a: wrapper for an -href- attribute --&gt;
  &lt;!ELEMENT a EMPTY &gt;
  &lt;!ATTLIST a
     href            CDATA     #REQUIRED
     id              ID        #IMPLIED
  &gt;

  &lt;!-- name: a name of the subject of the containing &lt;topic&gt; --&gt;
  &lt;!ELEMENT name  ( text, space?, scope?) &gt;
            &lt;!-- NOTE: The default topic name space is the empty
                       set (of topics). (Every topic-name
                       relationship exists within at least one
                       namespace.)  --&gt;
            &lt;!-- NOTE: The default scope in which topics have
                       their names is the empty set (of topics).
                       --&gt;

  &lt;!-- text: the name in #PCDATA form --&gt;
  &lt;!ELEMENT text ( #PCDATA ) &gt;

  &lt;!-- space: pointer to a &lt;topic&gt; or subject indicator whose
              subject is the name space within which the topic
              has the name --&gt;
  &lt;!ELEMENT space  (a) &gt;

  &lt;!-- scope: pointers to &lt;topic&gt;s or other indicators of
              subjects that comprise the scope --&gt;
  &lt;!ELEMENT scope  (a)+ &gt;

  &lt;!-- occurrence: relationship between a subject and relevant
                   information --&gt;
  &lt;!ELEMENT occurrence ( instanceOf?, scope?, a ) &gt;
            &lt;!-- NOTE: &lt;instanceOf&gt; points at an assertion type that
                       is either the topic-occurrence assertion type
                       (the default), or one of its subclasses. --&gt;
            
  &lt;!-- association: relationship between 2 or more subjects, each
                    playing one or more distinct roles --&gt;
  &lt;!ELEMENT association ( instanceOf, scope?, member, member+ ) &gt;
  &lt;!ATTLIST association
     id              ID        #IMPLIED
  &gt;

  &lt;!-- member: a casting of a role player in a role in a
               relationship --&gt;
  &lt;!ELEMENT member ( roleSpec, ( a )* ) &gt;

  &lt;!-- roleSpec: pointer to a topic whose subject is the role --&gt;
  &lt;!ELEMENT roleSpec  (a)

  &lt;!-- mergeMap: Include (merge with) other topic maps --&gt;
  &lt;!ELEMENT mergeMap  ( a )+ &gt;
  </pre></par></sec></sec>


  <sec secnumber="5">

    <title><par id="parid0047">STM Syntax Deserialization
    Definition (incomplete)</par></title>

    <note notenumber="3"><par id="parid0245">In this clause (<paridRef parid="parid0047"/>), a
    typographical convention is used to distinguish topic elements
    (syntactic constructs) from the more generic TMM usage of the word
    "topic", in which topics are reified subjects.  Herein, all
    element instances and element types are set in monospace font,
    surrounded with angle brackets.  For example, the typography
    "<tt>&lt;topic&gt;</tt>" indicates an element or element type
    whose generic identifier is "topic".  By contrast, the more
    generic notion of "topic" as "reified subject" does not receive
    any special typographical treatment.</par></note>

    <sec secnumber="5.1">

      <title><par id="parid0246">Topic demanders</par></title>

      <par id="parid0247">Instances of the following element types are topic
      demanders.  In other words, references to them, by means of the
      <tt>-href-</tt> attributes of <tt>&lt;a&gt;</tt> elements, are
      considered references to subjects, as follows:</par>

      <sec secnumber="5.1.1">

        <title><par id="parid0248"><tt>&lt;a&gt;</tt></par></title>

        <par id="parid0249">If the referencing <tt>&lt;a&gt;</tt> is in the
        context of an <tt>&lt;occurrence&gt;</tt>, then the referent
        is not considered a topic demander.  The referent is the
        <tt>&lt;a&gt;</tt> element, considered as a string.</par>

        <par id="parid0250">If the referencing <tt>&lt;a&gt;</tt> is <i>not</i>
        in the context of an <tt>&lt;occurrence&gt;</tt>, then the
        referent is one of the topics demanded by the <tt>&lt;a&gt;</tt>,
        as follows:

          <ul>

            <li><par id="parid0277">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of an
                <tt>&lt;instanceOf&gt;</tt>, the referent is the
                <tt>IS13250-CLASS-1.1::AT_classInstance</tt> assertion
                demanded in accordance with <paridRef parid="parid0199"/>.</par></li>

            <li><par id="parid0278">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of a
                <tt>&lt;subjectIdentity&gt;</tt>, the referent is the
                <tt>IS13250-HTTPGET-1.1::AT_subjectIndication</tt>
                assertion demanded in accordance with <paridRef parid="parid0177"/>.</par></li>

            <li><par id="parid0279">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of a
                <tt>&lt;member&gt;</tt>, the referent is the c-topic
                that casts the role player topic demanded in
                accordance with <paridRef parid="parid0180"/> in the
                role.</par></li>

            <li><par id="parid0280">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of a
                <tt>&lt;roleSpec&gt;</tt>, the referent is the role
                topic demanded in accordance with <paridRef parid="parid0180"/>.</par></li>

            <li><par id="parid0281">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of a
                <tt>&lt;scope&gt;</tt>, the referent is the
                <tt>IS13250-SETS-1.1::AT_set-member</tt> assertion
                demanded in accordance with <paridRef parid="parid0179"/>, <paridRef parid="parid0180"/>, or
                <paridRef parid="parid0223"/> (depending on whether
                the <tt>&lt;scope&gt;</tt> is in the context of an
                <tt>&lt;association&gt;</tt>, an
                <tt>&lt;occurrence&gt;</tt>, or a
                <tt>&lt;name&gt;</tt>).</par></li>

            <li><par id="parid0282">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of a
                <tt>&lt;space&gt;</tt>, the referent is the
                <tt>IS13250-STM-1.1::AT_namespace</tt> assertion
                demanded in accordance with <paridRef parid="parid0213"/>.</par></li>

            <li><par id="parid0284">If the referenced
                <tt>&lt;a&gt;</tt> is in the context of an
                <tt>&lt;occurrence&gt;</tt>, the referent is the
                <tt>IS13250-OCCURRENCE-1.1::AT_occurrence</tt>
                assertion demanded in accordance with <paridRef parid="parid0179"/>.</par></li>

          </ul>
        </par>
      </sec>
      <sec secnumber="5.1.2">

        <title><par id="parid0251"><tt>&lt;association&gt;</tt></par></title>

        <par id="parid0252">If the referencing <tt>&lt;a&gt;</tt> is in the
        context of an <tt>&lt;occurrence&gt;</tt>, then the referent
        is not considered a topic demander.  The referent is the
        <tt>&lt;association&gt;</tt> element, considered as a string.</par>

        <par id="parid0253">If the referencing <tt>&lt;a&gt;</tt> is <i>not</i>
        in the context of an <tt>&lt;occurrence&gt;</tt>, then the
        referent is the assertion demanded by the <tt>&lt;association&gt;</tt>,
        in accordance with <paridRef parid="parid0180"/>.</par>

      </sec>
      <sec secnumber="5.1.3">

        <title><par id="parid0254"><tt>&lt;topic&gt;</tt></par></title>

        <par id="parid0255">If the referencing <tt>&lt;a&gt;</tt> is in the
        context of an <tt>&lt;occurrence&gt;</tt>, then the referent
        is not considered a topic demander.  The referent is the
        <tt>&lt;topic&gt;</tt> element, considered as a string.</par>

        <par id="parid0256">If the referencing <tt>&lt;a&gt;</tt> is <i>not</i>
        in the context of an <tt>&lt;occurrence&gt;</tt>, then the
        referent is the topic demanded by the <tt>&lt;topic&gt;</tt>,
        in accordance with <paridRef parid="parid0200"/>.</par>

      </sec>
    </sec>

    <sec secnumber="5.2">

      <title><par id="parid0174">Deserializing a <tt>&lt;topicMap&gt;</tt>
             element</par></title>

      <par id="parid0185"><tt>&lt;topicMap&gt;</tt> has no effect.
      The topic map itself is not automatically reified.</par>

    </sec> 
    <sec secnumber="5.3">

      <title><par id="parid0175">Deserializing a
             <tt>&lt;topic&gt;</tt> element</par></title>

      
      <sec secnumber="5.3.1">

        <title><par id="parid0200">Deserializing the
               <tt>&lt;topic&gt;</tt> itself</par></title>

        <par id="parid0257">Each <tt>&lt;topic&gt;</tt> demands a corresponding
        topic.</par>

      </sec>

      <sec secnumber="5.3.2">

        <title><par id="parid0176">Deserializing an <tt>&lt;instanceOf&gt;</tt>
               within a <tt>&lt;topic&gt;</tt></par></title>
  
        <par id="parid0186">The following topics are demanded by each
        <tt>&lt;instanceOf&gt;</tt> in the content of the
        <tt>&lt;topic&gt;</tt>:</par>

        <sec secnumber="5.3.2.1">

          <title><par id="parid0194">addressing expression</par></title>            

          <par id="parid0258">A topic is demanded whose subject is the
          addressing expression that is the value of the
          <tt>-href-</tt> attribute of the <tt>&lt;a&gt;</tt> in the
          content of the <tt>&lt;instanceOf&gt;</tt>.  The value of
          the <tt>-href-</tt> attribute is built-in as the value of
          the <tt>IS13250-HTTPGET-1.1::PR_httpAddress</tt>
          property.</par>

        </sec>
        <sec secnumber="5.3.2.2">

            <title><par id="parid0195">addressed stream</par></title>            

            <par id="parid0259">A topic is demanded whose subject is
            the stream that is the result of resolving the subject of
            the topic demanded in accordance with <paridRef parid="parid0194"/>.</par>

        </sec>
        <sec secnumber="5.3.2.3">

            <title><par id="parid0196"><tt>IS13250-HTTPGET-1.1::AT_httpGet</tt> assertion</par></title>            

            <par id="parid0260">An
            <tt>IS13250-HTTPGET-1.1::AT_httpGet</tt> assertion is
            demanded in which the
            <tt>IS13250-HTTPGET-1.1::RL_address</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0194"/>, and in which the
            <tt>IS13250-HTTPGET-1.1::RL_stream</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0195"/>.</par>

        </sec>
        <sec secnumber="5.3.2.4">

            <title><par id="parid0197">class topic</par></title>            

            <par id="parid0261">A topic is demanded whose subject is
            the class of which the topic demanded in accordance with
            <paridRef parid="parid0194"/> is an instance.</par>

        </sec>
        <sec secnumber="5.3.2.5">

            <title><par id="parid0198"><tt>IS13250-HTTPGET-1.1::AT_subjectIndication</tt> assertion</par></title>            

            <par id="parid0262">An
            <tt>IS13250-HTTPGET-1.1::AT_subjectIndication</tt>
            assertion is demanded in which the
            <tt>IS13250-HTTPGET-1.1::RL_subjectIndicator</tt> role is
            played by the topic demanded in accordance with <paridRef parid="parid0195"/>, and in which the
            <tt>IS13250-HTTPGET-1.1::RL_indicatedSubject</tt> role is
            played by the topic demanded in accordance with <paridRef parid="parid0197"/>.</par>

        </sec>
        <sec secnumber="5.3.2.6">

            <title><par id="parid0199"><tt>IS13250-CLASS-1.1::AT_classInstance</tt> assertion</par></title>            

            <par id="parid0263">An
            <tt>IS13250-CLASS-1.1::AT_classInstance</tt> assertion is
            demanded in which the <tt>IS13250-CLASS-1.1::RL_class</tt>
            role is played by the topic demanded in accordance with
            <paridRef parid="parid0197"/>, and in which the
            <tt>IS13250-CLASS-1.1::RL_instance</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0200"/>.</par>

        </sec>
      </sec> 
      <sec secnumber="5.3.3">

        <title><par id="parid0177">Deserializing a <tt>&lt;subjectIdentity&gt;</tt>
               element within a <tt>&lt;topic&gt;</tt></par></title>

  
        <par id="parid0187"/>

      </sec> 
      <sec secnumber="5.3.4">

        <title><par id="parid0178">Deserializing a <tt>&lt;name&gt;</tt>
               element within a <tt>&lt;topic&gt;</tt></par></title>

        <sec secnumber="5.3.4.1">

          <title><par id="parid0202">Deserializing a
                 <tt>&lt;text&gt;</tt> within a
                 <tt>&lt;name&gt;</tt></par></title>

          <sec secnumber="5.3.4.1.1">

            <title><par id="parid0203">name text</par></title>

            <par id="parid0264">A topic is demanded whose subject is
            the name text.  The content of the <tt>&lt;text&gt;</tt>
            is built-in as the value of its
            <tt>IS13250-STM-%%VERSIONNUMBER%%::PR_nameText</tt>
            property.</par>

          </sec>
        </sec>

        <sec secnumber="5.3.4.2">

          <title><par id="parid0204">Deserializing a
                 <tt>&lt;space&gt;</tt> within a
                 <tt>&lt;name&gt;</tt></par></title>

          <sec secnumber="5.3.4.2.1">

            <title><par id="parid0210">name space</par></title>

            <par id="parid0265">A topic is demanded whose subject is
            the name space.
            </par>

          </sec>         
          <sec secnumber="5.3.4.2.2">

            <title><par id="parid0207">addressing expression</par></title>            

            <par id="parid0266">A topic is demanded whose subject is
            the addressing expression that is the value of the
            <tt>-href-</tt> attribute of the <tt>&lt;a&gt;</tt> in the
            content of the <tt>&lt;space&gt;</tt>.  The value of the
            <tt>-href-</tt> attribute is built-in as the value of the
            <tt>IS13250-HTTPGET-1.1::PR_httpAddress</tt>
            property.</par>

          </sec>
          <sec secnumber="5.3.4.2.3">

            <title><par id="parid0208">addressed stream</par></title>            

            <par id="parid0267">A topic is demanded whose subject is
            the stream that is the result of resolving the subject of
            the topic demanded in accordance with <paridRef parid="parid0207"/>.</par>

          </sec>
          <sec secnumber="5.3.4.2.4">

            <title><par id="parid0209"><tt>IS13250-HTTPGET-1.1::AT_httpGet</tt> assertion</par></title>            

            <par id="parid0268">An
            <tt>IS13250-HTTPGET-1.1::AT_httpGet</tt> assertion is
            demanded in which the
            <tt>IS13250-HTTPGET-1.1::RL_address</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0207"/>, and in which the
            <tt>IS13250-HTTPGET-1.1::RL_stream</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0208"/>.</par>

          </sec>
          <sec secnumber="5.3.4.2.5">

            <title><par id="parid0211"><tt>IS13250-HTTPGET-1.1::AT_subjectIndication</tt> assertion</par></title>            

            <par id="parid0270">An
            <tt>IS13250-HTTPGET-1.1::AT_subjectIndication</tt>
            assertion is demanded in which the
            <tt>IS13250-HTTPGET-1.1::RL_subjectIndicator</tt> role is
            played by the topic demanded in accordance with <paridRef parid="parid0208"/>, and in which the
            <tt>IS13250-HTTPGET-1.1::RL_indicatedSubject</tt> role is
            played by the topic demanded in accordance with <paridRef parid="parid0210"/>.</par>

          </sec>
        </sec>
      </sec>
      <sec secnumber="5.3.5">

        <title><par id="parid0271">Deserializing a
        <tt>&lt;scope&gt;</tt> within a
        <tt>&lt;name&gt;</tt></par></title>


        <sec secnumber="5.3.5.1">

          <title><par id="parid0228">scope</par></title>

          <par id="parid0272">A topic is demanded whose subject is the
          set of topics that comprises the scope.</par>

        </sec>
        <sec secnumber="5.3.5.2">

          <title><par id="parid0214">For each value of an
          <tt>-href-</tt> attribute of each <tt>&lt;a&gt;</tt> in the
          content of the scope:</par></title>

          <sec secnumber="5.3.5.2.1">

            <title><par id="parid0215">addressing expression</par></title>

            <par id="parid0216">A topic is demanded whose subject is the
            addressing expression that is the value of the
            <tt>-href-</tt> attribute of an <tt>&lt;a&gt;</tt> in the
            content of the <tt>&lt;scope&gt;</tt>.  The value of the
            <tt>-href-</tt> attribute is built-in as the value of the
            <tt>IS13250-HTTPGET-1.1::PR_httpAddress</tt>
            property.</par>

          </sec>
          <sec secnumber="5.3.5.2.2">

            <title><par id="parid0217">addressed stream</par></title>            

            <par id="parid0218">A topic is demanded whose subject is
            the stream that is the result of resolving the subject of
            the topic demanded in accordance with <paridRef parid="parid0216"/>.</par>

          </sec>
          <sec secnumber="5.3.5.2.3">

            <title><par id="parid0219"><tt>IS13250-HTTPGET-1.1::AT_httpGet</tt> assertion</par></title>            

            <par id="parid0220">An
            <tt>IS13250-HTTPGET-1.1::AT_httpGet</tt> assertion is
            demanded in which the
            <tt>IS13250-HTTPGET-1.1::RL_address</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0215"/>, and in which the
            <tt>IS13250-HTTPGET-1.1::RL_stream</tt> role is played by
            the topic demanded in accordance with <paridRef parid="parid0217"/>.</par>

          </sec>
          <sec secnumber="5.3.5.2.4">

            <title><par id="parid0221">set member topic</par></title>            

            <par id="parid0222">A topic is demanded whose subject is a
            member of the set of topics which is the subject of the
            topic demanded in accordance with <paridRef parid="parid0228"/>.</par>

          </sec>
          <sec secnumber="5.3.5.2.5">

            <title><par id="parid0223"><tt>IS13250-SETS-1.1::AT_set-member</tt> assertion</par></title>            

            <par id="parid0224">An
            <tt>IS13250-SETS-1.1::AT_set-member</tt> assertion is
            demanded in which the <tt>IS13250-SETS-1.1::RL_set</tt>
            role is played by the topic demanded in accordance with
            <paridRef parid="parid0228"/>, and in which the
            <tt>IS13250-SETS-1.1::RL_member</tt> role is played by the
            topic demanded in accordance with <paridRef parid="parid0221"/>.</par>

            <note notenumber="4"><par id="parid0273">This assertion
            confers a value component on the set topic's
            <tt>IS13250-SETS-1.1::PR_members{ }</tt> SIDP.  The
            component is the topic demanded in accordance with
            <paridRef parid="parid0221"/>.</par></note>

          </sec>
        </sec>
        <sec secnumber="5.3.5.3">

          <title><par id="parid0285">Deserializing the
                 <tt>&lt;name&gt;</tt> itself</par></title>

          <sec secnumber="5.3.5.3.1">

            <title><par id="parid0201"><tt>IS13250-STM-1.1::AT_name</tt> assertion</par></title>

            <par id="parid0227">An <tt>IS13250-STM-1.1::AT_name</tt>
            assertion is demanded in which the
            <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_name</tt> role is
            played by the topic demanded in accordance with <paridRef parid="parid0203"/>, and the
            <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namedSubject</tt>
            role is played by the topic demanded in accordance with
            <paridRef parid="parid0200"/>.
            </par>

          </sec>
          <sec secnumber="5.3.5.3.2">

            <title><par id="parid0212"><tt>IS13250-SCOPE-1.1::AT_scope</tt> assertion</par></title>

            <par id="parid0274">An <tt>IS13250-SCOPE-1.1::AT_scope</tt>
            assertion is demanded in which the
            <tt>IS13250-SCOPE-1.1::RL_scope</tt> role is played by the
            topic demanded in accordance with <paridRef parid="parid0228"/>, and the
            <tt>IS13250-SCOPE-1.1::RL_scopedAssertion</tt> role is
            played by the assertion demanded in accordance with
            <paridRef parid="parid0221"/>.</par>

            <note notenumber="5"><par id="parid0275">This assertion confers, as a value
            component of the scoped assertion's
            <tt>IS13250-SCOPE-1.1::PR_scopes{ }</tt> property, the
            topic that plays the <tt>IS13250-SCOPE-1.1::RL_scope</tt>
            role.</par></note>

          </sec>
          <sec secnumber="5.3.5.3.3">

            <title><par id="parid0213"><tt>IS13250-STM-1.1::AT_namespace</tt> assertion</par></title>

            <par id="parid0276">An <tt>IS13250-STM-1.1::AT_namespace</tt>
            assertion is demanded in which the
            <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_namespace</tt> role
            is played by the topic demanded in accordance with
            <paridRef parid="parid0210"/>, and the
            <tt>IS13250-STM-%%VERSIONNUMBER%%::RL_nameAssertion</tt>
            role is played by the assertion demanded in accordance
            with <paridRef parid="parid0221"/>.</par>

          </sec>
        </sec>
      </sec> 

      <sec secnumber="5.3.6">

        <title><par id="parid0179">Deserializing an <tt>&lt;occurrence&gt;</tt>
               element within a <tt>&lt;topic&gt;</tt></par></title>

  
        <par id="parid0189"/>

      </sec> 
    </sec> 
    <sec secnumber="5.4">

      <title><par id="parid0180">Deserializing an <tt>&lt;association&gt;</tt>
             element</par></title>

      
      <sec secnumber="5.4.1">

        <title><par id="parid0181">Deserializing an <tt>&lt;instanceOf&gt;</tt>
               element within an <tt>&lt;association&gt;</tt></par></title>

        <par id="parid0190"/>

      </sec> 
      <sec secnumber="5.4.2">

        <title><par id="parid0182">Deserializing a <tt>&lt;scope&gt;</tt>
               element within an <tt>&lt;association&gt;</tt></par></title>

  
        <par id="parid0191"/>

      </sec> 
      <sec secnumber="5.4.3">

        <title><par id="parid0183">Deserializing a <tt>&lt;member&gt;</tt>
               element within an <tt>&lt;association&gt;</tt></par></title>

  
        <par id="parid0192"/>

      </sec> 

    </sec>
    <sec secnumber="5.5">

      <title><par id="parid0184">Deserializing a <tt>&lt;mergeMap&gt;</tt>
             element</par></title>

      
        <par id="parid0193"/>

    </sec>
  </sec>
</isospec>

