private void onSchemaComplexType(Element schemaComplexType,DatatypeElementFactory elementFactory){
  Iterator<Element> iter=schemaComplexType.elementIterator(XSD_ATTRIBUTE);
  while (iter.hasNext()) {
    Element xsdAttribute=iter.next();
    String name=xsdAttribute.attributeValue("name");
    QName qname=getQName(name);
    XSDatatype dataType=dataTypeForXsdAttribute(xsdAttribute);
    if (dataType != null) {
      elementFactory.setAttributeXSDatatype(qname,dataType);
    }
  }
  Element schemaSequence=schemaComplexType.element(XSD_SEQUENCE);
  if (schemaSequence != null) {
    onChildElements(schemaSequence,elementFactory);
  }
  Element schemaChoice=schemaComplexType.element(XSD_CHOICE);
  if (schemaChoice != null) {
    onChildElements(schemaChoice,elementFactory);
  }
  Element schemaAll=schemaComplexType.element(XSD_ALL);
  if (schemaAll != null) {
    onChildElements(schemaAll,elementFactory);
  }
}

private void onSchemaComplexType ( Element schemaComplexType , DatatypeElementFactory elementFactory ) { Iterator < Element > iter = schemaComplexType . elementIterator ( XSD_ATTRIBUTE ) ; while ( iter . hasNext ( ) ) { Element xsdAttribute = iter . next ( ) ; String name = xsdAttribute . attributeValue ( "name" ) ; QName qname = getQName ( name ) ; XSDatatype dataType = dataTypeForXsdAttribute ( xsdAttribute ) ; if ( dataType != null ) { elementFactory . setAttributeXSDatatype ( qname , dataType ) ; } } Element schemaSequence = schemaComplexType . element ( XSD_SEQUENCE ) ; if ( schemaSequence != null ) { onChildElements ( schemaSequence , elementFactory ) ; } Element schemaChoice = schemaComplexType . element ( XSD_CHOICE ) ; if ( schemaChoice != null ) { onChildElements ( schemaChoice , elementFactory ) ; } Element schemaAll = schemaComplexType . element ( XSD_ALL ) ; if ( schemaAll != null ) { onChildElements ( schemaAll , elementFactory ) ; } }
processes an xml schema & lt ; complextypegt ; tag
