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