FW: it is impossible to compare QNames

-----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