diff --git a/Lib/xml.py b/Lib/xml.py
new file mode 100644
index 0000000..7393c66
--- /dev/null
+++ b/Lib/xml.py
@@ -0,0 +1,47 @@
+"""Core XML support for Python.
+
+This package contains four sub-packages:
+
+dom -- The W3C Document Object Model.  This supports DOM Level 1 +
+       Namespaces.
+
+parsers -- Python wrappers for XML parsers (currently only supports Expat).
+
+sax -- The Simple API for XML, developed by XML-Dev, led by David
+       Megginson and ported to Python by Lars Marius Garshol.  This
+       supports the SAX 2 API.
+
+etree -- The ElementTree XML library.  This is a subset of the full
+       ElementTree XML release.
+
+"""
+
+import sys
+import xmlcore
+
+__all__ = ["dom", "parsers", "sax", "etree"]
+
+# When being checked-out without options, this has the form
+# "<dollar>Revision: x.y </dollar>"
+# When exported using -kv, it is "x.y".
+__version__ = "$Revision$".split()[-2:][0]
+
+
+_MINIMUM_XMLPLUS_VERSION = (0, 8, 4)
+
+try:
+    import _xmlplus
+except ImportError:
+    sys.modules[__name__] = xmlcore
+else:
+    try:
+        v = _xmlplus.version_info
+    except AttributeError:
+        # _xmlplus is too old; ignore it
+        pass
+    else:
+        if v >= _MINIMUM_XMLPLUS_VERSION:
+            _xmlplus.__path__.extend(xmlcore.__path__)
+            sys.modules[__name__] = _xmlplus
+        else:
+            del v
