- 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