W3C home > Mailing lists > Public > www-tag@w3.org > January 2003

Re: On subsetting XML...

From: <noah_mendelsohn@us.ibm.com>
Date: Mon, 27 Jan 2003 09:33:04 -0500
To: Norman Walsh <Norman.Walsh@sun.com>
Cc: www-tag@w3.org
Message-ID: <OFB108A6DD.080FEB19-ON85256CBB.004FFC14@lotus.com>

Norm Walsh writes:

> / "Jean-Jacques Moreau"
> <jean-jacques.moreau@crf.canon.fr> was heard to say: 
> SOAP's processing model is order agnostic,
> 
> But if that's true, then the arguments against PIs that
> talk about what happens if a header is removed by an
> intermediary are totally bogus. If the headers are
> unordered, then the PIs are unordered as well. That
> means I'd either have to put them inside a header or
> they'd have to apply to the whole header. So now I
> don't see the problem with PIs at all.

It's a bit more subtle than that.  The elements in a SOAP Envelope infoset 
are ordered, as is true in any infoset.  By default, the SOAP processing 
model assigns no significance to that order but an extension, such as one 
encoded in a header, can dictate that the order is in fact significant 
after all.  Indeed, this is one of the reasons that mustUnderstand faults 
must be detected before any semantically interesting processing;  it means 
that an "mU"  header stating that order is significant will surely be 
noticed before other processing is done in the wrong order.  See [1], 
which says:

"The processing of one or more SOAP header blocks MAY control or determine 
the order of processing for other SOAP header blocks and/or the SOAP body. 
For example, one could create a SOAP header block to force processing of 
other SOAP header blocks in lexical order. In the absence of such a 
controlling SOAP header block, the order of header and body processing is 
at the discretion of the SOAP node. Header blocks MAY be processed in 
arbitrary order. Header block processing MAY precede, MAY be interleaved 
with, or MAY follow processing of the SOAP body. For example, processing 
of a "begin transaction" header block would typically precede body 
processing, a "logging" function might run concurrently with body 
processing and a "commit transaction" header block might be honored 
following completion of all other work." 

This is generally consistent with SOAP's minimalist approach.  Rather than 
building in lots of elaborate ordering rules, we let other organizations 
design standards as extensions depending on the needs of particular 
environments and applications.  SOAP ignores order only by default.

[1] http://www.w3.org/TR/2002/CR-soap12-part1-20021219/#procsoapmsgs

------------------------------------------------------------------
Noah Mendelsohn                              Voice: 1-617-693-4036
IBM Corporation                                Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------
Received on Monday, 27 January 2003 09:35:08 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 12:47:15 GMT