W3C home > Mailing lists > Public > www-ws-desc@w3.org > April 2005

RE: Proposed resolution to LC 77a

From: David Orchard <dorchard@bea.com>
Date: Thu, 7 Apr 2005 07:29:55 -0700
Message-ID: <32D5845A745BFB429CBDBADA57CD41AF0EBD1AD1@ussjex01.amer.bea.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:35 GMT