- From: <noah_mendelsohn@us.ibm.com>
- Date: Thu, 30 Jan 2003 21:30:28 -0500
- To: Chris Lilley <chris@w3.org>
- Cc: Norman Walsh <Norman.Walsh@sun.com>, www-tag@w3.org, mgudgin@microsoft.com
Long ago and far away, in a note much earlier in this thread, Chris Lilley
wrote:
> NW> Hmm. I don't think I'd seriously considered the possibility that
other
> NW> specs would solve the problem by saying "in FooML, all attributes
> NW> named 'id' are of type ID by definition and must appear in the
infoset
> NW> with that [attribute type]". But maybe they would.
>
> I cite exhibit A, the SOAP specification, as an existence proof.
Actually, speaking for myself and not the XMLP WG: I think the error if
any is in SOAP encoding claiming that soapEnc:ID is of type xsd:ID. I
think what's intended in SOAP encoding is that the soapEnc:IDs and
soapEnc:IDREFs be much more like key and keyref. Why? Becuase the
encoding is really just creating a graph that's embedded in the SOAP
envelope. >The only elements that can be referenced are those which
themselves represent nodes in the encoded graph.< So:
<soap:Envelope soapEnc:id="X">
</soap:Envelope>
is incoherent and is disallowed. So is:
<soap:Envelope>
<soap:Header soapEnc:id="Y">
...
</soap:header>
</soap:Envelope>
The envelope is not a meaningful graph node. Neither is the markup that
starts header sections: Yet, if what you want is XPointers into a SOAP
envelope, then you do want to be able to do something like:
<soap:Envelope>
<soap:Header xml:id="Y">
...
</soap:header>
</soap:Envelope>
so you can make an XPointer to the header element labeled with "Y". As I
recall, there was not much careful consideration on the assignment of the
type for soapEnc:id. It seemed generally like an ID, and we claimed it to
be, but this discussion suggests to me that we made a bit of a mistake.
So, if you agree with this line of reasoning, soapEnc:id is not an
existence proof (or disproof) for the temptation to have specifications
type ID attributesby fiat. (Well, we were tempted, but I claim now that
our reasoning was poor.)
------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
IBM Corporation Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------
Received on Thursday, 30 January 2003 21:31:59 UTC