Re: Proposed text for XMLBase

Hi Noah.

Thank you for putting out this proposal.

* <Noah_Mendelsohn@lotus.com> [2001-08-29 18:02-0400]
> On the telephone call this afternoon, I took a "to do" to propose text for
> the use of XMLBase with SOAP.  In researching the XMLBase spec [1], the
> issue turned out to be a bit more subtle than I had realized:  I believe
> there are three potential questions: (a) do we allow and interpret per [1]
> the xml:base attribute?;  (b) in the absence of an xml:base attribute, what
> do we say about the "base URI" for our document or entity as used in [2]?;
> (c) can that base URI be determined or overriden by bindings or additional
> specifications, such as SOAP+Attachments [3]?  I think the sense of the
> call was "disallow (a), don't define (b), let other specs such as
> SOAP+Attachments do (c) ", so that's what I've tried to write.

I agree that this problem is tricky.

Indeed, the base URI of a SOAP message might not always be clear.
However, if I do an HTTP GET request and I get a SOAP message, it is
clear that the base URI of my XML document is the URI of the resource
that I just dereferenced. A SOAP message could also be stocked on a
disk and accessed by different processors.

Paul Cotton said during the teleconference that dealing with the XML
Base problem was setting the bar high and stretching our schedule.

I think that, in any case, we have just discovered that dealing with
relative URIs was not as straightforward as saying "We don't support
XML Base", and that it is something we need to deal with. I am going
to open an issue referencing Chris's email[5].

I would like to understand why dealing with XML Base is setting the
bar high. XML Base seems to me pretty straightforward to implement;
Paul, could you please elaborate on that?

Relative URIs are an important part of the Web architecture, and
giving no interpretation for them is IMO dangerous; it means that
relative URIs cannot be used since they cannot be dereferenced in a
well-known way. Interoperability is clearly lost.

In this context, I think that XML Base is a very important tool to
make sure that we know how to dereference relative URIs. 

Moreover, at the recent XML processing model workshop, several of
people stressed that XML + XML Namespaces + XML Base were the base for
the XML processing model. Having a special case for relative and base
URIs in SOAP means that a generic XML processor will not interpret
correctly relative URIs.

> I presume the editors would clean this up and integrate it stylistically
> with the rest of the document:
> 
> ======================================================
> 
> BASE URI's and Relative URI Resolution
> --------------------------------------
> 
> "This version of the SOAP specification does not support the W3C XML Base
> Recommendation.  The xml:base attribute SHOULD NOT appear on the
> SOAP-ENV:Envelope, SOAP-ENV:Body, SOAP-ENV:Header, or SOAP-ENV:Fault
> elements;  processors receiving messages with such xml:base attributes
> SHOULD generate a XXXXXX fault (details TBD).
> 
> This specification provides no standard Base URI for the contents of the
> SOAP-ENV:Body or other header entries;  specifications for particular
> applications of SOAP, as well as specifications for transport bindings,
> header entries and/or body entries MAY define the interpretation of
> relative URI's within such body or entries. In the absence of such
> additional specifications, the resolution of relative URI's appearing
> within the contents of a body or other header entry is undefined.
> 
> Relative URI's SHOULD NOT be used as  values for attributes or elements
> (such as SOAP-ENV:Actor, SOAP-ENV:EncodingStyle) defined by this
> specification;  if such values are used, their resolution to absolute URI's
> is not defined by this specification.

I would much prefer something in the spirit of:

  The base URI information item for a SOAP message is undefined.
  However, the use of XML Base in a SOAP message is allowed. Relative
  URIs MUST NOT be used without an xml:base value. When an xml:base
  value is present, the resolution of relative URIs is done by the
  rules explained in the XML Base specification.

I am not happy about disallowing relative URIs when XML base is not
used, but I think that I need to think more about what the base URI of
a SOAP message is while it travels among SOAP nodes in the message
path.

> Namespace declarations for the namespaces used in this specification (such
> as http://www.w3.org/2001/06/soap-envelope) MUST be provided as absolute
> URI's.   Element or attribute names qualified with relative URI namespaces
> are not recognized as matching the absolute names mandated by this
> specification."

I think that this paragraph is unnecessary. The XML Plenary
adopted the following proposal[4]:

  To deprecate the use of relative URI references in namespace
  declarations; that is: to say that while they conform to the
  Namespace Recommendation of January 1999, later specifications such
  as DOM, XPath, etc. will define no interpretation for them.

> [1] http://www.w3.org/TR/xmlbase/
> [2] http://www.w3.org/TR/xmlbase/#rfc2396
> [3] http://www.w3.org/TR/SOAP-attachments#SOAPReferenceToAttachements
  4. http://lists.w3.org/Archives/Public/xml-uri/2000Sep/0083.html
  5. http://lists.w3.org/Archives/Public/xml-dist-app/2001Aug/0104.html
-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/ - tel:+1-617-452-2092

Received on Thursday, 30 August 2001 10:18:29 UTC