Not any burning issues; i'm just thinking aloud while going through the code.
- methods in OMElement and OMNode seem a bit mixed up. The getter/setter methods for parent and siblings are available in OMNode and they use OMElement and OMNode respectively. The getter/setter methods for children are available on OMElement and they use OMNode. Actually the confusion exists in SAAJ itself, where javax.xml.soap.Node has setParent and getParent using SOAPElement. May be i didn't understand the role of these two interfaces. However org.w3c.dom seem to have clear roles for Node and Element. - setParent* methods SAAJ and adppendChild in DOM detach node from the currrent parent first. OM implementations for these methods do not detach node, and might end up in having multiple parents. Also setParent looks redundant when we have appendChild methods doing the same (applies to SAAJ also). - Almost all Impl classes "implement" OMConstants, may be to optimize the access to the constants, but might reduce the clarity of code. I think we are taking a bold step by defining OM as our own Axis specific alternative to DOM and SAAJ to give us performance, which is very refreshing and exciting too. And i'm sure we are also keeping an eye on the stability of API at the same time. - venkat
