diff --git a/commons/xercesImpl/pom.xml b/commons/xercesImpl/pom.xml
new file mode 100644
index 0000000..31eb969
--- /dev/null
+++ b/commons/xercesImpl/pom.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+    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
+    
+    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. 
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.felix.commons</groupId>
+        <artifactId>build</artifactId>
+        <version>0.9.0-incubator-SNAPSHOT</version>
+    </parent>
+    <properties>
+        <pkgArtifactId>xercesImpl</pkgArtifactId>
+        <pkgVersion>2.8.1</pkgVersion>
+        <pomVersion>0001</pomVersion>
+        <osgiVersion>${pkgVersion}</osgiVersion>
+    </properties>
+    <groupId>org.apache.felix.commons</groupId>
+    <artifactId>${pom.groupId}.${pkgArtifactId}</artifactId>
+    <version>${osgiVersion}-${pomVersion}-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+    <name>${pkgArtifactId} bundle</name>
+    <description>
+        This bundle simply wraps ${pkgArtifactId}-${pkgVersion}.jar.
+    </description>
+    <organization>
+        <name>Apache Felix Project</name>
+        <url>http://incubator.apache.org/felix/</url>
+    </organization>
+    <dependencies>
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>${pkgArtifactId}</artifactId>
+            <version>${pkgVersion}</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>
+                            ${pom.artifactId}
+                        </Bundle-SymbolicName>
+                        <Export-Package>
+                            org.apache.xml.serialize;version=${pkgVersion}
+                        </Export-Package>
+                        <Private-Package>
+                            org.apache.html.dom, org.apache.wml,
+                            org.apache.wml.dom, org.apache.xerces.dom,
+                            org.apache.xerces.dom.events,
+                            org.apache.xerces.dom3.as, org.apache.xerces.impl,
+                            org.apache.xerces.impl.dtd,
+                            org.apache.xerces.impl.dtd.models,
+                            org.apache.xerces.impl.dv,
+                            org.apache.xerces.impl.dv.dtd,
+                            org.apache.xerces.impl.dv.util,
+                            org.apache.xerces.impl.dv.xs,
+                            org.apache.xerces.impl.io,
+                            org.apache.xerces.impl.msg,
+                            org.apache.xerces.impl.validation,
+                            org.apache.xerces.impl.xpath,
+                            org.apache.xerces.impl.xpath.regex,
+                            org.apache.xerces.impl.xs,
+                            org.apache.xerces.impl.xs.identity,
+                            org.apache.xerces.impl.xs.models,
+                            org.apache.xerces.impl.xs.opti,
+                            org.apache.xerces.impl.xs.traversers,
+                            org.apache.xerces.impl.xs.util,
+                            org.apache.xerces.jaxp,
+                            org.apache.xerces.jaxp.datatype,
+                            org.apache.xerces.jaxp.validation,
+                            org.apache.xerces.parsers, org.apache.xerces.util,
+                            org.apache.xerces.xinclude, org.apache.xerces.xni,
+                            org.apache.xerces.xni.grammars,
+                            org.apache.xerces.xni.parser,
+                            org.apache.xerces.xpointer, org.apache.xerces.xs,
+                            org.apache.xerces.xs.datatypes, org.w3c.dom.html
+                        </Private-Package>
+                        <Include-Resource>
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/LICENSE,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/NOTICE,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services/javax.xml.datatype.DatatypeFactory,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services/javax.xml.parsers.DocumentBuilderFactory,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services/javax.xml.parsers.SAXParserFactory,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services/javax.xml.validation.SchemaFactory,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services/org.w3c.dom.DOMImplementationSourceList,
+                            @${pkgArtifactId}-${pkgVersion}.jar!/META-INF/services/org.xml.sax.driver
+                        </Include-Resource>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
