On Dec 23, 2009, at 10:03 AM, Krzysztof KosiĆski wrote:
This is tied to the subject I mentioned earlier in another thread, the 1:1 correspondence between XML element nodes and SPObjects. This paradigm is somewhat limiting, and storing the XML nodes all the time is eating some memory. In fact, the mere possibility of accessing the XML from the SP tree feels wrong to me - how the object is stored as XML should be private to that object's implementation.
That is where extreme caution in any redesign needs to be exercised. The general approach you mention is the one Microsoft used for COM and the MS Word file format. This ends up blocking many of the more useful design patterns, and does things like tightly couple runtime functionality and efficiency to on-disk storage.
Compatibility is also sacrificed. Remember, we need to extend things to support SVG v 1.2 in addition to (note that it is not "instead of") SVG v 1.1.
So, yes, we probably could benefit from a good refactoring. However, it is critical that we identify all the constraints and requirements before making any substantial changes. We also might want to consider things such as XOP when we do ( http://www.w3.org/TR/xop10/ )