diff --git a/ipojo/tests/online-manipulator/pom.xml b/ipojo/tests/online-manipulator/pom.xml
index 4b89c93..692367c 100644
--- a/ipojo/tests/online-manipulator/pom.xml
+++ b/ipojo/tests/online-manipulator/pom.xml
@@ -104,7 +104,7 @@
 	<dependency>
 		<groupId>org.apache.felix</groupId>
 		<artifactId>org.apache.felix.ipojo.tinybundles.bundleAsiPOJO</artifactId>
-		<version>1.3.0-SNAPSHOT</version>
+		<version>${pom.version}</version>
 	</dependency>
  	 <dependency>
 			<groupId>xerces</groupId>
@@ -114,12 +114,17 @@
  	 <dependency>
  	 	<groupId>org.apache.felix</groupId>
  	 	<artifactId>org.apache.felix.ipojo.annotations</artifactId>
- 	 	<version>1.2.0</version>
+ 	 	<version>${pom.version}</version>
  	 </dependency>
   	 <dependency>
  	 	<groupId>org.apache.felix</groupId>
  	 	<artifactId>org.apache.felix.ipojo</artifactId>
- 	 	<version>1.3.0-SNAPSHOT</version>
+ 	 	<version>${pom.version}</version>
+ 	 </dependency>
+ 	  <dependency>
+ 	 	<groupId>org.apache.felix</groupId>
+ 	 	<artifactId>org.apache.felix.ipojo.online.manipulator</artifactId>
+ 	 	<version>${pom.version}</version>
  	 </dependency>
 
 	</dependencies>
diff --git a/ipojo/tests/online-manipulator/src/test/java/consumer.xml b/ipojo/tests/online-manipulator/src/test/java/consumer.xml
index ab09472..98f82f8 100644
--- a/ipojo/tests/online-manipulator/src/test/java/consumer.xml
+++ b/ipojo/tests/online-manipulator/src/test/java/consumer.xml
@@ -1,4 +1,7 @@
-<ipojo>
-<instance component="org.apache.felix.org.apache.felix.ipojo.online.manipulator.test.impl.Consumer"
-	name="cons"/>
+<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/SNAPSHOT/core.xsd"
+	xmlns="org.apache.felix.ipojo">
+	<instance
+		component="org.apache.felix.org.apache.felix.ipojo.online.manipulator.test.impl.Consumer"
+		name="cons"/>
 </ipojo>
\ No newline at end of file
diff --git a/ipojo/tests/online-manipulator/src/test/java/org/apache/felix/org/apache/felix/ipojo/online/manipulator/test/OnlineManipulatorTest.java b/ipojo/tests/online-manipulator/src/test/java/org/apache/felix/org/apache/felix/ipojo/online/manipulator/test/OnlineManipulatorTest.java
index f119499..c10f824 100644
--- a/ipojo/tests/online-manipulator/src/test/java/org/apache/felix/org/apache/felix/ipojo/online/manipulator/test/OnlineManipulatorTest.java
+++ b/ipojo/tests/online-manipulator/src/test/java/org/apache/felix/org/apache/felix/ipojo/online/manipulator/test/OnlineManipulatorTest.java
@@ -3,8 +3,10 @@
 
 import static org.ops4j.pax.exam.CoreOptions.equinox;
 import static org.ops4j.pax.exam.CoreOptions.felix;
+import static org.ops4j.pax.exam.CoreOptions.knopflerfish;
 import static org.ops4j.pax.exam.CoreOptions.frameworks;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
+import static org.ops4j.pax.exam.MavenUtils.asInProject;
 import static org.ops4j.pax.exam.CoreOptions.options;
 import static org.ops4j.pax.exam.CoreOptions.provision;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
@@ -74,24 +76,25 @@
                 frameworks(
                         felix(),
                         equinox()
+                      //  knopflerfish() KF does not export an XML parser.
                     ),
             provision(
                 mavenBundle()
-                    .groupId( "org.ops4j.pax.tinybundles" )
-                    .artifactId( "pax-tinybundles-core" )
-                    .version( "0.5.0-SNAPSHOT" )),
+                    .groupId( "org.ops4j.pax.swissbox" )
+                    .artifactId( "pax-swissbox-tinybundles" )
+                    .version(asInProject())),
             provision(
                     mavenBundle()
                     .groupId("org.apache.felix")
                     .artifactId("org.apache.felix.ipojo")
-                    .version("1.3.0-SNAPSHOT")
+                    .version(asInProject())
             ),
 
             provision(
                     mavenBundle()
                     .groupId("org.apache.felix")
                     .artifactId("org.apache.felix.ipojo.online.manipulator")
-                    .version("1.3.0-SNAPSHOT")
+                    .version(asInProject())
                     ),
             provision(
                             newBundle()
diff --git a/ipojo/tests/online-manipulator/src/test/java/provider.xml b/ipojo/tests/online-manipulator/src/test/java/provider.xml
index 64bbe01..1171c64 100644
--- a/ipojo/tests/online-manipulator/src/test/java/provider.xml
+++ b/ipojo/tests/online-manipulator/src/test/java/provider.xml
@@ -1,6 +1,8 @@
-<ipojo>
-<component classname="org.apache.felix.org.apache.felix.ipojo.online.manipulator.test.impl.MyProvider">
-	<provides/>
-</component>
+<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="org.apache.felix.ipojo http://felix.apache.org/ipojo/schemas/SNAPSHOT/core.xsd"
+	xmlns="org.apache.felix.ipojo">
+	<component classname="org.apache.felix.org.apache.felix.ipojo.online.manipulator.test.impl.MyProvider">
+		<provides/>
+	</component>
 <instance component="org.apache.felix.org.apache.felix.ipojo.online.manipulator.test.impl.MyProvider"/>
 </ipojo>
\ No newline at end of file
