- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Wed, 13 Apr 2005 09:27:57 -0700
- To: <www-ws-desc@w3.org>
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