diff --git a/ipojo/manipulator/src/main/resources/core.xsd b/ipojo/manipulator/src/main/resources/core.xsd
index e29f8a3..2f3491f 100644
--- a/ipojo/manipulator/src/main/resources/core.xsd
+++ b/ipojo/manipulator/src/main/resources/core.xsd
@@ -1,483 +1,487 @@
 <!--
-	Licensed to the Apache Software Foundation (ASF) under one
-	or more contributor license agreements.  See the NOTICE file
-	distributed with this work for additional information
-	regarding copyright ownership.  The ASF licenses this file
-	to you under the Apache License, Version 2.0 (the
-	"License"); you may not use this file except in compliance
-	with the License.  You may obtain a copy of the License at
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
 
-	http://www.apache.org/licenses/LICENSE-2.0
+  http://www.apache.org/licenses/LICENSE-2.0
 
-	Unless required by applicable law or agreed to in writing,
-	software distributed under the License is distributed on an
-	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-	KIND, either express or implied.  See the License for the
-	specific language governing permissions and limitations
-	under the License.
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
 -->
 <xs:schema elementFormDefault="qualified" targetNamespace="org.apache.felix.ipojo"
-	xmlns="org.apache.felix.ipojo" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  xmlns="org.apache.felix.ipojo" xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <xs:annotation>
-    	<xs:documentation>iPOJO Core XML-Schema. This grammars models iPOJO descriptor using core features. It provides several extensibility mechanism in order to compose this schema with external handlers and other component implementation type such as compositions.</xs:documentation></xs:annotation>
+      <xs:documentation>iPOJO Core XML-Schema. This grammars models iPOJO descriptor using core features. It provides several extensibility mechanism in order to compose this schema with external handlers and other component implementation type such as compositions.</xs:documentation></xs:annotation>
     <xs:element name="ipojo">
-		<xs:complexType>
+    <xs:complexType>
             <xs:annotation>
-            	<xs:documentation>iPOJO top level element.</xs:documentation>
+              <xs:documentation>iPOJO top level element.</xs:documentation>
             </xs:annotation>
             <xs:choice minOccurs="0" maxOccurs="unbounded">
-				<xs:element ref="handler" minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="handler" minOccurs="0" maxOccurs="unbounded">
                     <xs:annotation>
-                    	<xs:documentation>The handler declarations.</xs:documentation>
+                      <xs:documentation>The handler declarations.</xs:documentation>
                     </xs:annotation>
-				</xs:element>
-				<xs:element ref="instance" minOccurs="0" maxOccurs="unbounded">
+        </xs:element>
+        <xs:element ref="instance" minOccurs="0" maxOccurs="unbounded">
                     <xs:annotation>
-                    	<xs:documentation>The instance declarations.</xs:documentation>
+                      <xs:documentation>The instance declarations.</xs:documentation>
                     </xs:annotation>
-				</xs:element>
-				<xs:element ref="component" minOccurs="0" maxOccurs="unbounded">
+        </xs:element>
+        <xs:element ref="component" minOccurs="0" maxOccurs="unbounded">
                     <xs:annotation>
-                    	<xs:documentation>The component type declarations.</xs:documentation>
+                      <xs:documentation>The component type declarations.</xs:documentation>
                     </xs:annotation>
-				</xs:element>
-				<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
-				</xs:any>
-			</xs:choice>
-		</xs:complexType>
-	</xs:element>
-	<xs:complexType name="HandlerType">
+        </xs:element>
+        <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+        </xs:any>
+      </xs:choice>
+    </xs:complexType>
+  </xs:element>
+  <xs:complexType name="HandlerType">
         <xs:annotation>
-        	<xs:documentation>Description of the handler.</xs:documentation>
+          <xs:documentation>Description of the handler.</xs:documentation>
         </xs:annotation>
         <xs:complexContent>
-			<xs:extension base="RootElementType">
-				<xs:sequence maxOccurs="unbounded" minOccurs="0">
-					<xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any"
-						processContents="skip">
-					</xs:any>
-				</xs:sequence>
-				<xs:attribute name="classname" type="xs:string" use="required">
+      <xs:extension base="RootElementType">
+        <xs:sequence maxOccurs="unbounded" minOccurs="0">
+          <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any"
+            processContents="skip">
+          </xs:any>
+        </xs:sequence>
+        <xs:attribute name="classname" type="xs:string" use="required">
                     <xs:annotation>
