- From: Jonathan Marsh <jonathan@wso2.com>
- Date: Thu, 11 Jan 2007 15:01:25 -0800
- To: "'Lawrence Mandel'" <lmandel@ca.ibm.com>
- Cc: <public-ws-desc-comments@w3.org>
- Message-ID: <007201c735d4$6cb15b90$3501a8c0@DELLICIOUS>
Thank you for this comment. The Working Group this issue as a CR104 [1].
As a result of this comment, the Working Group removed the assertion markup
from Description-0024 [2].
Unless you let us know otherwise by mid-January, we will assume you agree
with the resolution of this issue.
[1] http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR104
[2]
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20.html?content-
type=text/html;%20charset=utf-8#Description_XMLRep
Jonathan Marsh - <http://www.wso2.com> http://www.wso2.com -
<http://auburnmarshes.spaces.live.com> http://auburnmarshes.spaces.live.com
_____
From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On
Behalf Of Lawrence Mandel
Sent: Monday, November 13, 2006 7:19 PM
To: www-ws-desc@w3.org
Subject: One more duplicate assertion
There is another assertion that I think has been duplicated or rather
further clarified in other assertions in the WSDL 2.0 spec. According to the
assertions, if, for example, Interface-0030 fails Description-0024 will also
fail. Although I like the broad coverage of Description-0024 I don't like
the redundancy in the other assertions I've highlighted.
Description-0024
Each WSDL 2.0 or type system component of the same kind MUST be uniquely
identified by its qualified name.
Interface-0030
For each Interface
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Interface> component in the {interfaces
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Description.interfaces> } property of a Description
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Description> component, the {name
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Interface.name> } property MUST be unique.
Binding-0057
For each Binding
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Binding> component in the {bindings
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Description.bindings> } property of a Description
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Description> component, the {name
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Binding.name> } property MUST be unique.
Endpoint-0065
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#Endpoint-0065> For each Endpoint
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Endpoint> component in the {endpoints
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Service.endpoints> } property of a Service
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Service> component, the {name
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Endpoint.name> } property MUST be unique.
InterfaceOperation-0035
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#InterfaceOperation-0035> For each
Interface
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-InterfaceOperation> Operation component in the {interface
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Interface.interfaceoperations> operations} property of an Interface
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Interface> component, the {name
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-InterfaceOperation.name> } property MUST be unique.
Server-0063
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#Service-0063> For each Service
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Service> component in the {services
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Description.services> } property of a Description component, the {name
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#pro
perty-Service.name> } property MUST be unique.
Schema-0018
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#Schema-0018> A WSDL 2.0 document MUST
NOT define the same element or type in more than one inlined schema.
Thanks,
Lawrence Mandel
Software Developer
IBM Rational Software
Phone: 905 - 413 - 3814 Fax: 905 - 413 - 4920
lmandel@ca.ibm.com
----- Forwarded by Lawrence Mandel/Toronto/IBM on 11/13/2006 10:08 PM -----
Lawrence Mandel/Toronto/IBM@IBMCA
Sent by: www-ws-desc-request@w3.org
11/13/2006 09:53 PM
To
www-ws-desc@w3.org
cc
Subject
Duplicate assertions
While creating some tests for assertions I've come across some assertions
that I think specify the same requirement. I'll point these out here and
suggest that a single assertion be defined for each restriction as multiple
assertions may lead to problems interpreting the spec and will lead to
ambiguity wrt the assertion that should be flagged as an error for a WSDL
document that does not comply with the spec.
1. Import-0001
However, any WSDL 2.0 document that contains component definitions that
refer by QName to WSDL 2.0 components that belong to a different namespace
MUST contain a wsdl:import element information item for that namespace (see
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#imports> 4.2 Importing Descriptions ).
Import-0070
As with XML schema, any WSDL 2.0 document that references a foreign
component MUST have a wsdl:import element information item for the
associated foreign namespace (but which does not necessarily provide a
location attribute information item that identifies the WSDL 2.0 document in
which the referenced component is defined).
2. QName-0002
Furthermore, all QName references, whether to the same or to different
namespaces MUST resolve to components (see
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#qnameres> 2.17 QName resolution ).
QName-resolution-1219000
A Description
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html#com
ponent-Description> component MUST NOT have such broken references.
Types-1300000
Every QName reference MUST resolve (see
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#qnameres> 2.17 QName resolution).
3. Import-0003
Imported components have different target namespace values from the WSDL 2.0
document that is importing them.
Import-0071
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#Import-0071> This value MUST NOT match
the actual value of targetNamespace attribute information item in the
enclosing WSDL 2.0 document.
4. Schema-0016
A WSDL 2.0 document MUST NOT refer to XML Schema components in a given
namespace unless an xs:import or xs:schema element information item for that
namespace is present or the namespace is the XML Schema namespace,
http://www.w3.org/2001/XMLSchema, which contains built-in types as defined
in XML Schema Part 2: Datatypes Second Edition [
<http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/wsdl20/wsdl20.html?con
tent-type=text/html;%20charset=utf-8#XMLSchemaP2> XML Schema: Datatypes].
Types-1300001
When resolving QNames references for schema definitions, the namespace MUST
be imported by the referring WSDL 2.0 document.
Thanks,
Lawrence Mandel
Software Developer
IBM Rational Software
Phone: 905 - 413 - 3814 Fax: 905 - 413 - 4920
lmandel@ca.ibm.com
Received on Thursday, 11 January 2007 23:08:02 UTC