} else if (context.getHandler().callback(ConflictHandler.Event.CREATION, ConflictHandler.Type.ATTRIBUTE,
new QName(schema.getNamespace(), qname.getLocalPart()), context.getPath(), "Undeclared attribute.")) {
if (qname.getNamespaceURI().equals(schema.getNamespace()) || qname.getNamespaceURI().equals("")) {
newAttribute(qname).validate(context);
} else {
Schema otherSchema = context.getSchemaSystem().getSchemaForNamespace(qname.getNamespaceURI());
schema.putPrefixForNamespace(qname.getPrefix(), qname.getNamespaceURI());
if (otherSchema == null) {
otherSchema = context.getSchemaSystem().newSchema(qname.getNamespaceURI());
}
Particle ref = otherSchema.getParticle(qname.getLocalPart());
if (ref == null) {
ref = otherSchema.newAttribute(qname.getLocalPart());
}
if (completed) {
ref.setAttribute("use", "optional");
}
Particle newAttribute = Particle.Factory.newReferenceInstance(schema, ref);