- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Tue, 25 Apr 2006 10:00:52 -0400
- To: woden-dev@ws.apache.org
- Cc: "John Kaputin" <KAPUTIN@uk.ibm.com>, woden-dev@ws.apache.org, www-ws-desc@w3.org
- Message-ID: <OFECF15751.F691C9AF-ON8525715B.004C4F22-8525715B.004CFB52@ca.ibm.com>
John,
I replied to the question of whether you need to consider {parent} - YES.
You also ask if Section 2.4 is necessary. Also YES, but I agree it is a
little redundant. You could certainly have two Intertace components that
contained Interface Operations that had the same {name} property. However,
2.4 implies that an Interface can't extend both of them.
Arthur Ryman,
IBM Software Group, Rational Division
blog: http://ryman.eclipsedevelopersjournal.com/
phone: +1-905-413-3077, TL 969-3077
assistant: +1-905-413-2411, TL 969-2411
fax: +1-905-413-4920, TL 969-4920
mobile: +1-416-939-5063, text: 4169395063@fido.ca
"John Kaputin (gmail)" <jakaputin@gmail.com>
04/25/2006 06:14 AM
Please respond to
woden-dev@ws.apache.org
To
www-ws-desc@w3.org
cc
woden-dev@ws.apache.org, "John Kaputin" <KAPUTIN@uk.ibm.com>
Subject
Does {parent} affect equivalence of components for Interface Extension?
I'm implementing interface extension in Apache Woden but I'm a bit
confused on equivalence of components nested within interfaces when
interface extension is involved. I'd like clarification on how the
{parent} property is used when testing equivalence of components and when
collapsing equivalent components to a single component.
InterfaceOperation in Part 1 Section 2.4 says:
In cases where, due to an interface extending one or more other
interfaces, two or more Interface Operation components have the same value
for their {name} property, then the component models of those Interface
Operation components MUST be equivalent (see 2.17 Equivalence of
Components).? If the Interface Operation components are equivalent then
they are considered to collapse into a single component.
Consider the case where two operations are defined in different
interfaces, with one interface extending the other, and the operations are
equivalent, except their {parent} property because they are declared in
different interfaces.
Here's some example XML:
<description ...tns=.... >
<interface name="betty">
<operation name="foo" pattern="urn:bar"/>
</interface>
<interface name="boop" extends="tns:betty">
<operation name="foo" pattern="urn:bar"/>
</interface>
</description>
Does the difference in {parent} mean that the two "foo" operations are not
equivalent, or should {parent} be ignored when testing for equivalence
here?
If {parent} should be ignored, perhaps Section 2.17 Equivalence of
Components does not strictly apply (i.e. it says all properties should be
equal). But if {parent} should be ignored for equivalence testing in this
case, then when collapsing the two equivalent operations into one
InterfaceOperation component what will be the value of {parent} ("betty"
or "boop")?
On the other hand, if {parent} should be part of the equivalence test then
these two operations can never be equivalent and the paragraph in Section
2.4 is perhaps unnecessary.
thanks,
John Kaputin.
Received on Tuesday, 25 April 2006 14:01:12 UTC