RE: Proposed resolution to LC 77a

If we decide not to serialize the whole namespace name, I think I'd lean towards David's #2 option (just serialize the localName).  It doesn't seem any more broken than serializing the prefix.  It handles easily the simplest case where I have a single namespace (therefore no localName clashes) without making me rewrite my schema which I might not want to do for other bindings, e.g. SOAP.  I might even be able to disambiguate most of the obvious conflicts on the server based on the relationship of the schema order to the parameter order.  And I can write code to extract the parameters easier on the server side since I don't have to worry about implementation-dependent prefixes being inserted.

> -----Original Message-----
> From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org]
> On Behalf Of Hugo Haas
> Sent: Tuesday, April 12, 2005 7:42 AM
> To: www-ws-desc@w3.org
> Subject: Re: Proposed resolution to LC 77a
> 
> * Hugo Haas <hugo@w3.org> [2005-04-08 12:04+0200]
> > The application/x-www-form-urlencoded serialization could have a
> rule
> > which says to use the same namespace prefixes than the ones you
> found
> > in the schema.
> >
> > However, the schema itself could exist in different equivalent
> > versions, with different prefixes used, so we'd need to be sure we
> > know what schema document we're talking about, which I'm not sure we
> > can achieve with the abstraction of {element declarations} in our
> > component model.
> 
> Having investigated this a little more, because of this abstraction
> and the fact that schema doesn't know about prefixes in the component
> model, it seems that we can't express the constraints that proposed
> option #3 would need.
> 
> An XPointer-like solution would probably be the simplest way to
> support namespaces in a reliable way.
> 
> A simple case without namespaces would be serialized simple:
> 
>   <foo>
>     <c>1<c>
>     <c>2<c>
>   </foo>
> 
> → c=1&c=2
> 
> A simple case using namespaces would be serialized in a not too
> complex way:
> 
>   <a:foo xmlns:a="http://example.com/1">
>     <a:c>1</a:c>
>     <a:c>2</a:c>
>   </a:foo>
> 
> → xmlns:a=http://example.com/1&a:c=1&a:c=2
> 
> And more complex cases would be enabled:
> 
>   <foo xmlns:a="http://example.com/1"
>        xmlns:b="http://example.com/2">
>     <a:c>1</a:c>
>     <b:c>2</b:c>
>   </foo>
> 
> →
> xmlns:a=http://example.com/1&xmlns:b=http://example.com/2&a:c=1&b:c=2
> 
> We would need to add in the application/x-www-urlencoded text like:
> 
>     Each QName serialized in the URL must have its namespace prefix
>     declared with a query parameter.
> 
> And add a section with the meaning of xmlns:foo as a query parameter.
> 
> I am hesitant about adding such a feature at this point though.
> 
> Cheers,
> 
> Hugo
> 
> --
> Hugo Haas - W3C
> mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Wednesday, 13 April 2005 16:28:20 UTC