Hi Thomas and others. I'm still working on sXBL support for Batik and again I'm wondering about how separate code for 1.2 features should be. A few particular issues:
- What should be done for DOM 3 support? Should the existing classes in org.apache.batik.dom be updated with DOM 3 methods and so on? Or should separate DOM 3 objects only be created for version="1.2" documents and DOM 2 objects created for version="1.1" documents? I guess there will only be one set of org.w3c.dom interfaces, those being the DOM 3 ones. (Isn't this going to make it difficult for people to run Batik without messing around with bootclasspaths or "endorsed standards override" jars, like with Xalan[1]?) - I don't think I can properly separate sXBL DOM (such as all elements having to implement NodeXBL) from the SVG DOM classes without much code duplication. The easist thing (and what I've done so far) is to extend from the Abstract* classes in org.apache.batik.dom to sXBL capable DOM classes in org.apache.batik.dom.xbl. Then, I have org.apache.batik.dom.svg.AbstractElement extend org.apache.batik.dom.xbl.XBLElement. This does mean though that version="1.1" documents will have sXBL DOM functionality. - Since event flow works differently in the presence of sXBL, I found the need to modify org.apache.batik.dom.events.AbstractEvent to handle things like event retargetting and stopping, so that the EventSupport class wouldn't be polluted with sXBL specific things. If I were to keep this properly separate for version="1.2" documents I would have to have different classes for DOMEvent, DOMUIEvent, etc. - In light of this message http://lists.w3.org/Archives/Public/www-svg/2005Jan/0029.html I think it would be difficult to handle documents whose version changes if there is a particular DOMImplementation that is chosen at document parse time. Any thoughts? Thanks, Cameron [1] http://xml.apache.org/xalan-j/faq.html#faq-N100CC -- Cameron McCormack | Web: http://mcc.id.au/ | ICQ: 26955922 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]