W3C home > Mailing lists > Public > public-ws-chor-comments@w3.org > June 2006

FW: [Fwd: Re: it is impossible to compare QNames]

From: Martin Chapman <martin.chapman@oracle.com>
Date: Thu, 1 Jun 2006 09:36:56 +0100
To: <public-ws-chor-comments@w3.org>
Message-ID: <007201c68556$8b5e69e0$5f70908d@ie.oracle.com>





attached mail follows:


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 08:35:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:20:10 GMT