XMLElement el,
DescriptionElement desc,
ExtensionRegistry extReg)
throws WSDLException
{
SOAPModuleElement soapMod =
(SOAPModuleElement) extReg.createExtElement(parentType, elementType);
soapMod.setExtensionType(elementType);
soapMod.setParentElement((WSDLElement)parent);
String ref = el.getAttributeValue(Constants.ATTR_REF);
if(ref != null)
{
URI uri;
try {
uri = new URI(ref);
soapMod.setRef(uri);
} catch (URISyntaxException e) {
extReg.getErrorReporter().reportError(
new ErrorLocatorImpl(), //TODO line&col nos.
"WSDL506",
new Object[] {ref},
ErrorReporter.SEVERITY_ERROR,
e);
}
}
//This property defaults to 'false' if it is omitted.
String required = el.getAttributeValue(Constants.ATTR_REQUIRED);
soapMod.setRequired(new Boolean(required));
//TODO parseExtensionAttributes(el, SOAPModuleElement.class, soapMod, desc);
XMLElement tempEl = el.getFirstChildElement();
while (tempEl != null)
{
if (Constants.Q_ELEM_DOCUMENTATION.equals(tempEl.getQName()))
{
soapMod.addDocumentationElement(parseDocumentation(tempEl, desc));
}
else
{
//TODO parse ext elements
}