diff --git a/xml-apis-2.0.2.pom b/xml-apis-2.0.2.pom
new file mode 100644
index 0000000..664f0df
--- /dev/null
+++ b/xml-apis-2.0.2.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ xml-apis
+ xml-apis
+ 2.0.2
+
+
+ xml-apis
+ xml-apis
+ 1.0.b2
+
+
+
\ No newline at end of file
diff --git a/xml-apis-ext-1.3.04.pom b/xml-apis-ext-1.3.04.pom
new file mode 100644
index 0000000..2e558ff
--- /dev/null
+++ b/xml-apis-ext-1.3.04.pom
@@ -0,0 +1,42 @@
+
+
+
+ apache
+ org.apache
+ 3
+
+ 4.0.0
+ xml-apis
+ xml-apis-ext
+ XML Commons External Components XML APIs Extensions
+ 1.3.04
+ xml-commons provides an Apache-hosted set of DOM, SAX, and
+ JAXP interfaces for use in other xml-based projects. Our hope is that we
+ can standardize on both a common version and packaging scheme for these
+ critical XML standards interfaces to make the lives of both our developers
+ and users easier. The External Components portion of xml-commons contains
+ interfaces that are defined by external standards organizations. For DOM,
+ that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for
+ JAXP it's Sun.
+ http://xml.apache.org/commons/components/external/
+
+ bugzilla
+ http://issues.apache.org/bugzilla/
+
+
+
+ XML Commons Developer's List
+ commons-dev-subscribe@xml.apache.org
+ commons-dev-unsubscribe@xml.apache.org
+ commons-dev@xml.apache.org
+ http://mail-archives.apache.org/mod_mbox/xml-commons-dev/
+
+
+
+ scm:svn:http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-external-1_3_04/
+ http://svn.apache.org/viewvc/xml/commons/tags/xml-commons-external-1_3_04/
+
+
+ deployed
+
+
\ No newline at end of file
diff --git a/xml-commons-apis-MANIFEST.MF b/xml-commons-apis-MANIFEST.MF
new file mode 100644
index 0000000..2e224d8
--- /dev/null
+++ b/xml-commons-apis-MANIFEST.MF
@@ -0,0 +1,24 @@
+Manifest-Version: 1.0
+Bundle-RequiredExecutionEnvironment: J2SE-1.2
+Bundle-SymbolicName: javax.xml
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name.0
+Bundle-Localization: plugin
+Bundle-Version: 1.3.4.v201005080400
+Bundle-Vendor: %Bundle-Vendor.0
+Require-Bundle: system.bundle
+Export-Package: javax.xml;version="1.3",javax.xml.datatype;version="1.
+ 3",javax.xml.namespace;version="1.3",javax.xml.parsers;version="1.3",
+ javax.xml.stream;version="1.3",javax.xml.stream.events;version="1.3",
+ javax.xml.stream.util;version="1.3",javax.xml.transform;version="1.3"
+ ,javax.xml.transform.dom;version="1.3",javax.xml.transform.sax;versio
+ n="1.3",javax.xml.transform.stax;version="1.3",javax.xml.transform.st
+ ream;version="1.3",javax.xml.validation;version="1.3",javax.xml.xpath
+ ;version="1.3",org.apache.xmlcommons;version="1.3.4",org.w3c.dom;vers
+ ion="3.0",org.w3c.dom.bootstrap;version="3.0",org.w3c.dom.css;version
+ ="3.0",org.w3c.dom.events;version="3.0",org.w3c.dom.html;version="3.0
+ ",org.w3c.dom.ls;version="3.0",org.w3c.dom.ranges;version="3.0",org.w
+ 3c.dom.stylesheets;version="3.0",org.w3c.dom.traversal;version="3.0",
+ org.w3c.dom.views;version="3.0",org.w3c.dom.xpath;version="3.0",org.x
+ ml.sax;version="2.0.2",org.xml.sax.ext;version="2.0.2",org.xml.sax.he
+ lpers;version="2.0.2"
diff --git a/xml-commons-apis-ext-MANIFEST.MF b/xml-commons-apis-ext-MANIFEST.MF
new file mode 100644
index 0000000..b2e6fe1
--- /dev/null
+++ b/xml-commons-apis-ext-MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-RequiredExecutionEnvironment: J2SE-1.4,J2SE-1.3,CDC-1.0/Foundat
+ ion-1.0
+Bundle-SymbolicName: org.w3c.dom.svg
+Import-Package: org.w3c.dom
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-Version: 1.1.0.v200806040011
+Bundle-Vendor: %providerName
+Export-Package: org.w3c.dom.svg;version="1.1.0"
diff --git a/xml-commons-apis.spec b/xml-commons-apis.spec
new file mode 100644
index 0000000..4dbd625
--- /dev/null
+++ b/xml-commons-apis.spec
@@ -0,0 +1,82 @@
+Name: xml-commons-apis
+Version: 1.4.01
+Release: 29
+Summary: APIs for XML related code
+License: ASL 2.0 and W3C and Public Domain
+URL: http://xml.apache.org/commons/
+BuildArch: noarch
+#Published tarball doesn't include some files
+#svn export http://svn.apache.org/repos/asf/xerces/xml-commons/tags/xml-commons-external-1_4_01/java/external/
+# tar czf xml-commons-external-1.4.01-src.tar.gz external
+Source0: xml-commons-external-1.4.01-src.tar.gz
+Source1: %{name}-MANIFEST.MF
+Source2: %{name}-ext-MANIFEST.MF
+Source3: https://repo1.maven.org/maven2/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.pom
+Source4: https://repo1.maven.org/maven2/xml-apis/xml-apis-ext/1.3.04/xml-apis-ext-1.3.04.pom
+
+BuildRequires: javapackages-local ant apache-parent
+Provides: xml-commons = %{version}-%{release} xml-commons-jaxp-1.3-apis = %{version}-%{release}
+Provides: %{name}-javadoc = %{version}-%{release}
+Obsoletes: %{name}-javadoc < %{version}-%{release}
+
+%description
+xml-commons-apis is designed to organize and have common packaging for the various externally-defined \
+standards code relating to XML - things like the DOM, SAX, and JAXP interfaces.
+
+%package help
+Summary: Documents for %{name}
+Buildarch: noarch
+Requires: man info
+Provides: %{name}-manual = %{version}-%{release}
+Obsoletes: %{name}-manual < %{version}-%{release}
+
+%description help
+Man pages and other related documents for %{name}.
+
+%prep
+%autosetup -n external
+find -name '*.class' -exec rm -f '{}' \;
+find -name '*.jar' -exec rm -f '{}' \;
+
+iconv -f iso8859-1 -t utf-8 LICENSE.dom-documentation.txt > LICENSE.dom-doc.temp \
+ && mv -f LICENSE.dom-doc.temp LICENSE.dom-documentation.txt
+iconv -f iso8859-1 -t utf-8 LICENSE.dom-software.txt > LICENSE.dom-sof.temp \
+ && mv -f LICENSE.dom-sof.temp LICENSE.dom-software.txt
+
+cp %{SOURCE3} %{SOURCE4} .
+sed -i '/distributionManagement/,/\/distributionManagement/ {d}' *.pom
+
+%mvn_file :xml-apis xml-commons-apis jaxp13 jaxp xml-commons-jaxp-1.3-APIs
+%mvn_file :xml-apis-ext xml-commons-apis-ext
+%mvn_alias :xml-apis-ext xerces:dom3-xml-apis
+
+%build
+ant -Dant.build.javac.source=1.5 -Dant.build.javac.target=1.5 jar javadoc
+
+jar ufm build/xml-apis.jar %{SOURCE1}
+jar ufm build/xml-apis-ext.jar %{SOURCE2}
+
+%mvn_artifact xml-apis-[0-9]*.pom build/xml-apis.jar
+%mvn_artifact xml-apis-ext*.pom build/xml-apis-ext.jar
+
+%install
+%mvn_install -J build/docs/javadoc
+sed -i 's/[0-9a-f]\{8\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{4\}-[0-9a-f]\{12\}/\
+ f2f42549-cfab-4d71-be48-5e9f9a41e5f5/g' $(find %{_buildrootdir} -name xml-commons-apis.xml)
+rm -rf build/docs/javadoc
+
+%files -f .mfiles
+%defattr(-,root,root)
+%doc NOTICE README.dom.txt README.sax.txt
+%license LICENSE LICENSE.sac.html LICENSE.sax.txt LICENSE.dom-documentation.txt
+%license LICENSE.dom-software.txt
+%{_javadir}/*
+%{_javadocdir}/*
+
+%files help
+%defattr(-,root,root)
+%doc README-sax build/docs/*
+
+%changelog
+* Tue Mar 3 2020 zhouyihang - 1.4.01-29
+- Package init
diff --git a/xml-commons-external-1.4.01-src.tar.gz b/xml-commons-external-1.4.01-src.tar.gz
new file mode 100644
index 0000000..bdd800c
Binary files /dev/null and b/xml-commons-external-1.4.01-src.tar.gz differ