- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Fri, 20 May 2005 07:37:50 -0700
- To: "David Orchard" <dorchard@bea.com>, "WS-Description WG" <www-ws-desc@w3.org>
- Message-ID: <7DA77BF2392448449D094BCEF67569A5079E9090@RED-MSG-30.redmond.corp.microsoft.com>
I'll use an example of a processor you've used in the past - XPath. Today I can find all the SOAP bindings in a WSDL doc with: wsdl:description/wsdl:binding[@type='http://www.w3.org/@@@@/@@/wsdl/soap '] That seems like a very reasonable thing to do. One inconvenience that arises from modeling it as a URI in the component model is that an implementation which now does a string compare on a single value, would effectively have to check two values; "soap" and "http://www.w3.org/@@@@/@@/wsdl/soap". That would complicate the XPath expression quite a bit. Actually in the general case the URI value isn't reliably detectable.: "../wsdl/soap" would be a valid value I think as well. So I position this as a tradeoff between readability and easy processing. XPath provides a glimpse at a different solution modeled on function names. If the value were a QName, with local names reserved by the WSDL 2.0 spec family, "soap" and "http" would act like tokens, and "my:favoriteBinding" would still be possible (and XPath processable though it would be a hairy expression because of the mutable prefix.] I'm not saying your goal isn't laudable, but it doesn't appear to be without some cost either. ________________________________ From: David Orchard [mailto:dorchard@bea.com] Sent: Thursday, May 19, 2005 4:49 PM To: Jonathan Marsh; WS-Description WG Subject: RE: anyURI simplification Any admonishment to use an absolute URI in the pattern or binding type is part of the WSDL component model, so a generic XML processor with a base other than the default that I mention that finds a relative URI will create an incorrect URI. And when is a generic XML processor going to be able to do anything with a pattern or binding type URI in a WSDL document? We can't even do much schema validation right now, as there are sooo many rules for generating the component model. What is the use case for a generic xml processor getting the "correct" uri when the rest of the component model won't be correct or created. I think we're either in the component model business or not, and the group has decided it is. So let's hit the 80/20 case. As for using a union type, I'd rather not use tokens but prefer to use URIs for identifying things. Seems to me like we are saying the same thing, that is allow a token in the instance. Where we differ is whether a URI is always generated or not. Dave ________________________________ From: Jonathan Marsh [mailto:jmarsh@microsoft.com] Sent: Thursday, May 19, 2005 12:47 PM To: David Orchard; WS-Description WG Subject: RE: anyURI simplification A comment on the Roy's "elegant suggestion". I don't find it elegant at all. If the specification defines a base URI for that single attribute, generic XML processors wouldn't be able to successfully use the URI, as the base defined by the [base URI] infoset property and the "real" base URI as defined by our spec would be different. If what you really want is a mixture of tokens and absolute uris, can't you express this more directly with a union type? ________________________________ From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On Behalf Of David Orchard Sent: Thursday, May 19, 2005 12:23 PM To: WS-Description WG Subject: anyURI simplification Hi all, I'm not sure if this has been raised as an issue or not, or how we decided to proceed. I find two of the anyURI attribute constructs to be overly complex, the binding:type attribute and the operation:pattern. Currently, the spec requires URIs rather than Qnames. In the case of mandatory attributes, this hinders human readability - a comment that TimBL made when WS-Security switched from QNames to URIs for some constructs. The Atom working group has had a similar construct for linking with the rel attribute. Roy made an elegent suggestion to retain anyURI but make the string more usable. The anyURI can be a relative URI, and the base is defined by the specification. In our case, this would be some WSDL URI. If the attribute contains just a name, it's added to the default (note not the base uri) to form the URI. IF the attribute is an absolute URI (determinable from the presence of ":") then the default URI is not used. This means that we could have <binding type="http"> or <binding type="soap"> or <binding type="http://example.com/myfavbinding">. The same could also be used for the operation:pattern attribute. Another alternative would be to move the binding and operation to be more strongly typed using substitution groups as proposed many moons ago (which I still prefer). Could somebody tell me what's happened with these attrs and if this has been discussed? D
Received on Friday, 20 May 2005 14:38:23 UTC