private Element addElementDefinition(QName name, QName typeName, int minOccurs, int maxOccurs, Element parent) {
Element elementDef = createElement(new QName(W3C_XML_SCHEMA_NS_URI, "element"));
parent.appendChild(elementDef);
if (isMyNamespace(name)) {
setAttribute(elementDef, "name", name.getLocalPart());
if (typeName.equals(DOMUtil.XSD_ANY)) {
addSequenceXsdAnyDefinition(elementDef);
} else {
setQNameAttribute(elementDef, "type", typeName);
}
} else {
setAttribute(elementDef, "ref", name);
if (typeName != null) {
addAnnotationToDefinition(elementDef, A_TYPE, typeName);
}
}
setMultiplicityAttribute(elementDef, "minOccurs", minOccurs);
setMultiplicityAttribute(elementDef, "maxOccurs", maxOccurs);
return elementDef;
}