//Note in a array the parameter type is stored as under the name item all the time
else {
// get all extended types
Vector extendList = new Vector();
extendList.add(type);
TypeEntry parent = SchemaUtils.getComplexElementExtensionBase(
type.getNode(),symbolTable);
while(parent != null) {
extendList.add(parent);
parent = SchemaUtils.getComplexElementExtensionBase(
parent.getNode(),symbolTable);
}
// Now generate a list of names and types starting with
// the oldest parent. (Attrs are considered before elements).
for (int i=extendList.size()-1; i >= 0; i--) {
TypeEntry te = (TypeEntry) extendList.elementAt(i);
//TODO the code require the attributes name at extension base types
//different, the WSDL2Ws do not support it having same name at up and below.
// The names of the inherited parms are mangled
// in case they interfere with local parms.
String mangle = "";
//if (i > 0) {
// mangle = "_" +
// Utils.xmlNameToJava(te.getQName().getLocalPart()) +
// "_";
//}
// Process the attributes
Vector attributes = SchemaUtils.getContainedAttributeTypes(
te.getNode(), symbolTable);
if (attributes != null) {
for (int j=0; j<attributes.size(); j+=2) {
typedata.setTypeForAttributeName(
((QName)attributes.get(j + 1)).getLocalPart(),
createTypeInfo(((TypeEntry) attributes.get(j)).getQName(),targetLanguage));
}
}
// Process the elements
Vector elements = SchemaUtils.getContainedElementDeclarations(
te.getNode(), symbolTable);
if (elements != null) {
for (int j=0; j<elements.size(); j++) {
ElementInfo eleinfo = null;
ElementDecl elem = (ElementDecl)elements.get(j);
if (elem.getAnyElement()){