-                    	<xs:documentation>The implementation class of the handler. The specified class must implement (direcly or not) the "org.apache.felix.ipojo.Handler" interface.</xs:documentation>
+                      <xs:documentation>The implementation class of the handler. The specified class must implement (direcly or not) the "org.apache.felix.ipojo.Handler" interface.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-				<xs:attribute name="name" type="xs:string" use="required">
+        </xs:attribute>
+        <xs:attribute name="name" type="xs:string" use="required">
                     <xs:annotation>
-                    	<xs:documentation>The name of the handler.</xs:documentation>
+                      <xs:documentation>The name of the handler.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-				<xs:attribute name="namespace" type="xs:string" use="optional">
+        </xs:attribute>
+        <xs:attribute name="namespace" type="xs:string" use="optional">
                     <xs:annotation>
-                    	<xs:documentation>The XML namespace of the handler.</xs:documentation>
+                      <xs:documentation>The XML namespace of the handler.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-				<xs:attribute name="architecture" type="xs:boolean"
-					use="optional" fixed="false">
+        </xs:attribute>
+        <xs:attribute name="architecture" type="xs:boolean"
+          use="optional" fixed="false">
                     <xs:annotation>
-                    	<xs:documentation>Enables or disables the architecture exposition. By default, the architecture is not exposed. This allows handler introspection.</xs:documentation>
+                      <xs:documentation>Enables or disables the architecture exposition. By default, the architecture is not exposed. This allows handler introspection.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-				<xs:attribute name="level" type="xs:int" use="optional">
+        </xs:attribute>
+        <xs:attribute name="level" type="xs:int" use="optional">
                     <xs:annotation>
-                    	<xs:documentation>The start level of the handler.</xs:documentation>
+                      <xs:documentation>The start level of the handler.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="InstanceType">
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InstanceType">
         <xs:annotation>
-        	<xs:documentation>Describes an instance of a component.</xs:documentation>
+          <xs:documentation>Describes an instance of a component.</xs:documentation>
         </xs:annotation>
         <xs:complexContent>
-			<xs:extension base="RootElementType">
-				<xs:sequence minOccurs="0" maxOccurs="unbounded">
-					<xs:element name="property" type="InstancePropertyType">
-						<xs:annotation>
-							<xs:documentation>The instance properties.</xs:documentation>
-						</xs:annotation></xs:element>
-				</xs:sequence>
-				<xs:attribute name="component" type="xs:string">
-					<xs:annotation>
-						<xs:documentation>The name of the instance component type.</xs:documentation>
-					</xs:annotation></xs:attribute>
-				<xs:attribute name="name" type="xs:string" use="optional">
+      <xs:extension base="RootElementType">
+        <xs:sequence minOccurs="0" maxOccurs="unbounded">
+          <xs:element name="property" type="InstancePropertyType">
+            <xs:annotation>
+              <xs:documentation>The instance properties.</xs:documentation>
+            </xs:annotation></xs:element>
+        </xs:sequence>
+        <xs:attribute name="component" type="xs:string">
+          <xs:annotation>
+            <xs:documentation>The name of the instance component type.</xs:documentation>
+          </xs:annotation></xs:attribute>
+        <xs:attribute name="name" type="xs:string" use="optional">
                     <xs:annotation>
-                    	<xs:documentation>The (unique) name of the instance.</xs:documentation>
+                      <xs:documentation>The (unique) name of the instance.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-				<xs:attribute name="version" type="xs:string" use="optional">
+        </xs:attribute>
+        <xs:attribute name="version" type="xs:string" use="optional">
                     <xs:annotation>
-                    	<xs:documentation>The version of the factory to use.</xs:documentation>
+                      <xs:documentation>The version of the factory to use.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="InstancePropertyType">
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="InstancePropertyType">
         <xs:annotation>
-        	<xs:documentation>Defines a property of an instance configuration.</xs:documentation>
+          <xs:documentation>Defines a property of an instance configuration.</xs:documentation>
         </xs:annotation>
         <xs:sequence>
-			<xs:element name="property" type="InstancePropertyType" minOccurs="0" maxOccurs="unbounded"></xs:element>
-		</xs:sequence>
-		<xs:attribute name="name" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Name of the property. Can be optional if a property is inside a structure.
+      <xs:element name="property" type="InstancePropertyType" minOccurs="0" maxOccurs="unbounded"></xs:element>
+    </xs:sequence>
+    <xs:attribute name="name" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Name of the property. Can be optional if a property is inside a structure.
 The 'instance.name' property has a special semantic as it will be used as the instance name.</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="value" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Value of the property. Can be null for property containing other properties.</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="type" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Type of the property, used to create the adequate object. Supported values are list, array, dictionary and map.</xs:documentation>
