- From: David Orchard <dorchard@bea.com>
- Date: Thu, 7 Apr 2005 07:29:55 -0700
- To: "Hugo Haas" <hugo@w3.org>
- Cc: <www-ws-desc@w3.org>
The point of namespaces is to disambiguate names. That is, you can have 2 identical local names with different namespace names. The purpose of serializing the prefix is to preserve that disambiguation. Cheers, Dave > -----Original Message----- > From: Hugo Haas [mailto:hugo@w3.org] > Sent: Thursday, April 07, 2005 6:40 AM > To: David Orchard > Cc: www-ws-desc@w3.org > Subject: Re: Proposed resolution to LC 77a > > * David Orchard <dorchard@bea.com> [2005-04-01 14:54-0800] > > LC 77a roughly says there is no mechanism for namespaces to be specified > or used in URIs according to application/x-www-form-urlencoded. Nor is > there any mention of what happens when qualified XML elements are encoded. > > > > There are roughly 3 solutions for namespaces: 1) Disallow qualified > elements, 2) allow qualified but ignore namespace names; 3) allow > qualified and serialize namespace names. > [..] > > Option #3: > > > > Many XML applications make use of namespaces. As I mentioned in the > binding of Qnames to URIs blog entry, > http://www.pacificspirit.com/blog/2004/04/29/binding_qnames_to_uris, there > are many ways of serializing qnames. > > > > I think the very simplest for WSDL is #16, where the ns decl is skipped. > Both sides have the WSDL, and when XML is serialized, the schema must have > specified any namespaces associated with elements. These namespaces are > invarient from the interface perspective. The simplest solution I can > suggest is that the namespace prefix be included in the URI when a > namespace prefix is in the instance data. As an example, ns1, ns2, ns3 > are defined in the wsdl. > > > > <ns1:data> > > <ns1:town>Fréjus</ns1:town> > > <ns2:date>2004-01-16</ns2:date> > > <ns3:unit>C</ns3:unit> > > </ns1:data> > > > > is serialized as > > temperature/Fr%C3%A9jus?ns2:date=2004-01-16&ns3:unit=C > > > > This can be achieved by: > > Remove first sentence of section 3.9.1 bullet 3 ("The sequence MUST > contain only local element children"). > > Add to section 3.8.1.2.1 Qualified names (ie ns1:town or town) are > serialized as they appear in the instance data, ie (ns1:town or town). > > > > The downside to this is that the URIs are not fully self-describing, nor > are the extensible. If somebody wants to add some extra content, say > ns4:timeOfDay, then there is no way for the receiver to "know" what the > new namespace is. However, this is for URI Queries, so it's unlikely that > a Query would be able to process the ns4:timeOfDay without knowing about > ns4 ahead of time. > > I'm afraid I'm missing something. > > The namespaces are invariant, but not the prefixes in the instance > data. What does serializing the prefix give you? > > Cheers, > > Hugo > > -- > Hugo Haas - W3C > mailto:hugo@w3.org - http://www.w3.org/People/Hugo/
Received on Thursday, 7 April 2005 14:30:01 UTC