diff --git a/xml-commons-resolver-1.2-crosslink.patch b/xml-commons-resolver-1.2-crosslink.patch
new file mode 100644
index 0000000..9587772
--- /dev/null
+++ b/xml-commons-resolver-1.2-crosslink.patch
@@ -0,0 +1,11 @@
+diff -up xml-commons-resolver-1.2/resolver.xml~ xml-commons-resolver-1.2/resolver.xml
+--- xml-commons-resolver-1.2/resolver.xml~ 2006-11-20 22:23:07.000000000 +0200
++++ xml-commons-resolver-1.2/resolver.xml 2011-10-19 00:43:22.186668155 +0300
+@@ -148,6 +148,7 @@ Also, you may need to adjust src/documen
+ use="true"
+ windowtitle="${name.resolver} API"
+ doctitle="${name.resolver}"
++ link="/usr/share/javadoc/java"
+ bottom="${copyright.message}">
+
+
diff --git a/xml-commons-resolver-1.2-osgi.patch b/xml-commons-resolver-1.2-osgi.patch
new file mode 100644
index 0000000..895d5aa
--- /dev/null
+++ b/xml-commons-resolver-1.2-osgi.patch
@@ -0,0 +1,19 @@
+diff -up xml-commons-resolver-1.2/src/manifest.resolver~ xml-commons-resolver-1.2/src/manifest.resolver
+--- xml-commons-resolver-1.2/src/manifest.resolver~ 2006-11-20 22:23:06.000000000 +0200
++++ xml-commons-resolver-1.2/src/manifest.resolver 2011-10-19 01:38:13.954802303 +0300
+@@ -1,5 +1,15 @@
+ Manifest-Version: 1.0
+ Main-Class: org.apache.xml.resolver.apps.resolver
++Bundle-RequiredExecutionEnvironment: J2SE-1.2
++Bundle-SymbolicName: org.apache.xml.resolver
++Bundle-ManifestVersion: 2
++Bundle-Name: XML Commons Resolver
++Bundle-Localization: plugin
++Bundle-Version: 1.2.0.v200806030312
++Bundle-Vendor: Apache Software Foundation
++Export-Package: org.apache.env,org.apache.xml.resolver,org.apache.xml.
++ resolver.apps,org.apache.xml.resolver.etc,org.apache.xml.resolver.hel
++ pers,org.apache.xml.resolver.readers,org.apache.xml.resolver.tools
+
+ Name: org/apache/xml/resolver
+ Comment: xml-commons Resolver code
diff --git a/xml-commons-resolver-1.2.tar.gz b/xml-commons-resolver-1.2.tar.gz
new file mode 100644
index 0000000..7730f10
Binary files /dev/null and b/xml-commons-resolver-1.2.tar.gz differ
diff --git a/xml-commons-resolver-pom.xml b/xml-commons-resolver-pom.xml
new file mode 100644
index 0000000..c6093a4
--- /dev/null
+++ b/xml-commons-resolver-pom.xml
@@ -0,0 +1,38 @@
+
+
+ apache
+ org.apache
+ 3
+
+ 4.0.0
+ xml-resolver
+ xml-resolver
+ XML Commons Resolver Component
+ 1.2
+ 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.
+ http://xml.apache.org/commons/components/resolver/
+
+ 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-resolver-1_2/
+ http://svn.apache.org/viewvc/xml/commons/tags/xml-commons-resolver-1_2/
+
+
+ deployed
+
+
\ No newline at end of file
diff --git a/xml-commons-resolver-resolver.1 b/xml-commons-resolver-resolver.1
new file mode 100644
index 0000000..831e590
--- /dev/null
+++ b/xml-commons-resolver-resolver.1
@@ -0,0 +1,66 @@
+.TH XML-RESOLVER 1 "11 April 2013" "xml-commons-resolver" "User commands"
+
+.SH NAME
+xml-resolver - A simple command-line resolver
+
+.SH SYNOPSIS
+
+.B xml-resolver
+[options] keyword
+
+.SH DESCRIPTION
+
+\fBxml-resolver\fP is a simple command-line resolver. It takes some parameters
+and passes them through the resolver, printing the result.
+
+The process ends with error-level 1, if there were errors.
+
+.SH OPTIONS
+
+Command-line options are described below.
+
+.PP
+.B -c
+catalogfile
+.RS 4
+Load a particular catalog file
+.RE
+.PP
+.B -n
+name
+.RS 4
+Sets the name
+.RE
+.PP
+.B -p
+publicId
+.RS 4
+Sets the public identifier
+.RE
+.PP
+.B -s
+systemId
+.RS 4
+Sets the system identifier
+.RE
+.PP
+.B -a
+.RS 4
+Absolute system URI
+.RE
+.PP
+.B -u
+uri
+.RS 4
+Sets the URI
+.RE
+.PP
+.B -d
+integer
+.RS 4
+Set the debug level
+.RE
+
+And keyword is one of: doctype, document, entity, notation, public,
+system, or uri.
+
diff --git a/xml-commons-resolver-xparse.1 b/xml-commons-resolver-xparse.1
new file mode 100644
index 0000000..d63fc86
--- /dev/null
+++ b/xml-commons-resolver-xparse.1
@@ -0,0 +1,62 @@
+.TH XML-XPARSE 1 "11 April 2013" "xml-commons-resolver" "User commands"
+
+.SH NAME
+xml-xparse - A simple command-line XML parsing application
+
+.SH SYNOPSIS
+
+.B xml-xparse
+[options] document.xml
+
+.SH DESCRIPTION
+
+\fBxml-xparse\fP is a simple command-line XML Parser. It's just a little
+wrapper around the JAXP Parser with support for catalogs.
+
+The process ends with error-level 1, if there were errors.
+
+.SH OPTIONS
+
+Command-line options are described below.
+
+.PP
+.B -c
+catalogfile
+.RS 4
+Load a particular catalog file
+.RE
+.PP
+.B -w
+.RS 4
+Perform a well-formed parse, not a validating parse
+.RE
+.PP
+.B -v
+(default)
+.RS 4
+Perform a validating parse
+.RE
+.PP
+.B -n
+.RS 4
+Perform a namespace-ignorant parse
+.RE
+.PP
+.B -N
+(default)
+.RS 4
+Perform a namespace-aware parse
+.RE
+.PP
+.B -d
+integer
+.RS 4
+Set the debug level. Warnings are shown if the debug level is > 2
+.RE
+.PP
+.B -E
+integer
+.RS 4
+Set the maximum number of errors to display
+.RE
+
diff --git a/xml-commons-resolver-xread.1 b/xml-commons-resolver-xread.1
new file mode 100644
index 0000000..0dfe05a
--- /dev/null
+++ b/xml-commons-resolver-xread.1
@@ -0,0 +1,67 @@
+.TH XML-XREAD 1 "11 April 2013" "xml-commons-resolver" "User commands"
+
+.SH NAME
+xml-xread - A simple command-line XML parsing application
+
+.SH SYNOPSIS
+
+.B xml-xread
+[options] document.xml
+
+.SH DESCRIPTION
+
+\fBxml-xread\fP is a simple command-line XML Parser. It's just a little
+wrapper around the JAXP XMLReader with support for catalogs.
+
+The process ends with error-level 1, if there were errors.
+
+.SH OPTIONS
+
+Command-line options are described below.
+
+.PP
+.B -c
+catalogfile
+.RS 4
+Load a particular catalog file
+.RE
+.PP
+.B -w
+.RS 4
+Perform a well-formed parse, not a validating parse
+.RE
+.PP
+.B -v
+(default)
+.RS 4
+Perform a validating parse
+.RE
+.PP
+.B -s
+.RS 4
+Enable W3C XML Schema validation
+.RE
+.PP
+.B -n
+.RS 4
+Perform a namespace-ignorant parse
+.RE
+.PP
+.B -N
+(default)
+.RS 4
+Perform a namespace-aware parse
+.RE
+.PP
+.B -d
+integer
+.RS 4
+Set the debug level. Warnings are shown if the debug level is > 2
+.RE
+.PP
+.B -E
+integer
+.RS 4
+Set the maximum number of errors to display
+.RE
+
diff --git a/xml-commons-resolver.spec b/xml-commons-resolver.spec
new file mode 100644
index 0000000..79cc749
--- /dev/null
+++ b/xml-commons-resolver.spec
@@ -0,0 +1,68 @@
+Name: xml-commons-resolver
+Epoch: 0
+Version: 1.2
+Release: 27
+Summary: XML-commons resolver subprojects
+License: ASL 2.0
+URL: http://xerces.apache.org/xml-commons/components/resolver/
+BuildArch: noarch
+
+Source0: http://www.apache.org/dist/xerces/xml-commons/%{name}-%{version}.tar.gz
+Source1: xml-commons-resolver-pom.xml
+Source2: xml-commons-resolver-resolver.1
+Source3: xml-commons-resolver-xparse.1
+Source4: xml-commons-resolver-xread.1
+
+Patch0001: xml-commons-resolver-1.2-crosslink.patch
+Patch0002: xml-commons-resolver-1.2-osgi.patch
+
+BuildRequires: javapackages-local ant apache-parent
+Requires: javapackages-tools
+
+%description
+XML-commons resolver subprojects.
+
+%package help
+Summary: Documentation for xml-commons-resolver
+Requires: %{name} = %{version}-%{release}
+Provides: %{name}-javadoc = %{epoch}:%{version}-%{release}
+Obsoletes: %{name}-javadoc < %{epoch}:%{version}-%{release}
+
+%description help
+This package provides documentation for xml-commons-resolver.
+
+%prep
+%autosetup -n xml-commons-resolver-1.2 -p1
+
+rm -rf docs
+find . -name "*.jar" -exec rm -f {} \;
+%mvn_file : xml-commons-resolver xml-resolver
+
+%build
+%ant -f resolver.xml jar javadocs
+%mvn_artifact %{SOURCE1} build/resolver.jar
+
+%install
+%mvn_install -J build/apidocs/resolver
+
+install -d %{buildroot}%{_bindir}
+%jpackage_script org.apache.xml.resolver.apps.resolver "" "" %{name} xml-resolver true
+%jpackage_script org.apache.xml.resolver.apps.xread "" "" %{name} xml-xread true
+%jpackage_script org.apache.xml.resolver.apps.xparse "" "" %{name} xml-xparse true
+
+install -d -m 755 %{buildroot}%{_mandir}/man1
+install -p -m 644 %{SOURCE2} %{buildroot}%{_mandir}/man1/xml-resolver.1
+install -p -m 644 %{SOURCE3} %{buildroot}%{_mandir}/man1/xml-xparse.1
+install -p -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/xml-xread.1
+
+%files -f .mfiles
+%doc KEYS LICENSE.resolver.txt NOTICE-resolver.txt
+%{_bindir}/xml-*
+
+%files help -f .mfiles-javadoc
+%{_mandir}/man1/*
+%doc LICENSE.resolver.txt NOTICE-resolver.txt
+
+%changelog
+* Tue Dec 3 2019 fengbing - 1.2-27
+- Package init