Return-Path: Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Delivered-To: mailing list dev@ant.apache.org Received: (qmail 16723 invoked from network); 7 May 2003 09:29:23 -0000 Received: from unknown (HELO london.cellectivity.com) (212.18.242.163) by daedalus.apache.org with SMTP; 7 May 2003 09:29:23 -0000 Subject: RE: Roles (was: antlib) Date: Wed, 7 May 2003 10:29:36 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message-ID: <747F247264ECE34CA60E323FEF0CCC0C0F50F2@london.cellectivity.com> X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 Content-Class: urn:content-classes:message X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Roles (was: antlib) Thread-Index: AcMUZ9YtRWvcmj1zTPG/Z5hoWyA0kgACy7Xw From: "Jose Alberto Fernandez" To: "Ant Developers List" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N > From: Wannheden, Knut [mailto:knut.wannheden@paranor.ch] >=20 > >=20 > > Let's not reinvent the wheel here. > >=20 > > The solution for names conflicts is namespaces - not rewriting.=20 > >=20 >=20 > I agree. With the new ProjectHelper2 everything should be in=20 > place to start > using namespaces. >=20 I have no problem on allowing people to use namespaces, but I do=20 have a problem on forcing people to use them just because some others want to use some fancy XML tool. The buildfile belongs to the user and s/he should be in charge. > This would also allow antlibs to have a DTD or XML Schema=20 > which could be > used in XML editors or for validation. >=20 Well ANT's XML is the result of introspection, and we already know our object model cannot be represented by a simple DTD. I see no way or reson to enforce 3rd party libraries to define their objects to be DTD-able.=20 I am not sure about XMLSchema but my hopes are not too high. > Also namespaces lets the antlib user specify what prefix to=20 > use. But it > doesn't allow two antlibs to use the same prefix in the=20 > context of the same > element, which I think is good. >=20 This sounds proper in theory, but in practice lets see: 1) Lets assume that we still want to be able to chop ANT jars between core and different optional jars which have specific dependencies of diferent packages and such. 2) Now because they are in different antlibs it would mean I am forced to use different namespaces for each. 3) So now you have people using 3rd party tasks like antcontrib without problem and without conflicts, but they would have to change not just one line (to use the antlib) but every bloddy use of the tasks just because they are forced to use name spaces. I doubt many people will be fill happy about that, and the backward compatibility consequences. > If you really want you can use short names with namespaces as=20 > well. Just > set the default namespace locally. >=20 I have no problem using XML namespaces as long as they are independent of the antlib and under complete user control (not antlib designer = control). In other words the user should be able to decide if s/he wants to load the library on some particular namespace or in the default "" namespace which is the one used by core. So if I say: I will be able to use: , , etc. But is I do: then I can use , , etc. Which means that the default value for the 'usens' attribute is "" which = assumes some implicit namespace definitions like: xmlns=3D"ant-namespace" and probably xmlns:ant=3D"ant-namespace" which uses as kosher namespaces as possible, I think. Jose Alberto