Making the namespace resource "real"

Someone just said:

  "a namespace is a set of names"

If that's what it is, then let us make it a real 
resource that is web-accessable so that those using
"http" can actually point to a namespace!   This 
meta-physical debate is useless for an automated
program to take advantage of.

...


<namespace>

  <name>http://www.w3.org/1999/XSL/Transform</name>

             <!-- The identifier is a globally unique string,
                  as a absolute URI (not reference).  If the
                  identifier is "http" then it should return
                  this same entity.  It is suggested that
                  the name would better be a "urn"         -->

  <issued>2000-06-08</issued>
  <expires>never</expires>
                 
             <!-- The expiration date as ISO 8601 format and is
                  is used for servers.  It describes when this
                  text may reasonably change.  The keyword "never"
                  means that the text is frozen and may be cached
                  indefinately.  -->

  <name-list>

     <!-------------------- elements ----------------------->

     <name>stylesheet</name>      <name>import</name>       
     <name>include</name>         <name>strip-space</name>
     <name>preserve-space</name>  <name>output</name>
     <name>key</name>             <name>decimal-format</name>
     <name>namespace-alias</name> <name>attribute-set</name>
     <name>variable</name>        <name>param</name>
     <name>template</name>        <name>text</name>    
     <name>number</name>          <name>if</name>
     <name>for-each</name>        <name>apply-templates</name>
     <name>choose</name>          <name>when</name>
     <name>otherwise</name>       <name>sort</name>
     <name>variable</name>        <name>param</name>
     <name>copy-of</name>         <name>with-param</name>

     <!-------------------- attributes ---------------------->

     <name>id</name>              <name>version</name>
     <name>test</name>            <name>href</name>
     <name>match</name>           <name>name</name>
     <name>priority</name>        <name>mode</name>
     <name>select</name>          <name>elements</name>
     <name>result-prefix</name>   <name>stylesheet-prefix</name>
     <name>namespace</name>       <name>use-attribute-sets</name>
     <name>lang</name>            <name>disable-output-escaping</name>
     <name>level</name>           <name>count</name>
     <name>from</name>            <name>value</name>
     <name>format</name>          <name>letter-value</name>
     <name>grouping-size</name>   <name>grouping-seperator</name>
     <name>data-type</name>       <name>order</name>
     <name>case-order</name>

     <!-- Note: as this is a list of names, there is no proper
          distinction between partitions (as this is non-normative
          part of the specification). -->

  </name-list>

  <!-- Additional information may also be provided as needed,
       for instance, digitial signature block and/or URI for
       an XSchema, or Relax text, or possibly a conversion
       block from one namespace to another as defined through
       an XSLT stylesheet URI.  This block may have a different
       expiration date... but then again, this block would be
       of a different namespace, so that would be "obvious"  -->

</namespace>


Points:
      
      1. Solves the debate as to "what is the resource"
         and makes the namespace tangeable and verifyable
         and usable by computerized processes.

      2. Allows for static, signed documents (never expires)
         to enable permanant cache, etc.

      4. Makes relative http URIs verifyable, if it points to
         a document, then it is a valid URI -- otherwise it
         is suspect and can be reported for easier debugging.
  
      5. For namespaces declared with a different (non http)
         syntax; then the <uri> can be this non-http uri.
         Comparison is based on this.

Issue:
     
      1. Breaks byte-by-byte comparison of relative URIs that
         are not resolvable. (I'm not sure if this is such
         a big problem).

      2. For new http namespaces encounted, it requires a
         network connection _or_ that the namespace document
         be shipped along with the instance texts.   

         I don't see this one as a big deal given the
         expiration date, and the ability to use relative 
         URI references.  Further, a processor or browser can
         give the option to: "automatically generate namespace".
         Thus, it is not a show-stopper if the namespace text
         is not available ... perhaps an 'authoritative' flag?

      3. For individuals using "http" to fetch some other
         non-namespace text using the namespace name, this
         would cause problems.

Why not?  It'd certainly clear things up!

Best,

Clark

Received on Thursday, 8 June 2000 14:07:27 UTC