-			</xs:annotation></xs:attribute>
-	</xs:complexType>
-	<xs:complexType name="RootElementType"></xs:complexType>
-	<xs:complexType name="ComponentType">
-		<xs:annotation>
-			<xs:documentation>Declares an atomic (i.e. primitive) component type.</xs:documentation>
-		</xs:annotation>
-		<xs:choice minOccurs="0" maxOccurs="unbounded">
-			<xs:element ref="callback" minOccurs="0"
-				maxOccurs="unbounded">
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Value of the property. Can be null for property containing other properties.</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="type" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Type of the property, used to create the adequate object. Supported values are list, array, dictionary and map.</xs:documentation>
+      </xs:annotation></xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="RootElementType"></xs:complexType>
+  <xs:complexType name="ComponentType">
+    <xs:annotation>
+      <xs:documentation>Declares an atomic (i.e. primitive) component type.</xs:documentation>
+    </xs:annotation>
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <xs:element ref="callback" minOccurs="0"
+        maxOccurs="unbounded">
                 <xs:annotation>
-                	<xs:documentation>Describes the method(s) to invoke when the component's state changes.</xs:documentation>
+                  <xs:documentation>Describes the method(s) to invoke when the component's state changes.</xs:documentation>
                 </xs:annotation>
-			</xs:element>
-			<xs:element ref="provides" minOccurs="0"
-				maxOccurs="unbounded">
+      </xs:element>
+      <xs:element ref="provides" minOccurs="0"
+        maxOccurs="unbounded">
                 <xs:annotation>
-                	<xs:documentation>Indicates the component provided service(s). By default, all implemented interfaces are published.</xs:documentation>
+                  <xs:documentation>Indicates the component provided service(s). By default, all implemented interfaces are published.</xs:documentation>
                 </xs:annotation>
-			</xs:element>
-			<xs:element ref="requires" minOccurs="0"
-				maxOccurs="unbounded">
+      </xs:element>
+      <xs:element ref="requires" minOccurs="0"
+        maxOccurs="unbounded">
                 <xs:annotation>
-                	<xs:documentation>Indicates the service requirements of the component.</xs:documentation>
+                  <xs:documentation>Indicates the service requirements of the component.</xs:documentation>
                 </xs:annotation>
-			</xs:element>
-			<xs:element ref="properties" minOccurs="0"
-				maxOccurs="unbounded">
+      </xs:element>
+      <xs:element ref="properties" minOccurs="0"
+        maxOccurs="unbounded">
                 <xs:annotation>
-                	<xs:documentation>Describes the properties of the component.</xs:documentation>
+                  <xs:documentation>Describes the properties of the component.</xs:documentation>
                 </xs:annotation>
-			</xs:element>
-			<xs:element ref="controller" minOccurs="0" maxOccurs="1">
-				<xs:annotation>
-					<xs:documentation>Lifecycle controller for this component.</xs:documentation>
-				</xs:annotation></xs:element>
-			<xs:any namespace="##other" processContents="lax"
-				minOccurs="0" maxOccurs="unbounded">
-			</xs:any>
-		</xs:choice>
-		<xs:attribute name="name" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Specifies the name of the component type. This name is used to identify the factory attached to this 	type. If not specified, the factory name is the implementation class name.</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="public" type="xs:boolean" use="optional">
-			<xs:annotation>
-				<xs:documentation>Determines if the component type is public or private. A public factory (default) can be used from any bundles.</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="classname" type="xs:string"
-			use="required">
-			<xs:annotation>
-				<xs:documentation>Specifies the implementation class of the component type.</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="architecture" type="xs:boolean"
-			use="optional">
-			<xs:annotation>
-				<xs:documentation>Enables or disables the architecture exposition. By default, the architecture is exposed. This allows instance introspection.</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="immediate" type="xs:boolean"
-			use="optional">
-            <xs:annotation>
-            	<xs:documentation>Creates the object of the component implementation type as soon as the component instance becomes valid. The default value is "true" if the component doesn't provide any service, "false" otherwise.</xs:documentation>
-            </xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="factory-method" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Factory method called to create POJO objects instead of the constructor. The specified method must be a static method of the implementation class returning an instance of this implementation class. The factory method can receive the bundle context in argument.</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="version" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Set the version of this component type</xs:documentation>
-			</xs:annotation></xs:attribute>
-	</xs:complexType>
-	<xs:complexType name="RequiresType">
+      </xs:element>
+      <xs:element ref="controller" minOccurs="0" maxOccurs="1">
         <xs:annotation>
