Fix issue Felix-716

Provides XML-Schemas for core features (core handler, component, handler, instance), compositions, external handlers.
Modifies the manipulator in order to check schema when specified in the XML descriptor.
Tests suites now use schemas.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@693468 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/tests/handler/eventadmin/src/main/resources/metadata.xml b/ipojo/tests/handler/eventadmin/src/main/resources/metadata.xml
index 977cb3f..bfe82b3 100644
--- a/ipojo/tests/handler/eventadmin/src/main/resources/metadata.xml
+++ b/ipojo/tests/handler/eventadmin/src/main/resources/metadata.xml
@@ -1,8 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>

-<ipojo xmlns:ev="org.apache.felix.ipojo.handlers.event.EventAdminHandler">

+<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="org.apache.felix.ipojo http://people.apache.org/~clement/ipojo/schemas/core.xsd 

+	    org.apache.felix.ipojo.handlers.event.EventAdminHandler http://people.apache.org/~clement/ipojo/schemas/event-admin.xsd"

+	xmlns="org.apache.felix.ipojo"

+	xmlns:ev="org.apache.felix.ipojo.handlers.event.EventAdminHandler">

 	

 	<!-- The (asynchronous) donut provider -->

-	<component className="org.apache.felix.ipojo.test.donut.DonutProviderImpl"

+	<component classname="org.apache.felix.ipojo.test.donut.DonutProviderImpl"

 		name="donut-provider">

 		<!-- Expose the donut provider service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutProvider">

@@ -14,7 +18,7 @@
 	</component>

 	

 	<!-- The synchronous donut provider -->

-	<component className="org.apache.felix.ipojo.test.donut.DonutProviderImpl"

+	<component classname="org.apache.felix.ipojo.test.donut.DonutProviderImpl"

 		name="synchronous-donut-provider">

 		<!-- Expose the donut provider service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutProvider">

@@ -27,7 +31,7 @@
 	

 	<!-- The (asynchronous) donut event provider -->

 	<component

-		className="org.apache.felix.ipojo.test.donut.DonutEventProviderImpl"

+		classname="org.apache.felix.ipojo.test.donut.DonutEventProviderImpl"

 		name="donut-event-provider">

 		<!-- Expose the donut provider service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutProvider">

@@ -40,7 +44,7 @@
 	

 	<!-- The synchronous donut event provider -->

 	<component

-		className="org.apache.felix.ipojo.test.donut.DonutEventProviderImpl"

+		classname="org.apache.felix.ipojo.test.donut.DonutEventProviderImpl"

 		name="synchronous-donut-event-provider">

 		<!-- Expose the donut provider service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutProvider">

@@ -53,7 +57,7 @@
 	

 	<!-- The (asynchronous) event provider -->

 	<component

-		className="org.apache.felix.ipojo.test.donut.AsyncEventProviderImpl"

+		classname="org.apache.felix.ipojo.test.donut.AsyncEventProviderImpl"

 		name="event-provider">

 		<!-- Expose the donut provider service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutProvider">

@@ -65,7 +69,7 @@
 	

 	<!-- The synchronous event provider -->

 	<component

-		className="org.apache.felix.ipojo.test.donut.SyncEventProviderImpl"

+		classname="org.apache.felix.ipojo.test.donut.SyncEventProviderImpl"

 		name="synchronous-event-provider">

 		<!-- Expose the donut provider service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutProvider">

@@ -76,7 +80,7 @@
 	</component>

 	

 	<!-- The donut consumer -->

-	<component className="org.apache.felix.ipojo.test.donut.DonutConsumerImpl"

+	<component classname="org.apache.felix.ipojo.test.donut.DonutConsumerImpl"

 		name="donut-consumer">

 		<!-- Expose the donut consumer service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutConsumer">

@@ -90,7 +94,7 @@
 	</component>

 	

 	<!-- The donut event consumer -->

-	<component className="org.apache.felix.ipojo.test.donut.DonutConsumerImpl"

+	<component classname="org.apache.felix.ipojo.test.donut.DonutConsumerImpl"

 		name="donut-event-consumer">

 		<!-- Expose the donut consumer service -->

 		<provides interface="org.apache.felix.ipojo.test.donut.DonutConsumer">

