RE: Proposed resolution to LC 77a

I'd far prefer to use the namespace to disambiguate, rather than the prefix, because the prefix is not a reliable disambiguation (per Hugo's comment), unless you ALSO serialise the namespace to prefix assignment (which gets really messy). 
 
Namespace prefixes are cool to make schema more readily readable by humans, but for serialising something, where human readability is not a big issue, we could readily eliminate them.
 
FWIW
 
Tony Rogers

	-----Original Message----- 
	From: www-ws-desc-request@w3.org on behalf of David Orchard 
	Sent: Fri 08-Apr-05 0:29 
	To: Hugo Haas 
	Cc: www-ws-desc@w3.org 
	Subject: RE: Proposed resolution to LC 77a
	
	


	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 15:38:43 UTC