-        	<xs:documentation>Description of component services requirements.</xs:documentation>
+          <xs:documentation>Lifecycle controller for this component.</xs:documentation>
+        </xs:annotation></xs:element>
+      <xs:any namespace="##other" processContents="lax"
+        minOccurs="0" maxOccurs="unbounded">
+      </xs:any>
+    </xs:choice>
+    <xs:attribute name="name" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Specifies the name of the component type. This name is used to identify the factory attached to this 	type. If not specified, the factory name is the implementation class name.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="public" type="xs:boolean" use="optional">
+      <xs:annotation>
+        <xs:documentation>Determines if the component type is public or private. A public factory (default) can be used from any bundles.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="classname" type="xs:string"
+      use="required">
+      <xs:annotation>
+        <xs:documentation>Specifies the implementation class of the component type.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="architecture" type="xs:boolean"
+      use="optional">
+      <xs:annotation>
+        <xs:documentation>Enables or disables the architecture exposition. By default, the architecture is exposed. This allows instance introspection.</xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="immediate" type="xs:boolean"
+      use="optional">
+            <xs:annotation>
+              <xs:documentation>Creates the object of the component implementation type as soon as the component instance becomes valid. The default value is "true" if the component doesn't provide any service, "false" otherwise.</xs:documentation>
+            </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="factory-method" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Factory method called to create POJO objects instead of the constructor. The specified method must be a static method of the implementation class returning an instance of this implementation class. The factory method can receive the bundle context in argument.</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="version" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Set the version of this component type</xs:documentation>
+      </xs:annotation></xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="RequiresType">
+        <xs:annotation>
+          <xs:documentation>Description of component services requirements.</xs:documentation>
         </xs:annotation>
         <xs:complexContent>
-			<xs:extension base="ServiceDependencyType">
-				<xs:sequence minOccurs="0" maxOccurs="unbounded">
-					<xs:element name="callback"
-						type="DependencyCallbackType">
+      <xs:extension base="ServiceDependencyType">
+        <xs:sequence minOccurs="0" maxOccurs="unbounded">
+          <xs:element name="callback"
+            type="DependencyCallbackType">
                         <xs:annotation>
-                        	<xs:documentation>Service requirement method invocation description. Here can be specified a bind method called when a service appears and an unbind method called when a service disappears.</xs:documentation>
+                          <xs:documentation>Service requirement method invocation description. Here can be specified a bind method called when a service appears and an unbind method called when a service disappears.</xs:documentation>
                         </xs:annotation>
-					</xs:element>
-				</xs:sequence>
+          </xs:element>
+        </xs:sequence>
 
-				<xs:attribute name="interface" type="xs:string"
-				    use="prohibited">
+        <xs:attribute name="interface" type="xs:string"
+            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, use 'specification'.</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>
 
-				<xs:attribute name="field" type="xs:string"
-					use="optional">
+        <xs:attribute name="field" type="xs:string"
+          use="optional">
                     <xs:annotation>
-                    	<xs:documentation>The name of the field representing the service dependency in the implementation class.</xs:documentation>
+                      <xs:documentation>The name of the field representing the service dependency in the implementation class.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
+        </xs:attribute>
 
-				<xs:attribute name="nullable" type="xs:boolean"
-					use="optional">
+        <xs:attribute name="nullable" type="xs:boolean"
+          use="optional">
                     <xs:annotation>
-                    	<xs:documentation>Enable or disable the Nullable pattern on optional service dependencies. By default, Nullable pattern is enabled. If disabled, iPOJO will inject null instead of a Nullable object.</xs:documentation>
+                      <xs:documentation>Enable or disable the Nullable pattern on optional service dependencies. By default, Nullable pattern is enabled. If disabled, iPOJO will inject null instead of a Nullable object.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
+        </xs:attribute>
 
-				<xs:attribute name="default-implementation"
-					type="xs:string" use="optional">
+        <xs:attribute name="default-implementation"
+          type="xs:string" use="optional">
                     <xs:annotation>
