Oshani,
I have refactored most of DOMWSDLReader into BaseWSDLReader, using the new
XMLElement interface in the method signatures instead of DOM Element (this
new interface replaces the ElementSource interface).

The methods that need to be implemented in DOMWSDLReader are declared
protected and abstract in BaseWSDLReader. The remaining methods are
declared private in BaseWSDLReader.

The next steps are:

1. make the handling of child elements via the XMLElement interface
compatible between DOM and OM implementations. Currently XMLElement
supports the DOM style; getFirstChildElement() then getNextSiblingElement()
in a 'for' loop. OMElement has getFirstElement() but does not have a
getNextElement() method. Instead it uses getChildElements() returning an
Iterator used in a 'while' loop. XMLElement does not yet support this
Iterator style. DOM Element does not support it either, but I can probably
make it fit in DOMXMLElement. An alternative would be to add a
getNextElement() method to OMElement.

2. fix the XMLElement.getAttributes() method which currently returns a List
instead of a typed array. As discussed in a previous post, I'll probably
create a new interface to represent XML attributes (or reuse XMLAttr if
possible).

3. complete the OMXMLElement implementation

4. try out the refactored BaseWSDLReader with OMWSDLReader, initially by
commenting out the private methods that have been refactored into
BaseWSDLReader and keeping the remaining methods in OMWSDLReader, but
changing them from private to protected as needed.

I'll do steps 1 and 2 on Wednesday. I'm happy to attempt 3 and 4 too, but
let me know if you'd prefer to do those steps.

regards,
John Kaputin
Web Services Development, Hursley Laboratory
IBM United Kingdom Ltd
Hursley Park MP211, Winchester, SO21 2JN, UK.
email:  [EMAIL PROTECTED]
Tel/Fax: +44 (0)1962 817363  (internal 7-247363)


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to