ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Duncan Davidson <dun...@x180.net>
Subject Re: Anteater... I'm Baaaack...
Date Mon, 18 Dec 2000 05:38:42 GMT
On 12/15/00 6:07 AM, "James Cook" <jimcook@iname.com> wrote:

> Sounds like an agenda exists where DOM is not welcome. Maybe this is a wise
> choice, but then again, maybe it is due to some ignorance.

I helped write the JAXP spec which incorporates DOM pluggability. I was on
the DOM working group for a time, and continue to work with them on
occasion. I make my arguments against DOM based on experience using it,
experience in processing XML, and experience in defining both the
specification it is defined by as well as a specification which refers to
it.

Oh, about JDOM -- I worked with Jas and Brett a bit on that before it went
out. They took my idea of treating an XML tree as a collection of
collections. They didn't take my idea of naming it something else than *DOM
since it really is a different beast and not in the same space.

So take care with taking about ignorance. :)

> Regardless of your final choice on an internal model structure for Ant 2.0, I
> would urge you to develop with interfaces in mind. Please allow different
> implementations to coexist and be submitted to the Build engine. If done
> properly, you should be able to allow both object model implementations or DOM
> implementations to peacefully co-exist.

Different implementations != use of interfaces. Children classes can work
just as well. Also, more importantly, anything should be able to be used to
build a Project. ProjectBuilder in AntEater only uses SAX to suck up the
data it needs, but it's entirly reasonable to that other builders could be
created for whatever need. I'm not sure that they need to be core, but it's
simple enough to do -- and perhaps more powerful than allowing different
impls of the tree.

.duncan

-- 
James Duncan Davidson                                        duncan@x180.net
                                                                  !try; do()


Mime
View raw message