Lenny raises one of two important questions, in my mind: if the current IDOM* classes are going to be renamed DOM*, what chould the current DOM* classes be named? His proposal is reasonable; we might also consider something of the form DOMH_*, so you only have to scan the prefix to know which interface you're using.
The second question: does a change of this magnitude warrant treating this as a major revision and bumping the version to 2.0? I would argue that it does, as the API will be broken for everyone, since all the classes will be renamed. Even without such breakage, promoting IDOM from experimental to the preferred approach, with the concomitant change in memory management, seems like a major change. Lenny: I really appreciate your efforts to address IDOM's issues. I'm still using the DOM interface, in part because the IDOM didn't feel quite baked; I think you've done the Xerces community a real service by raising questions the questions you have, and proposing solutions. -jesse- -----Original Message----- From: Lenny Hoffman [mailto:[EMAIL PROTECTED]] Sent: Friday, May 03, 2002 5:30 PM To: [EMAIL PROTECTED] Subject: RE: Call for Vote: which one to be the Xerces-C++ public supported W3C DOM interface Hi Tinny, I have no problem with your direction. I will rework my patch consistent with the discussion (simplify handles to not replicate IDOM methods, make reference counting optional, make thread safe reference counting optional) and re-base it on the latest nightly build (2002-05-03) -- it was based on 1.6. This should take me at least a few days (given my other responsibilities). I will attach it to 5967 when done. BTW, the handles are no longer backward compatible with the original DOM_ classes, and thus should follow a different naming convention. Since you are renaming the IDOM_* classes to DOM*, perhaps the handles could be named DOM*_h. This is just my initial thought, you may have a better idea. Thanks, Lenny -----Original Message----- From: Tinny Ng [mailto:[EMAIL PROTECTED]] Sent: Friday, May 03, 2002 3:06 PM To: [EMAIL PROTECTED] Subject: Re: Call for Vote: which one to be the Xerces-C++ public supported W3C DOM interface Based on all the discussion and votes above, here is the count: Vote Question: ============ ==> Which INTERFACE should be the Xerces-C++ public supported W3C DOM Interface, DOM or IDOM? <=== Vote Count: ========= 14 people has joined the discussion, 3 of them didn't cast a vote explicitly so I didn't count them in, and the result is IDOM 9 votes where 2 of them vote with a condition (provided that memory retained issue can be fixed) old DOM 2 votes Based on above votes result, here is my proposal: Since most users like IDOM interface, and in fact the 2 votes for the old DOM are suggesting to use IDOM interface internally which sounds like just another implementation of IDOM. So I would like to move on to post IDOM interface as the Apache Recommended C++ DOM Bindings for implementation and as the *RAW* user interface. But to satisfy those who really like smart pointer approach, the old DOM will be kept as a viable alternative user interface in addition to the recommended "RAW" user interface. With Lenny's patch, this old DOM is also based on the IDOM interface and thus does not "violate" our Apache C++ DOM Bindings for implementation recommendation. The old DOM interface will not be deprecated, but will not be promoted as the primary DOM user interface. The samples will be removed, but the programming guide will remain and will be documented as a viable alterative user interface for particular users' preference. And for new development (like DOM Level 3), IDOM is the first priority. As for implementation detail, Lenny's patch against the old DOM will be reviewed and applied (provided the *RAW* IDOM interface users are not penalized by any performance degradation with this patch, but even if it does, we will then guard the code with build variation) And for IDOM memory retained issue, we will review all the alternatives to see what's the best solution. Also if no one objects, then we will go ahead and rename IDOM_XXX to DOMXXX as well. Any comment with this approach? Tinny --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