-                    	<xs:documentation>Specifies the default implementation class for an optional service dependency. If no providers are found, iPOJO creates an instance of the default-implementation (nullary constructor) and injects it. The given class must implement the required service interface.</xs:documentation>
+                      <xs:documentation>Specifies the default implementation class for an optional service dependency. If no providers are found, iPOJO creates an instance of the default-implementation (nullary constructor) and injects it. The given class must implement the required service interface.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
+        </xs:attribute>
 
-				<xs:attribute name="from" type="xs:string"
-					use="optional">
+        <xs:attribute name="from" type="xs:string"
+          use="optional">
                     <xs:annotation>
-                    	<xs:documentation>Specific service provider. The dependency can only be fulfilled by the component with the matching name, or by the service with a matching PID.</xs:documentation>
+                      <xs:documentation>Specific service provider. The dependency can only be fulfilled by the component with the matching name, or by the service with a matching PID.</xs:documentation>
                     </xs:annotation>
-				</xs:attribute>
+        </xs:attribute>
 
-				<xs:attribute name="scope" use="optional">
-					<xs:simpleType>
-						<xs:restriction base="xs:string">
-							<xs:enumeration value="global"></xs:enumeration>
-							<xs:enumeration value="composite"></xs:enumeration>
-							<xs:enumeration value="composite+global"></xs:enumeration>
-						</xs:restriction>
-					</xs:simpleType>
-				</xs:attribute>
+        <xs:attribute name="scope" use="optional">
+          <xs:simpleType>
+            <xs:restriction base="xs:string">
+              <xs:enumeration value="global"></xs:enumeration>
+              <xs:enumeration value="composite"></xs:enumeration>
+              <xs:enumeration value="composite+global"></xs:enumeration>
+            </xs:restriction>
+          </xs:simpleType>
+        </xs:attribute>
 
-			</xs:extension>
-		</xs:complexContent>
-	</xs:complexType>
-	<xs:complexType name="DependencyCallbackType">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DependencyCallbackType">
         <xs:annotation>
-        	<xs:documentation>Dependency callbacks are used to receive notification when service providers arrive and leave.</xs:documentation>
+          <xs:documentation>Dependency callbacks are used to receive notification when service providers arrive and leave.</xs:documentation>
         </xs:annotation>
         <xs:attribute name="method" type="xs:string" use="required">
-        	<xs:annotation>
-        		<xs:documentation>Method to call</xs:documentation>
-        	</xs:annotation></xs:attribute>
-		<xs:attribute name="type" use="required">
+          <xs:annotation>
+            <xs:documentation>Method to call</xs:documentation>
+          </xs:annotation></xs:attribute>
+    <xs:attribute name="type" use="required">
             <xs:annotation>
-            	<xs:documentation>Type of callback (bind or unbind). Bind means that the method will be called when a provider arrives. Unbind means that the method will be called when a provider leaves.</xs:documentation>
+              <xs:documentation>
+                Type of callback (bind, unbind, or updated). Bind means that the method will be called when a provider arrives. Unbind means that the method will be called when a provider leaves.
+                Updated means that a service was modified but is still valid for the service dependency.
+              </xs:documentation>
             </xs:annotation>
             <xs:simpleType>
-				<xs:restriction base="xs:string">
-					<xs:enumeration value="bind"></xs:enumeration>
-					<xs:enumeration value="unbind"></xs:enumeration>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-	</xs:complexType>
-	<xs:complexType name="CallbackType">
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="bind"></xs:enumeration>
+          <xs:enumeration value="unbind"></xs:enumeration>
+          <xs:enumeration value="modified"></xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="CallbackType">
         <xs:annotation>
-        	<xs:documentation>Lifecycle Callback. Allows a POJO to be notified when the instance becomes valid or invalid.</xs:documentation>
+          <xs:documentation>Lifecycle Callback. Allows a POJO to be notified when the instance becomes valid or invalid.</xs:documentation>
         </xs:annotation>
         <xs:attribute name="method" type="xs:string" use="required">
-        	<xs:annotation>
-        		<xs:documentation>Specifies the method to call on the transition.</xs:documentation>
-        	</xs:annotation></xs:attribute>
-		<xs:attribute name="transition" use="required">
+          <xs:annotation>
+            <xs:documentation>Specifies the method to call on the transition.</xs:documentation>
+          </xs:annotation></xs:attribute>
+    <xs:attribute name="transition" use="required">
             <xs:annotation>
