Source

cpython-withatomic / Lib / xml.py

The branch 'legacy-trunk' does not exist.
Full commit
"""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