<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.1//EN"
"http://www.w3.org/XML/1998/06/xmlspec-v21.dtd" [
<!-- ================================================================ -->
<!ENTITY draft.day "30">
<!ENTITY draft.month "10">
<!ENTITY draft.monthname "Oct">
<!ENTITY draft.year "2003">
<!ENTITY iso6.doc.date "&draft.year;-&draft.month;-&draft.day;">
<!ENTITY http-ident "http://www.w3.org/2001/tag/doc/abstractComponentRefs">
]>
<spec w3c-doctype="other">
  <?CVS $Id: abstractComponentRefs.xml,v 1.1 2003/11/03 22:10:20 ijacobs Exp $?>
  <header>
    <title>Abstract Component References</title>
    <w3c-designation>
    &http-ident;-&iso6.doc.date;</w3c-designation>
    <w3c-doctype>Draft TAG Finding</w3c-doctype>
    <pubdate>
      <day>&draft.day;</day>
      <month>&draft.monthname;</month>
      <year>&draft.year;</year>
    </pubdate>
    <publoc>
      <loc
      href="&http-ident;-&draft.year;&draft.month;&draft.day;">
      &http-ident;-&draft.year;&draft.month;&draft.day;</loc>
    </publoc>
    <latestloc>
    <loc href="&http-ident;.html">&http-ident;</loc>
    (
    <loc
    href="http://www.w3.org/2001/tag/doc/abstractComponentRefs.xml">
    XML</loc>
    )</latestloc>
    <authlist>
      <author>
        <name>David Orchard</name>
        <affiliation>BEA Systems, Inc.</affiliation>
        <email href="mailto:David.Orchard@BEA.com">
        David.Orchard@BEA.com</email>
      </author>
    </authlist>
    <copyright>
      <p>
      <loc
      href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">
      Copyright</loc>
      &#169; 2002-2003 
      <loc href="http://www.w3.org/">W3C</loc>
      <sup>&#174;</sup>
      (<loc href="http://www.lcs.mit.edu/">MIT</loc>, <loc href="http://www.ercim.org/">ERCIM</loc>, <loc href="http://www.keio.ac.jp/">Keio</loc>), All Rights Reserved. W3C 
      <loc
      href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">
      liability</loc>, 
      <loc
      href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">
      trademark</loc>,
      <loc
      href="http://www.w3.org/Consortium/Legal/copyright-documents">
      document use</loc>,
      and 
      <loc
      href="http://www.w3.org/Consortium/Legal/copyright-software">
      software licensing</loc>
      rules apply.</p>
    </copyright>
    <abstract>
      <p>This finding describes the TAG's response to the question
      of the suitability of using URIs with fragment identifiers
      for identifying abstract components, as exemplified by the
      issue raised by the WSD Working Group at 
      <bibref ref="issueraise" />. 
      This finding contains the TAG response and a summary of the
      possible solution space to the problem. The WSD Working Group
      requirements, a sample use case, a short description of each
      solution, and the pros and cons of each solution is
      provided.</p>
    </abstract>
    <status>
      <p>This document has been developed for discussion by the 
      <loc href="/2001/tag/">W3C Technical Architecture Group</loc>.
      This finding addresses <loc