@@ -103,7 +107,7 @@
 	</component>

 	

 	<!-- The event consumer -->

-	<component className="org.apache.felix.ipojo.test.donut.EventConsumerImpl"

+	<component classname="org.apache.felix.ipojo.test.donut.EventConsumerImpl"

 		name="event-consumer">

 		<!-- Expose the donut consumer service -->

 		<provides

@@ -115,7 +119,7 @@
 	</component>

 	

 	<!-- The event tracker -->

-	<component className="org.apache.felix.ipojo.test.donut.EventTrackerImpl"

+	<component classname="org.apache.felix.ipojo.test.donut.EventTrackerImpl"

 		name="event-tracker">

 		<!-- Expose the donut consumer service -->

 		<provides

diff --git a/ipojo/tests/handler/temporal/src/main/resources/metadata.xml b/ipojo/tests/handler/temporal/src/main/resources/metadata.xml
index 2bbf047..9613248 100644
--- a/ipojo/tests/handler/temporal/src/main/resources/metadata.xml
+++ b/ipojo/tests/handler/temporal/src/main/resources/metadata.xml
@@ -1,4 +1,9 @@
-<ipojo xmlns:temp="org.apache.felix.ipojo.handler.temporal">

+<ipojo 

+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="org.apache.felix.ipojo http://people.apache.org/~clement/ipojo/schemas/core.xsd 

+	    org.apache.felix.ipojo.handler.temporal http://people.apache.org/~clement/ipojo/schemas/temporal.xsd"

+	xmlns="org.apache.felix.ipojo"

+	xmlns:temp="org.apache.felix.ipojo.handler.temporal">

 	<component classname="org.apache.felix.ipojo.test.scenarios.component.CheckServiceProvider" name="TEMPORAL-CheckServiceProvider">

 		<temp:requires field="fs"/>

 		<provides/>

@@ -10,7 +15,7 @@
 	</component>

 	

 	<component classname="org.apache.felix.ipojo.test.scenarios.component.MultipleCheckServiceProvider" name="TEMPORAL-MultipleCheckServiceProvider">

-		<temp:requires field="fs" aggregate="true"/>

+		<temp:requires field="fs"/>

 		<provides/>

 	</component>

 	

diff --git a/ipojo/tests/handler/whiteboard/src/main/resources/metadata.xml b/ipojo/tests/handler/whiteboard/src/main/resources/metadata.xml
index 0f1da91..2e4666d 100644
--- a/ipojo/tests/handler/whiteboard/src/main/resources/metadata.xml
+++ b/ipojo/tests/handler/whiteboard/src/main/resources/metadata.xml
@@ -1,16 +1,21 @@
-<ipojo xmlns:wbp="org.apache.felix.ipojo.white-board-pattern">

-	<component className="org.apache.felix.ipojo.test.FooProvider" name="fooprovider">

+<ipojo 

+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="org.apache.felix.ipojo http://people.apache.org/~clement/ipojo/schemas/core.xsd 

+	    org.apache.felix.ipojo.white-board-pattern http://people.apache.org/~clement/ipojo/schemas/whiteboard-pattern.xsd"

+	xmlns="org.apache.felix.ipojo"

+	xmlns:wbp="org.apache.felix.ipojo.white-board-pattern">

+	<component classname="org.apache.felix.ipojo.test.FooProvider" name="fooprovider">

 		<provides>

 			<property field="foo" value="foo"/>

 		</provides>

 	</component>

 	

-	<component className="org.apache.felix.ipojo.test.FooWhiteBoardPattern" name="under-providers">

+	<component classname="org.apache.felix.ipojo.test.FooWhiteBoardPattern" name="under-providers">

 		<wbp:wbp filter="(objectclass=org.apache.felix.ipojo.test.FooService)" onArrival="onArrival" onDeparture="onDeparture" onModification="onModification"/>

 		<provides/>

 	</component>

 	

-	<component className="org.apache.felix.ipojo.test.FooWhiteBoardPattern" name="under-properties">

+	<component classname="org.apache.felix.ipojo.test.FooWhiteBoardPattern" name="under-properties">

 		<wbp:wbp filter="(foo=foo)" onArrival="onArrival" onDeparture="onDeparture" onModification="onModification"/>

 		<provides/>

 	</component>