-            	<xs:documentation>Specifies the transition when the callback needs to be invoked.</xs:documentation>
+              <xs:documentation>Specifies the transition when the callback needs to be invoked.</xs:documentation>
             </xs:annotation>
             <xs:simpleType>
                 <xs:annotation>
-                	<xs:documentation>Lifecycle transition state. "validate" means that the component's instance was invalid and becomes valid, "invalidate" means that the component's intance was valid and becomes invalid.</xs:documentation>
+                  <xs:documentation>Lifecycle transition state. "validate" means that the component's instance was invalid and becomes valid, "invalidate" means that the component's intance was valid and becomes invalid.</xs:documentation>
                 </xs:annotation>
                 <xs:restriction base="xs:string">
-					<xs:enumeration value="validate"></xs:enumeration>
-					<xs:enumeration value="invalidate"></xs:enumeration>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-	</xs:complexType>
-	<xs:element name="provides" type="ProvidesType" id="provides"></xs:element>
-		<xs:complexType name="ProvidesType">
+          <xs:enumeration value="validate"></xs:enumeration>
+          <xs:enumeration value="invalidate"></xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  <xs:element name="provides" type="ProvidesType" id="provides"></xs:element>
+    <xs:complexType name="ProvidesType">
         <xs:annotation>
-        	<xs:documentation>Provided service(s) description.</xs:documentation>
+          <xs:documentation>Provided service(s) description.</xs:documentation>
         </xs:annotation>
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
-			<xs:element name="property" type="PropertyType">
-				<xs:annotation>
-					<xs:documentation>List of service specific properties.</xs:documentation>
-				</xs:annotation></xs:element>
-		</xs:sequence>
-		<xs:attribute name="interface" type="xs:string" use="prohibited">
-			<xs:annotation>
-				<xs:documentation>Deprecated attribute, use 'specifications' instead of 'interface'</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="specifications" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>The list of service specifications (i.e. interfaces) to expose. By default, all interfaces implemented by the component implementation class are published.</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="factory" type="xs:string" use="prohibited">
-			<xs:annotation>
-				<xs:documentation>Use 'strategy' instead of 'factory'</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="strategy" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>POJO creation strategy. By default, the POJO object is created once (singleton). If the factory is set to "SERVICE", the creation policy follows the OSGi service factory policy (one object object per asking bundle).
-				INSTANCE allows creating one different POJO object per asking instance. Finally, a custom strategy can be used by specifying the qualified name of the class extending CreationPolicy</xs:documentation>
-			</xs:annotation></xs:attribute>
-	</xs:complexType>
-	<xs:complexType name="PropertyType">
-		<xs:annotation>
-			<xs:documentation>
-				Defines a component property.
-			</xs:documentation>
-		</xs:annotation>
-		<xs:attribute name="field" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>
-					Field of the property
-				</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="method" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>
-					Setter method of the property. This method is called
-					to inject property value.
-				</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="name" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>
-					Name of the property.
-				</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="value" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>
-					Default value of the property.
-				</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="type" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>
-					Type of the property.
-				</xs:documentation>
-			</xs:annotation>
-		</xs:attribute>
+      <xs:element name="property" type="PropertyType">
+        <xs:annotation>
+          <xs:documentation>List of service specific properties.</xs:documentation>
+        </xs:annotation></xs:element>
+    </xs:sequence>
+    <xs:attribute name="interface" type="xs:string" use="prohibited">
+      <xs:annotation>
+        <xs:documentation>Deprecated attribute, use 'specifications' instead of 'interface'</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="specifications" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>The list of service specifications (i.e. interfaces) to expose. By default, all interfaces implemented by the component implementation class are published.</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="factory" type="xs:string" use="prohibited">
+      <xs:annotation>
+        <xs:documentation>Use 'strategy' instead of 'factory'</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="strategy" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>POJO creation strategy. By default, the POJO object is created once (singleton). If the factory is set to "SERVICE", the creation policy follows the OSGi service factory policy (one object object per asking bundle).
+        INSTANCE allows creating one different POJO object per asking instance. Finally, a custom strategy can be used by specifying the qualified name of the class extending CreationPolicy</xs:documentation>
+      </xs:annotation></xs:attribute>
+  </xs:complexType>
+  <xs:complexType name="PropertyType">
+    <xs:annotation>
+      <xs:documentation>
+        Defines a component property.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:attribute name="field" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          Field of the property
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="method" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          Setter method of the property. This method is called
+          to inject property value.
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="name" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          Name of the property.
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          Default value of the property.
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="type" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>
+          Type of the property.
+        </xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
         <xs:attribute name="mandatory" type="xs:boolean" use="optional" default="false">