href="http://www.w3.org/2001/tag/ilist#abstractComponentRefs-37">issue
abstractComponentRefs-37</loc>. It does represent a draft of the
consensus opinion of the TAG.</p>
      <p>Publication of this finding does not imply endorsement by
      the W3C Membership. This is a draft document and may be
      updated, replaced or obsoleted by other documents at any
      time.</p>
      <p>
      <loc href="/2001/tag/findings">Additional TAG findings</loc>,
      both approved and in draft state, may also be available.
      The TAG expects to incorporate this and other findings into a
      Web Architecture Document that will be published according to
      the process of the 
      <loc href="/Consortium/Process-20010719/tr#Recs">W3C
      Recommendation Track</loc>.
      </p>
      <p>Please send comments on this finding to the publicly
      archived TAG mailing list 
      <loc href="mailto:www-tag@w3.org">www-tag@w3.org</loc>
      (<loc href="http://lists.w3.org/Archives/Public/www-tag/">
      archive</loc>).</p>
    </status>
    <pubstmt>
      <p>Chicago, Vancouver, Mountain View, et al.: World-Wide Web
      Consortium, Draft TAG Finding, 2003.</p>
    </pubstmt>
    <sourcedesc>
      <p>Created in electronic form.</p>
    </sourcedesc>
    <langusage>
      <language id="EN">English</language>
    </langusage>
    <revisiondesc>
      <slist>
        <sitem>2003-10-15: Published draft</sitem>
      </slist>
    </revisiondesc>
  </header>
  <body>
    <div1 id="preface">
      <head>TAG Recommendation</head>
      <p>The TAG consensus is that description languages - such as
      WSDL, XML Schema, OWL - may use URIs that include fragment
      identifiers to identify abstract components described by
      that language. The TAG supports the use of fragment
      identifiers in the abstract component identifiers defined by
      the WSD working group. 
      <termdef id="abstractcomponent" term="abstractcomponent">An 
      <term>abstract component</term>
      is a descriptive link to a resource</termdef>.
      In the WSDL language, the descriptive links are the
      constructs the WSDL language that describe Web services.</p>
      <p>Description languages, such as WSDL and RDF, provide a
      language for describing things, known in the web context as
      resources. In the WSDL case, the resources are Web services.
      The name "Web service description language" is appropriately
      chosen for a language to describe resources that are web
      services. The description language defines the constraints on
      how to represent the description information. As defined in
      the web architecture, instances of a language are called
      components. Given that these components are information about
      a different resource, the different resources are called
      abstract components. A description of a resource must
      necessarily always refer to the resource being described and
      so the description component is always a link. Description
      languages typically provide mechanisms for identifying the
      abstract components, and these are called abstract component
      identifiers.</p>
      <p role="practice">The identifier used to identify an
      abstract component should be useable to retrieve a
      representation of the corresponding abstract component
      description.</p>
      <p>This implies descriptions should be deployed to be
      retrievable by simple dereference of the relevant
      identifier.</p>
      <p>The TAG does believe that the issue of identifying
      abstract components and the use of namespace names has
      architectural implications for the Web. The TAG has consensus
      that a vocabulary can recommend that an instance of the
      vocabulary is available upon de-referencing the namespace
      name.</p>
      <p role="practice">Description languages that identify
      abstract components should make available an instance of the
      language at the URI used for identifying the abstract
      component.</p>
      <p>A typical base URI is the namespace name for the instance
      of the language.</p>
    </div1>
    <div1>
      <head>Related work</head>
      <p>The TAG is working on a namespace name format 
      <bibref ref="issue8" />
      . This format and the related fragment identifier syntax are
      not sufficiently advanced in the W3C process for the TAG to
      recommend that a working group use them. The abstract
      component identifiers as defined in a particular language,
      and the relationship to the description language syntax, the
      fragment identifier syntax, the use of a namespace name
      document, and the namespace name document fragment identifier
      syntax is not clear at this time. The TAG expects to continue
      work on this area.</p>
      <p>As for the particulars of the syntax, the TAG does not
      wish to delve into syntax design of the WSD fragment
      identifier syntax, believing that the WSD WG is better
      qualified for such activities. Members of the TAG did express
      support for Option 1 in the Namespace name and fragment
      identifier syntax section, but this is not a consensus
      opinion and the TAG plans no further elaboration on the WSD
      specific syntax. The TAG has taken up the issue of
      documenting URI construction best practices 
      <bibref ref="issue40" />
      which may prove useful to the WSD and other Working
      Groups.</p>
    </div1>
    <div1>
      <head>WSDL Problem analysis</head>
      <p>The WSDL problem is how to refer to the abstract component
      specified in the WSDL language. Thus the WSDL problem is
      described as abstract component references. The WSD Working
      Group performed an analysis of requirements, possible
      solutions and proposed a solution, explained at 
      <bibref ref="RymanExplanation" />.</p>
      <div2>
        <head>WSD Working Group Requirements</head>
        <p>This requirements section elaborates on the WSD 
        WOrking Group's
        analysis of requirements. The elaboration is based upon
        further analysis of the solutions and numerous
        discussions.</p>
        <ulist>
          <item>
            <p>It must be possible to identify each abstract
            component in a WSDL vocabulary with a URI.</p>
          </item>
          <item>
            <p>It should be simple to create the WSDL abstract
            component constructs that are used for the URI.</p>
          </item>
          <item>
            <p>It should be simple to create the URI</p>
          </item>
          <item>
            <p>It should be possible to retrieve a namespace name
            document given an abstract component reference if the
            namespace name is used as part of the URI.</p>
          </item>
          <item>
            <p>It should be possible to extract the symbol space
            information from the URI. The WSDL specification uses
            the symbol space name as the top-level specifier of the
            symbol space for the names defined by WSDL. There is an
            open TAG issue on the use of metadata in URI 
            <bibref ref="issue31" />
            . The TAG does not offer an opinion on the relationship
            between symbol space names and metadata nor the
            suitability of this within URIs.</p>
          </item>
          <item>
            <p>It should be extensible in order to identify
            components described by WSDL extensions, ala
            soap:binding, soap:operation, soap:address, soap:body,
            soap:action, soap:fault, soap:header, soap:headerfault,
            http:address, http:binding, http:urlEncoded,
            http:urlReplacement, mime:content, etc.</p>
          </item>
          <item>
            <p>It should re-use existing naming or identifying
            constructs and fragment identifier syntax</p>
          </item>
        </ulist>
        <p>The requirement for using relative URIs is not listed as
        a criteria here. It appears it is a "nice-to-have" but not
        a significant factor in any recommendation or decision.</p>
      </div2>
      <div2>
        <head>Sample problem</head>
        <p>A WSDL fragment of the form:</p>
        <example>
          <head>Sample WSDL Fragment</head>
          <eg>&lt;definitions name="TicketAgent"
          targetNamespace="http://airline.wsdl/ticketagent/"&gt;
          &lt;portType name="TicketAgent"&gt; &lt;operation
          name="listFlights" parameterOrder="depart origin
          destination"&gt; &lt;input name="listFlightsRequest"
          message="tns:listFlightsRequest" /&gt; ......
          &lt;/definitions&gt;</eg>
        </example>
      </div2>
    </div1>
    <div1>
      <head>WSDL Solution space</head>
      <p>This section describes the various abstract component
      identifier syntax solutions and fragment syntax changes for
      WSDL abstract component references that have been collected
      during the course of this finding.</p>
      <p>Each solution met a varying amount of the requirements. No
      one solution met all requirements.</p>
      <div2>
        <head>Namespace name and fragment identifier syntax</head>
        <p>Option #1: query-string like format</p>
        <p>Suggested at TAG Oct 2003 F2F 
        <bibref ref="tagf2f200310" />
        . Query string format based upon query string with single
        argument proposal, listed later in this document.</p>
        <p>Sample URI is</p>
        <p>
        http://airline.wsdl/ticketagent/#input=TicketAgent.reserveFlight.reserveFlightRequest</p>
        <p>Option #2: symbol space name followed by parenthesis
        containing component identifier within symbol space.</p>
        <p>Original WSDL Proposal.</p>
        <p>The sample URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/#input(TicketAgent/listFlights/listFlightsRequest)".</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>simple to author WSD constructs.</p>
          </item>
          <item>
            <p>simple to author URIs</p>
          </item>
          <item>
            <p>symbol space is apparent</p>
          </item>
          <item>
            <p>Option #1 does not use parenthesis.</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>Unsure how extensions are identified.</p>
          </item>
          <item>
            <p>Requires inventing WSDL specific fragment identifier
            syntax</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>ID attribute and XML fragment identifier
        syntax</head>
        <p>Add an ID attribute and retain the name attribute</p>
        <p>The WSD sample becomes:</p>
        <example>
          <eg>&lt;definitions id="TA" name="TicketAgent"
          targetNamespace="http://airline.wsdl/ticketagent/"&gt;
          &lt;portType id="TAPType"name="TicketAgent"&gt;
          &lt;operation id="TAPTypeLOF" name="listFlights"
          parameterOrder="depart origin destination"&gt; &lt;input
          id="TAPTypeLOFReq" message="tns:listFlightsRequest"
          name="listFlightsRequest"/&gt; ......
          &lt;/definitions&gt;</eg>
        </example>
        <p>The URI sample is
        "http://airline.wsdl/ticketagent/#TAPTyleLOFReq"</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>re-use at least the ID portion of XML fragment
            identifier syntax</p>
          </item>
          <item>
            <p>extensions are identifiable</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>hard for authors of WSD documents.</p>
          </item>
          <item>
            <p>hard to manage the space of Ids to guarantee URI
            identifies single component across compound WSDL
            documents</p>
          </item>
          <item>
            <p>Overlap between names and ids.</p>
          </item>
          <item>
            <p>Symbol space is not apparent.</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>Unique Names</head>
        <p>Require that name attributes be unique.</p>
        <p>The WSDL fragment becomes</p>
        <example>
          <eg>&lt;definitions name="TicketAgent"
          targetNamespace="http://airline.wsdl/ticketagent/"&gt;
          &lt;portType name="TicketAgentPortType" &gt;
          &lt;operation
          name="TicketAgentPortTypelistFlightsOperation"
          parameterOrder="depart origin destination"&gt; &lt;input
          name="TicketAgentPortTypelistFlightsOperationlistFlightsRequestInput"
          message="tns:listFlightsRequest" /&gt; ......
          &lt;/definitions&gt;</eg>
        </example>
        <p>The URI sample is</p>
        <p>
        "http://airline.wsdl/ticketagent/#TicketAgentPortTypelistFlightsOperationlistFlightsRequestInput"</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>extensions are identifiable</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>Reinvents some of ID constraints.</p>
          </item>
          <item>
            <p>hard for authors of WSDL documents.</p>
          </item>
          <item>
            <p>Symbol space is not apparent</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>Full XPointer</head>
        <p>The sample URI is</p>
        <p>
        http://airline.wsdl/ticketagent/#xmlns((w=http://schemas.xmlsoap.org/wsdl/)xpointer(//w:portType[@name="TicketAgent"]/w:operation[@name="listFlights"]/w:input[@name="listFlightsRequest"])</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>re-use XPointer syntax</p>
          </item>
          <item>
            <p>Symbol space is apparent</p>
          </item>
          <item>
            <p>extensions are identifiable</p>
          </item>
          <item>
            <p>easy to author WSDL documents</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>complex syntax</p>
          </item>
          <item>
            <p>requires XPointer processor</p>
          </item>
          <item>
            <p>URI may identify multiple components.</p>
          </item>
          <item>
            <p>XPointer is not a recommendation.</p>
          </item>
        </ulist>
        <p>Note:</p>
        <p>XPointer element() Scheme 
        <bibref ref="xptr-element" />
        , XPointer Framework 
        <bibref ref="xptr-framework" />
        , and xmlns() Schema 
        <bibref ref="xptr-ns" />
        are Recommendations.</p>
        <p>Full Xpointer 
        <bibref ref="xpointer-full" />
        is a WD that has no active work on it.</p>
      </div2>
      <div2>
        <head>XPointer framework and element()</head>
        <p>Sample URI #1 is:</p>
        <p>
        "http://airline.wsdl/ticketagent/#element(ticketagent/listFlights/listFlightsRequest)"</p>
        <p>Sample URI #2 is:</p>
        <p>
        "http://airline.wsdl/ticketagent/#element(ticketagent.listFlights.listFlightsRequest)"</p>
        <p>The "." separator may be better suited than / within
        parens, due to parser implementation issues.</p>
        <p>Pros</p>
        <ulist>
          <item>
            <p>re-use element() syntax</p>
          </item>
        </ulist>
        <p>Cons</p>
        <ulist>
          <item>
            <p>Type is not apparent</p>
          </item>
          <item>
            <p>URI may identify multiple components.</p>
          </item>
          <item>
            <p>doesn't handle extensions</p>
          </item>
          <item>
            <p>roy:use of parens is goofy</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>WSD specific Xpointer scheme</head>
        <p>Sample URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/#xmlns(w=http://schemas.xmlsoap.org/wsdl)w:input(ticketagent/listFlights/listFlightsRequest)"</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>Symbol space is apparent</p>
          </item>
          <item>
            <p>handles extensions</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>URI may identify multiple components.</p>
          </item>
          <item>
            <p>URIs are complex to create</p>
          </item>
          <item>
            <p>need to develop WSD specific fragment identifier
            syntax.</p>
          </item>
          <item>
            <p>Uses balanced parens</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>XML Schema Component designators</head>
        <p>XML Schema component designators description at 
        <bibref ref="scuds" />
        . Some rationale for Schema's decisions on Component
        Designators at 
        <bibref ref="noahonscuds" />
        . The sample URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/#xmlns(ta=http://www.airline.wsdl/ticketagent/)wsdl(/portType(ta:TicketAgent)/operation(listFlights)/input(listFlightsRequest))"</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>Symbol space is apparent</p>
          </item>
          <item>
            <p>extensions are identifiable</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>complex syntax</p>
          </item>
          <item>
            <p>Schema component designators still under
            development</p>
          </item>
          <item>
            <p>Uses balanced parens</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>URN</head>
        <p>Proposed and described in 
        <bibref ref="useURN" />
        .</p>
        <p>The URI sample would be</p>
        <p>
        "urn:wsdl:airline.wsdl:ticketagent:listFlights:listFlightsRequest"</p>
        <p>Pros:</p>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>embeds URIs into URNs</p>
          </item>
          <item>
            <p>URI not dereferenceable</p>
          </item>
          <item>
            <p>Unsure how extensions are identified</p>
          </item>
          <item>
            <p>No advantage over http: URIs with respect to
            longevity as a new URN needs to be minted any time the
            interface changes.</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>RDDL fragment identifier syntax</head>
        <p>First proposed in in 
        <bibref ref="rddl-fragid" />
        . First raised in 
        <bibref ref="tagf2f200211" />
        </p>
        <p>Sample URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/#wsdl/input.TicketAgent.listFlights.listFlightsRequest"</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>Symbol space is apparent</p>
          </item>
          <item>
            <p>incorporates RDDL into Web services</p>
          </item>
          <item>
            <p>Could unify schema, wsdl, other description
            languages with namespaces.</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>Idea is a barely beyond a twinkle in our eyes. It
            requires specification of RDDL fragment identifier
            syntax, and typical time to develop issues.</p>
          </item>
          <item>
            <p>Unknown whether it will actually solve the
            problem.</p>
          </item>
          <item>
            <p>Unsure how extensions are identified.</p>
          </item>
          <item>
            <p>roy:we don't need another universal media type.</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>A URI convention that slashes separate namespace URI
        and component identifier</head>
        <p>Suggested in Mar 24th telcon 
        <bibref ref="mar24telcon" />
        </p>
        <p>Quoting the suggestion: "In the CMS world, a compound
        hierarchical document is no different from a hierarchical
        directory system -- all names are hierarchies and the names
        are separated by "/" all the way down to the smallest atom
        of content. WSDL defines a compound document namespace
        rooted at its namespace URI. So, add a slash and define the
        hierarchy below the namespace URI according to WSDL.". A
        disagreement with using frag-ids in names in 
        <bibref ref="royonfragsasnames" />
        </p>
        <p>Sample URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/TicketAgent/listFlights/listFlightsRequest"</p>
        <p>roy:preferred approach</p>
        <p>Option #2 URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/input/TicketAgent/listFlights/listFlightsRequest"</p>
        <p>Option #3 URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/TicketAgent/listFlights/listFlightsRequest/input"</p>
        <p>Option #4 URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/TicketAgent/listFlights/listFlightsRequest;input"</p>
        <p>Roy:preferred approach if input is required</p>
        <p>Option #5 URI is</p>
        <p>
        "http://airline.wsdl/ticketagent/input(TicketAgent/listFlights/listFlightsRequest)"</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>Option #2,3,4,5 has symbol space apparent</p>
          </item>
          <item>
            <p>Does not require a WSD syntax</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>Can't tell where the namespace name ends and the
            name begins Roy:So?</p>
          </item>
          <item>
            <p>Symbol space is not apparent in option #1.</p>
          </item>
          <item>
            <p>#5 has balanced parens.</p>
          </item>
        </ulist>
      </div2>
      <div2>
        <head>URI query strings</head>
        <p>Option #1</p>
        <p>Proposed in 
        <bibref ref="usequery" />
        </p>
        <p>Sample URI is</p>
        <p>
        "http://airline.wsdl/ticketagent?portType=TicketAgent&amp;operation=listFlights&amp;input=listFlightsRequest"</p>
        <p>Option #2</p>
        <p>Proposed in
        <bibref ref="jonathanonusingquery" />
        . This suggests a single name with a value that uses
        periods as separators.</p>
        <p>
        http://airline.wsdl/ticketagent/?wsdl-input=TicketAgent.reserveFlight.reserveFlightRequest</p>
        <p>Pros:</p>
        <ulist>
          <item>
            <p>Symbol space is apparent</p>
          </item>
        </ulist>
        <p>Cons:</p>
        <ulist>
          <item>
            <p>Overrides a portion of the URI space</p>
          </item>
          <item>
            <p>Option #1: No hierarchy of names</p>
          </item>
          <item>
            <p>No prevention of namespace conflicts. Not sure how
            much of this is a problem for referring to WSD
            documents.</p>
          </item>
          <item>
            <p>Extensions not supported.</p>
          </item>
          <item>
            <p>need to develop WSD specific query parameters.</p>
          </item>
          <item>
            <p>A dereference operation will require that a WSDL
            document not be returned, rather the abstract
            component. Otherwise the client cannot interpret the
            document properly.</p>
          </item>
        </ulist>
        <p>Notes:</p>
        <p>I wonder if there would be a way of getting QNames into
        this for extensions.</p>
        <p>Roy: this solution defeats the purpose of assigning
        names</p>
      </div2>
    </div1>
  </body>
  <back>
    <div1>
      <head>References</head>
      <blist>
        <bibl id="issueraise"
        href="http://lists.w3.org/Archives/Public/www-tag/2003Feb/0207.html"
         key="IssueRaise">
          <titleref>Issue Raising</titleref>
        </bibl>
        <bibl id="RymanExplanation"
        href="http://lists.w3.org/Archives/Public/www-ws-desc/2002Dec/0021.html"
         key="RymanExplanation">
          <titleref>Ryman Explanation</titleref>
        </bibl>
        <bibl id="useURN"
        href="http://lists.w3.org/Archives/Public/www-ws-desc/2002Oct/att-0084/01-URI-References.html"
         key="useURN">
          <titleref>Use URNs</titleref>
        </bibl>
        <bibl id="scuds" href="http://www.w3.org/TR/xmlschema-ref/"
        key="scuds">
          <titleref>Schema Component Designators</titleref>
        </bibl>
        <bibl id="rddl-fragid"
        href="http://lists.w3.org/Archives/Public/www-tag/2003Mar/0064.html"
         key="rddl-fragid">
          <titleref>RDDL Frag Id</titleref>
        </bibl>
        <bibl id="tagf2f200211"
        href="http://www.w3.org/2002/11/18-tag-summary"
        key="200111tagf2f">
          <titleref>Nov 2002 TAG F2F Minutes</titleref>
        </bibl>
        <bibl id="tagf2f200310"
        href="http://www.w3.org/2003/10/06-tag-summary"
        key="2003110tagf2f">
          <titleref>Oct 2003 TAG F2F Minutes</titleref>
        </bibl>
        <bibl id="xptr-element"
        href="http://www.w3.org/TR/xptr-element/"
        key="xptr-element">
          <titleref>Xpointer element</titleref>
        </bibl>
        <bibl id="xptr-framework"
        href="http://www.w3.org/TR/xptr-framework/"
        key="xptr-framework">
          <titleref>Xpointer framework</titleref>
        </bibl>
        <bibl id="xptr-ns" href="http://www.w3.org/TR/xptr-xmlns/"
        key="xptr-ns">
          <titleref>Xpointer Namespaces</titleref>
        </bibl>
        <bibl id="xpointer-full"
        href="http://www.w3.org/TR/2002/WD-xptr-xpointer-20021219/"
        key="xpointer-full">
          <titleref>Full XPointer</titleref>
        </bibl>
        <bibl id="royonfragsasnames"
        href="http://lists.w3.org/Archives/Public/www-tag/2003Jan/0148.html"
         key="royonfragsasnames">
          <titleref>Roy Fielding posting on fragments as
          names</titleref>
        </bibl>
        <bibl id="usequery"
        href="http://lists.w3.org/Archives/Member/w3c-ws-desc/2003Apr/0010.html (W3C Member only)"
         key="usequery">
          <titleref>Use Query string</titleref>
        </bibl>
        <bibl id="noahonscuds"
        href="http://lists.w3.org/Archives/Public/www-tag/2003Apr/0081.html"
         key="noahonscuds">
          <titleref>Noah Mendelsohn posting on schema component
          designators</titleref>
        </bibl>
        <bibl id="issue31"
        href="http://www.w3.org/2001/tag/ilist#metadataInURI-31"
        key="Issuemetadatainuri-31">
          <titleref>TAG Issue Metadata in URI 31</titleref>
        </bibl>
        <bibl id="mar24telcon"
        href="http://www.w3.org/2003/03/24-tag-summary.html#abstractComponentRefs-37"
         key="mar24telcon">
          <titleref>Mar 24 TAG telcon</titleref>
        </bibl>
        <bibl id="jonathanonusingquery"
        href="http://lists.w3.org/Archives/Public/www-ws-desc/2003Sep/0075.html"
         key="jonathanonusingquery">
          <titleref>Jonathan Marsh proposal on using query
          string</titleref>
        </bibl>
        <bibl id="issue8"
        href="http://www.w3.org/2001/tag/ilist#namespaceDocument-8"
        key="issue8">
          <titleref>TAG issue namespace name document 8</titleref>
        </bibl>
        <bibl id="issue40"
        href="http://www.w3.org/2001/tag/ilist#URIGoodPractice-40"
        key="issue40">
          <titleref>TAG issue URI good practice 40</titleref>
        </bibl>
      </blist>
    </div1>
    <div1>
      <head>Acknowledgements</head>
      <p>The TAG would like to thank the following people for
      contributing to this finding: Jonathan Marsh, Noah
      Mendelsohn, Arthur Ryman.</p>
    </div1>
  </back>
</spec>

