- From: Martin Chapman <martin.chapman@oracle.com>
- Date: Thu, 1 Jun 2006 12:09:35 +0100
- To: "'WS-Choreography List'" <public-ws-chor@w3.org>
-----Original Message----- From: Matthew Rawlings [mailto:matthew@stickledown.com] Sent: Wednesday, May 31, 2006 2:29 PM To: 'Nickolas Kavantzas' Cc: 'Tony Fletcher'; 'Steve Ross-Talbot'; 'Gary Brown' Subject: RE: it is impossible to compare QNames Nick - Thank you for pointing out that the CDL QName mechanism is consistent with WSDL 1.1 and 2.0. I had not considered this before and this is useful to know. My view is that WS-CDL has the same problems as WSDL with QNames, because WS-CDL and WSDL are consistent. The WWW Architecture Group and WWW Architecture Volume 1 had some findings and recommendations. It seems QNames are permitted with caveats but discouraged: http://www.w3.org/TR/webarch/#xml-qnames http://www.w3.org/2001/tag/doc/qnameids.html I can see a lot of discussion on mail lists and blogs around the "QName Problem" in WSDL. I can see now that this is an issue with a history outside of WS-CDL and not specific to WS-CDL. Matthew Rawlings +44 791 539 7824 -----Original Message----- From: Nickolas Kavantzas [mailto:nickolas.kavantzas@oracle.com] Sent: 31 May 2006 03:05 To: matthew@stickledown.com Cc: 'Tony Fletcher'; 'Steve Ross-Talbot'; Gary Brown Subject: Re: it is impossible to compare QNames Hi Matthew, the mechanism that the W3C WS-CDL spec is using to def/ref entities is consistent and follows the same model that the WSDL 1.1 and 2.0 specs are using. -- Nick ----- Original Message ----- From: "Matthew Rawlings" <matthew@stickledown.com> To: "'Nickolas Kavantzas'" <nickolas.kavantzas@oracle.com> Cc: "'Tony Fletcher'" <tony_fletcher@btopenworld.com>; "'Steve Ross-Talbot'" <steve@pi4tech.com>; "Gary Brown" <gary@pi4tech.com> Sent: Tuesday, May 30, 2006 1:24 PM Subject: RE: it is impossible to compare QNames > Hi Nicholas - thank you for your response. > > I understand the intention of the CDL specification and how to use it. > I do > not know and would like to understand the history of why this > construct was > chosen. Based on my current knowledge I am objecting to using QName > for these reasons: > > 1. QName is a type for elements, not the contents of elements. The > usage of > QName within CDL can be made to work by adopting special rules on how > to evaluate a QName, but ultimately this usage contradicts the > semantic definition of the QName type in XML Schema. It might work > syntactically, but > it doesn't work semantically. > > 2. There are some very good types already defined in XML Schema with > an appropriate semantic meaning. Any of the xs:string sub-types, > particularly xs:name are very good for this. Why use an inappropriate > type when an appropriate type exists? > > 3. The problems with CDL providing an alternative definition to XML > Schema for the evaluation of QName and NCName is that it is a > deviation from the XML Schema standard with all the implications that > entails. > > 4. In general there is a lot of information in the CDL specification > that is > missing from the schema. An example here is that a keyref could be provided > from roleType to role name. In general this would make the schema much > clearer to implementers if more of the information was explicit. > > Any information about the rationale for the use of QName would be > greatly appreciated. > > Matthew Rawlings > +44 791 539 7824 > > -----Original Message----- > From: Nickolas Kavantzas [mailto:nickolas.kavantzas@oracle.com] > Sent: 30 May 2006 19:16 > To: matthew@stickledown.com > Cc: Tony Fletcher; Steve Ross-Talbot > Subject: Re: it is impossible to compare QNames > > Hi Matthew, > > The QName of the /package/relationshipType/roleType/@typeRef > references the field /package/roleType/@name (a NCName). If you want > to enforce the WS-CDL spec rule (quoted below), then you use the > targetNamespace value (a URI) of the WS-CDL package that the roleType > has being defined within and the roleType name (NCName) to construct a > QName. Then you can do comparisons of the two QNames. > > -- > Nick > > ----- Original Message ----- > From: "Steve Ross-Talbot" <steve@pi4tech.com> > To: <matthew@stickledown.com> > Cc: "'WS-Choreography List'" <public-ws-chor@w3.org>; "Nickolas Kavantzas" > <nickolas.kavantzas@oracle.com>; "Tony Fletcher" > <tony_fletcher@btopenworld.com> > Sent: Monday, May 29, 2006 12:25 PM > Subject: Re: it is impossible to compare QNames > > > > I'd like to deal with this at the next conf call (Tuesday if > > possible). We ought to be able to fix this or provide an sensible > > answer to Matthew. > > > > Cheers > > > > Steve T > > > > On 27 May 2006, at 22:45, Matthew Rawlings wrote: > > > > > > > > This is feedback on the WS-CDL Choreography CR of 2005-11-09. I > > > have been implementing CDL at a bank and have some questions and > > > feedback on the CR. > > > > > > The problem I have with the CR is the XML Schema for WS-CDL > > > requires you to compare a QName type with an NCName type. This > > > comparison is impossible > > > because the QName type does not have equality or ordering defined > > > for it. > > > > > > Section 4.2 of the CDL specification states that field > > > /package/relationshipType/roleType/@typeRef (a QName), must > > > reference the field /package/roleType/@name (a NCName). I took > > > this from the text: 'A > > > relationshipType element MUST have exactly two roleTypes defined. > > > Each roleType is specified by the typeRef attribute within the > > > roleType element. The "QName" value of the typeRef attribute of > > > the roleType element MUST > > > reference the name of a roleType.' > > > > > > Please tell me why the datatype QName was used. I have been unable > > > to work out why QName was used. QName is normally used to > > > reference elements rather > > > than the contents of elements. > > > > > > I have been assuming the word "reference" is as an equality test > > > as defined by XPath 1.0. This should be explicit in the > > > specification. > > > > > > Looking through the mail-list examples (e.g. > > > http://lists.w3.org/Archives/Public/public-ws-chor/2005Sep/0001) > > > it seems that QName and NCName are being used in the style of > > > xs:ID and xs:IDREF. Why > > > not just use xs:ID and xs:IDREF? This would also have the benefit of > > > making > > > the constraint that a typeRef must reference a roleType name explicit. > > > Both > > > xs:ID and xs:IDREF are subtypes of xs:NCName. > > > > > > At the very least typeRef and roleType should be some type of > > > string that is comparable, otherwise references cannot be tested. > > > > > > Matthew Rawlings > > > +44 791 539 7824 > > > > > > > > > > > > > > > > > > > > > > > >
Received on Thursday, 1 June 2006 11:07:59 UTC