-        	<xs:annotation>
-        		<xs:documentation>Set the property as mandatory. A mandatory property MUST receive a value either in the component type description or in the instance configuration. Properties are optional by default.</xs:documentation>
-        	</xs:annotation></xs:attribute>
+          <xs:annotation>
+            <xs:documentation>Set the property as mandatory. A mandatory property MUST receive a value either in the component type description or in the instance configuration. Properties are optional by default.</xs:documentation>
+          </xs:annotation></xs:attribute>
     </xs:complexType>
-	<xs:element name="callback" type="CallbackType" id="callback"></xs:element>
-	<xs:element name="controller" type="ControllerType" id="controller">
-		<xs:annotation>
-			<xs:documentation></xs:documentation>
-		</xs:annotation></xs:element>
-	<xs:element name="requires" type="RequiresType" id="requires"></xs:element>
-	<xs:element name="component" type="ComponentType" id="component"></xs:element>
-	<xs:element name="handler" type="HandlerType" id="handler"></xs:element>
-	<xs:element name="instance" type="InstanceType" id="instance"></xs:element>
+  <xs:element name="callback" type="CallbackType" id="callback"></xs:element>
+  <xs:element name="controller" type="ControllerType" id="controller">
+    <xs:annotation>
+      <xs:documentation></xs:documentation>
+    </xs:annotation></xs:element>
+  <xs:element name="requires" type="RequiresType" id="requires"></xs:element>
+  <xs:element name="component" type="ComponentType" id="component"></xs:element>
+  <xs:element name="handler" type="HandlerType" id="handler"></xs:element>
+  <xs:element name="instance" type="InstanceType" id="instance"></xs:element>
 
     <xs:element name="properties" type="PropertiesType" id="properties"></xs:element>
-	<xs:complexType name="PropertiesType">
+  <xs:complexType name="PropertiesType">
         <xs:annotation>
-        	<xs:documentation>List of component, instance or service properties. This field will receive the property value.</xs:documentation>
+          <xs:documentation>List of component, instance or service properties. This field will receive the property value.</xs:documentation>
         </xs:annotation>
         <xs:sequence minOccurs="0" maxOccurs="unbounded">
-			<xs:element name="property" type="PropertyType">
-				<xs:annotation>
-					<xs:documentation>The list of properties.</xs:documentation>
-				</xs:annotation></xs:element>
-		</xs:sequence>
-		<xs:attribute name="propagation" type="xs:boolean" use="optional">
-			<xs:annotation>
-				<xs:documentation>Propagation of the component properties to the provided services. If this parameter is set to "true", each time properties are reconfigured, they are propagated to each service published by the component.</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="pid" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Unique identifier used to reconfigure components properties (via  Managed Services) with the Configuration Admin.</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="updated" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>Method called when a reconfiguration is done</xs:documentation>
-			</xs:annotation></xs:attribute>
-	</xs:complexType>
+      <xs:element name="property" type="PropertyType">
+        <xs:annotation>
+          <xs:documentation>The list of properties.</xs:documentation>
+        </xs:annotation></xs:element>
+    </xs:sequence>
+    <xs:attribute name="propagation" type="xs:boolean" use="optional">
+      <xs:annotation>
+        <xs:documentation>Propagation of the component properties to the provided services. If this parameter is set to "true", each time properties are reconfigured, they are propagated to each service published by the component.</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="pid" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Unique identifier used to reconfigure components properties (via  Managed Services) with the Configuration Admin.</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="updated" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>Method called when a reconfiguration is done</xs:documentation>
+      </xs:annotation></xs:attribute>
+  </xs:complexType>
 
-	<xs:complexType name="ServiceDependencyType">
-	    <xs:attribute name="specification" type="xs:string" use="optional">
-	    	<xs:annotation>
-	    		<xs:documentation>The specification 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.</xs:documentation>
-	    	</xs:annotation></xs:attribute>
-		<xs:attribute name="optional" type="xs:boolean" use="optional">
+  <xs:complexType name="ServiceDependencyType">
+      <xs:attribute name="specification" type="xs:string" use="optional">
+        <xs:annotation>
+          <xs:documentation>The specification 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.</xs:documentation>
+        </xs:annotation></xs:attribute>
+    <xs:attribute name="optional" type="xs:boolean" use="optional">
             <xs:annotation>
