> From: Stefan Bodewig [mailto:[EMAIL PROTECTED] > > On Tue, 29 Apr 2003, Costin Manolache <[EMAIL PROTECTED]> wrote: > > Stefan Bodewig wrote: > > >>> - Should we use (<parent>, <child>) tuple to find the class? > >>> Should we use (ParentClass, <parent>, <child>) tuple ? > >> > >> I'm not sure what the difference is, here. > > > > In the second case, the parent class is also used when constructing > > the child - i.e. introspection or some other info could be used. > > > > BTW, by <parent> I mean parent namespace + parent element name ( > > even if we don't use ns yet ). > > OK. I think we'll need ParentClass to apply proper interface > resolution. I'm somewhere on the fence, to be honest. > > I don't see a need for separate namespaces depending on the > interfaces, so only using the child's element name (and namespace) > could be enough. I'm not sure whether I'm overlooking a problem. >
The problem you are overlooking is the case of <weblogic> element in <ejbjar>, <jspc>, <serverdeploy>, etc. All of them allow for vendor specific subelements (which should be provided by a different role since each API is different). When you are searching for the definition of "weblogic" you need to look with respect to the parent supported interfaces; for <ejbjar> it may be org.apache....ejb.EjbjarLiason for <serverdeploy> it may be org.apache....ejb.DeployLiason etc. This is why you need separate tables per interface. > In a previous mail I said <child> alone would already break down > today. What I had in mind are things like the <fail> element nested > into <sound> clashing with the <fail> task - all those things that > make a DTD impossible to write for Ant. > > But these existing name clashes only exist for the non-overloaded > cases that we are still going to support. I.e. they exist because > SoundTask defines addFail(SomeObject) which is fine as it is not > ambiguos at all. > The case of vendor specific nodes is another case and although it is true that today is done by addWeblogic() or createWeblogic() a major point of all this exercise to be able to move those back to the vendors on their own release cycle. Jose Alberto