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

Reply via email to