-            	<xs:documentation>Sets the service dependency optionality</xs:documentation>
+              <xs:documentation>Sets the service dependency optionality</xs:documentation>
             </xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="aggregate" type="xs:boolean" use="optional">
+    </xs:attribute>
+    <xs:attribute name="aggregate" type="xs:boolean" use="optional">
             <xs:annotation>
-            	<xs:documentation>Sets the service dependency cardinality.</xs:documentation>
+              <xs:documentation>Sets the service dependency cardinality.</xs:documentation>
             </xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="policy" use="optional">
+    </xs:attribute>
+    <xs:attribute name="policy" use="optional">
             <xs:annotation>
-            	<xs:documentation>Sets the binding policy of the dependency. Three policies are supported. The dynamic policy supports service providers dynamism. The static policy freezes the provider set as soon as the dependency is used. The dynamic-priority policy is an extension of the dynamic policy, but providers are ranked.</xs:documentation>
+              <xs:documentation>Sets the binding policy of the dependency. Three policies are supported. The dynamic policy supports service providers dynamism. The static policy freezes the provider set as soon as the dependency is used. The dynamic-priority policy is an extension of the dynamic policy, but providers are ranked.</xs:documentation>
             </xs:annotation>
             <xs:simpleType>
-				<xs:restriction base="xs:string">
-					<xs:enumeration value="dynamic"></xs:enumeration>
-					<xs:enumeration value="static"></xs:enumeration>
-					<xs:enumeration value="dynamic-priority"></xs:enumeration>
-				</xs:restriction>
-			</xs:simpleType>
-		</xs:attribute>
-		<xs:attribute name="comparator" type="xs:string" use="optional">
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="dynamic"></xs:enumeration>
+          <xs:enumeration value="static"></xs:enumeration>
+          <xs:enumeration value="dynamic-priority"></xs:enumeration>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+    <xs:attribute name="comparator" type="xs:string" use="optional">
             <xs:annotation>
-            	<xs:documentation>The comparator attribute allows specifying the class used to compare providers. This class must implemented the java.util.Comparator class and must support the comparison of service references.</xs:documentation>
+              <xs:documentation>The comparator attribute allows specifying the class used to compare providers. This class must implemented the java.util.Comparator class and must support the comparison of service references.</xs:documentation>
             </xs:annotation>
-		</xs:attribute>
-		<xs:attribute name="filter" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>LDAP filter used to filter providers</xs:documentation>
-			</xs:annotation></xs:attribute>
-		<xs:attribute name="id" type="xs:string" use="optional">
-			<xs:annotation>
-				<xs:documentation>id of the service dependency. The id allows to indentify and to refert to this dependency.</xs:documentation>
-			</xs:annotation></xs:attribute>
-	</xs:complexType>
+    </xs:attribute>
+    <xs:attribute name="filter" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>LDAP filter used to filter providers</xs:documentation>
+      </xs:annotation></xs:attribute>
+    <xs:attribute name="id" type="xs:string" use="optional">
+      <xs:annotation>
+        <xs:documentation>id of the service dependency. The id allows to indentify and to refert to this dependency.</xs:documentation>
+      </xs:annotation></xs:attribute>
+  </xs:complexType>
 
     <xs:complexType name="ControllerType">
         <xs:annotation>
-        	<xs:documentation>Specifies the lifecycle controller of a component, which allows to validate or invalidate component instances.</xs:documentation>
+          <xs:documentation>Specifies the lifecycle controller of a component, which allows to validate or invalidate component instances.</xs:documentation>
         </xs:annotation>
         <xs:attribute name="field" type="xs:string" use="required">
             <xs:annotation>
-            	<xs:documentation>The name of the component lifecycle controller field. The type of the specified field must be boolean. Setting the value of the specified field to "true" means the validation of the component instance while setting it to "false" means the invalidation of the component instance.</xs:documentation>
+              <xs:documentation>The name of the component lifecycle controller field. The type of the specified field must be boolean. Setting the value of the specified field to "true" means the validation of the component instance while setting it to "false" means the invalidation of the component instance.</xs:documentation>
             </xs:annotation>
         </xs:attribute>
     </xs:complexType>
-</xs:schema>
\ No newline at end of file
+</xs:schema>
