* Fix issue Felix-803:
  The core xml schema accepted the 'interface' attribute in service dependencies. This attribute were replaced by 'specification' to be consistent with other service dependencies.
  The 'interface' attribute is now prohibited.

* Fix issue Felix-805:
  Instances were not created when the targeted factory becomes valid later.

* Add a mechanism to avoid that setter methods are called twice if two threads try to invoke the callback with the same value.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@711559 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/core/src/main/resources/core.xsd b/ipojo/core/src/main/resources/core.xsd
index c89b193..9cdbfcf 100644
--- a/ipojo/core/src/main/resources/core.xsd
+++ b/ipojo/core/src/main/resources/core.xsd
@@ -218,12 +218,12 @@
 				</xs:sequence>
 				
 				<xs:attribute name="interface" type="xs:string"
-				    use="optional">
+				    use="prohibited">
                     <xs:annotation>
-                    	<xs:documentation>The interface describing the required service type. This attribute is needed only when using aggregate dependencies with field injection and when the type of this field is a list, vector, collection and set. This attribute is deprecated.</xs:documentation>
+                    	<xs:documentation>The interface describing the required service type. This attribute is needed only when using aggregate dependencies with field injection and when the type of this field is a list, vector, collection and set. This attribute is deprecated, use 'specification'.</xs:documentation>
                     </xs:annotation>
 				</xs:attribute>
-
+				
 				<xs:attribute name="field" type="xs:string"
 					use="optional">
                     <xs:annotation>