[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: What should TrAX look like? (Was: Re: Articleon
Michael Kay wrote: > I'm disappointed to see my defence of the design dismissed in that kind of > language. I didn't claim it was perfect but I did say that I thought it was > better than the alternatives, and no-one has yet shown me an alternative > that is demonstrably better. It's been known for about 50 years that scientific theories aren't necessarily abandoned just because it's easy to prove they're demonstrably wrong. Scientists hold onto theories they know can't possibly be correct until someone comes along with a better one. The Source interface is demonstrably wrong. It's only marginally preferable to passing in Object. I was taught long ago that anytime you see code doing something like this: if (o instanceof A) { A a = (A) o; doSomethingWithA(a); } else if (o instanceof B) { B b = (B) o; doSomethingWithB(b); } else if (o instanceof C) { C c = (C) o; doSomethingWithC(c); } then you've missed out on an opportunity for polymorphism. Sometimes this sort of instanceof stack is necessary, especially if you don't own or control the classes A, B, and C. However sometimes you can do better. Is this one of those time? I think it might be, and it's worth exploring if we can get something better. The big impedance mismatch is with streaming and tree models, but we can convert from one to the other. My main question is whether implementers of XSLT processors, XPath engines, and Validators would rather receive the data as a tree model or as a stream of events. I'm also not sure how we map back from whatever interface we do create to the actual objects; not necessary for XSLT, very necessary for XPath. It's not a slam dunk. There are real questions here, and the whole enterprise might not work. Nonetheless, I don;t think it';s worth rejecting out of hand. It's not as if the current solution is a paragon of object oriented purity. It certainly doesn't make it easy to adapt tools to new object models. -- Elliotte Rusty Harold elharo@m... XML in a Nutshell 3rd Edition Just Published! http://www.cafeconleche.org/books/xian3/ http://www.amazon.com/exec/obidos/ISBN=0596007647/cafeaulaitA/ref=nosim
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|