in src/main/java/org/apache/ws/commons/schema/SchemaBuilder.java [1146:1179]
private XmlSchemaComplexContentExtension handleComplexContentExtension(XmlSchema schema, Element extEl,
Element schemaEl) {
XmlSchemaComplexContentExtension ext = new XmlSchemaComplexContentExtension();
if (extEl.hasAttribute("base")) {
String name = extEl.getAttribute("base");
ext.setBaseTypeName(getRefQName(name, extEl));
}
for (Element el = XDOMUtil.getFirstChildElementNS(extEl, XmlSchema.SCHEMA_NS);
el != null;
el = XDOMUtil.getNextSiblingElementNS(el, XmlSchema.SCHEMA_NS)) {
if (el.getLocalName().equals("sequence")) {
ext.setParticle(handleSequence(schema, el, schemaEl));
} else if (el.getLocalName().equals("choice")) {
ext.setParticle(handleChoice(schema, el, schemaEl));
} else if (el.getLocalName().equals("all")) {
ext.setParticle(handleAll(schema, el, schemaEl));
} else if (el.getLocalName().equals("attribute")) {
ext.getAttributes().add(handleAttribute(schema, el, schemaEl));
} else if (el.getLocalName().equals("attributeGroup")) {
ext.getAttributes().add(handleAttributeGroupRef(schema, el));
} else if (el.getLocalName().equals("group")) {
ext.setParticle(handleGroupRef(schema, el, schemaEl));
} else if (el.getLocalName().equals("anyAttribute")) {
ext.setAnyAttribute(handleAnyAttribute(schema, el, schemaEl));
} else if (el.getLocalName().equals("annotation")) {
ext.setAnnotation(handleAnnotation(el));
}
}
return ext;
}