diff --git a/xhtml1-dtds-20020801.tar.xz b/xhtml1-dtds-20020801.tar.xz
new file mode 100644
index 0000000..7ad98ca
Binary files /dev/null and b/xhtml1-dtds-20020801.tar.xz differ
diff --git a/xhtml1-dtds-prepare-tarball.sh b/xhtml1-dtds-prepare-tarball.sh
new file mode 100755
index 0000000..67fdc4d
--- /dev/null
+++ b/xhtml1-dtds-prepare-tarball.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+set -e
+
+# Prune content from upstream tarball:
+# https://www.redhat.com/archives/fedora-legal-list/2009-February/msg00015.html
+
+# While at it, prune docs as well; the W3C Documentation License is not an
+# acceptable one per Fedora licensing guidelines.
+
+date="20020801"
+url="http://www.w3.org/TR/2002/REC-xhtml1-$date/xhtml1.tgz"
+
+curl -O $url
+tar zxf $(basename $url)
+find xhtml1-$date -type f | grep -vF /DTD/ | xargs rm
+rm $(basename $url)
+
+tar Jcvf xhtml1-dtds-$date.tar.xz xhtml1-$date
+rm -r xhtml1-$date
diff --git a/xhtml1-dtds-sgml-catalog.patch b/xhtml1-dtds-sgml-catalog.patch
new file mode 100644
index 0000000..667149e
--- /dev/null
+++ b/xhtml1-dtds-sgml-catalog.patch
@@ -0,0 +1,29 @@
+--- xhtml1-20020801/DTD/xhtml.soc~ 2002-08-01 21:23:08.000000000 +0300
++++ xhtml1-20020801/DTD/xhtml.soc 2004-06-20 01:13:52.351585517 +0300
+@@ -1,14 +1,24 @@
+-OVERRIDE YES
+ -- Oasis entity catalog for Extensible HTML 1.0 --
+
++-- Fedora change: use DTDDECLs instead of SGMLDECL to avoid affecting --
++-- other things included in the central system catalog --
++
++OVERRIDE YES
++
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1-strict.dtd"
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "xhtml1-frameset.dtd"
++DTDDECL "-//W3C//DTD XHTML 1.0 Strict//EN" "xhtml1.dcl"
++DTDDECL "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1.dcl"
++DTDDECL "-//W3C//DTD XHTML 1.0 Frameset//EN" "xhtml1.dcl"
+
+ -- ISO latin 1 entity set for Extensible HTML (XML 1.0 format) --
+
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent"
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent"
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "xhtml-special.ent"
++DTDDECL "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml1.dcl"
++DTDDECL "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml1.dcl"
++DTDDECL "-//W3C//ENTITIES Special for XHTML//EN" "xhtml1.dcl"
+
+-SGMLDECL "xhtml1.dcl"
++-- SGMLDECL "xhtml1.dcl" --
diff --git a/xhtml1-dtds-sgml-dcl.patch b/xhtml1-dtds-sgml-dcl.patch
new file mode 100644
index 0000000..9a4761e
--- /dev/null
+++ b/xhtml1-dtds-sgml-dcl.patch
@@ -0,0 +1,22 @@
+Changes from validator.w3.org's xml.dcl.
+
+diff -up xhtml1-20020801/DTD/xhtml1.dcl.orig xhtml1-20020801/DTD/xhtml1.dcl
+--- xhtml1-20020801/DTD/xhtml1.dcl.orig 2002-08-01 21:23:08.000000000 +0300
++++ xhtml1-20020801/DTD/xhtml1.dcl 2008-02-28 22:43:22.000000000 +0200
+@@ -22,13 +22,13 @@
+ 13 1 13
+ 14 18 UNUSED
+ 32 95 32
+- 127 1 UNUSED
+- 128 32 UNUSED
++ 127 1 127 -- DEL, legal in XML 1.0 --
++ 128 32 128 -- C1 controls, legal in XML 1.0 --
+ 160 55136 160
+ 55296 2048 UNUSED -- surrogates --
+ 57344 8190 57344
+ 65534 2 UNUSED -- FFFE and FFFF --
+- 65536 1048576 65536
++ 65536 1048576 65536 -- 16 planes outside BMP --
+
+ CAPACITY NONE -- Capacities are not restricted in XML --
+
diff --git a/xhtml1-dtds.catalog.xml b/xhtml1-dtds.catalog.xml
new file mode 100644
index 0000000..050d3b8
--- /dev/null
+++ b/xhtml1-dtds.catalog.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xhtml1-dtds.spec b/xhtml1-dtds.spec
new file mode 100644
index 0000000..2c8bdad
--- /dev/null
+++ b/xhtml1-dtds.spec
@@ -0,0 +1,84 @@
+Name: xhtml1-dtds
+Version: 1.0
+Release: 20020801.14
+Summary: Definitions for XHTML 1.0 document type
+License: W3C
+URL: http://www.w3.org/TR/2002/REC-xhtml1-20020801/
+Source0: xhtml1-dtds-20020801.tar.xz
+Source1: xhtml1-dtds.catalog.xml
+Source2: xhtml1-dtds-prepare-tarball.sh
+Patch0000: xhtml1-dtds-sgml-catalog.patch
+Patch0001: xhtml1-dtds-sgml-dcl.patch
+BuildArch: noarch
+BuildRequires: libxml2 >= 2.4.8
+Requires: libxml2 >= 2.4.8 xml-common sgml-common
+Requires(post): libxml2
+Requires(preun): libxml2
+
+%description
+These DTDs and entity sets form a normative part of this specification.
+The complete set of DTD files together with an XML declaration and SGML
+Open Catalog is included in the zip file and the gzip'd tar file for this
+specification. Users looking for local copies of the DTDs to work with
+should download and use those archives rather than using the specific
+DTDs referenced below.
+
+%prep
+%autosetup -n xhtml1-20020801 -p1
+cp -p %{SOURCE1} DTD/catalog.xml
+
+%build
+
+
+%install
+install -d $RPM_BUILD_ROOT%{_datadir}/xml/xhtml/1.0
+cp -p DTD/* $RPM_BUILD_ROOT%{_datadir}/xml/xhtml/1.0
+
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/xml
+xmlcatalog --noout --create $RPM_BUILD_ROOT%{_sysconfdir}/xml/xhtml1-dtds-%{version}-%{release}.xml
+
+for i in "-//W3C//DTD XHTML 1.0 " "-//W3C//ENTITIES Latin 1 for XHTML" "-//W3C//ENTITIES Special for XHTML" \
+"-//W3C//ENTITIES Symbols for XHTML" ; do
+ xmlcatalog --noout --add "delegatePublic" "$i" file://%{_datadir}/xml/xhtml/1.0/catalog.xml \
+ $RPM_BUILD_ROOT%{_sysconfdir}/xml/xhtml1-dtds-%{version}-%{release}.xml
+done
+
+for i in xhtml1 2002/REC-xhtml1-20020801 ; do
+ xmlcatalog --noout --add "delegateSystem" "http://www.w3.org/TR/$i/DTD/" file://%{_datadir}/xml/xhtml/1.0/catalog.xml \
+ $RPM_BUILD_ROOT%{_sysconfdir}/xml/xhtml1-dtds-%{version}-%{release}.xml
+xmlcatalog --noout --add "delegateURI" "http://www.w3.org/TR/$i/DTD/" file://%{_datadir}/xml/xhtml/1.0/catalog.xml \
+ $RPM_BUILD_ROOT%{_sysconfdir}/xml/xhtml1-dtds-%{version}-%{release}.xml
+done
+ln -s xhtml1-dtds-%{version}-%{release}.xml $RPM_BUILD_ROOT%{_sysconfdir}/xml/xhtml1-dtds.xml
+
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/sgml
+cd $RPM_BUILD_ROOT%{_sysconfdir}/sgml
+touch xhtml1-dtds-%{version}-%{release}.soc
+ln -s xhtml1-dtds-%{version}-%{release}.soc xhtml1-dtds.soc
+cd -
+
+%post
+cd %{_sysconfdir}/xml
+[ -e catalog ] || /usr/bin/xmlcatalog --noout --create catalog
+/usr/bin/xmlcatalog --noout --add nextCatalog xhtml1-dtds-%{version}-%{release}.xml "" catalog >/dev/null
+cd - >/dev/null
+/usr/bin/xmlcatalog --sgml --noout --add %{_sysconfdir}/sgml/xhtml1-dtds-%{version}-%{release}.soc \
+ %{_datadir}/xml/xhtml/1.0/xhtml.soc >/dev/null
+:
+
+%preun
+/usr/bin/xmlcatalog --noout --del xhtml1-dtds-%{version}-%{release}.xml \
+ %{_sysconfdir}/xml/catalog >/dev/null
+/usr/bin/xmlcatalog --sgml --noout --del %{_sysconfdir}/sgml/xhtml1-dtds-%{version}-%{release}.soc \
+ %{_datadir}/xml/xhtml/1.0/xhtml.soc >/dev/null
+:
+
+%files
+%ghost %{_sysconfdir}/sgml/xhtml1-dtds-%{version}-%{release}.soc
+%{_sysconfdir}/sgml/xhtml1-dtds.soc
+%{_sysconfdir}/xml/xhtml1-dtds*.xml
+%{_datadir}/xml/xhtml/
+
+%changelog
+* Fri Dec 20 2019 wutao - 1.0-20020801.14
+- Package init